Esempio n. 1
0
    def post(self):
        args = get_args()

        if not args:
            return send_message("Parâmetros inválidos", 422)

        user = (Usuario.query.filter(Usuario.alive == False).filter(
            Usuario.email == args["email"]).first())

        if user:
            return self.resurrect(user, args)
        else:
            try:
                user = Usuario(args["nome"], args["email"], args["rfid"],
                               args["tipo"])
                user.add(user)
                if args["direito_acesso"]:
                    try:
                        for sala in args["direito_acesso"]:
                            acesso = DireitoAcesso(user.id, sala["id_sala"])
                            acesso.add(acesso)
                    except SQLAlchemyError as e:
                        return rollback(e, db)
                query = Usuario.query.get(user.id)
            except SQLAlchemyError as e:
                return rollback(e, db)
            else:
                return schema.dump(query).data, 201
Esempio n. 2
0
    def delete(self, id):
        try:
            query = Horario.query.filter(Horario.id_sala == id)
            horarios = [i for i in query.all()]

            for horario in horarios:
                horario.alive = False
                horario.last_update = datetime.now()
                horario.update()
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return None, 204
Esempio n. 3
0
 def delete(self, id):
     adms = Admin.query.all()
     if len(adms) == 1:
         return response("Cannot delete all admins", 403)
     try:
         admin = Admin.query.get(id)
         if not admin:
             return response("Admin {} not existis".format(id), 404)
         admin.delete(admin)
     except SQLAlchemyError as e:
         return rollback(e, db)
     else:
         return None, 204
Esempio n. 4
0
    def delete(self, id):
        try:
            room = Room.query.get(id)
            if not room or not room.active:
                return response("Room {} not exists".format(id))
            room.active = False

            room.lastUpdate = datetime.now()
            room.update()
        except SQLAlchemyError as e:
            return rollback(e, db), 406
        else:
            return None, 202
Esempio n. 5
0
    def post(self):
        args = get_args()
        if not args:
            return response("Invalid parameters", 422)

        try:
            admin = Admin(args["name"], args["email"], args["password"])
            admin.add(admin)
            query = Admin.query.get(admin.id)
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return schema.dump(query).data, 201
Esempio n. 6
0
    def post(self):
        args = get_args()
        if not args:
            return send_message("Parâmetros inválidos!", 422)

        try:
            admin = Admin(args["nome"], args["email"], args["password"])
            admin.add(admin)
            query = Admin.query.get(admin.id)
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return schema.dump(query).data, 201
Esempio n. 7
0
    def delete(self, id):
        try:
            user = User.query.get(id)
            if not user.active:
                return response("User {} not exists".format(id))

            user.active = False
            user.lastUpdate = datetime.now()
            user.update()
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return None, 204
Esempio n. 8
0
 def delete(self, id):
     adms = Admin.query.all()
     if len(adms) == 1:
         return send_message("Há apenas um administrador", 403)
     try:
         admin = Admin.query.get(id)
         if not admin:
             return send_message("O administrador {} não existe".format(id),
                                 404)
         admin.delete(admin)
     except SQLAlchemyError as e:
         return rollback(e, db)
     else:
         return None, 204
Esempio n. 9
0
 def delete(self, id):
     try:
         user = Usuario.query.get(id)
         if not user.alive:
             return send_message("O usuário {} não existe".format(id))
         user.alive = False
         for acesso in user.direito_acesso:
             acesso.alive = False
         user.last_update = datetime.now()
         user.update()
     except SQLAlchemyError as e:
         return rollback(e, db)
     else:
         return None, 204
Esempio n. 10
0
    def delete(self, roomId, userId):
        roomUser = (RoomUser.query.filter(
            RoomUser.active).filter(RoomUser.roomId == roomId).filter(
                RoomUser.userId == userId).first())

        if roomUser:
            try:
                roomUser.active = False
                roomUser.lastUpdate = datetime.now()
                roomUser.update()
            except SQLAlchemyError as e:
                return rollback(e, db), 406
            else:
                return "User {} removed from Room {}".format(userId,
                                                             roomId), 202

        return "User {} was not found in Room {}".format(userId, roomId), 404
