Ejemplo n.º 1
0
 def get(self, tag_id):
     author = g.user
     tag = TagModel.query.get(tag_id)
     if not tag:
         abort(404, error=f"Tag with id={tag_id} not found")
     if tag.author != author:
         abort(403, error=f"Access denied to tag with id={tag_id}")
     return tag, 200
Ejemplo n.º 2
0
 def get(self, note_id):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"Note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     return note, 200
Ejemplo n.º 3
0
 def post(self, **kwargs):
     user = UserModel(**kwargs)
     try:
         user.save()
         return user, 201
     except:
         abort(404, error=f"An error occurred while adding new user" \
                          "or a user with such name is already exist. " \
                          "You can only add a unique name")
Ejemplo n.º 4
0
 def get(self):
     """
     Возвращает все публичные заметки пользователя
     :return: заметки
     """
     notes = NoteModel.get_all_public_notes()
     if not notes:
         abort(404, error=f"Public notes not found")
     return notes, 200
Ejemplo n.º 5
0
 def get(self):
     """
     Возвращает всех пользователей
     :return: пользователи
     """
     users = UserModel.query.all()
     if not users:
         abort(404, error=f"No users yet")
     return users, 200
Ejemplo n.º 6
0
 def delete(self, user_id):
     user = UserModel.query.get(user_id)
     if not user:
         abort(404, error=f"User with id={user_id} is not exists")
     try:
         user.delete()
         return f"User with id={user_id} deleted", 200
     except:
         abort(404, error=f"An error occurred while deleting the user")
Ejemplo n.º 7
0
 def get(self, user_id):
     """
     Возвращает пользователя по id.
     :param user_id: id пользователя
     :return: пользователя
     """
     user = UserModel.query.get(user_id)
     if not user:
         abort(404, error=f"No user with id={user_id}")
     return user, 200
Ejemplo n.º 8
0
 def put(self, user_id, **kwargs):
     user = UserModel.query.get(user_id)
     if not user:
         abort(404, error=f"No user with id={user_id}")
     user.username = kwargs["username"]
     try:
         user.save()
         return user, 200
     except:
         abort(404, error=f"An error occurred while changing the user")
Ejemplo n.º 9
0
 def put(self, note_id, **kwargs):
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"note {note_id} not found")
     print("note kwargs = ", kwargs)
     for tag_id in kwargs["tags"]:
         tag = TagModel.query.get(tag_id)
         note.tags.append(tag)
     note.save()
     return note, 200
Ejemplo n.º 10
0
 def put(self, note_id, **kwargs):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"note {note_id} not found")
     if note.author != author:
         abort(403, error=_(f"Forbidden"))
     note.text = kwargs["text"]
     note.private = kwargs["private"]
     note.save()
     return note, 200
Ejemplo n.º 11
0
 def post(self, **kwargs):
     author = g.user
     tag = TagModel(author_id=author.id, **kwargs)
     try:
         tag.save()
         return tag, 201
     except:
         abort(404,
               error=f"An error occurred while adding new tag"
               " or a tag with such name is already exist. "
               "You can only add a unique tag")
Ejemplo n.º 12
0
 def get(self, **kwargs):
     notes_lst = []
     for tag_name in kwargs["tags"]:
         #pdb.set_trace()
         notes = NoteModel.get_notes_filtered_by_tags(tag_name)
         if not notes:
             abort(404, error=f"Note with tag_name={tag_name} not found")
         for note in notes:
             if note not in notes_lst:
                 notes_lst.append(note)
     return notes_lst, 200
Ejemplo n.º 13
0
 def get(self):
     """
     Возвращает все теги пользователя
     Требуется аутентификация.
     :return: теги
     """
     author = g.user
     tags = TagModel.query.filter_by(author_id=author.id).all()
     if not tags:
         abort(404, error=f"No tags yet")
     return tags, 200
Ejemplo n.º 14
0
 def get(self, note_id):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         # app.logger.warning("Кто-то пытается получить нечто")
         # abort(404, error=f"Note with id={note_id} not found")
         abort(404,
               error=_("Note with id=%(note_id) not found"),
               note_id=note_id)
     if note.author != author:
         abort(403, error=_("Forbidden"))
     return note, 200
Ejemplo n.º 15
0
 def get(self):
     """
     Возвращает все архивные заметки пользователя.
     Используется фильтр - "архивные".
     Требуется аутентификация.
     :return:
     """
     author = g.user
     notes = NoteModel.get_all_notes(author, archive="archive")
     if not notes:
         abort(404, error=f"You have no notes yet")
     return notes, 200
Ejemplo n.º 16
0
 def get(self):
     """
     Возвращает все заметки пользователя.
     Фильтры поиска не применяются.
     Требуется аутентификация.
     :return: все заметки
     """
     author = g.user
     notes = NoteModel.get_all_notes(author, archive="all")
     if not notes:
         abort(404, error=f"You have no notes yet")
     return notes, 200
Ejemplo n.º 17
0
 def delete(self, user_id):
     """
     Удаляет пользователя по id.
     :param user_id: id пользователя
     :return: пользователя
     """
     user = UserModel.query.get(user_id)
     if not user:
         abort(404, error=f"User with id={user_id} is not exists")
     try:
         user.delete()
         return f"User with id={user_id} deleted", 200
     except:
         abort(404, error=f"An error occurred while deleting the user")
