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)