Esempio n. 11
0
    def post(self, roomId, userId):
        roomUser = (RoomUser.query.filter(RoomUser.roomId == roomId).filter(
            RoomUser.userId == userId).first())

        if roomUser:
            roomUser.active = True
            roomUser.lastUpdate = datetime.now()
            roomUser.update()
            return roomUserSchema.dump(roomUser).data, 201
        else:
            try:
                roomUser = RoomUser()
                roomUser.roomId = roomId
                roomUser.userId = userId
                roomUser.add(roomUser)
            except SQLAlchemyError as e:
                return rollback(e, db), 406
            else:
                return roomUserSchema.dump(roomUser).data, 201
Esempio n. 12
0
    def put(self, id):
        args = check_args()
        if not args:
            return response("Room name required", 422)

        room = Room.query.get(id)

        if not room.active:
            return response("Room {} not exists".format(id))

        if room.name != args["name"]:
            room.name = args["name"]

        try:
            room.lastUpdate = datetime.now()
            room.update()
        except SQLAlchemyError as e:
            return rollback(e, db), 406
        else:
            return schema.dump(room).data, 202
Esempio n. 13
0
    def put(self, id):
        args = check_args()
        if not args:
            return send_message("O nome da sala não pode ser vazio", 422)

        sala = Sala.query.get(id)

        if not sala.alive:
            return send_message("A sala {} não existe".format(id))

        if sala.nome != args["nome"]:
            sala.nome = args["nome"]

        try:
            sala.last_update = datetime.now()
            sala.update()
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return schema.dump(sala).data
Esempio n. 14
0
    def post(self):
        args = get_args()

        if not args:
            return response("Invalid parameters", 422)

        user = (User.query.filter(User.active == False).filter(
            User.email == args["email"]).first())

        if user:
            return self.reactive(user, args)
        else:
            try:
                user = User(name=args["name"],
                            email=args["email"],
                            uid=args["uid"],
                            userType=args["userType"])
                user.add(user)
            except SQLAlchemyError as e:
                return rollback(e, db), 406
            else:
                return schema.dump(user).data, 201
Esempio n. 15
0
    def post(self):
        args = check_args()

        if not args:
            return response("Room's name is required", 422)

        room = (Room.query.filter(Room.active == False).filter(
            Room.name == args["name"]).first())

        if room:
            room.active = True
            room.lastUpdate = datetime.now()
            room.update()
            return schema.dump(room).data, 201
        else:
            try:
                room = Room()
                room.name = args["name"]
                room.add(room)
            except SQLAlchemyError as e:
                return rollback(e, db), 406
            else:
                return schema.dump(room).data, 201
Esempio n. 16
0
    def post(self):
        args = get_args()
        horario_check = check_horario(args)

        if horario_check and not horario_check.alive:
            query = Horario.query.get(horario_check.id)
            query.alive = True
            query.last_update = datetime.now()
            query.update()
            return schema.dump(query).data, 201
        elif horario_check and horario_check.alive:
            return send_message("Este horário já existe", 409)

        try:
            horario = Horario(args["id_sala"], args["dia"],
                              args["hora_inicio"], args["hora_fim"],
                              args["tipo_user"])
            horario.add(horario)
            query = Horario.query.get(horario.id)
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return schema.dump(query).data, 201
Esempio n. 17
0
    def post(self):
        args = check_args()

        if not args:
            return send_message("O nome da sala não pode ser vazio", 422)

        sala = (Sala.query.filter(Sala.alive == False).filter(
            Sala.nome == args["nome"]).first())

        if sala:
            sala.alive = True
            sala.last_update = datetime.now()
            sala.update()
            return schema.dump(sala).data, 201
        else:
            try:
                sala = Sala(args["nome"])
                sala.add(sala)
                query = Sala.query.order_by(Sala.id.desc()).first()
            except SQLAlchemyError as e:
                return rollback(e, db)
            else:
                return schema.dump(query).data, 201
Esempio n. 18
0
    def delete(self, id):
        try:
            sala = Sala.query.get(id)
            if not sala or not sala.alive:
                return send_message("A sala {} não existe".format(id))
            sala.alive = False

            horarios = (Horario.query.filter(Horario.id_sala == id).all())

            acessos = (DireitoAcesso.query.filter(
                DireitoAcesso.id_sala == id).all())

            for acesso in acessos:
                acesso.alive = False

            for horario in horarios:
                horario.alive = False

            sala.last_update = datetime.now()
            sala.update()
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return None, 204