def get_user(user_id): response = create_generic_response_dict() logger.info('Caught get request for user_id:' + str(user_id)) if request.method == 'GET': # TODO need permission check datastore = UserStore() user = datastore.get_user_by_id(user_id) if user == None: response['error'] = True response['message'] = 'User with that ID does not exist.' else: response['message'] = 'User was successfully retrieved.' response['data'] = user.get_values_as_dict() return jsonify(response)
def logout_user(user_id): response = create_generic_response_dict() if request.method == 'POST': datastore = UserStore() user = datastore.get_user_by_id(user_id) if user == None: response['error'] = True response['message'] = 'User was not found.' else: token_store = AuthTokenStore() token_store.kill_user_token(user) response['message'] = 'User logged out successfully' logger.info('Caught logout request for user_id:' + str(user_id) + '->' + response['message']) return jsonify(response)
def delete_user(user_id): logger.info('Caught delete request for user_id:' + str(user_id)) response = create_generic_response_dict() if request.method == 'DELETE': # need permission check datastore = UserStore() user = datastore.get_user_by_id(user_id) if user == None: response['error'] = True response['message'] = "User does not exists." else: datastore.deactivate_user(user) response['message'] = "User was successfully deleted." logger.info('Caught delete request for user_id:' + str(user_id) + '->' + response['message']) return jsonify(response)
def login_user(user_id): response = create_generic_response_dict() if request.method == 'POST': data = request.form password = data.get("password", None) datastore = UserStore() user = datastore.get_user_by_id(user_id) if user == None or password == None or not security.validate_login(user, password): response['error'] = True response['message'] = 'User and password combination does not validate.' else: auth_token = AuthTokenStore().register(user) user_data = user.get_values_as_dict() user_data['token'] = auth_token.get_values_as_dict() response['data'] = user_data response['message'] = 'User successfully logged in' logger.info('Caught login request for user_id:' + str(user_id) + '->' + response['message']) return jsonify(response)