Esempio n. 1
0
    def post(self, roomName):
        room = Room.query.filter(Room.name == roomName).first()

        if not room:
            return "Room {} not found.".format(roomName), 404

        events = request.get_json()
        eventSchema = EventSchema()

        Event.begin()
        for evt in events:
            user = User.query.filter(User.uid == evt['uid']).first()
            if (user == None):
                #Lucio 20190516: Add unknown users
                User.begin()
                user = User("UNKNOWN USER", "*****@*****.**", evt['uid'],
                            UserTypesEnum.STUDENT)
                user.add(user)
                User.commit()

            result = eventSchema.load(evt)
            if (len(result.errors) > 0):
                return 'Error parsing content:{}.'.format(result.errors), 400

            event = Event()
            event.roomId = room.id
            event.userId = user.id
            event.eventType = EventTypesEnum[result.data['eventType']]
            event.dateTime = result.data['dateTime']
            event.add(event)
        Event.commit()

        return "All events updated", 200