Ejemplo n.º 18
0
 def get(self, note_id):
     """
     Возвращает заметку пользователя.
     Требуется аутентификация.
     :param note_id: id заметки
     :return: замтку
     """
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"Note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     return note, 200
Ejemplo n.º 19
0
 def get(self, tag_id):
     """
     Возвращает тег по id.
     Требуется аутентификация.
     :param tag_id: id тега
     :return: тег
     """
     author = g.user
     tag = TagModel.query.get(tag_id)
     if not tag:
         abort(404, error=f"Tag with id={tag_id} not found")
     if tag.author != author:
         abort(403, error=f"Access denied to tag with id={tag_id}")
     return tag, 200
Ejemplo n.º 20
0
 def put(self, user_id, **kwargs):
     """
     Изменяет пользователя по id.
     :param user_id: id пользователя
     :param kwargs: параметры для изменения пользователя
     :return: пользователя
     """
     user = UserModel.query.get(user_id)
     if not user:
         abort(404, error=f"No user with id={user_id}")
     user.username = kwargs["username"]
     try:
         user.save()
         return user, 200
     except:
         abort(404, error=f"An error occurred while changing the user")
Ejemplo n.º 21
0
 def get(self, **kwargs):
     """
     Возвращает заметки, фильтруя по привязанным тегам.
     :param kwargs: теги в формате списка
     :return: заметки
     """
     notes_lst = []
     for tag_name in kwargs["tags"]:
         #pdb.set_trace()
         notes = NoteModel.get_notes_filtered_by_tags(tag_name)
         if not notes:
             abort(404, error=f"Note with tag_name={tag_name} not found")
         for note in notes:
             if note not in notes_lst:
                 notes_lst.append(note)
     return notes_lst, 200
Ejemplo n.º 22
0
 def put(self, note_id):
     """
     Изменяет статус заметки на "не архивная".
     Требуется аутентификация.
     :param note_id: id заметки
     :return: заметку
     """
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"Note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     note.archive = False
     note.save()
     return note, 200
Ejemplo n.º 23
0
 def post(self, **kwargs):
     """
     Создает тег пользователя.
     Требуется аутентификация.
     :param kwargs: параметры для создания тега
     :return: тег
     """
     author = g.user
     tag = TagModel(author_id=author.id, **kwargs)
     try:
         tag.save()
         return tag, 201
     except:
         abort(404,
               error=f"An error occurred while adding new tag"
               " or a tag with such name is already exist. "
               "You can only add a unique tag")
Ejemplo n.º 24
0
 def put(self, note_id, **kwargs):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     for tag_id in kwargs["tags"]:
         tag = TagModel.query.get(tag_id)
         if not tag:
             abort(404, error=f"Tag with id={tag_id} not found")
         if tag.author != author:
             abort(403, error=f"Access denied to tag with id={tag_id}")
         note.tags.append(tag)
     note.save()
     return note, 200
Ejemplo n.º 25
0
 def delete(self, note_id):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"Note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     try:
         note.delete()
         return f"Note with id={note_id} deleted", 200
     except:
         abort(404, error=f"An error occurred while changing note")
Ejemplo n.º 26
0
 def delete(self, tag_id):
     author = g.user
     tag = TagModel.query.get(tag_id)
     if not tag:
         abort(404, error=f"Tag with id={tag_id} not found")
     if tag.author != author:
         abort(403, error=f"Access denied to tag with id={tag_id}")
     try:
         tag.delete()
         return f"Tag with id={tag_id} deleted", 200
     except:
         abort(404, error=f"An error occurred while changing note")
Ejemplo n.º 27
0
 def put(self, note_id, **kwargs):
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"Note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     for key in kwargs.keys():
         setattr(note, key, kwargs[key])
     try:
         note.save()
         return note, 200
     except:
         abort(404, error=f"An error occurred while changing note")
Ejemplo n.º 28
0
 def put(self, tag_id, **kwargs):
     author = g.user
     tag = TagModel.query.get(tag_id)
     if not tag:
         abort(404, error=f"Tag with id={tag_id} not found")
     if tag.author != author:
         abort(403, error=f"Access denied to tag with id={tag_id}")
     tag.name = kwargs["name"]
     try:
         tag.save()
         return tag, 200
     except:
         abort(404,
               error=f"An error occurred while changing tag"
               f" or a tag with such name is already exist.")
Ejemplo n.º 29
0
 def put(self, note_id, **kwargs):
     """
     Присваивает теги к заметке.
     Требуется аутентификация.
     :param note_id: id заметки
     :param kwargs: id тегов в формате списка
     :return: заметку
     """
     author = g.user
     note = NoteModel.query.get(note_id)
     if not note:
         abort(404, error=f"note with id={note_id} not found")
     if note.author != author:
         abort(403, error=f"Access denied to note with id={note_id}")
     for tag_id in kwargs["tags"]:
         tag = TagModel.query.get(tag_id)
         if not tag:
             abort(404, error=f"Tag with id={tag_id} not found")
         if tag.author != author:
             abort(403, error=f"Access denied to tag with id={tag_id}")
         note.tags.append(tag)
     note.save()
     return note, 200
Ejemplo n.º 30
0
 def delete(self, tag_id):
     """
     Удаляет тег по id.
     Требуется аутентификация.
     :param tag_id: id тега
     :return: тег
     """
     author = g.user
     tag = TagModel.query.get(tag_id)
     if not tag:
         abort(404, error=f"Tag with id={tag_id} not found")
     if tag.author != author:
         abort(403, error=f"Access denied to tag with id={tag_id}")
     try:
         tag.delete()
         return f"Tag with id={tag_id} deleted", 200
     except:
         abort(404, error=f"An error occurred while changing note")