From: Michael Tremer Date: Thu, 6 Oct 2022 14:41:15 +0000 (+0000) Subject: repos: Create a key for each repository X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=738c7bacf7b7b8a687b0e035dc42c229c522b384;p=pbs.git repos: Create a key for each repository Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/repository.py b/src/buildservice/repository.py index c98218fc..dbbcaa6d 100644 --- a/src/buildservice/repository.py +++ b/src/buildservice/repository.py @@ -60,6 +60,15 @@ class Repositories(base.Object): # Generate a slug slug = self._make_slug(name, owner=owner) + # Create a key for this repository + if owner: + key = await owner.key.generate_subkey(name) + + # If this is not a personal repository, + # we generate a subkey for the distribution key + else: + key = await distro.key.generate_subkey(name) + repo = self._get_repository(""" INSERT INTO repositories @@ -67,25 +76,25 @@ class Repositories(base.Object): distro_id, owner_id, name, - slug + slug, + key_id ) - VALUES - ( - %s, - %s, - %s, - %s + VALUES ( + %s, %s, %s, %s, %s ) RETURNING *""", distro, owner, name, slug, + key, ) # Populate cache if owner: repo.owner = owner + if key: + repo.key = key return repo