Пример #1
0
 def create(self, actor: User, resource_id: int, key: str,
            value: str) -> Optional[bool]:
     dashboard = DashboardDAO.get_by_id_or_slug(str(resource_id))
     if dashboard:
         entry: Entry = {"owner": actor.get_user_id(), "value": value}
         return cache_manager.filter_state_cache.set(
             cache_key(resource_id, key), entry)
     return False
Пример #2
0
 def update(self, actor: User, resource_id: int, key: str,
            value: str) -> Optional[bool]:
     dashboard = DashboardDAO.get_by_id_or_slug(str(resource_id))
     if dashboard:
         entry: Entry = cache_manager.filter_state_cache.get(
             cache_key(resource_id, key))
         if entry:
             user_id = actor.get_user_id()
             if entry["owner"] != user_id:
                 raise KeyValueAccessDeniedError()
             new_entry: Entry = {
                 "owner": actor.get_user_id(),
                 "value": value
             }
             return cache_manager.filter_state_cache.set(
                 cache_key(resource_id, key), new_entry)
     return False
Пример #3
0
 def get_create_pipeline_ids(self, session):
     from myapp.models.model_job import Pipeline
     if g.user:
         pipeline_ids = session.query(Pipeline.id).filter(
             Pipeline.created_by_fk == User.get_user_id()).all()
         pipeline_ids = [pipeline_id[0] for pipeline_id in pipeline_ids]
         return pipeline_ids
     else:
         return []
Пример #4
0
 def get_join_projects_id(self, session):
     from myapp.models.model_team import Project_User
     if g.user:
         projects_id = session.query(Project_User.project_id).filter(
             Project_User.user_id == User.get_user_id()).all()
         projects_id = [project_id[0] for project_id in projects_id]
         return projects_id
     else:
         return []
Пример #5
0
 def delete(self, actor: User, resource_id: int,
            key: str) -> Optional[bool]:
     dashboard = DashboardDAO.get_by_id_or_slug(str(resource_id))
     if dashboard:
         entry: Entry = cache_manager.filter_state_cache.get(
             cache_key(resource_id, key))
         if entry:
             if entry["owner"] != actor.get_user_id():
                 raise KeyValueAccessDeniedError()
             return cache_manager.filter_state_cache.delete(
                 cache_key(resource_id, key))
     return False
Пример #6
0
def get_owner(user: User) -> Optional[int]:
    return user.get_user_id() if not user.is_anonymous else None