Example #1
0
    def test_encode_auth_token(self):
        user = User(
            first_name = "John",
            last_name = "Doe",
            password = "******", 
            date_registered = datetime.datetime.utcnow()
        )

        db.session.add(user)
        db.session.commit()
        auth_token = user.encode_auth_token(user.id)
        self.assertTrue(isinstance(auth_token, bytes))
Example #2
0
    def test_get(self):
        user = self.user_dao.get(72)

        role = user.role

        dict_ = user.to_dict()

        user2 = User()

        user2.from_dict(**dict_)

        print(user2)
Example #3
0
 def create_user(self, user: CreateUserDto):
     fake_hashed_password = user.password + "notreallyhashed"
     db_user = User(email=user.email, hashed_password=fake_hashed_password)
     self.db.add(db_user)
     self.db.commit()
     self.db.refresh(db_user)
     return db_user
Example #4
0
    def get_logged_in_user(new_request):

        auth_token = new_request.headers.get("Authorization")

        if auth_token:
            resp = User.decode_auth_token(auth_token)

            if isinstance(resp, str):
                user = User.query.filter_by(public_id=resp).first()

                if user:
                    response_object = {
                    "status": "success",
                    "data":{
                        "user_id": resp, 
                        "email": user.email,
                        "admin": user.is_admin,
                        "registered_on": str(user.date_registered)
                        }
                    }
                    return response_object, 200
            
            response_object = {
                "status": "fail",
                "message": resp
            }
            return response_object, 401
        else:
            response_object = {
                "status": "fail",
                "message": "Provide a valid auth token"
            }
            return response_object, 401
Example #5
0
    def logout_user(data):
        if data:
            auth_token = data.split(" ")[1]
        else:
            auth_token = ""

        if auth_token:
            resp = User.decode_auth_token(auth_token)

            if not isinstance(resp, str):
                return save_token(token=auth_token)
            else:
                response_object = {
                    "status": "fail",
                    "message": resp
                }
                return response_object, 401
        
        else:
            response_object = {
                "status": "fail",
                "message": "Provide a valid auth token."
            }

            return response_object, 403
Example #6
0
def save_new_patient_and_booking(data):
    if booking_available(data):
        user = User.query.filter_by(email=data['email']).first()
        print("user is", user)
        if not user:
            dob_data = data['dob'].split("/")
            dob = date(int(dob_data[2]), int(dob_data[1]), int(dob_data[0]))

            #  Create a new new
            user = User(first_name=data['first name'],
                        last_name=data['last name'],
                        email=data['email'],
                        phone=data['phone'],
                        dob=dob,
                        gender=data['gender'],
                        password=data['password'],
                        street=data['address'],
                        suburb=data['suburb'],
                        state=data['state'],
                        postcode=data['postcode'])

            db.session.add(user)

            user_id = db.session.query(db.func.max(User.id)).scalar()
            booking_outcome = save_new_booking(data, user_id)

            return booking_outcome
        else:
            response_object = {
                'status': 'fail',
                'message': 'User already registered. Please log in.'
            }
            return response_object, 409
Example #7
0
    def test_create(self):
        user = User(username='******',
                    password='******',
                    role_id=1,
                    email='*****@*****.**',
                    edu_level=EducationLevel.BACHELOR)

        self.user_dao.insert(user)
Example #8
0
    def test_create_users(self):
        for i in range(50):
            username = '******' % i
            edu_level = EducationLevel.BACHELOR if i % 2 == 0 else EducationLevel.MASTER
            email = '*****@*****.**' % i

            user = User(username=username,
                        password='',
                        email=email,
                        edu_level=edu_level,
                        role_id=1)

            self.user_dao.insert(user)
Example #9
0
def save_new_user(data):
    user = User.query.filter_by(email=data['email']).first()
    if not user:
        new_user = User(public_id=str(uuid.uuid4()),
                        email=data['email'],
                        username=data['username'],
                        password=data['password'],
                        registered_on=datetime.datetime.utcnow())
        save_changes(new_user)
        response_object = {
            'status': 'success',
            'message': 'Successfully registered.'
        }
        return response_object, 201
    else:
        response_object = {
            'status': 'fail',
            'message': 'User already exists. Please Log in.',
        }
        return response_object, 409
Example #10
0
    def get_page_by_filter(self, page, per_page, sort=[], filter=None):
        # sort
        sort_ = []
        for e in sort:
            sort_.append(User.get_sort_filter(e.field, e.order))

        # filter
        filter_ = {}
        if filter is not None:
            if filter.username is not None and filter.username != '':
                filter_['username'] = User.username.like('%{}$'.format(
                    filter.username))

            if filter.edu_level is not None:
                filter_['edu_level'] = filter.edu_level

            if filter.role_id is not None:
                filter_['role_id'] = filter.role_id

        pagination = self.dao.get_page_by_filter(page, per_page, tuple(sort_),
                                                 **filter_)
        return pagination
Example #11
0
def create_admin(data):
	admin = User.query.filter_by(email=data['email']).first()

	if not admin:
		new_admin = User(
			public_id=str(uuid.uuid4()),
			email=data['email'],
			first_name=data['first_name'],
			last_name=data['last_name'],
			password=data['password'],
			date_registered=datetime.datetime.utcnow(),
			is_admin = 1
		)
		save_changes(new_admin)
		return generate_token(new_admin)
	else:

		response_object = {
			'status': 'fail',
			'message': 'User already exists. Please Log in.'
		}

		return response_object, 409
Example #12
0
def save_new_user(data):
    user = User.query.filter_by(login=data['login']).first()
    if not user:
        new_user = User(public_id=str(uuid.uuid4()),
                        login=data['login'],
                        password=data['password'],
                        firstname=data['firstname'],
                        lastname=data['lastname'],
                        git_login=data['git_login'],
                        git_password=data['git_password'],
                        registered_on=datetime.datetime.utcnow())
        save_changes(new_user)
        response_object = {
            'status': 'success',
            'message': 'Successfully registered.'
        }
        return response_object, 201
    else:
        response_object = {
            'status': 'fail',
            'message': 'Project already exists.'
        }
        return response_object, 409
Example #13
0
    def update(self, user_form: UserForm):
        self.user_service.update(User(**user_form.data))

        return Response.success()
Example #14
0
    def create(self, user_form: UserForm(exclude=['id'])):
        self.user_service.create(User(**user_form.data))

        return Response.success()
Example #15
0
 def test_init(self):
     user = User(username='******', password='******')
     self.assertEqual(user.username, "admin")
     self.assertNotEqual(user.password, None)
     self.assertNotEqual(user.salt, None)
Example #16
0
 def test_login(self):
     user = User(username='******', password='******')