from flask import g from sqlalchemy import and_ from db import db from models import Project, ProjectCampaign, user_label class CampaignAdsPermissionsRepository: def has_access_to_gras_campaign(self, campaign_id: int): return db.session.query( db.session.query(Project) .join(ProjectCampaign, Project.id == ProjectCampaign.project_id) .join(user_label, and_(user_label.c.label_id == Project.label_id, user_label.c.user_id == g.user_id)) .filter(ProjectCampaign.campaign_id == campaign_id, Project.is_deleted.is_(False)) .exists() ).scalar()