Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
# 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
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