async def get_recipes_list_favorites(request): """ Разблокировать пользователя по никнейму """ if CurrentUser.authorized: recipes = get_recipes_list_favorites_(CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def delete_recipe(request): """ Пользователь удалит свой рецепт """ if CurrentUser.authorized: name = request.query_string.split('=')[1] recipes = delete_recipe_(name, CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def get_recipes_list(request): """ Возращает json список рецептов па запрашиваемым параметрам """ if CurrentUser.authorized: data = request.query_string recipes = get_recipes_list_(data) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def get_users_list(request): """ Возращает json список рецептов па запрашиваемым параметрам """ if CurrentUser.authorized: data = request.query_string.split('=')[1] user = get_users_list_(data) else: user = no_authorization_error() return web.Response(text=user)
async def get_user(request): """ Возращает json пользователя по никнейму """ if CurrentUser.authorized: nickname = request.query_string.split('=')[1] user = get_user_(nickname) else: user = no_authorization_error() return web.Response(text=user)
async def get_recipe(request): """ Возращает json рецепт по названию (нужно по id, потому что названия могут повторяться, но для удобства и наглядности я сделал на именах) """ if CurrentUser.authorized: name = request.query_string.split('=')[1] recipe = get_recipe_(name) else: recipe = no_authorization_error() return web.Response(text=recipe)
async def delete_user(request): """ Удалить себя """ if CurrentUser.authorized: text_message = delete_user_(CurrentUser) logout_user() else: text_message = no_authorization_error() text_message = json.dumps(text_message, ensure_ascii=False) return web.Response(text=text_message)
async def favorite_recipe(request): """ Пользователь добавит рецепт в избранное """ if CurrentUser.authorized: try: # jsons data = await request.json() except: # form_data data = await request.post() recipes = favorite_recipe_(data, CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def add_recipe(request): """ Создает новый рецепт """ if CurrentUser.authorized: try: # jsons data = await request.json() except: # form_data data = await request.post() recipes = add_recipe_(data, CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def like_recipe(request): """ Пользователь ставит лайк рецепту """ if CurrentUser.authorized: # Я не могу это вынести в отдельную функцию, он пишет что это корутина и ничего не возвращает try: # jsons data = await request.json() except: # form_data data = await request.post() recipes = like_to_recipe_(data, CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def change_recipe(request): """ Пользователь изменит свой рецепт """ if CurrentUser.authorized: try: # jsons data = await request.json() except: # form_data data = await request.post() name = request.query_string.split('=')[1] recipes = upd_recipe_(name, data, CurrentUser) else: recipes = no_authorization_error() return web.Response(text=recipes)
async def upd_user(request): """ Изменить свой ник """ if CurrentUser.authorized: try: # jsons data = await request.json() except: # form_data data = await request.post() text_message = upd_user_(data, CurrentUser) else: text_message = no_authorization_error() text_message = json.dumps(text_message, ensure_ascii=False) return web.Response(text=text_message)