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
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
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")
def get(self): """ Возвращает все публичные заметки пользователя :return: заметки """ notes = NoteModel.get_all_public_notes() if not notes: abort(404, error=f"Public notes not found") return notes, 200
def get(self): """ Возвращает всех пользователей :return: пользователи """ users = UserModel.query.all() if not users: abort(404, error=f"No users yet") return users, 200
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")
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
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")
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
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
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")
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
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
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
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
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
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")
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
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
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")
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
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
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")
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
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")
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")
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")
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.")
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
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")