コード例 #1
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')
コード例 #2
0
ファイル: NoteServices.py プロジェクト: Rumaru001/nulp-gl
    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')
コード例 #3
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')
コード例 #4
0
ファイル: NoteServices.py プロジェクト: Rumaru001/nulp-gl
    def post(self):
        request_data = request.get_json()
        try:
            name = request_data['name']
            text = request_data['text']
            if not isinstance(auth.current_user(), User):
                raise Exception
            owner_id = auth.current_user().id
        except KeyError:
            return Message.value_error()
        except Exception:
            return Message.creation_error()

        if note_schema.validate(data=request_data, session=session):
            return Message.creation_error()

        note = Note(
            name=name,
            text=text,
            owner_id=owner_id)

        if note is None:
            return Message.creation_error()

        session.add(note)
        session.commit()

        return Message.successful('created', 201)
コード例 #5
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')
コード例 #6
0
ファイル: NoteServices.py プロジェクト: Rumaru001/nulp-gl
    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')
コード例 #7
0
ファイル: UserServices.py プロジェクト: Rumaru001/nulp-gl
    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')
コード例 #8
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')
コード例 #9
0
ファイル: UserServices.py プロジェクト: Rumaru001/nulp-gl
    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')
コード例 #10
0
ファイル: UserServices.py プロジェクト: Rumaru001/nulp-gl
    def post(self):
        request_data = request.get_json()
        try:
            username = request_data['username']
            email = request_data['email']
            password = request_data['password']
        except KeyError:
            return Message.value_error()

        user = User(username=username, email=email, password=password)

        if user is None:
            return Message.creation_error()

        session.add(user)
        try:
            session.commit()
        except IntegrityError:
            session.rollback()
            return Message.creation_error()

        return Message.successful('created', 201)
コード例 #11
0
    def post(self):
        request_data = request.get_json()
        try:
            name = request_data['name']
        except KeyError:
            return Message.value_error()

        if tag_schema.validate(data=request_data, session=session):
            return Message.value_error()
        tag = Tag(name=name)

        if tag is None:
            return Message.creation_error()

        session.add(tag)

        try:
            session.commit()
        except IntegrityError:
            session.rollback()
            return Message.creation_error()

        return Message.successful('created', 201)
コード例 #12
0
ファイル: create_instance.py プロジェクト: Rumaru001/nulp-gl
def test():
    user1 = User(username="******",
                 email="*****@*****.**",
                 password="******")
    user2 = User(username="******",
                 email="*****@*****.**",
                 password="******")

    note1 = Note(name="Fisrt note",
                 text="This is a very first note",
                 owner=user1)
    note2 = Note(name="Second note",
                 text="This is only a second note",
                 owner=user2)

    user1.notes_avaliable_for_editing.append(note2)

    tag = Tag(name='tag1')

    note2.tags.append(tag)
    note2.number_of_moderators = 1

    session.add_all([tag, user1, user2, note1, note2])
    session.commit()