Пример #1
0
    def logged_in(self):
        cookie = cherrypy.request.cookie
        service = UserService()

        if 'user' in cookie and service.gett_user(cookie['user'].value):

            user = service.get_user_by_id(cookie['user'].value)
            user['isLoggedIn'] = True
            return user
        else:
            return {'isLoggedIn': False}
Пример #2
0
    def logged_in(self):
        cookie = cherrypy.request.cookie
        service = UserService()

        if 'user' in cookie and service.gett_user(cookie['user'].value):

            user = service.get_user_by_id(cookie['user'].value)
            user['isLoggedIn'] = True
            return user
        else:
            return {
                'isLoggedIn': False
            }
Пример #3
0
def add_user_to_account(account_guid, **kwargs):
    """
    This api adds users to account

    :param account_guid:
    :return:
    """
    try:
        new_user = UserService.get_user_by_email(email=request.json['email'])[0]
        current_user = kwargs['current_user']
        try:
            permission = AccountsService.get_user_permission_on_account(user=current_user, account_guid=account_guid)
            if permission == AccountPermissions.MEMBER:
                HttpResponse.forbidden('User doesn\'t have permission to perform this operation')
        except Exception as e:
            if e.message == '[Services] user doesn\'t have permission on account':
                return HttpResponse.forbidden(e.message)
        if not new_user:
            return HttpResponse.bad_request('This user is unknown to archaea')
        else:
            AccountsService.add_user_to_account(
                account_guid=account_guid,
                user=new_user
            )
            return HttpResponse.accepted('User has been added successfully')
    except Exception as e:
        HttpResponse.internal_server_error(e.message)
Пример #4
0
 def validate_jwt_token_and_get_user(token):
     jwt_token_decoded = TokenService.decode_jwt_token(token)
     # TODO complete the jwt validation (Exp and User Existence etc)
     # TODO Also we can check for user permissions on the API
     user = UserService.get_user_by_guid(
         user_guid=jwt_token_decoded['_identity'])
     return user
Пример #5
0
    def login(self):
        user = cherrypy.request.json
        cookie = cherrypy.response.cookie
        username = user['name']

        service = UserService()
        if not service.does_username_exist(username):
            service.add_user(username)

        user = service.get_user_by_username(username)
        user['isLoggedIn'] = True

        cookie['user'] = user['_id']
        cookie['user']['path'] = '/'
        cookie['user']['max-age'] = 3600

        return user
Пример #6
0
def create_user():
    try:
        try:
            email = request.json['email']
            password = request.json['password']
            first_name = request.json['first_name']
            last_name = request.json['last_name']
            company = request.json['company']
        except Exception:
            return HttpResponse.bad_request('One or parameters are missing')
        user_by_email = UserService.get_user_by_email(email=email)
        if len(user_by_email) > 0:
            return HttpResponse.bad_request('An user account with this email already exists')
        UserService.create_user_and_add_to_niche(
            email=email,
            password=password,
            first_name=first_name,
            last_name=last_name,
            company=company)
        return HttpResponse.accepted('User created and added to niche account successfully')
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
Пример #7
0
def get_user_list(request):
    if request.method == 'GET':
        current_user = request.user
        page_number = int(request.GET.get('page', 1))
        page_size = 10
        total_page_count, json_data = UserService(current_user).get_user_list(
            page_size, page_number)
        context = {
            'results': json.loads(json_data),
            'total_pages': total_page_count,
            'current_page': page_number
        }
        return JsonResponse(context)
Пример #8
0
def authenticate():
    email = request.json['email']
    password = request.json['password']
    try:
        user = UserService.get_user_by_email(email=email)[0]
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
    if user:
        if user.password == password:
            claims_token = TokenService.create_jwt_token(
                user_guid=user.user_guid)
            response = {'claims_token': claims_token}
            return HttpResponse.success(response)
    return HttpResponse.unauthorized('Incorrect username or password')
def authenticate():
    email = request.json['email']
    password = request.json['password']
    try:
        user = UserService.get_user_by_email(email=email)[0]
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
    if user:
        if user.password == password:
            claims_token = TokenService.create_jwt_token(user_guid=user.user_guid)
            response = {
                'claims_token': claims_token
            }
            return HttpResponse.success(response)
    return HttpResponse.unauthorized('Incorrect username or password')
Пример #10
0
    def login(self):
        user = cherrypy.request.json
        cookie = cherrypy.response.cookie
        username = user['name']

        service = UserService()
        if not service.does_username_exist(username):
            service.add_user(username)

        user = service.get_user_by_username(username)
        user['isLoggedIn'] = True

        cookie['user'] = user['_id']
        cookie['user']['path'] = '/'
        cookie['user']['max-age'] = 3600

        return user
 def validate_jwt_token_and_get_user(token):
     jwt_token_decoded = TokenService.decode_jwt_token(token)
     # TODO complete the jwt validation (Exp and User Existence etc)
     # TODO Also we can check for user permissions on the API
     user = UserService.get_user_by_guid(user_guid=jwt_token_decoded['_identity'])
     return user
Пример #12
0
def get_user_profile(request, id):
    if request.method == 'GET':
        current_user = request.user
        json_data = UserService(current_user).get_user_profile(user_id=id)
        context = {'results': json.loads(json_data)}
        return JsonResponse(context)