Skip to content

Commit ab7da7d

Browse files
committed
Add token projects column which points to creating user's projects; update is_owned_by
1 parent cbbeb13 commit ab7da7d

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

cesium_app/models.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,18 @@
99
from cesium import featurize
1010

1111

12-
def is_owned_by(self, user):
13-
if hasattr(self, 'users'):
14-
return (user in self.users)
12+
def is_owned_by(self, user_or_token):
13+
if hasattr(self, 'tokens'):
14+
return (user_or_token in self.tokens)
1515
elif hasattr(self, 'project'):
16-
return (user in self.project.users)
16+
return self.project in user_or_token.projects
17+
elif hasattr(self, 'projects'):
18+
return bool(set(self.projects) & set(user_or_token.projects))
19+
elif hasattr(self, 'users'):
20+
if hasattr(user_or_token, 'created_by'):
21+
if user_or_token.created_by in self.users:
22+
return True
23+
return (user_or_token in self.users)
1724
else:
1825
raise NotImplementedError(f"{type(self).__name__} object has no owner")
1926
Base.is_owned_by = is_owned_by
@@ -62,6 +69,11 @@ class Project(Base):
6269
back_populates='users', cascade='all')
6370
UserProjects = join_model('user_projects', User, Project)
6471

72+
@property
73+
def token_projects(self):
74+
return self.created_by.projects
75+
Token.projects = token_projects
76+
6577

6678
class Featureset(Base):
6779
project_id = sa.Column(sa.ForeignKey('projects.id', ondelete='CASCADE'),

0 commit comments

Comments
 (0)