Esempio n. 1
0
    def mutate(_, __, **kwargs):
        email = kwargs.get('email')
        password = kwargs.get('password')

        try:
            status, account = Account.is_authenticate({
                'email': email,
                'password': password,
            })
            if account is None:
                return Login(success=status,
                             errors=[
                                 ErrorsType(field='account',
                                            message='アカウントが存在しません。')
                             ])
            if status is True:
                AccountToken.objects.filter(expire__lt=datetime.now()).delete()
                account_token = AccountToken.objects.create(
                    token=fernet.encrypt(str(account.id)),
                    expire=datetime.now() + timedelta(days=1),
                    account=account,
                )
                return Login(success=status,
                             auth=AuthType(status=True,
                                           token=account_token.token,
                                           expire=account_token.expire,
                                           account=account_token.account))
            else:
                return Login(success=status,
                             errors=[
                                 ErrorsType(field='password',
                                            message='パスワードが違います。')
                             ])

        except Exception as e:
            return Login(
                success=False,
                errors=[ErrorsType(field='exception', message=str(e))])
Esempio n. 2
0
    def mutate(_, __, **kwargs):
        try:
            email = kwargs.get('email')
            password = kwargs.get('password')
            status, account = Account.is_authenticate({
                'email': email,
                'password': password,
            })
            if account is None:
                return DeleteAccount(success=status,
                                     errors=[
                                         ErrorsType(field='account',
                                                    message='アカウントが存在しません。')
                                     ])

            if status is True:
                account_token = AccountToken.get_accounts({'account': account})
                account_token.delete()

                account.is_active = False
                account.save()

                return DeleteAccount(success=status, )
            else:
                return DeleteAccount(success=status,
                                     errors=[
                                         ErrorsType(field='password',
                                                    message='パスワードが違います。')
                                     ])

        except Exception as e:
            return DeleteAccount(
                success=False,
                errors=[ErrorsType(field='Exception', message=str(e))])


# token = get_auth_token(info.context)