refactor(endpoints/api/tag): refactor code for v22
this decouples the database models from the api [TESTING->locally with docker compose] Issue: https://coreosdev.atlassian.net/browse/QUAY-632 - [ ] It works! - [ ] Comments provide sufficient explanations for the next contributor - [ ] Tests cover changes and corner cases - [ ] Follows Quay syntax patterns and format
This commit is contained in:
parent
a3afd37c41
commit
fc4b3642d3
7 changed files with 483 additions and 67 deletions
|
@ -6,6 +6,7 @@ from peewee import JOIN_LEFT_OUTER, fn, PeeweeException
|
|||
from datetime import datetime, timedelta
|
||||
from cachetools import lru_cache
|
||||
|
||||
import data
|
||||
from data.database import LogEntry, LogEntryKind, User, RepositoryActionCount, db
|
||||
from data.model import config, user, DataModelException
|
||||
|
||||
|
@ -110,7 +111,11 @@ def log_action(kind_name, user_or_organization_name, performer=None, repository=
|
|||
performer = performer.id
|
||||
|
||||
if repository is not None:
|
||||
repository = repository.id
|
||||
if hasattr(repository, 'namespace_name') and hasattr(repository, 'repository_name'):
|
||||
maybe_repo = data.model.repository.get_repository(repository.namespace_name, repository.repository_name)
|
||||
repository = maybe_repo.id if maybe_repo else None
|
||||
elif hasattr(repository, 'id'):
|
||||
repository = repository.id
|
||||
|
||||
kind = _get_log_entry_kind(kind_name)
|
||||
metadata_json = json.dumps(metadata, default=_json_serialize)
|
||||
|
|
Reference in a new issue