def create_user(): """ Create a user. Arguments: user_name (string): Name of user. Returns: Success boolean and API formatted user object. """ req_data = request.get_json() if 'user_name' not in req_data: res = { 'success': 0, 'error': '"user_name" param required' } return make_response( jsonify(res), 400 ) user_name = req_data['user_name'] user = UserService.create_user(user_name) if user is not None: user = UserService.get_user_api_formatted_data(user) res = { 'success': 1 if user is not None else 0, 'user': user } return jsonify(res)
def signin_user(): """ [서비스] 유저 로그인 Author: Mark Hasung Kim Returns: user_info: 유저 로그인 토큰 dict형식으로 반환해준다 """ connection = None try: data = request.json if 'username' not in data: raise ApiException(400, INVALID_INPUT) if 'password' not in data: raise ApiException(400, INVALID_INPUT) login_info = { 'username': data['username'], 'password': data['password'] } connection = connect_db() user_service = UserService() user_info = user_service.signin_user(login_info, connection) return user_info except ApiException as e: if connection: connection.rollback() raise e finally: if connection: connection.close()
def get_users_list(): page_num = int(request.args.get('page', 1)) page_size = int(request.args.get('size', 20)) dbms = request.args.get('dbms') try: check_alias(db_alias=dbms) except DbmsAliasError: return Result.gen_failed('404', 'dbms error') name = request.args.get('name') gender = request.args.get('gender') cons = {'name': name, 'gender': gender} kwargs = {} for key, value in cons.items(): if value is not None and value != '': kwargs[key] = value _REDIS_KEY_ = f"{USERS_LIST}:{page_num}:{page_size}:{kwargs}" data = RedisService().get_dict(dbms, _REDIS_KEY_) if data is None or data == {}: res = UserService().get_users(page_num=page_num, page_size=page_size, db_alias=dbms, **kwargs) _users = list() total = UserService().count(db_alias=dbms, **kwargs) for user in res: _users.append(user.to_dict()) data = {'total': total, 'list': list(_users)} RedisService().set_dict(dbms, _REDIS_KEY_, data) return Result.gen_success(data)
def create_user_and_get_token(email): os.environ['ONE_AUTH_ENV'] = 'test' APP.config['TESTING'] = True app = APP.test_client() Mail(APP) db_connection = get_db_session(APP.db_engine) user_service = UserService(db_connection) user_service.delete_user(email) with patch.object(one_auth.ValidationCodeService, 'generate_validation_code', lambda: '123456'): app.post('/one_auth/api/user', data='{"email": "%s"}' % email, content_type='application/json') update_data = '{"email": "%s", "validation_code": "123456", "password": "******"}' % email app.put('/one_auth/api/user', data=update_data, content_type='application/json') response = app.get( '/one_auth/api/access_tokens', content_type='application/json', headers={'Authorization': basic_auth(email, 'password1')}) return json.loads(response.data.decode('utf8'))['access_token']
def user_repo_test(): user_service = UserService() LOGGER.debug("=======USER REPO TEST=======") username = "******" password = "******" first_name = "Muhammad" last_name = "Aftab" email = "*****@*****.**" LOGGER.debug("adding a user") user, msg = user_service.add_user(username, password, first_name, last_name, email) LOGGER.debug(msg) if user is not None: LOGGER.debug("fetching the newly added user") LOGGER.debug(user_repo.find_by_username(user.username)) LOGGER.debug("modifying user") new_user = {"first_name": "Aftab", "last_name": "Khan", "email": "*****@*****.**", "password": "******"} updated_user = user_repo.update_user(username, new_user) LOGGER.debug("the updated user is") LOGGER.debug(updated_user) LOGGER.debug("deleting user") status = user_repo.delete_user(username) LOGGER.debug(status)
def registry(db_session): email = request.json['email'] existing_user = UserService(db_session).get_user(email) if existing_user and existing_user.active(): return handle_existing_active_user(existing_user) existing_user = existing_user or UserService(db_session).create_user(email) create_validation_code(db_session, email, existing_user) return jsonify(convert_user(existing_user)), 201
def setUp(self): os.environ['ONE_AUTH_ENV'] = 'test' APP.config['TESTING'] = True self.app = APP.test_client() self.mail = Mail(APP) self.db_connection = get_db_session(APP.db_engine) self.user_service = UserService(self.db_connection) self.validation_code_service = ValidationCodeService(self.db_connection)
def test_count(self): print() cnt = UserService().count(db_alias=DBMS.DBMS1) print('DBMS1:', cnt) cnt = UserService().count(db_alias=DBMS.DBMS2) print('DBMS2:', cnt) cnt = UserService().count_all() print('all: ', cnt)
def test_del(self): # UserService().del_user_by_uid(49) # user = UserService().get_user_by_uid(49) # assert user is None UserService().del_user_by_name('user10') user = UserService().get_user_by_name('user10') assert user is None
def user_get(user_id): """ find a user info by id :return: a json of user info """ user_service = UserService() content = request.params return user_service.find_one_user_by_id(session_id=content['session_id'])
def test_login(self): user1 = UserService().register('test1', 'password', 'male', 'asdf', 'asdfasdf', 'asdf', 'asdf', 'asdf', 'Beijing', 'asdf', 'asdfas', '123') print(user1) # time.sleep(5) user = UserService().login('test1', 'password') print(user) assert user is not None
def authenticate_user_with_password(email, password): if email is None or password is None: return False with DBConnector() as db_session: user = UserService(db_session).get_user(email) if user is not None and user.check_password(password): g.current_user = user return True return False
def user_delete(user_id): """ delete a user info by id :return: a status message """ user_service = UserService() content = request.forms return user_service.remove_user(session_id=content['session_id'], user_id=content['user_id'])
def session_get(session_id): """ find a session by id :return: """ user_service = UserService() content = request.params return user_service.find_one_session_by_id( session_id=content['session_id'])
def user_query_by_name(): name = input("\n请输入查询的用户名: ") user = UserService().get_user_by_name(name) if user is None: print("用户名不存在") else: UserService().pretty_users([user]) input("按回车键返回") return None
def setUp(self): os.environ['ONE_AUTH_ENV'] = 'test' APP.config['TESTING'] = True self.app = APP.test_client() self.db_connection = get_db_session(APP.db_engine) self.user_service = UserService(self.db_connection) self.validation_code_service = ValidationCodeService( self.db_connection) self.create_user("*****@*****.**")
def get_all_users(): # get all users if request.method == 'GET': user = UserService.get_all_user() return make_response(jsonify(user), 200) # Create user if request.method == 'POST': user_data = request.get_json() user_id = UserService.add_user(user_data) return make_response(f"{user_id}", 200)
def sessions_post(): """ apply a session :return:a session id """ user_service = UserService() content = request.forms return str( user_service.create_session(user_id=content['user_id'], password=content['password']))
def authenticate_user_with_token(email, token): if email is None or token is None: return False with DBConnector() as db_session: user = UserService(db_session).get_user(email) if user is not None and UserService.encode_access_token_for( user) == token: g.current_user = user return True return False
def post(self, param=None): if param is None: self.write(json.dumps({"status": 0, "message": "Access Denied"})) return elif param == "login": try: data = tornado.escape.json_decode(self.request.body) except: self.write( json.dumps({ "status": 0, "message": "Invalid json format" })) return us = UserService() result = us.login(data) self.write(json.dumps(result)) elif param == "signup": try: data = tornado.escape.json_decode(self.request.body) except: self.write( json.dumps({ "status": 0, "message": "Invalid json format" })) return us = UserService() result = us.register(data) self.write(json.dumps(result)) elif param == "changepwd": auth_header = self.request.headers.get('Authorization') au = AuthUtil() msg = au.checkToken(auth_header) if not msg[0]: self.write(msg[1]) try: data = tornado.escape.json_decode(self.request.body) except: self.write( json.dumps({ "status": 0, "message": "Invalid json format" })) return us = UserService() result = us.change_password(data) self.write(json.dumps(result)) elif param == "forgotpwd": data = tornado.escape.json_decode(self.request.body) print(data) elif param == "schools": data = tornado.escape.json_decode(self.request.body) print(data)
def dashboard(): from config import DBMS from service.user_service import UserService from service.article_service import ArticleService from service.read_service import ReadService from service.popular_service import PopularService dbms = request.args.get('dbms') nums = { 'users': UserService().count(db_alias=dbms), 'articles': ArticleService().count(db_alias=dbms), 'reads': ReadService().count(db_alias=dbms), 'populars': PopularService().count(temporalGranularity='daily', db_alias=dbms) } charts = {'users': [], 'articles': [], 'reads': []} for dbms in DBMS().get_all_dbms_by_region(): charts['users'].append({ 'name': dbms, 'value': UserService().count(db_alias=dbms) }) charts['articles'].append({ 'name': dbms, 'value': ArticleService().count(db_alias=dbms) }) charts['reads'].append({ 'name': dbms, 'value': ReadService().count(db_alias=dbms) }) data = {'nums': nums, 'charts': charts} # if dbms == 'Beijing': # data = { # 'users': 12354, # 'articles': 533366, # 'reads': 23424, # 'populars': 90372 # } # else: # data = { # 'users': 63234, # 'articles': 1284, # 'reads': 724933, # 'populars': 8422 # } return Result.gen_success(data=data) pass
def launch(self): os.system('clear') CommonUI.print_title(self) print("Register") username = input("User Name:") fullname = input("Full Name:") password = input("Password:") user_service = UserService() user = User(username, fullname, password) user_service.register(user)
def acord(): if verify_role(1) == 0: return render_template("home.html") repoUser = UserRepository() serviceUser = UserService(repoUser) idOfCurrentUser = serviceUser.getOneByUsername( session["username"]).get_id() repoComp = CompanyInfoRepository() serviceComp = CompanyInfoService(repoComp) if request.method == "POST": company = serviceComp.getOne(idOfCurrentUser) accordYear = request.form["AccordYear"] noHours = request.form["InternshipLenghtDays"] accordSignDate = request.form["AccordSignDate"] companyName = company.get_name() companyCity = company.get_city() companyStreet = company.get_street() companyStreetNo = company.get_streetNo() companyPhone = company.get_phone() fax = company.get_fax() companyFiscalCode = company.get_fiscalCode() companyBank = company.get_bank() companyIBAN = company.get_iban() companyLegalRepresentative = company.get_legalRepresentative() nrOfStudents = request.form["TotalNoStudents"] noStudents1 = request.form["NoStudents1"] noStudents2 = request.form["NoStudents2"] specialization1 = request.form["Specialization1"] specialization2 = request.form["Specialization2"] faculty2 = request.form["Faculty2"] faculty1 = request.form["Faculty1"] signature = request.form["signature"] create_acord(accordYear, noHours, accordSignDate, companyName, companyCity, companyStreet, companyStreetNo, companyPhone, fax, companyFiscalCode, companyBank, companyIBAN, companyLegalRepresentative, nrOfStudents, noStudents1, noStudents2, specialization1, specialization2, faculty1, faculty2, signature) flash("Ati completat cu succes acordul!") return render_template("firmaResponsabil/homeResponsabilFirma.html") else: try: company = serviceComp.getOne(idOfCurrentUser) except: flash("Trebuie sa introduceti mai intai datele firmei.") return redirect(url_for("responsabil_firma.home")) return render_template("firmaResponsabil/acordResponsabilFirma.html")
def wrapper(*args, **kwargs): from flask import request login_token = request.cookies.get('login_token') login_tokens = UserService().login_token is_pass = False for k, v in login_tokens.items(): if login_token == v: is_pass = True break if not is_pass: return {"data": "permit denied"} return func(*args, **kwargs)
def users_post(): """ register one or many user info :return: a status message """ user_service = UserService() content = request.forms user_id = user_service.create_user(email=content['email'], password=content['password'], name=content['name']) print('created user ', user_id) return str(user_id)
def user_put(): """ modify user info by id :return: a status message """ user_service = UserService() content = request.forms return user_service.update_user(session_id=content['session_id'], user_id=content['user_id'], email=content['email'], password=content['email'], name=content['name'])
def del_user(): username = input("请输入要删除的用户名: ") user = UserService().get_user_by_name(username) if user is None: print("该用户不存在") return None UserService().pretty_users([user]) choice = input("是否删除该用户?(Y or N): ") if choice == 'Y' or choice == 'y' or choice == 'yes': UserService().del_user_by_uid(user.uid) print("删除成功") return None
def test_update(self): user = UserService().get_user_by_name('user4') user = UserService().update_by_uid(user.uid, gender='female', email='ewrqwr') assert user is not None print(user) user = UserService().update_by_name('user56', gender='female', email='awerasfsa') assert user is not None print(user)
def users(): i = 0 with open(data_path + user_file_name, 'r') as f: for line in f: data = json.loads(line) # user = User(data['name'], data['pwd'], data['gender'], data['email'], data['phone'], data['dept'], # data['grade'], data['language'], data['region'], data['role'], data['preferTags'], # int(data['obtainedCredits'])) UserService.register(data['name'], data['pwd'], data['gender'], data['email'], data['phone'], data['dept'], data['grade'], data['language'], data['region'], data['role'], data['preferTags'], int(data['obtainedCredits'])) i += 1 print_bar(i, USERS_NUM) pass
def update_user_info(): forbid = ['id', 'name', 'region'] username = input("请输入要更新的用户名:") user = UserService().get_user_by_name(username) if user is None: print("用户不存在") return None UserService().pretty_users([user]) update_date = input("请输入修改的内容(json格式): ") try: con = json.loads(update_date) return UserService().update_by_uid(user.uid, **con) except json.JSONDecodeError: print("输入不是json格式") return None