summaryrefslogtreecommitdiffstats
path: root/gitsrht/types/access.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitsrht/types/access.py')
-rw-r--r--gitsrht/types/access.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/gitsrht/types/access.py b/gitsrht/types/access.py
index cce8525..526e049 100644
--- a/gitsrht/types/access.py
+++ b/gitsrht/types/access.py
@@ -12,13 +12,18 @@ class Access(Base):
id = sa.Column(sa.Integer, primary_key=True)
created = sa.Column(sa.DateTime, nullable=False)
updated = sa.Column(sa.DateTime, nullable=False)
- repo_id = sa.Column(sa.Integer, sa.ForeignKey('repository.id'), nullable=False)
- repo = sa.orm.relationship('Repository', backref='access_grants')
- user_id = sa.Column(sa.Integer, sa.ForeignKey('user.id'), nullable=False)
- user = sa.orm.relationship('User', backref='access_grants')
mode = sa.Column(sau.ChoiceType(AccessMode, impl=sa.String()),
nullable=False, default=AccessMode.ro)
+ user_id = sa.Column(sa.Integer, sa.ForeignKey('user.id'), nullable=False)
+ user = sa.orm.relationship('User', backref='access_grants')
+
+ repo_id = sa.Column(sa.Integer,
+ sa.ForeignKey('repository.id', ondelete="CASCADE"),
+ nullable=False)
+ repo = sa.orm.relationship('Repository',
+ backref=sa.orm.backref('access_grants', cascade="all, delete"))
+
def __repr__(self):
return '<Access {} {}->{}:{}>'.format(
self.id, self.user_id, self.repo_id, self.mode)