示例#1
0
class UserListResource(Resource):
    def __init__(self):
        self.controller = UserController()

    @token_required(roles=['Administrator'])
    @swag_from('/resources/users/description/users_list_get.yml')
    @marshal_with(get_registered_user_details())
    def get(self, current_user: User) -> List[User]:
        return self.controller.get_list(current_user)

    @token_required(roles=['Administrator'])
    @swag_from('/resources/users/description/users_list_post.yml')
    def post(self, current_user: User) -> User:
        user = self.controller.create(current_user)
        serialized_user = serialize(user, get_registered_user_details())
        json_user = json.dumps(serialized_user)
        response = get_post_response(obj=user,
                                     body=json_user,
                                     content_type='application/json',
                                     api='/{rsc}'.format(rsc=API_PREFIX))
        return response