예제 #1
0
def get_repository_metadata_by_repository_id_changeset_revision(
        repository_id, changeset_revision):
    repository_metadata = sa_session.query(model.RepositoryMetadata) \
                                    .filter(and_(model.RepositoryMetadata.table.c.repository_id == repository_id,
                                                 model.RepositoryMetadata.table.c.changeset_revision == changeset_revision)) \
                                    .first()
    return repository_metadata
예제 #2
0
def get_repository_review_by_user_id_changeset_revision(
        user_id, repository_id, changeset_revision):
    review = sa_session.query(model.RepositoryReview) \
                       .filter(and_(model.RepositoryReview.table.c.user_id == user_id,
                                    model.RepositoryReview.table.c.repository_id == repository_id,
                                    model.RepositoryReview.table.c.changeset_revision == changeset_revision)) \
                       .first()
    return review
예제 #3
0
def get_repository_by_name_and_owner(name,
                                     owner_username,
                                     return_multiple=False):
    owner = get_user_by_name(owner_username)
    repository = sa_session.query(model.Repository) \
                           .filter(and_(model.Repository.table.c.name == name,
                                        model.Repository.table.c.user_id == owner.id)) \
                           .first()
    return repository
예제 #4
0
def get_repository_reviews(repository_id,
                           reviewer_user_id=None,
                           changeset_revision=None):
    if reviewer_user_id and changeset_revision:
        reviews = sa_session.query(model.RepositoryReview) \
                            .filter(and_(model.RepositoryReview.table.c.repository_id == repository_id,
                                         model.RepositoryReview.table.c.deleted == false(),
                                         model.RepositoryReview.table.c.changeset_revision == changeset_revision,
                                         model.RepositoryReview.table.c.user_id == reviewer_user_id)) \
                            .all()
    elif reviewer_user_id:
        reviews = sa_session.query(model.RepositoryReview) \
                            .filter(and_(model.RepositoryReview.table.c.repository_id == repository_id,
                                         model.RepositoryReview.table.c.deleted == false(),
                                         model.RepositoryReview.table.c.user_id == reviewer_user_id)) \
                            .all()
    else:
        reviews = sa_session.query(model.RepositoryReview) \
                            .filter(and_(model.RepositoryReview.table.c.repository_id == repository_id,
                                         model.RepositoryReview.table.c.deleted == false())) \
                            .all()
    return reviews
예제 #5
0
def get_default_user_permissions_by_user(user):
    return sa_session.query(model.DefaultUserPermissions) \
                     .filter(model.DefaultUserPermissions.table.c.user_id == user.id) \
                     .all()
예제 #6
0
def get_default_user_permissions_by_role(role):
    return sa_session.query(model.DefaultUserPermissions) \
                     .filter(model.DefaultUserPermissions.table.c.role_id == role.id) \
                     .all()
예제 #7
0
def get_category_by_name(name):
    return sa_session.query(model.Category) \
                     .filter(model.Category.table.c.name == name) \
                     .first()
예제 #8
0
def get_all_repositories():
    return sa_session.query(model.Repository).all()
예제 #9
0
def get_user_by_name(username):
    return sa_session.query(model.User) \
                     .filter(model.User.table.c.username == username) \
                     .first()
예제 #10
0
def get_user(email):
    return sa_session.query(model.User) \
                     .filter(model.User.table.c.email == email) \
                     .first()
예제 #11
0
def get_role_by_name(role_name):
    return sa_session.query(model.Role) \
                     .filter(model.Role.table.c.name == role_name) \
                     .first()
예제 #12
0
def get_repository_downloadable_revisions(repository_id):
    revisions = sa_session.query(model.RepositoryMetadata) \
                          .filter(and_(model.RepositoryMetadata.table.c.repository_id == repository_id,
                                       model.RepositoryMetadata.table.c.downloadable == true())) \
                          .all()
    return revisions
예제 #13
0
def get_repository_by_id(repository_id):
    return sa_session.query(model.Repository) \
                     .filter(model.Repository.table.c.id == repository_id) \
                     .first()
예제 #14
0
def get_repository_role_association(repository_id, role_id):
    rra = sa_session.query(model.RepositoryRoleAssociation) \
                    .filter(and_(model.RepositoryRoleAssociation.table.c.role_id == role_id,
                                 model.RepositoryRoleAssociation.table.c.repository_id == repository_id)) \
                    .first()
    return rra