def user(): """ update user info :return: respond model """ request_model = RequestModel(request) user_info_form = request_model.data.get('user_info') jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() save_user_info = False if (user_info_form and user_info_form['name'] == user_info_jwt['name']) or 'admin' in user_info_jwt['roles']: if not user_info_form.get('password') or user_info_form.get( 'password') == '': user_info_form['password'] = get_password_from_db(user_info_form) save_user_info = user_service.update(user_info_form) else: save_user_info = update_password(user_info_form) respond_model.message = 'success' if save_user_info: respond_model.token = generate_jwt(user_info_form) return respond_model respond_model.message = 'error' return respond_model
def fun_dec(*args, **kwargs): request_model = RequestModel(request) user_info = decode_jwt(request_model.token)['user_info'] if self.roles in user_info.get('roles'): respond_model = api_function(*args, **kwargs) return respond_model else: respond_model = RespondModel() respond_model.message = 'authorization error' return respond_model
def del_settings(): """ del libraries settings by user :return: respond_model """ request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() del_libraries_settings(user_info_jwt['name'], request_model.data) return respond_model
def save_setting(): """ save setting :return: respond model """ request_model = RequestModel(request) respond_model = RespondModel() jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] save_user_setting(user_info_jwt.get('name'), request_model.data) return respond_model
def detail(): """ return all libraries settings detail :return: respond_model """ request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() respond_model.data = libraries_detail(user_info_jwt['name'], request_model.data.get('libraries')) return respond_model
def manual_scan(): """ manual scan :return: respond model with metaDate """ respond_model = RespondModel() request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] meta_data_list = run_manual_scan(request_model.data, user_info_jwt) respond_model.data = meta_data_list return respond_model
def user_info(): """ get user info :return: respond model """ request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() respond_model.message = 'success' respond_model.data = user_info_jwt return respond_model
def user_info(): """ get user info :return: respond model """ request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() respond_model.message = 'success' if 'admin' in user_info_jwt.get('roles'): user_info_jwt['roles'] = 'admin,' + get_all_plugin_name() respond_model.data = user_info_jwt return respond_model
def plugin_authorization(plugin_name): """ check if user have authority to access the plugin that they want to access :param plugin_name: the plugin name which user want to access :return: Boolean """ request_model = RequestModel(request) roles = decode_jwt(request_model.token)['user_info'].get('roles') if 'admin' in roles: roles = 'admin,' + get_all_plugin_name() if plugin_name in roles: return True else: return False
def save_token(): """ save plugin token :return: """ request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] respond_model = RespondModel() respond_model.message = 'success' token = generate_token(user_info_jwt) respond_model.data['token'] = token user_info_jwt['token'] = token respond_model.token = generate_jwt(user_info_jwt) return respond_model
def save_setting(plugin_name): """ save user plugin setting :param plugin_name: plugin name :return: respond_model """ respond_model = RespondModel() request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] if not plugin_authorization(plugin_name): respond_model.message = 'authorization error' return respond_model save_plugin_setting(plugin_name, request_model.data, user_info_jwt) return respond_model
def get_setting(): """ get setting :return: respond model """ request_model = RequestModel(request) respond_model = RespondModel() jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] setting = get_setting_by_username(user_info_jwt.get('name')) if setting: respond_model.data = setting.get('setting') else: respond_model.data = {} return respond_model
def plugin_setting(lang, plugin_name): """ get plugin setting form and user plugin setting :param lang: language for i18n :param plugin_name: plugin name :return: respond_model """ respond_model = RespondModel() request_model = RequestModel(request) jwt = request_model.token user_info_jwt = decode_jwt(jwt)['user_info'] if not plugin_authorization(plugin_name): respond_model.message = 'authorization error' return respond_model data = { 'form': get_plugin_setting(plugin_name, lang), 'userSetting': get_user_plugin_setting(plugin_name, user_info_jwt) } respond_model.data = data return respond_model