Пример #1
0
    def put(self, note_id, user_id):
        note = session.query(Note).get(note_id)

        if note is None:
            return Message.instance_not_exist()

        user = session.query(User).get(user_id)
        if user is None:
            return Message.instance_not_exist()

        is_moderator = False
        for moderator in note.users:
            if moderator.id == auth.current_user().id:
                is_moderator = True
        if note.owner_id != auth.current_user().id and not is_moderator:
            return Message.auth_failed()

        max_moderators = 5
        if note.number_of_moderators >= max_moderators:
            return Message.message('Can not add a moderator', 400)

        note.number_of_moderators += 1
        note.users.append(user)
        session.commit()
        return Message.successful('add moderator to note')
Пример #2
0
    def get(self):
        user_list = session.query(User).all()

        if not user_list:
            return Message.instance_not_exist()

        return user_list_schema.dump(user_list), 200
Пример #3
0
    def get(self, user_id):
        user = session.query(User).get(user_id)
        if user is None:
            return Message.instance_not_exist()

        user_note_list = user.notes
        return note_list_schema.dump(user_note_list)
Пример #4
0
    def put(self, note_id):
        request_data = request.get_json()
        note = session.query(Note).get(note_id)

        if note is None:
            return Message.instance_not_exist()

        is_moderator = False
        for moderator in note.users:
            if moderator.id == auth.current_user().id:
                is_moderator = True
        if note.owner_id != auth.current_user().id and not is_moderator:
            return Message.auth_failed()

        if 'name' in request_data:
            note.name = request_data['name']
        if 'text' in request_data:
            note.text = request_data['text']
        if 'tag_id' in request_data:
            tag_id = request_data['tag_id']
            tag = session.query(Tag).get(tag_id)
            note.tags.append(tag)

        session.commit()
        return Message.successful('updated')
Пример #5
0
    def get(self):
        note_list = session.query(Note).all()

        if not note_list:
            return Message.instance_not_exist()

        return note_list_schema.dump(note_list), 200
Пример #6
0
    def get(self, tag_id):

        tag = session.query(Tag).get(tag_id)

        if tag is None:
            return Message.instance_not_exist()
        return tag_schema.dump(tag), 200
Пример #7
0
 def delete(self, tag_id):
     tag = session.query(Tag).get(tag_id)
     if tag is None:
         return Message.instance_not_exist()
     session.delete(tag)
     session.commit()
     return Message.successful('deleted')
Пример #8
0
    def get(self):
        tag_list = session.query(Tag).all()

        if not tag_list:
            return Message.instance_not_exist()

        return tag_list_schema.dump(tag_list), 200
Пример #9
0
    def test_get_tag_404(self):

        tag = create_tag(self)

        response = self.client.get(f"/api/tag/{tag.id + 2}/")

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #10
0
    def test_userNotesList_404(self):

        user = create_user(self)

        response = self.client.get(f"/api/user/{user.id+2}/notes/")

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #11
0
    def test_get_note_404(self):

        note = create_note(self)

        response = self.client.get(f"/api/note/{note.id + 2}/")

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #12
0
    def put(self, note_id, tag_id):
        note = session.query(Note).get(note_id)

        if note is None:
            return Message.instance_not_exist()

        if note.owner_id != auth.current_user().id:
            return Message.auth_failed()

        tag = session.query(Tag).get(tag_id)
        if tag is None:
            return Message.instance_not_exist()

        note.tags.append(tag)

        session.commit()

        return Message.successful('add tag to note')
Пример #13
0
    def delete(self, user_id):
        user = session.query(User).get(user_id)

        if user is None:
            return Message.instance_not_exist()

        if user.email != auth.current_user().email:
            return Message.auth_failed()

        session.delete(user)
        session.commit()
        return Message.successful('deleted')
Пример #14
0
    def put(self, tag_id):
        request_data = request.get_json()
        tag = session.query(Tag).get(tag_id)

        if tag is None:
            return Message.instance_not_exist()

        if 'name' in request_data:
            tag.name = request_data['name']

        session.commit()
        return Message.successful('updated')
Пример #15
0
    def delete(self, note_id):
        note = session.query(Note).get(note_id)

        if note is None:
            return Message.instance_not_exist()

        if note.owner_id != auth.current_user().id:
            return Message.auth_failed()

        session.delete(note)
        session.commit()
        return Message.successful('deleted')
Пример #16
0
    def test_delete_tag_404(self):

        tag = create_tag(self)

        response = self.client.delete(
            f"/api/tag/{tag.id + 2}/",
            headers={
                'Authorization':
                'Basic ' +
                base64.b64encode(b'[email protected]:user1test').decode('utf-8')
            })

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #17
0
    def test_put_tag_404(self):

        tag = create_tag(self)

        response = self.client.put(
            f"/api/tag/{tag.id + 2}/",
            data=json.dumps(dict(name="tag1_edited")),
            content_type='application/json',
            headers={
                'Authorization':
                'Basic ' +
                base64.b64encode(b'[email protected]:user1test').decode('utf-8')
            })

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #18
0
    def test_note_404_tag(self):

        tag = create_tag(self)

        note = create_note(self)

        response = self.client.put(
            f"/api/add/note/{note.id+2}/tag/{tag.id}/",
            content_type='application/json',
            headers={
                'Authorization':
                'Basic ' +
                base64.b64encode(b'[email protected]:user1test').decode('utf-8')
            })

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #19
0
    def put(self, user_id):
        request_data = request.get_json()
        user = session.query(User).get(user_id)

        if user is None:
            return Message.instance_not_exist()

        if user.email != auth.current_user().email:
            return Message.auth_failed()

        if 'username' in request_data:
            user.username = request_data['username']
        if 'email' in request_data:
            user.email = request_data['email']
        if 'password' in request_data:
            user.password = request_data["password"]

        session.commit()
        return Message.successful('updated')
Пример #20
0
    def test_note_404_user(self):

        user = User(username=f"user{11}",
                    email=f"user{11}@test.com",
                    password=f"user{11}test")

        self.session.add(user)
        self.session.commit()

        note = create_note(self)

        response = self.client.put(
            f"/api/add/note/{note.id+2}/user/{user.id}/",
            content_type='application/json',
            headers={
                'Authorization':
                'Basic ' +
                base64.b64encode(b'[email protected]:user1test').decode('utf-8')
            })

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #21
0
    def test_tagList_404(self):

        response = self.client.get(f"/api/tag/all/")

        self.assertEqual((response.get_json(), 404),
                         Message.instance_not_exist())
Пример #22
0
 def get(self, note_id):
     note = session.query(Note).get(note_id)
     if note is None:
         return Message.instance_not_exist()
     return note_schema.dump(note), 200
Пример #23
0
def verify_password(login, password):
    user = session.query(User).filter(User.email == login).first()
    if user is None:
        return Message.instance_not_exist()
    if user and check_password_hash(user.password, password):
        return user
Пример #24
0
 def get(self, user_id):
     user = session.query(User).get(user_id)
     if user is None:
         return Message.instance_not_exist()
     return user_schema.dump(user), 200