コード例 #1
0
def get_nerd_by_guid(account_guid, nerd_guid, **kwargs):
    """
    GET on accounts by account_guid

    :param bot_guid:
    :param account_guid:
    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        account = AccountsService.get_account_by_guid(account_guid=account_guid)
        if not account:
            return HttpResponse.forbidden('Unexpected request')
        user_permission = AccountUserService.get_permission(user=current_user, account=account)
        if not user_permission:
            return HttpResponse.forbidden('User doesn\'t have permission to perform this operation')
        if current_user.is_system:
            return HttpResponse.accepted('All accounts should be returned [unimplemented]')
        else:
            nerds = NerdService.get_nerd_guid(account=account, user=current_user, nerd_guid=nerd_guid)
            if len(nerds) == 0:
                return HttpResponse.bad_request('The nerd you are looking for is not found in this account')
            return HttpResponse.success(Transformer.nerd_to_json(nerds[0]))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
コード例 #2
0
def get_accounts_by_guid(account_guid, **kwargs):
    """
    GET on accounts by account_guid

    :param account_guid:
    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        try:
            AccountsService.get_user_permission_on_account(
                user=current_user, account_guid=account_guid)
        except Exception as e:
            if e.message == '[Services] user doesn\'t have permission on account':
                return HttpResponse.forbidden(e.message)
        if current_user.is_system:
            return HttpResponse.accepted(
                'All accounts should be returned [unimplemented]')
        else:
            accounts = AccountsService.get_account_by_guid(
                account_guid=account_guid)
            if not len(accounts) or len(accounts) == 0:
                return HttpResponse.bad_request('The account doesn\'t exist')
            return HttpResponse.success(
                Transformer.account_to_json(accounts[0]))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
コード例 #3
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')
コード例 #4
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')
コード例 #5
0
def get_accounts(**kwargs):
    """
    GET on accounts

    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        if current_user.is_system:
            return HttpResponse.accepted('All accounts should be returned [unimplemented]')
        else:
            accounts = AccountsService.get_all_accounts_by_user(user_id=current_user.user_id)
            return HttpResponse.success(Transformer.account_list_to_json_array(accounts))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
コード例 #6
0
def get_accounts(**kwargs):
    """
    GET on accounts

    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        if current_user.is_system:
            return HttpResponse.accepted(
                'All accounts should be returned [unimplemented]')
        else:
            accounts = AccountsService.get_all_accounts_by_user(
                user_id=current_user.user_id)
            return HttpResponse.success(
                Transformer.account_list_to_json_array(accounts))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
コード例 #7
0
def get_nerds(account_guid, **kwargs):
    """
    GET on bots

    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        account = AccountsService.get_account_by_guid(account_guid=account_guid)
        if not account:
            return HttpResponse.forbidden('Unexpected request')
        user_permission = AccountUserService.get_permission(user=current_user, account=account)
        if not user_permission:
            return HttpResponse.forbidden('User doesn\'t have permission to perform this operation')
        if current_user.is_system:
            return HttpResponse.accepted('All accounts should be returned [unimplemented]')
        else:
            bots = NerdService.read(account=account, user=current_user)
            return HttpResponse.success(Transformer.nerd_list_to_json_array(bots))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)
コード例 #8
0
def get_accounts_by_guid(account_guid, **kwargs):
    """
    GET on accounts by account_guid

    :param account_guid:
    :param kwargs:
    :return:
    """
    try:
        current_user = kwargs['current_user']
        try:
            AccountsService.get_user_permission_on_account(user=current_user, account_guid=account_guid)
        except Exception as e:
            if e.message == '[Services] user doesn\'t have permission on account':
                return HttpResponse.forbidden(e.message)
        if current_user.is_system:
            return HttpResponse.accepted('All accounts should be returned [unimplemented]')
        else:
            accounts = AccountsService.get_account_by_guid(account_guid=account_guid)
            if not len(accounts) or len(accounts) == 0:
                return HttpResponse.bad_request('The account doesn\'t exist')
            return HttpResponse.success(Transformer.account_to_json(accounts[0]))
    except Exception as e:
        return HttpResponse.internal_server_error(e.message)