class Schedule(db.Model, CRUD): __tablename__ = "schedules" id = db.Column(db.Integer, primary_key=True) roomId = db.Column(db.Integer, db.ForeignKey("rooms.id"), nullable=False) room = db.relationship("Room") userType = db.Column(db.Enum(UserTypesEnum), nullable=False) dayOfWeek = db.Column(db.Enum(DaysOfWeekEnum), nullable=False) beginTime = db.Column(db.Time, nullable=False) endTime = db.Column(db.Time, nullable=False) lastUpdate = db.Column(db.DateTime, nullable=False) active = db.Column(db.Boolean, nullable=False)
class Dataset(db.Model): __tablename__ = 'dataset' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(length=50)) path = db.Column(db.String(length=255)) dt_start = db.Column(db.DateTime) dt_end = db.Column(db.DateTime) description = db.Column(db.Text) error = db.Column(db.Text) status = db.Column(db.Enum(DatasetStatus)) type = db.Column(db.Enum(DatasetType)) def __repr__(self): return f'<Dataset(id={self.id}, name={self.name})>'
class HorariosPermitidos(db.Model, CRUD): __tablename__ = "horarios_permitidos" id = db.Column(db.Integer, primary_key=True) dia = db.Column(db.Enum(Dia), nullable=False) hora_inicio = db.Column(db.Time, nullable=False) hora_fim = db.Column(db.Time, nullable=False) tipo_usuario = db.Column(db.Enum(TipoUsuario), nullable=False) last_update = db.Column(db.DateTime(), nullable=False) def __init__(self, id, dia, hora_inicio, hora_fim, tipo_usuario, last_update): self.id = id self.dia = dia self.hora_inicio = hora_inicio self.hora_fim = hora_fim self.tipo_usuario = tipo_usuario self.last_update = last_update
class Schedule(db.Model, CRUD): __tablename__ = "schedules" id = db.Column(db.Integer, primary_key=True) dayOfWeek = db.Column(db.Enum(DaysOfWeekEnum), nullable=False) beginTime = db.Column(db.Time, nullable=False) endTime = db.Column(db.Time, nullable=False) userType = db.Column(db.Enum(UserTypesEnum), nullable=False) lastUpdate = db.Column(db.DateTime(), nullable=False) def __init__(self, id, dayOfWeek, beginTime, endTime, userType, lastUpdate): self.id = id self.dayOfWeek = dayOfWeek self.beginTime = beginTime self.endTime = endTime self.userType = userType self.lastUpdate = lastUpdate
class Horario(db.Model, CRUD): __tablename__ = "horario" id = db.Column(db.Integer, primary_key=True) last_update = db.Column(db.DateTime, nullable=False) dia = db.Column(db.Enum(Dia), nullable=False) hora_fim = db.Column(db.Time, nullable=False) hora_inicio = db.Column(db.Time, nullable=False) tipo_user = db.Column(db.Enum(TipoUsuario), nullable=False) id_sala = db.Column(db.Integer, db.ForeignKey("sala.id"), nullable=False) alive = db.Column(db.Boolean, nullable=False) def __init__(self, id_sala, dia, hora_inicio, hora_fim, tipo_user): self.id_sala = id_sala self.dia = dia self.hora_inicio = hora_inicio self.hora_fim = hora_fim self.tipo_user = tipo_user self.last_update = datetime.now() self.alive = True
class Event(db.Model, CRUD): __tablename__ = "events" id = db.Column(db.Integer, primary_key=True) uid = db.Column(db.String(16), nullable=False) eventType = db.Column(db.Enum(EventTypesEnum), nullable=False) dateTime = db.Column(db.DateTime, nullable=False) def __init__(self, uid, eventType, dateTime): self.uid = uid self.eventType = eventType self.dateTime = dateTime
class Eventos(db.Model, CRUD): __tablename__ = "eventos" id = db.Column(db.Integer, primary_key=True) rfid = db.Column(db.String(16), nullable=False) evento = db.Column(db.Enum(Evento), nullable=False) horario = db.Column(db.DateTime, nullable=False) def __init__(self, rfid, evento, horario): self.rfid = rfid self.evento = evento self.horario = datetime.now()
class RfidsPermitidos(db.Model, CRUD): __tablename__ = "rfids_permitidos" id = db.Column(db.Integer, primary_key=True) rfid = db.Column(db.String(16), nullable=False, unique=True) tipo = db.Column(db.Enum(TipoUsuario), nullable=False) last_update = db.Column(db.DateTime(), nullable=False) def __init__(self, rfid, tipo, last_update): self.rfid = rfid self.tipo = tipo self.last_update = last_update
class Evento(db.Model, CRUD): __tablename__ = "eventos" id = db.Column(db.Integer, primary_key=True) evento = db.Column(db.Enum(Evento), nullable=False) horario = db.Column(db.DateTime, nullable=False) id_usuario = db.Column(db.Integer, db.ForeignKey("usuario.id"), nullable=False) id_sala = db.Column(db.Integer, db.ForeignKey("sala.id"), nullable=False) def __init__(self, evento, horario, id_usuario, id_sala): self.evento = evento self.horario = horario self.id_usuario = id_usuario self.id_sala = id_sala
class Keyring(db.Model, CRUD): __tablename__ = "keyrings" id = db.Column(db.Integer, primary_key=True) uid = db.Column(db.String(16), nullable=False, unique=True) userId = db.Column(db.Integer, nullable=False) userType = db.Column(db.Enum(UserTypesEnum), nullable=False) lastUpdate = db.Column(db.DateTime(), nullable=False) def __init__(self, uid, userId, userType, lastUpdate): self.uid = uid self.userId = userId self.userType = userType self.lastUpdate = lastUpdate
class Event(db.Model, CRUD): __tablename__ = "events" id = db.Column(db.Integer, primary_key=True) eventType = db.Column(db.Enum(EventTypesEnum), nullable=False) dateTime = db.Column(db.DateTime, nullable=False) userId = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False) user = db.relationship("User") roomId = db.Column(db.Integer, db.ForeignKey("rooms.id"), nullable=False) room = db.relationship("Room") def __init__(self): self.lastUpdate = datetime.now() self.active = True
class User(db.Model, CRUD): __tablename__ = "users" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) email = db.Column(db.String(100), nullable=False, unique=True) uid = db.Column(db.String(16), nullable=False, unique=True) userType = db.Column(db.Enum(UserTypesEnum), nullable=False) lastUpdate = db.Column(db.DateTime(), nullable=False) active = db.Column(db.Boolean, nullable=False) def __init__(self, name, email, uid, userType): self.name = name self.email = email self.uid = uid self.userType = userType self.active = True self.lastUpdate = datetime.now()
class Usuario(db.Model, CRUD): __tablename__ = "usuario" id = db.Column(db.Integer, primary_key=True) nome = db.Column(db.String(80), nullable=False) tipo = db.Column(db.Enum(TipoUsuario), nullable=False) email = db.Column(db.String(100), nullable=False, unique=True) rfid = db.Column(db.String(16), nullable=False, unique=True) direito_acesso = db.relationship("DireitoAcesso", cascade="delete") last_update = db.Column(db.DateTime(), nullable=False) alive = db.Column(db.Boolean, nullable=False) def __init__(self, nome, email, rfid, tipo): self.nome = nome self.email = email self.rfid = rfid self.tipo = tipo self.alive = True self.last_update = datetime.now()