Example #1
0
File: image.py Project: quay/quay
def get_image_with_storage_and_parent_base():
    Parent = Image.alias()
    ParentImageStorage = ImageStorage.alias()

    return (
        Image.select(Image, ImageStorage, Parent, ParentImageStorage)
        .join(ImageStorage)
        .switch(Image)
        .join(Parent, JOIN.LEFT_OUTER, on=(Image.parent == Parent.id))
        .join(ParentImageStorage, JOIN.LEFT_OUTER, on=(ParentImageStorage.id == Parent.storage))
    )
Example #2
0
File: tag.py Project: zhill/quay
def get_tags_images_eligible_for_scan(clair_version):
    Parent = Image.alias()
    ParentImageStorage = ImageStorage.alias()

    return _tag_alive(
        RepositoryTag.select(Image, ImageStorage, Parent, ParentImageStorage,
                             RepositoryTag).join(
                                 Image, on=(RepositoryTag.image == Image.id)).
        join(ImageStorage,
             on=(Image.storage == ImageStorage.id)).switch(Image).join(
                 Parent, JOIN.LEFT_OUTER, on=(Image.parent == Parent.id)).join(
                     ParentImageStorage,
                     JOIN.LEFT_OUTER,
                     on=(ParentImageStorage.id == Parent.storage)).where(
                         RepositoryTag.hidden == False).where(
                             Image.security_indexed_engine < clair_version))