22 lines
1.3 KiB
Python
22 lines
1.3 KiB
Python
from extensions import db
|
|
|
|
class ServiceRolePermission(db.Model):
|
|
__tablename__ = "service_role_permissions"
|
|
|
|
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
service_role_id = db.Column(db.Integer, db.ForeignKey('service_roles.id'), nullable=False)
|
|
service_instance_id = db.Column(db.Integer, db.ForeignKey('service_instance.id'), nullable=False)
|
|
permission_id = db.Column(db.Integer, db.ForeignKey('permissions.id'), nullable=False)
|
|
permission_type = db.Column(db.String(255), nullable=False) # e.g., "read", "write", "delete"
|
|
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # Adicionando chave estrangeira para 'User'
|
|
created_at = db.Column(db.DateTime, default=db.func.current_timestamp())
|
|
updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp())
|
|
|
|
# Relacionamentos com outras tabelas
|
|
service_role = db.relationship('ServiceRole', backref='service_role_permissions')
|
|
service_instance = db.relationship('ServiceInstance', backref='service_role_permissions')
|
|
permission = db.relationship('Permission', backref='service_role_permissions')
|
|
|
|
def __repr__(self):
|
|
return f"<ServiceRolePermission {self.service_role_id} - {self.permission_id}>"
|