From d193bca0a2ce7d98f92d68d454ec251ec397873b Mon Sep 17 00:00:00 2001 From: Yoan Vallet <yoan.vallet@gmail.com> Date: Thu, 4 Jun 2020 01:43:06 +0200 Subject: [PATCH] feat: add updateAccount service --- .../Konnector/KonnectorLoginForm.tsx | 10 +++++++++- .../KonnectorViewer/KonnectorViewerCard.tsx | 4 ++-- src/doctypes/io-cozy-accounts.ts | 3 ++- src/services/accountService.ts | 11 +++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/components/ContentComponents/Konnector/KonnectorLoginForm.tsx b/src/components/ContentComponents/Konnector/KonnectorLoginForm.tsx index a4023ac83..68eab69e2 100644 --- a/src/components/ContentComponents/Konnector/KonnectorLoginForm.tsx +++ b/src/components/ContentComponents/Konnector/KonnectorLoginForm.tsx @@ -8,6 +8,7 @@ import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton' import StyledButton from 'components/CommonKit/Button/StyledButton' import TrailingIcon from 'assets/icons/ico/trailing-icon.svg' import { ConnectionService } from 'services/connectionService' +import updateAccount from 'services/accountService' import { Account, Trigger } from 'doctypes' interface KonnectorLoginFormProps { @@ -65,7 +66,14 @@ const KonnectorLoginForm: React.FC<KonnectorLoginFormProps> = ({ const update = async () => { // TODO - update account - onSuccess(account, trigger) + console.log('Update') + const auth = { + login: login, + password: password, + } + account.auth = auth + const updatedAccount = updateAccount(client, account) + onSuccess(updatedAccount, trigger) } const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => { diff --git a/src/components/ContentComponents/KonnectorViewer/KonnectorViewerCard.tsx b/src/components/ContentComponents/KonnectorViewer/KonnectorViewerCard.tsx index 70b9eeaec..7d1c8c84c 100644 --- a/src/components/ContentComponents/KonnectorViewer/KonnectorViewerCard.tsx +++ b/src/components/ContentComponents/KonnectorViewer/KonnectorViewerCard.tsx @@ -94,9 +94,9 @@ const KonnectorViewerCard: React.FC<KonnectorViewerCardProps> = ({ setLaunch(true) } - const handleKonnectorLaunch = () => { + const handleKonnectorLaunch = async () => { if (trigger) { - updateState(trigger) + await updateState(trigger) } setLaunch(false) } diff --git a/src/doctypes/io-cozy-accounts.ts b/src/doctypes/io-cozy-accounts.ts index d1ec94730..191ddd691 100644 --- a/src/doctypes/io-cozy-accounts.ts +++ b/src/doctypes/io-cozy-accounts.ts @@ -1,8 +1,9 @@ export const ACCOUNTS_DOCTYPE = 'io.cozy.accounts' type AuthLoginData = { - credentials_encrypted: string + credentials_encrypted?: string login: string + password?: string } type OAuthData = { diff --git a/src/services/accountService.ts b/src/services/accountService.ts index 807f597c5..74ac09a72 100644 --- a/src/services/accountService.ts +++ b/src/services/accountService.ts @@ -98,6 +98,17 @@ export class AccountService { } } + static updateAccount = async (client: Client, account: Account) => { + try { + const updatedAccount: Account = await accountsMutations( + client + ).updateAccount(account) + return updatedAccount + } catch (error) { + throw error + } + } + static getAccountByType = async (client: Client, type: string) => { try { const query = client -- GitLab