def refresh_signature()

in kinto-remote-settings/src/kinto_remote_settings/signer/updater.py [0:0]


    def refresh_signature(self, request, next_source_status=None):
        """Refresh the signature without moving records."""
        source_attributes = self.storage.get(
            parent_id="/buckets/%s" % self.source["bucket"],
            resource_name="collection",
            object_id=self.source["collection"],
        )

        records, timestamp = self.get_destination_records(empty_none=False)
        serialized_records = canonical_json(records, timestamp)
        logger.debug(f"{self.source_collection_uri}:\t'{serialized_records}'")
        signature = self.signer.sign(serialized_records)
        self.set_destination_signature(
            signature, request=request, source_attributes=source_attributes
        )

        if next_source_status is not None:
            current_userid = request.prefixed_userid
            current_date = datetime.datetime.now(datetime.timezone.utc).isoformat()
            attrs = {"status": next_source_status}
            attrs[TRACKING_FIELDS.LAST_SIGNATURE_BY.value] = current_userid
            attrs[TRACKING_FIELDS.LAST_SIGNATURE_DATE.value] = current_date
            self._update_source_attributes(request, **attrs)