Exemple #1
0
 def post(self):
     repo = UserRep()
     payload = jsonpickle.decode(flask.request.data)
     client_id = payload['client_id']
     code = repo.get_code(client_id)
     if code is not None:
         response = app.make_response("Authorization code was generated")
         response.status_code = 201
         response.data = json.dumps({"code": code})
         response.content_type = "application/json"
         return response
     response = app.make_response("Ошибка генеации кода")
     response.status_code = 404
     return response
Exemple #2
0
 def get(self):
     repo = UserRep()
     app.logger.info('Получен запрос на получение пользователя по токену')
     payload = jsonpickle.decode(flask.request.data)
     token = payload['token']
     user = repo.get_real_user_by_token(token)
     if user is not None:
         response = app.make_response("Пользователь получен по токену")
         response.status_code = 200
         response.data = user.to_json()
         response.content_type = "application/json"
         return response
     response = app.make_response("Ошибка получения пользователя по токену")
     response.status_code = 403
     return response
Exemple #3
0
 def patch(self, user_id):
     repo = UserRepository()
     app.logger.info('Получен запрос на покупку/возврат билета для пользователя с идентификатором %s' % user_id)
     abort_if_user_doesnt_exist(user_id, repo)
     try:
         payload = jsonpickle.decode(flask.request.data)
     except:
         payload = {'status': 'buy', 'ticket_id': '894bjhel892'}
     if payload["status"] == "buy":
         app.logger.info('Покупка билета с идентификатором %s' % payload["ticket_id"])
         repo.assign_ticket(user_id, payload["ticket_id"])
     else:
         app.logger.info('Возврат билета с идентификатором %s' % payload["ticket_id"])
         repo.remove_ticket(user_id, payload["ticket_id"])
     user = repo.get(user_id)
     response = app.make_response("")
     response.status_code = 201
     response.data = user.to_json()
     response.content_type = "application/json"
     if payload["status"] == "buy":
         app.logger.info('Покупка билета %s для пользователя %s успешно произведена'
                         % (payload["ticket_id"], user_id))
     else:
         app.logger.info('Возврат билета %s для пользователя %s успешно произведен'
                         % (payload["ticket_id"], user_id))
     return response
Exemple #4
0
 def post(self):
     repo = UserRepository()
     app.logger.info('Получен запрос на получение пользователя по токену')
     payload = jsonpickle.decode(flask.request.data)
     client_id = payload['client_id']
     client_secret = payload['client_secret']
     code = payload['code']
     t = repo.get_token_for_auth(client_id, client_secret, code)
     if t is not None:
         response = app.make_response("Сгенерирован токен")
         response.status_code = 200
         response.set_cookie("token", value=t)
         return response
     response = app.make_response("Неверные данные")
     response.status_code = 403
     return response
Exemple #5
0
 def delete(self, user_id):
     app.logger.info('Получен запрос на удаление пользователя с идентификатором %s' % user_id)
     abort_if_user_doesnt_exist(user_id)
     repo.delete(user_id)
     response = app.make_response("User %s deleted successfully" % user_id)
     response.status_code = 204
     app.logger.info('Пользователь с идентификатором %s успешно удален' % user_id)
     return response
Exemple #6
0
 def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument("name", type=str)
     parser.add_argument("password", type=str)
     repo = UserRepository()
     app.logger.info('Получен запрос на аутентификацию')
     args = parser.parse_args(strict=True)
     #payload = jsonpickle.decode(flask.request.data)
     token = repo.get_token(args['name'], args['password'])
     if token is not None:
         user = repo.get_by_token(token)
         if user is not None:
             response = app.make_response("Token was generated")
             response.status_code = 200
             response.set_cookie("token", value=token)
             return response
     response = app.make_response("Неверный логин или пароль")
     response.status_code = 403
     return response
Exemple #7
0
 def get(self, user_id):
     repo = UserRepository()
     app.logger.info('Получен запрос на получение информации о пользователе с идентификатором %s' % user_id)
     abort_if_user_doesnt_exist(user_id, repo)
     user = repo.get(user_id)
     response = app.make_response("")
     response.status_code = 200
     response.data = user.to_json()
     response.content_type = "application/json"
     app.logger.info('Запрос на получение информации о пользователе с идентификатором %s успешно обработан'
                     % user_id)
     return response
Exemple #8
0
 def post(self):
     app.logger.info('Получен запрос на создание пользователя')
     try:
         payload = jsonpickle.decode(flask.request.data)
     except:
         payload = {'l_name': 'test','password':'******', 'admin': 'test'}
     user_id = repo.create( payload["l_name"], payload["password"],payload["admin"])
     user = repo.get(user_id)
     response = app.make_response("")
     response.status_code = 201
     response.data = user.to_json()
     response.content_type = "application/json"
     app.logger.info('Запрос на создание нового пользователя успешно обработан, идентификатор: %s' % user_id)
     return response
Exemple #9
0
 def get(self):
     repo = UserRepository()
     app.logger.info('Получен запрос на получение списка пользователей')
     try:
         args = self.parser.parse_args(strict=True)
     except:
         args = {'page': 1, 'page_size': 5}
     app.logger.info('Номер страницы: %d; количество пользователей на странице: %d' % (args['page'], args['page_size']))
     users_list, is_prev_page, is_next_page = repo.read_paginated(page_number=args['page'], page_size=args['page_size'])
     users = ''
     for user in users_list:
         users += user.to_json() + '\n'
     dictr = {"is_prev_page": is_prev_page, "is_next_page": is_next_page}
     users += "\n" + json.dumps(dictr)
     response = app.make_response("")
     response.status_code = 200
     response.content_type = "application/json"
     response.data = users
     app.logger.info('Запрос на получение списка пользователей успешно обработан')
     return response
Exemple #10
0
 def patch(self, user_id):
     app.logger.info('Получен запрос на покупку/возврат товара для пользователя с идентификатором %s' % user_id)
     abort_if_user_doesnt_exist(user_id)
     payload = jsonpickle.decode(flask.request.data)
     if payload["status"] == "fix":
         app.logger.info('Заявка на починку машины')
         repo.assign_car(user_id)
     else:
         app.logger.info('Возврат машины ')
         repo.remove_car(user_id)
     user = repo.get(user_id)
     response = app.make_response("")
     response.status_code = 201
     response.data = user.to_json()
     response.content_type = "application/json"
     if payload["status"] == "fix":
         app.logger.info('Заявка на починку машины для пользователя %s успешно произведена'% user_id)
     else:
         app.logger.info('Возврат машины  для пользователя %s успешно произведен'% user_id)
     return response