From 19736ce60b082dc317684352e484839924ed4163 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Thu, 14 Dec 2023 11:05:39 +0200 Subject: [PATCH] chore: implemented feedback --- apps/web/src/components/forms/token.tsx | 24 ++++++++++++++----- .../public-api/get-user-by-token.ts | 4 ++-- packages/trpc/server/field-router/router.ts | 2 ++ 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/apps/web/src/components/forms/token.tsx b/apps/web/src/components/forms/token.tsx index f3f05028e..56b91b467 100644 --- a/apps/web/src/components/forms/token.tsx +++ b/apps/web/src/components/forms/token.tsx @@ -63,17 +63,29 @@ export const ApiTokenForm = ({ className }: ApiTokenFormProps) => { */ const onDelete = (tokenId: number) => { if (tokenId === newlyCreatedToken.id) { - setShowNewToken((prev) => !prev); + setShowNewToken(false); } }; - const copyToken = (token: string) => { - void copy(token).then(() => { + const copyToken = async (token: string) => { + try { + const copied = await copy(token); + + if (!copied) { + throw new Error('Unable to copy the token'); + } + toast({ title: 'Token copied to clipboard', description: 'The token was copied to your clipboard.', }); - }); + } catch (error) { + toast({ + title: 'Unable to copy token', + description: 'We were unable to copy the token to your clipboard. Please try again.', + variant: 'destructive', + }); + } }; const onSubmit = async ({ tokenName }: TCreateTokenMutationSchema) => { @@ -146,7 +158,7 @@ export const ApiTokenForm = ({ className }: ApiTokenFormProps) => {

Expires:{' '} {token.expires - ? DateTime.fromJSDate(token.createdAt).toLocaleString(DateTime.DATETIME_FULL) + ? DateTime.fromJSDate(token.expires).toLocaleString(DateTime.DATETIME_FULL) : 'N/A'}

{ diff --git a/packages/lib/server-only/public-api/get-user-by-token.ts b/packages/lib/server-only/public-api/get-user-by-token.ts index 277fc13b2..5e696521c 100644 --- a/packages/lib/server-only/public-api/get-user-by-token.ts +++ b/packages/lib/server-only/public-api/get-user-by-token.ts @@ -15,13 +15,13 @@ export const checkUserFromToken = async ({ token }: { token: string }) => { }); if (!user) { - throw new Error('Token not found'); + throw new Error('Invalid token'); } const tokenObject = user.ApiToken.find((apiToken) => apiToken.token === token); if (!tokenObject || new Date(tokenObject.expires) < new Date()) { - throw new Error('The API token has expired'); + throw new Error('Expired token'); } return user; diff --git a/packages/trpc/server/field-router/router.ts b/packages/trpc/server/field-router/router.ts index 7d049df0d..1dbc89426 100644 --- a/packages/trpc/server/field-router/router.ts +++ b/packages/trpc/server/field-router/router.ts @@ -18,6 +18,8 @@ export const fieldRouter = router({ try { const { documentId, fields } = input; + console.log('fields', fields); + return await setFieldsForDocument({ documentId, userId: ctx.user.id,