front_ponto_eletronico/models/service_role_permission.py
2025-03-17 15:00:51 -03:00

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}>"