Exemplo n.º 1
0
    def get(self):

        key = request.headers['X-API-KEY']

        User.delete_key(key)

        return {"message": "Logout succesfully"}
Exemplo n.º 2
0
    def post(self):

        payload = api.payload

        username = payload["username"]
                
        if User.verify_username(username):
            return {"message": "User already exist"}, 401

        user = User.create(**payload)

        response = {
            "message": "User created"
        }

        return response
Exemplo n.º 3
0
    def post(self):

        payload = api.payload

        username = payload["username"]
        password = payload["password"]
        
        if not User.verify_username(username):
            return {"message": "Invalid credentials"}, 401
        
        if not User.login(username, password):
            return {"message": "Invalid credentials"}, 401

        key = User.get_key(username)

        response = {
            "api_key": key
        }

        return response
Exemplo n.º 4
0
    def delete(self, todo_id):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        if not user.owns_todo(todo_id):
            return "Not your todo", status.HTTP_401_UNAUTHORIZED

        user.delete_todo(todo_id)

        return "Todo deleted", status.HTTP_204_NO_CONTENT
Exemplo n.º 5
0
    def delete(self, event_id):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        if not user.owns_event(event_id):
            return "Not your event", status.HTTP_401_UNAUTHORIZED

        user.delete_event(event_id)

        return "Event deleted", status.HTTP_204_NO_CONTENT
Exemplo n.º 6
0
    def decorated(*args, **kwargs):

        token = None

        if 'X-API-KEY' in request.headers:
            token = request.headers['X-API-KEY']

        if not token:
            return {'message' : 'Key is missing.'}, 401

        if not User.verify_key(token):
            return {'message' : 'Invalid credentials!!!'}, 401

        return f(*args, **kwargs)
Exemplo n.º 7
0
    def post(self):

        payload = api.payload

        todo = ToDo.create(**payload)

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)
        user.add_todo(todo)

        todo = todo.__dict__
        del todo['_sa_instance_state']

        return todo, status.HTTP_201_CREATED
Exemplo n.º 8
0
    def get(self):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        todos = user.todos

        result = list()

        for t in todos:

            todo = t.to_dict()

            result.append(todo)

        return result
Exemplo n.º 9
0
    def put(self, todo_id):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        if not user.owns_todo(todo_id):
            return "Not your todo", status.HTTP_401_UNAUTHORIZED

        payload = api.payload

        ToDo.update(todo_id, payload)

        todo = ToDo.read_todo(todo_id)

        todo = todo.to_dict()

        return todo, status.HTTP_202_ACCEPTED
Exemplo n.º 10
0
    def put(self, event_id):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        if not user.owns_event(event_id):
            return "Not your event", status.HTTP_401_UNAUTHORIZED

        payload = api.payload

        Event.update(event_id, payload)

        event = Event.read_event(event_id)

        event = event.to_dict()

        return event, status.HTTP_202_ACCEPTED
Exemplo n.º 11
0
    def post(self):

        payload = api.payload

        payload["date"] = datetime.datetime.now()

        event = Event(**payload)

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        user.add_event(event)

        event = e.__dict__
        event["date"] = event["date"].isoformat()
        del event['_sa_instance_state']

        return event, status.HTTP_201_CREATED
Exemplo n.º 12
0
    def get(self):

        key = request.headers['X-API-KEY']

        user = User.read_by_key(key)

        events = user.events

        result = list()

        for e in events:

            event = e.__dict__
            event["date"] = event["date"].isoformat()
            del event['_sa_instance_state']

            result.append(event)

        return result