def post(self): data = parser.parse_args() username = data['username'] email = data['email'] # Checking if user already exist/created if UserModel.find_by_username(username): return {'message': f'User {username} already exists'} # create new user new_user = UserModel(username=username, password=UserModel.generate_hash( data['password']), email=email) # try: # Saving user in DB and Generating Access and Refresh token new_user.save_to_db() access_token = create_access_token(identity=username) refresh_token = create_refresh_token(identity=username) return make_response( jsonify({ 'message': f'User {username} was created', 'access_token': access_token, 'refresh_token': refresh_token }), 200)
def post(self): data = _global_parser.parse_args() if UserModel.find_by_username(data['username']): return {"message": "A user with that username already exists."}, 404 hashedpass = UserModel.generate_hash(data['password']) user = UserModel(data['username'], hashedpass) try: user.save_to_db() return {"message": "User '{}' created successfully.".format(data['username'])}, 201 except: return {"message": "Something went wrong."}, 500
def initrole(): db.session.add(RoleModel(name="superuser")) db.session.add(RoleModel(name="admin")) db.session.add(RoleModel(name="editor")) db.session.add(RoleModel(name="author")) db.session.add(RoleModel(name="user")) pwd = os.getenv('FLASK_ADMIN_PWD') or input("Pls input Flask admin pwd:") db.session.add( UserModel(username="******", email="*****@*****.**", password=UserModel.generate_hash(pwd), active=True)) db.session.commit() ins = roles_users.insert().values(user_id="1", role_id="1") db.session.execute(ins) db.session.commit() print("Roles added!")
def post(self): parser.add_argument('name', help='name filed required', required=True) parser.add_argument('phone', help='phone field required', required=True) parser.add_argument('gender', help='gender field required', required=True) parser.add_argument('designation', help='designation field required', required=True) parser.add_argument('role', help='role field required', required=True) data = parser.parse_args() if UserModel.find_by_email(data['email']): return { 'message': 'User {} already exists with this {}'.format( data['name'], data['email']) } new_user = UserModel( name=data['name'], email=data['email'], password=UserModel.generate_hash( data['password']), #FOR HASH PASSWORD CALL GENERATE HAS METHOD phone=data['phone'], gender=data['gender'], designation=data['designation'], role=data['role']) try: new_user.save_to_db() access_token = create_access_token(identity=data['email']) return { 'message': ' {} data created successfully'.format(data['name']), 'access_token': access_token, } except: return {'message': 'Something went wrong'}, 500
def post(self): data = parser.parse_args() if UserModel.find_by_email(data['email']): return { 'message': 'User {} already exists'.format(data['email']) }, 422 new_user = UserModel(email=data['email'], password=UserModel.generate_hash( data['password'])) try: new_user.save_to_db() access_token = create_access_token(identity=data['email']) refresh_token = create_refresh_token(identity=data['email']) return { 'message': 'User {} was created'.format(data['email']), 'access_token': access_token, 'refresh_token': refresh_token }, 201 except: return {'message': 'Something went wrong'}, 500
def put(self): json_data = request.get_json() if not json_data: return {'message': 'No input data provided'},400 try: data = updateUserSchema.load(json_data).data except ValidationError as err: return err.messages,400 current_user = UserModel.find_by_user(get_jwt_identity()) if current_user: current_user.password=UserModel.generate_hash(data['password']) current_user.email=data['email'] current_user.mobile=data['mobile'] try: current_user.save_to_db() return {'message':'Your Information was Successfully Updated'},200 except Exception as e: print (e) return {"message":"An error update the customer"},400
def post(self): json_data = request.get_json() print(json_data,'json_data') if not json_data: return {'message': 'Error # 27 User Resources, No input data provided'},400 try: data = userRegSchema.load(json_data).data except ValidationError as err: return err.messages,400 if data['is_admin'] != '': if UserModel.verify_secret_key(data['is_admin']) == 'is_superuser': pass elif UserModel.verify_secret_key(data['is_admin']) == 'is_admin': pass else: return {'message':'Please provide the correct encryption key'},400 print(data,'data') if UserModel.find_by_user(data['username']): return {'message':'Response # 35 User Resources, User {} already exists'. format(data['username'])},400 if not UserModel.verify_secret_key(data['is_admin']) == 'is_superuser': approved_zid_list = VbusinessModel.find_all_business_list() approved_zid_length = len(approved_zid_list) if approved_zid_length == 0: return {'message':'Error # 44 in User Resources, Super user has not registered any business for you to use'},400 if (data['businessId'] != 0 and data['employeeCode'] != "" and approved_zid_length > 0): if data['businessId'] not in approved_zid_list: return {'message':'Error # 56 User Resources, This business is not authorized in your system please talk to your IT administrator'},400 if UserModel.find_by_busIdempCode(data['username'],data['businessId'],data['employeeCode']): return {'message': 'Error # 59 User Resources, This Business ID and Employee Code already exists talk to your adminstrator to Provide you with a new businessId'},400 if not HrmstModel.find_by_EmployeeDetail(data['businessId'],data['employeeCode']): return {'message':'Error # 62 User Resources, Your Employee Code for Business ID provided does not exist in our system or does not match!'},400 terminalMax = str(db.session.query(func.max(UserModel.terminal)).first()) terminalMax = re.sub('[(",)]','',terminalMax) terminalMax = terminalMax.replace("'","") if terminalMax == 'Super': terminalId = 'T0001' else: terminalId = str(terminalMax) terminalId = increment(terminalId) employee_name = HrmstModel.find_by_EmployeeDetail(data['businessId'],data['employeeCode']).xname else: data['username'] = '******' employee_name = 'Superuser' data['businessId'] = 1 data['employeeCode'] = 'Super' terminalId = 'Super' new_user = UserModel( username = data['username'], password = UserModel.generate_hash(data['password']), employee_name = employee_name, email = data['email'], mobile = data['mobile'], businessId = data['businessId'], employeeCode = data['employeeCode'], terminal = terminalId, is_admin = UserModel.verify_secret_key(data['is_admin']), status = UserModel.verify_active_user(data['is_admin']) ) try: new_user.save_to_db() if UserModel.verify_secret_key(data['is_admin']) == 'is_admin': adminHierarchyDetail = HierarchyModel( username=data['username'], business_Id=data['businessId'], employee_code = data['employeeCode'], employee_name = employee_name, child_of_code = 'Super', child_of_name = 'Superuser' ) adminHierarchyDetail.save_to_db() access_token = create_access_token(identity = data['username']) refresh_token = create_refresh_token(identity = data['username']) current_user = UserModel.find_by_user(data['username']) return { 'message': 'Response # 148 User Resources, User {} was created'.format(data['username']), 'access_token':access_token, 'refresh_token':refresh_token, 'businessId': current_user.businessId, 'employeeCode':current_user.employeeCode, 'userRole': current_user.is_admin },200 except Exception as err: return {'message':'Error # 155 User Resources, Issues with saving to database'},400