예제 #1
0
    def post(self):

        data = Users.parser.parse_args()

        if UsersModel.find_by_email(data['email']):
            return {
                'data': {
                    'status': False,
                    'message': "Email Already Regsitered"
                }
            }, 201

        if UsersModel.find_by_phone(data['phone_number']):
            return {
                'data': {
                    'status': False,
                    'message': "Phone Number Already Registered"
                }
            }, 201
            # return {'error': "Phone Number Already Registered"}, 400

        user = UsersModel(data['fname'], data['lname'], data['email'],
                          data['phone_number'], data['password'])
        user.save_to_db()

        return {
            'data': {
                'status': True,
                'message': "Registration Successful"
            }
        }, 201
def authenticate(username, password):
    # user = username_mapping.get(username,None)

    if len(username) == 10 and username.isdigit():
        user = UsersModel.find_by_phone(username)
    else:
        user = UsersModel.find_by_email(username)
    if user and safe_str_cmp(user.password, password):
        return user
예제 #3
0
    def get(self, phone_number, password):

        user_phone = UsersModel.find_by_phone(phone_number)
        if user_phone:
            if user_phone.password == password:

                user_phone.save_to_db()
                # return user_phone.json()
                return {'status': True, 'user': user_phone.json()}

        return {'status': False}, 200
	def get(self, phone_number):


		user = UsersModel.find_by_phone(phone_number)
		if user:
			password = user.password
			r = requests.get('http://roundsms.com/api/sendhttp.php?authkey=NGUwNDYxZmNiY2N&mobiles='+str(phone_number)+'&Your password for KM NORTH '+password+'.&sender=KMNORT&type=1&route=2')
			return {"data": {"status": True, "res": r.json()}}
		else:

			return {"data": {"status": False}}
		def get(self, flag, user_ep,password, fcmtoken):

			if flag == 0:
				user_email = UsersModel.find_by_email(user_ep)
				if user_email:
					if user_email.password == password:
						user_email.fcmtoken = fcmtoken
						user_email.save_to_db()
						# return user_email.json()
						custom_token = auth.create_custom_token(user_ep)
						ret = {'status': True,'user':{'access_token': create_access_token(identity=user_email.id),
								 'user_id': user_email.id,
								 'custom_token': custom_token,
								 'fname': user_email.fname,
								 'lname': user_email.lname,
								 'email': user_email.email,
								 'refcode': user_email.refcode,
								 'alt_phone_number': user_email.alt_phone_number,
								 'phone_number': user_email.phone_number}}
   					  	return make_response(jsonify(ret), 200)
			if flag == 1:
				user_phone = UsersModel.find_by_phone(user_ep)
				if user_phone:
					if user_phone.password == password:
						user_phone.fcmtoken = fcmtoken
						user_phone.save_to_db()
						# return user_phone.json()
						custom_token = auth.create_custom_token(user_ep)
						ret = {'status': True, 'user':{'access_token': create_access_token(identity=user_phone.id),
								 'user_id': user_phone.id,
								 'custom_token': custom_token,
								 'fname': user_phone.fname,
								 'lname': user_phone.lname,
								 'email': user_phone.email,
								 'refcode': user_phone.refcode,
								 'alt_phone_number': user_phone.alt_phone_number,
								 'phone_number': user_phone.phone_number}}
   					  	return make_response(jsonify(ret), 200)
		
			return {'status': False}, 200
	def post(self):


		data = Users.parser.parse_args()

		if UsersModel.find_by_email(data['email']):
			return {'data':{'status': False,
							'message': "Email Already Regsitered"}}, 201

		if UsersModel.find_by_phone(data['phone_number']):
			return {'data':{'status': False,
							'message': "Phone Number Already Registered"}}, 201
			# return {'error': "Phone Number Already Registered"}, 400

		if data['register_ref'] == "0":
			
			refcode = UsersModel.getRefCode(data['fname'])
			user = UsersModel(data['fname'], data['lname'], data['email'], data['phone_number'], data['password'],refcode, data['register_ref'],0,"fcm")
			try:
				user.save_to_db()
			except:
				return {'message': "An Error Occured"}, 500

			return {'data':{'status': True, 'message': "Registration Successful"}}, 201


		else:
			user_ref =  UsersModel.find_by_refcode(data['register_ref'])
			if user_ref is not None:
				no = user_ref.register_ref_no
				if no == 2:
					return {'data': {'status': False,
								'message': "User Crossed his/her Limit"}}
					#refernece code cannot be added. User crosseds the limit

				elif no < 2:
					no = no + 1
					user_ref.register_ref_no = no

					try:
						db.session.commit()
					except:
						return {'message': "An Error Occured"}, 500

					userpromo = UserPromoModel(user_ref.id, "REF020", "2018-12-12", False)
					
					try:
						userpromo.save_to_db()
					except:
						return {'message': "User promo table Error"}, 500
					refcode = UsersModel.getRefCode(data['fname'])
					user = UsersModel(data['fname'], data['lname'], data['email'], data['phone_number'], data['password'],refcode, data['register_ref'],0,"fcm")

					try:
						user.save_to_db()
						user_id_for_promo = user.id
						userpromo_u = UserPromoModel(user_id_for_promo, "REF010", "2018-12-12", False)
						userpromo_u.save_to_db()
					except:
						return {'message': "An Error Occured"}, 500

					return {'data':{'status': True, 'message': "Registration Successful"}}, 201
			else:
				return {'data': {'status': False,
								'message': "Reference Code Invalid"}}