From 2418612507bb8171f4d452ba18542dc13a938621 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Sat, 26 Aug 2023 13:18:12 +0530 Subject: [PATCH 01/83] chore: updated documents page Signed-off-by: Adithya Krishna --- .../src/app/(dashboard)/documents/page.tsx | 44 +++++++------------ 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx index 834483757..8ac33be51 100644 --- a/apps/web/src/app/(dashboard)/documents/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/page.tsx @@ -64,6 +64,12 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage return `/documents?${params.toString()}`; }; + const documentStatuses = [ + InternalDocumentStatus.PENDING, + InternalDocumentStatus.COMPLETED, + InternalDocumentStatus.DRAFT, + ]; + return (
@@ -73,35 +79,17 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage
- - - + {documentStatuses.map((status) => ( + + + - - {Math.min(stats.PENDING, 99)} - - - - - - - - - - {Math.min(stats.COMPLETED, 99)} - - - - - - - - - - {Math.min(stats.DRAFT, 99)} - - - + + {Math.min(stats[status], 99)} + + + + ))} All From 3ac29d8da3da4bb307d7185463e8101d1d2f9654 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Sat, 26 Aug 2023 13:18:28 +0530 Subject: [PATCH 02/83] chore: updated dashboard page Signed-off-by: Adithya Krishna --- .../src/app/(dashboard)/dashboard/page.tsx | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx index a9d650eb6..6af737a68 100644 --- a/apps/web/src/app/(dashboard)/dashboard/page.tsx +++ b/apps/web/src/app/(dashboard)/dashboard/page.tsx @@ -34,22 +34,23 @@ export default async function DashboardPage() { }), ]); + const cardData = [ + { icon: FileCheck, title: 'Completed', status: stats.COMPLETED }, + { icon: File, title: 'Drafts', status: stats.DRAFT }, + { icon: Clock, title: 'Pending', status: stats.PENDING }, + ]; + return (

Dashboard

-
- - - - - - - - - + {cardData.map((card) => ( + + + + ))}
- + ;
From d195dc1a46e1b053e488ba4f52072ac927e9e7cf Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Sat, 26 Aug 2023 13:18:58 +0530 Subject: [PATCH 03/83] chore: updated signing fields Signed-off-by: Adithya Krishna --- .../app/(signing)/sign/[token]/date-field.tsx | 18 +++++++++------ .../sign/[token]/signature-field.tsx | 4 ++-- .../sign/[token]/signing-field-container.tsx | 23 ++++++++----------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx index 8e2201df9..599aa8358 100644 --- a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx @@ -82,13 +82,17 @@ export const DateField = ({ field, recipient }: DateFieldProps) => {
)} - {!field.inserted && ( -

Date

- )} - - {field.inserted && ( -

{field.customText}

- )} +

+ {field.inserted ? field.customText : 'Date'} +

); }; diff --git a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx index bbc58b5e8..921b4f51f 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx @@ -139,9 +139,9 @@ export const SignatureField = ({ field, recipient }: SignatureFieldProps) => { /> )} - {state === 'signed-text' && ( + {state === 'signed-text' && signature?.typedSignature && (

- {signature?.typedSignature} + {signature.typedSignature}

)} diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx index d5efcb3df..329b9938b 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx @@ -60,19 +60,16 @@ export const SigningFieldContainer = ({ 'text-foreground hover:shadow-primary-foreground group flex h-full w-full flex-col items-center justify-center p-2', )} > - {!field.inserted && !loading && ( - - )} - + {children} From b8b8b4dbadc26d157f936a7640f9845be9c9c675 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Sat, 26 Aug 2023 13:19:47 +0530 Subject: [PATCH 04/83] chore: updated footer component Signed-off-by: Adithya Krishna --- .../web/src/components/(marketing)/footer.tsx | 79 +++++++------------ 1 file changed, 28 insertions(+), 51 deletions(-) diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx index 823ece92e..df47b05da 100644 --- a/apps/web/src/components/(marketing)/footer.tsx +++ b/apps/web/src/components/(marketing)/footer.tsx @@ -10,6 +10,19 @@ import { cn } from '@documenso/ui/lib/utils'; export type FooterProps = HTMLAttributes; export const Footer = ({ className, ...props }: FooterProps) => { + const socialLinks = [ + { href: 'https://twitter.com/documenso', icon: }, + { href: 'https://github.com/documenso/documenso', icon: }, + { href: 'https://documenso.slack.com', icon: }, + ]; + + const footerLinks = [ + { href: '/pricing', text: 'Pricing' }, + { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, + { href: 'mailto:support@documenso.com', text: 'Support' }, + // { href: '/privacy', text: 'Privacy'} + ]; + return (
@@ -19,61 +32,25 @@ export const Footer = ({ className, ...props }: FooterProps) => {
- - - - - - - - - - - + {socialLinks.map((link, index) => ( + + {link.icon} + + ))}
- - Pricing - - - - Status - - - - Support - - - {/* - Privacy - */} + {footerLinks.map((link, index) => ( + + {link.text} + + ))}
From f41c78e8e353697b8f53582bed0498ae743cfa3f Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Sun, 27 Aug 2023 07:24:39 +0530 Subject: [PATCH 05/83] feat: updated rendeing of items using map Signed-off-by: Adithya Krishna --- .../faster-smarter-beautiful-bento.tsx | 54 ++++++------- .../(marketing)/open-build-template-bento.tsx | 55 +++++++------- .../share-connect-paid-widget-bento.tsx | 76 +++++++++---------- 3 files changed, 93 insertions(+), 92 deletions(-) diff --git a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx index 2cbaaef53..8b7eaf15c 100644 --- a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx +++ b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx @@ -16,6 +16,21 @@ export const FasterSmarterBeautifulBento = ({ className, ...props }: FasterSmarterBeautifulBentoProps) => { + const featureCards = [ + { + title: 'Beautiful.', + description: + 'Because signing should be celebrated. That’s why we care about the smallest detail in our product.', + image: cardBeautifulFigure, + }, + { + title: 'Smart.', + description: + 'Our custom templates come with smart rules that can help you save time and energy.', + image: cardSmartFigure, + }, + ]; + return (
@@ -45,32 +60,19 @@ export const FasterSmarterBeautifulBento = ({ - - -

- Beautiful. - Because signing should be celebrated. That’s why we care about the smallest detail in - our product. -

- -
- its fast -
-
-
- - - -

- Smart. - Our custom templates come with smart rules that can help you save time and energy. -

- -
- its fast -
-
-
+ {featureCards.map((card, index) => ( + + +

+ {card.title} + {card.description} +

+
+ Its fast +
+
+
+ ))}
); diff --git a/apps/web/src/components/(marketing)/open-build-template-bento.tsx b/apps/web/src/components/(marketing)/open-build-template-bento.tsx index e7920500b..779ef36e5 100644 --- a/apps/web/src/components/(marketing)/open-build-template-bento.tsx +++ b/apps/web/src/components/(marketing)/open-build-template-bento.tsx @@ -13,6 +13,22 @@ import cardTemplateFigure from '~/assets/card-template-figure.png'; export type OpenBuildTemplateBentoProps = HTMLAttributes; export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => { + const cardData = [ + { + title: 'Build on top.', + description: 'Make it your own through advanced customization and adjustability.', + image: cardBuildFigure, + imageSize: 'max-w-xs', + }, + { + title: 'Template Store (Soon).', + description: + 'Choose a template from the community app store. Or submit your own template for others to use.', + image: cardTemplateFigure, + imageSize: 'max-w-sm', + }, + ]; + return (
@@ -42,32 +58,19 @@ export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplat - - -

- Build on top. - Make it your own through advanced customization and adjustability. -

- -
- its fast -
-
-
- - - -

- Template Store (Soon). - Choose a template from the community app store. Or submit your own template for others - to use. -

- -
- its fast -
-
-
+ {cardData.map((card, index) => ( + + +

+ {card.title} + {card.description} +

+
+ Its fast +
+
+
+ ))}
); diff --git a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx index 05b6a3232..8c7fa74e5 100644 --- a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx +++ b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx @@ -17,6 +17,29 @@ export const ShareConnectPaidWidgetBento = ({ className, ...props }: ShareConnectPaidWidgetBentoProps) => { + const cardData = [ + { + title: 'Connections (Soon).', + description: + 'Create connections and automations with Zapier and more to integrate with your favorite tools.', + image: cardConnectionsFigure, + imageSize: 'max-w-sm', + }, + { + title: 'Get paid (Soon).', + description: 'Integrated payments with stripe so you don’t have to worry about getting paid.', + image: cardPaidFigure, + imageSize: 'max-w-[14rem]', + }, + { + title: 'React Widget (Soon).', + description: + 'Easily embed Documenso into your product. Simply copy and paste our react widget into your application.', + image: cardWidgetFigure, + imageSize: 'max-w-xs', + }, + ]; + return (
@@ -45,46 +68,19 @@ export const ShareConnectPaidWidgetBento = ({ - - -

- Connections (Soon). - Create connections and automations with Zapier and more to integrate with your - favorite tools. -

- -
- its fast -
-
-
- - - -

- Get paid (Soon). - Integrated payments with stripe so you don’t have to worry about getting paid. -

- -
- its fast -
-
-
- - - -

- React Widget (Soon). - Easily embed Documenso into your product. Simply copy and paste our react widget into - your application. -

- -
- its fast -
-
-
+ {cardData.map((card, index) => ( + + +

+ {card.title} + {card.description} +

+
+ Its fast +
+
+
+ ))}
); From 3c1790ba83d5ff8b24bbf50cabadf5f9532b335a Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Mon, 28 Aug 2023 12:44:50 +0530 Subject: [PATCH 06/83] chore: made requested changes Signed-off-by: Adithya Krishna --- .../src/app/(dashboard)/dashboard/page.tsx | 23 +++--- .../app/(signing)/sign/[token]/date-field.tsx | 18 ++--- .../sign/[token]/signing-field-container.tsx | 22 +++--- .../faster-smarter-beautiful-bento.tsx | 54 +++++++------ .../web/src/components/(marketing)/footer.tsx | 14 ++-- .../(marketing)/open-build-template-bento.tsx | 55 +++++++------- .../share-connect-paid-widget-bento.tsx | 76 ++++++++++--------- 7 files changed, 129 insertions(+), 133 deletions(-) diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx index 6af737a68..a9d650eb6 100644 --- a/apps/web/src/app/(dashboard)/dashboard/page.tsx +++ b/apps/web/src/app/(dashboard)/dashboard/page.tsx @@ -34,23 +34,22 @@ export default async function DashboardPage() { }), ]); - const cardData = [ - { icon: FileCheck, title: 'Completed', status: stats.COMPLETED }, - { icon: File, title: 'Drafts', status: stats.DRAFT }, - { icon: Clock, title: 'Pending', status: stats.PENDING }, - ]; - return (

Dashboard

+
- {cardData.map((card) => ( - - - - ))} + + + + + + + + +
- ; +
diff --git a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx index 599aa8358..8e2201df9 100644 --- a/apps/web/src/app/(signing)/sign/[token]/date-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/date-field.tsx @@ -82,17 +82,13 @@ export const DateField = ({ field, recipient }: DateFieldProps) => {
)} -

- {field.inserted ? field.customText : 'Date'} -

+ {!field.inserted && ( +

Date

+ )} + + {field.inserted && ( +

{field.customText}

+ )} ); }; diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx index 329b9938b..cdf6dee24 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx @@ -60,16 +60,18 @@ export const SigningFieldContainer = ({ 'text-foreground hover:shadow-primary-foreground group flex h-full w-full flex-col items-center justify-center p-2', )} > - + {!field.inserted && !loading && ( + + )} {children} diff --git a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx index 8b7eaf15c..2cbaaef53 100644 --- a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx +++ b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx @@ -16,21 +16,6 @@ export const FasterSmarterBeautifulBento = ({ className, ...props }: FasterSmarterBeautifulBentoProps) => { - const featureCards = [ - { - title: 'Beautiful.', - description: - 'Because signing should be celebrated. That’s why we care about the smallest detail in our product.', - image: cardBeautifulFigure, - }, - { - title: 'Smart.', - description: - 'Our custom templates come with smart rules that can help you save time and energy.', - image: cardSmartFigure, - }, - ]; - return (
@@ -60,19 +45,32 @@ export const FasterSmarterBeautifulBento = ({ - {featureCards.map((card, index) => ( - - -

- {card.title} - {card.description} -

-
- Its fast -
-
-
- ))} + + +

+ Beautiful. + Because signing should be celebrated. That’s why we care about the smallest detail in + our product. +

+ +
+ its fast +
+
+
+ + + +

+ Smart. + Our custom templates come with smart rules that can help you save time and energy. +

+ +
+ its fast +
+
+
); diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx index df47b05da..255d91985 100644 --- a/apps/web/src/components/(marketing)/footer.tsx +++ b/apps/web/src/components/(marketing)/footer.tsx @@ -9,13 +9,13 @@ import { cn } from '@documenso/ui/lib/utils'; export type FooterProps = HTMLAttributes; -export const Footer = ({ className, ...props }: FooterProps) => { - const socialLinks = [ - { href: 'https://twitter.com/documenso', icon: }, - { href: 'https://github.com/documenso/documenso', icon: }, - { href: 'https://documenso.slack.com', icon: }, - ]; +const SOCIAL_LINKS = [ + { href: 'https://twitter.com/documenso', icon: }, + { href: 'https://github.com/documenso/documenso', icon: }, + { href: 'https://documenso.slack.com', icon: }, +]; +export const Footer = ({ className, ...props }: FooterProps) => { const footerLinks = [ { href: '/pricing', text: 'Pricing' }, { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, @@ -32,7 +32,7 @@ export const Footer = ({ className, ...props }: FooterProps) => {
- {socialLinks.map((link, index) => ( + {SOCIAL_LINKS.map((link, index) => ( {link.icon} diff --git a/apps/web/src/components/(marketing)/open-build-template-bento.tsx b/apps/web/src/components/(marketing)/open-build-template-bento.tsx index 779ef36e5..e7920500b 100644 --- a/apps/web/src/components/(marketing)/open-build-template-bento.tsx +++ b/apps/web/src/components/(marketing)/open-build-template-bento.tsx @@ -13,22 +13,6 @@ import cardTemplateFigure from '~/assets/card-template-figure.png'; export type OpenBuildTemplateBentoProps = HTMLAttributes; export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => { - const cardData = [ - { - title: 'Build on top.', - description: 'Make it your own through advanced customization and adjustability.', - image: cardBuildFigure, - imageSize: 'max-w-xs', - }, - { - title: 'Template Store (Soon).', - description: - 'Choose a template from the community app store. Or submit your own template for others to use.', - image: cardTemplateFigure, - imageSize: 'max-w-sm', - }, - ]; - return (
@@ -58,19 +42,32 @@ export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplat - {cardData.map((card, index) => ( - - -

- {card.title} - {card.description} -

-
- Its fast -
-
-
- ))} + + +

+ Build on top. + Make it your own through advanced customization and adjustability. +

+ +
+ its fast +
+
+
+ + + +

+ Template Store (Soon). + Choose a template from the community app store. Or submit your own template for others + to use. +

+ +
+ its fast +
+
+
); diff --git a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx index 8c7fa74e5..05b6a3232 100644 --- a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx +++ b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx @@ -17,29 +17,6 @@ export const ShareConnectPaidWidgetBento = ({ className, ...props }: ShareConnectPaidWidgetBentoProps) => { - const cardData = [ - { - title: 'Connections (Soon).', - description: - 'Create connections and automations with Zapier and more to integrate with your favorite tools.', - image: cardConnectionsFigure, - imageSize: 'max-w-sm', - }, - { - title: 'Get paid (Soon).', - description: 'Integrated payments with stripe so you don’t have to worry about getting paid.', - image: cardPaidFigure, - imageSize: 'max-w-[14rem]', - }, - { - title: 'React Widget (Soon).', - description: - 'Easily embed Documenso into your product. Simply copy and paste our react widget into your application.', - image: cardWidgetFigure, - imageSize: 'max-w-xs', - }, - ]; - return (
@@ -68,19 +45,46 @@ export const ShareConnectPaidWidgetBento = ({ - {cardData.map((card, index) => ( - - -

- {card.title} - {card.description} -

-
- Its fast -
-
-
- ))} + + +

+ Connections (Soon). + Create connections and automations with Zapier and more to integrate with your + favorite tools. +

+ +
+ its fast +
+
+
+ + + +

+ Get paid (Soon). + Integrated payments with stripe so you don’t have to worry about getting paid. +

+ +
+ its fast +
+
+
+ + + +

+ React Widget (Soon). + Easily embed Documenso into your product. Simply copy and paste our react widget into + your application. +

+ +
+ its fast +
+
+
); From b5f96ee2fcb4767300fc13a2dac127451d1c187d Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Mon, 28 Aug 2023 12:53:51 +0530 Subject: [PATCH 07/83] chore: made requested changes - v2 Signed-off-by: Adithya Krishna --- .../src/components/(marketing)/footer.tsx | 98 ++++++------------- .../src/app/(dashboard)/documents/page.tsx | 44 ++++++--- .../web/src/components/(marketing)/footer.tsx | 20 ++-- 3 files changed, 69 insertions(+), 93 deletions(-) diff --git a/apps/marketing/src/components/(marketing)/footer.tsx b/apps/marketing/src/components/(marketing)/footer.tsx index 6ae66a0a4..ab0dd6e24 100644 --- a/apps/marketing/src/components/(marketing)/footer.tsx +++ b/apps/marketing/src/components/(marketing)/footer.tsx @@ -9,6 +9,22 @@ import { cn } from '@documenso/ui/lib/utils'; export type FooterProps = HTMLAttributes; +const SOCIAL_LINKS = [ + { href: 'https://twitter.com/documenso', icon: }, + { href: 'https://github.com/documenso/documenso', icon: }, + { href: 'https://documen.so/discord', icon: }, +]; + +const FOOTER_LINKS = [ + { href: '/pricing', text: 'Pricing' }, + { href: '/blog', text: 'Blog' }, + { href: '/open', text: 'Open' }, + { href: 'https://shop.documenso.com', text: 'Shop', target: '_blank' }, + { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, + { href: 'mailto:support@documenso.com', text: 'Support' }, + { href: '/privacy', text: 'Privacy' }, +]; + export const Footer = ({ className, ...props }: FooterProps) => { return (
@@ -19,77 +35,25 @@ export const Footer = ({ className, ...props }: FooterProps) => {
- - - - - - - - - - - + {SOCIAL_LINKS.map((link, index) => ( + + {link.icon} + + ))}
- - Pricing - - - - Blog - - - - Open - - - - Shop - - - - Status - - - - Support - - - - Privacy - + {FOOTER_LINKS.map((link, index) => ( + + {link.text} + + ))}
diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx index 8ac33be51..834483757 100644 --- a/apps/web/src/app/(dashboard)/documents/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/page.tsx @@ -64,12 +64,6 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage return `/documents?${params.toString()}`; }; - const documentStatuses = [ - InternalDocumentStatus.PENDING, - InternalDocumentStatus.COMPLETED, - InternalDocumentStatus.DRAFT, - ]; - return (
@@ -79,17 +73,35 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage
- {documentStatuses.map((status) => ( - - - + + + - - {Math.min(stats[status], 99)} - - - - ))} + + {Math.min(stats.PENDING, 99)} + + + + + + + + + + {Math.min(stats.COMPLETED, 99)} + + + + + + + + + + {Math.min(stats.DRAFT, 99)} + + + All diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx index 255d91985..a5fadfcf8 100644 --- a/apps/web/src/components/(marketing)/footer.tsx +++ b/apps/web/src/components/(marketing)/footer.tsx @@ -3,7 +3,7 @@ import { HTMLAttributes } from 'react'; import Image from 'next/image'; import Link from 'next/link'; -import { Github, Slack, Twitter } from 'lucide-react'; +import { Github, MessagesSquare, Twitter } from 'lucide-react'; import { cn } from '@documenso/ui/lib/utils'; @@ -12,17 +12,17 @@ export type FooterProps = HTMLAttributes; const SOCIAL_LINKS = [ { href: 'https://twitter.com/documenso', icon: }, { href: 'https://github.com/documenso/documenso', icon: }, - { href: 'https://documenso.slack.com', icon: }, + { href: 'https://documen.so/discord', icon: }, +]; + +const FOOTER_LINKS = [ + { href: '/pricing', text: 'Pricing' }, + { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, + { href: 'mailto:support@documenso.com', text: 'Support' }, + // { href: '/privacy', text: 'Privacy'} ]; export const Footer = ({ className, ...props }: FooterProps) => { - const footerLinks = [ - { href: '/pricing', text: 'Pricing' }, - { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, - { href: 'mailto:support@documenso.com', text: 'Support' }, - // { href: '/privacy', text: 'Privacy'} - ]; - return (
@@ -41,7 +41,7 @@ export const Footer = ({ className, ...props }: FooterProps) => {
- {footerLinks.map((link, index) => ( + {FOOTER_LINKS.map((link, index) => ( Date: Mon, 28 Aug 2023 12:54:55 +0530 Subject: [PATCH 08/83] fix: reverted line change Signed-off-by: Adithya Krishna --- .../src/app/(signing)/sign/[token]/signing-field-container.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx index cdf6dee24..d5efcb3df 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signing-field-container.tsx @@ -72,6 +72,7 @@ export const SigningFieldContainer = ({ Remove )} + {children} From c161a8109b1d6558049e4f8a60fb364b8e1acd02 Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Mon, 28 Aug 2023 12:58:30 +0530 Subject: [PATCH 09/83] fix: removed passHref and updated card Signed-off-by: Adithya Krishna --- .../src/app/(dashboard)/dashboard/page.tsx | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx index a9d650eb6..4fcf867ec 100644 --- a/apps/web/src/app/(dashboard)/dashboard/page.tsx +++ b/apps/web/src/app/(dashboard)/dashboard/page.tsx @@ -34,20 +34,22 @@ export default async function DashboardPage() { }), ]); + const cardData = [ + { icon: FileCheck, title: 'Completed', status: stats.COMPLETED }, + { icon: File, title: 'Drafts', status: stats.DRAFT }, + { icon: Clock, title: 'Pending', status: stats.PENDING }, + ]; + return (

Dashboard

- - - - - - - - - + {cardData.map((card) => ( + + + + ))}
From 9257454a96924aca6606976925dd8ffb99983721 Mon Sep 17 00:00:00 2001 From: PeterKwesiAnsah Date: Mon, 28 Aug 2023 14:11:53 +0100 Subject: [PATCH 10/83] feat: add error message to signature pad --- apps/web/src/components/forms/profile.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx index d65a0ce27..5b4045abb 100644 --- a/apps/web/src/components/forms/profile.tsx +++ b/apps/web/src/components/forms/profile.tsx @@ -21,7 +21,7 @@ import { FormErrorMessage } from '../form/form-error-message'; export const ZProfileFormSchema = z.object({ name: z.string().min(1), - signature: z.string().min(1), + signature: z.string().min(1, 'Signature Pad cannot be empty'), }); export type TProfileFormSchema = z.infer; @@ -122,6 +122,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => { /> )} /> +
From 2f789224214a2f280b97263331613723fac89ba7 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 02:31:13 +0000 Subject: [PATCH 11/83] feat: add blog og image --- apps/marketing/src/assets/Inter-Bold.ttf | Bin 0 -> 316100 bytes .../src/assets/background-blog-og.png | Bin 0 -> 917646 bytes .../marketing/src/pages/api/blog-og/index.tsx | 164 ++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 apps/marketing/src/assets/Inter-Bold.ttf create mode 100644 apps/marketing/src/assets/background-blog-og.png create mode 100644 apps/marketing/src/pages/api/blog-og/index.tsx diff --git a/apps/marketing/src/assets/Inter-Bold.ttf b/apps/marketing/src/assets/Inter-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8e82c70d1081e2857ada1b73395d4f42c2e8adc9 GIT binary patch literal 316100 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�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

6=3(=QnPeuLDdti0n3-y(nd#Q;7fbjCmF@fSxxm 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 <}d?o|3N0ci%3l&ixtZwc7qS^%D5+^qqs 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

D5fWpDIadYPd= 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"pt4>4_Lc>qqd`l0+-AzpcMnCYx*4SBhBAU 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�SoncfxiHltMCuc9{SnmIgN6^sPEc(N7(Uoo(f0eD0+uGSUL$Fb&alv6MCu^GDm;s811WI- zh_qbPPsyS>O_6;C$yQ`bfgLr{#H}(Cz{z+=%?f2uTx%6Uc`hytiu=U9!!Ym2mijO` zfUnd3@Mtoh5anJcU{3|oJ2JQsZ3h@sj%ff?OiLQB2@JAQWCG6srtPANzt-W5z}tBO z|L|R0$II>oK|pGrbT!|@*zJQ>+M+3#`szmB(2;|_j2lW@OL+n4g(xTupFvZ{ZW1u3 zDKqPIZ;$ePfRh3Nbh7?@{V4V$-=lIxFVa&C#OU@k`V=(Py%X05r}g|1uI+RLY=h)+ ze@~{_DJu$<%_EEs3}KuA!yB}W z-t4b+WsVN=^jQcT-=jg7!VGbkMVP}O_l0MIx;8dF(a}~75Gb<}9wsz0+{Rui(&KAue zkJQwBSrsfQO_lD`x^Q-IuNzUY5YHOlg`N|hpQr12|M1%29OBPxYy#}^f+Z8s3#od8 zg3t}eVpDu)&2xhLdQyNCllzjxh;FVXXy8h|KGEy*^uw)zFkTjZ&J5H@?{F~2G?h`A zP0OO##C)7!o${)P4vfK!pdK6dCcW2gA~Zd=t)&z8RwXdasx;1CXhDx!az#I_*tlSy z;NFS8d!2$Q0Fc&J*^g;&^=kHvHN_C?!gJ^qf(r|#CkhrI$dbkh>~|l-Sl@N+ zKBYcTPnE_kwJevGQaW$kZPOZw6h!Q^_W(h&9%pBLxjJ}`czrXNW6$+b=dY)k6G%F8 zJ}op;alhG`2zAR;(2?!8wW^C{bDbv_Y;SCBbP;#7HrouxZ8*B$MM{-kUuC~XUQe6B z4z+zf5U_{1`k(~`kZLt*{wO=?A)jSF_6`HA)Agq}t2pA$i_^U4R>vcx6Pl zZzF@I3ZOaIu(#AiYOb2@R*-08sVQt(1udPm!*fJqTE&f4SnSj6NkO8J{x)FyEVkym zHqT>F=OP{MSMhY-= zmL-q?^AxBJb!~wj1<-b3OB-A7anyLFjR<|wVl1FX7+4fz(NUMsgAxXoIR+#O>SRDt z9FVm2%AQ}gb2#2Lk+(D8O0QeU@G8dwKM%VIeH3-B0km>fjgLt$c6Bh$39NQGl~B`1 z4Nove`%&#>(#z%jw9`t9$2OJ>#2|Mlk#E?!<;$@3R4SX2kqq94vM zdjH1My~1DqT5PLm_3n?ct)d11;UC;rFQjfO+J>v@`|o{xjETqXcjQ(7Oxpev28@{D zCQ}wxW!lAM_MHo~m+hf6!nbN+6YttmFo4!^Ck;1_d)54$pn;d+n=VDEQI%CV1?peXFwe;D&tSFSfJmodvyqSX*ACn zMhay-{C$fD*mr%Abf5^|t`E-VMiQfUc^YXR{TzVuYsnD;ago9i=!ypbT=l@U&LaxG zVBkAiRj{~FHjT`T#*Wg;4RkZ(GKw2TB2z|HpN%Y@r}yjabE)L=T+*a>7Cl*2$n}4< zf58Ry{PcnwBN-M6+`75G;rl12h+cP=?_MiA$&Ay1DKWi8Zb!(F^zF(_(aAbsPoKbC zJL#jrOge1R%j9(I_MJEfPb*oO;H4iQfJk!aPg(=+hu->Yu=2)d7Dey%HHw+uDcEIw zNWFWz^`&T`eg0!GPbK?>nAIqNWZ@A_9XPLK+SXdVG32>2qJYC^^L3D7yKAEonL z65K(A0xTz%^bWO(l(H1_iYbE14r>S$@g9SxTx#?U1}y~AktPYlyv2n05!4YXF%(-@Q7}#&SVXoFD0hU?{<8(<)mEpn#o3 z9VVp9m_b&Frus!{_pA<#vC5b|01xJZ&zxTA7|*-krgMJ9QTE~Dhw`-ffigK*m2bo6 z4~KRxdJHh(zPmH<)mfAt!Bc%DXKVQqt!2cM6T8@Ot|5xohQoc8EW7?ro$Pe%5`6Kr zvQ-%G*Hh%sT(79H>S6hMnYz$V9DfDuP4qVXd^Q(MPv^KN@N#1Jrv(l8Ow3WCFt)96 ztPnM0D`{UfWV=zLB-Bi4WTiw1rx(nm1zCyr+ymSy>a4&8`mbbhAvGDSqVl;qi>jw= zu&zh|Mec{YgFc4F){bd+3TAoKpq&9j3rqFek)2xG92%I$xFut88i8d+#B^PF-P0b~ z_o2^Y#X(8-L)4PqWs0Qt^IY4A&($+lhd3qV38)x!04!#;yZb-^4$fWI+z){8e^%CbF?%kxJJCic5X4b#iBM^c@- zE}TkXz|>-qET-OW8DQ}-K$Z|eAFV3u!17+U*?v>IbFkFmwL08k$k#}5dueS~?Ua#k zHs)Yy^qQ8Y`l8CxaWF)M$dP7?B0NaQVR|y?RH1X(ao)R79Q~cu8 z=L&Y^49<`xwXn280E0`1r|h_TC4^j!C9VuP)#D=wY~cQ6^ajn}a3De}LGB4+>2r)$ z#Ki@;D*`n>*Tn2iwey3NM1y$?q0WqLJ$L+r@Pr|bX}Y6^@aS&_dm3n9Q~|&O3+ubz z{VuNw!GXW{>0j8-4?!dklQ8lpjBVw8f@6IhLH4qE&ip)JTkVn!zmXJtu5RRF`Bc7B z|KzRf=i3?r{nC6PeK%^Lzl~Wnzn-`0VfoJvT)j)o9cu#QWsZrtzZ1Yh^!|?#b1z^2 zCYpB&{+7`qZ*$sN*Trwe-2a441>Cj0n}LN^PWUi+Jr@6tI!oo}-o02j49V9g8CxH*soUjSF&>K`bv>>nQ{NIT~ll_~?Ve!D?i@onp@K z#(t6_=v4~eRxaALbd+t=7*h<4r(l6B>+`5vdNd}OUb}A^Lj9RG_P4Qc^5Vc#toGXJKd~R|6ry14P-N%N!23_=b5OU&>LNI zqDG0JJp}LyysCXvkc=-@1e1j&b4G}+(7VQL5jTtszGk! zOM*RE^8j$6RR;2%)sH8}2APBfa2cUz6|V_Gp=A2TDn-ILJg=UxDj!nj0D`TUex$%s zTheu5@Ku@~2tyUm@P4>GD0h!*V~SuByjOO9UhAb@zfsE)7u_bNExWbfA%HxY^yi{hRk22dBY6p%IGlP=~CK zvMThvO7JGUWj)h5I%OXrMet4cRRS2lO#S{;o-{uuYXOh@UhdQhu9VX66$IsA9Z<)r zGbhX0K0Brc=~}iz@q|HBQ-}JVMFrLsbjKc(K~&FZ+yEruH1JwOm;hJhd7a7B5PUIK zm#8B^P$o1-0XKkRWG9;56W2R{jnp#g4*JoZfZjyeJFbr!DCk)IX_3Jzo&%uWEM1Vg zSc66uOEGZ;kT+Ug&lpH5aK13jGT%E?_FZt9dTOyddN#j1YB#=?21Z57qg*%=$I zA?SC{b7dwim|fi_uSsQPNoRcx#=0v3v5n1h-m__sHO8L9u{@O$&zO2vCRRQNB0U{( z-j@VAkgjX#gan{PpLuy5Os9*xtY6hLMO!PLo`z{fJz6lqwYb*ipblEWuNbGQA9GwU z>ha>k1SH&2XjiqGkOgr%1$a>5a|m*_R8S7<6w>+tV%^2tv<3#I4sy;Rg*dInkJ~5q zZDnZU`vCc|hEx&jRSFjDm$GVA3_27Q41HfDgT?@r4Yklh7S6_>)hvaW%u`V?N*OHa zP@Gp{V2v@!Wp2yYEV=>UjT)3>>n>+DnrZk|K3^(=S-K^t!@4uUaxHApW^jD2pEo%- zjssoBL2S+1i5Jt!noF8Ecl7&i$34_yW^I{$RV-hcO13v}&;TbZk`t|v2^qs45RIx0 zMW84um=|)P4Gl7aRjrH~wJo2&{6aLi*2%@`Wpdot1bleB#XzuNanf-8zk9WjM^}#& zY_s${iMo$!|4-#Av?!4>$-7~nS#)m8RK`&28N}M~DecKHs&b!sU=_itu8^njVm`rB z+kyra5dZ@_BX*6lfYO>&qYy!(0ZZSnxNfoFiGpBwehlo2YJX7|%14rc9xUe5MJp@= zKc^+=R~G>s&Vi_mwSYBBpq-_xPYN-ZHiQj`upSf2ZrRUh{&2_%+k0 zHCsXpJRMeIcNUdD7uT+Os8P6|Agaobc%|utc&a|>UnhkdnsMA)d0#qYCcNq@DJphXvn(Q zAW#yYit7o_0Wr$JqHUU@vErhceyz$f2)Q?mAS!dTnNEBG8ubQRy(?0w_f!CF zQ8gcWOTjBHGk>GAXsK%o?2Yk&M-AG!r!e_7qj^f>$;pYVmw{RsnSn&-wH0?~^O-`N zR6oInrU087AWi9P1X@TMwM5JJZ)nw21X%2zD(|N~sp{^)Fe(Tgm3{hr1NysG zpi`m3KyU}gY8pMxCILVy__`vvcHUe~o{j2WovWTitgR&Rf`-9qbu~*1&2fK)m5HJVhBhTT~@4BCCX;jwUSVgi@Yb1P+e#>VJ0|^Gz2koa)M)

$j6sgk^vvGhmR&~&lBt0#w$@7J8ET2GJqNnt@RXh zhj?|bnpkBD8mH>ilTGA{=M4Hx3NF#h@dk;;XbAA55Wc4QM&8K@~M z=dGxnx1C(SGrKOTF)dcXk|h~g{#lOt7>!jl19a-egoVW_chIP!XmLLQ5mj46_*~H+ zLB>4_Oe~ypVX54wmKy1drj=E4)Sng5qMlTLPc{;+5yxHGSm0db@fOmXcASG$So87R z@H}zOb+Mk-_WW+To1D&9HuN>pHVMQ9WrJ}YO7p})J!*2*qb^nH94dQntlr1Doz|r5 z?%L8rMXxJ9v_dWs?dBz2?$tKlIfsj24kQ!NLqug{v_%1J!s{wWqd+gp`2oQhg# z;bgLYxZV9h{b5>P@8tRZD+#v7K1yrxxK;$y54_>J+?f6pfuasePB zQUrUIGc&N3b}~u~G~r?0nLes65~b5P6+V01+RieT&#pUV$v?(jHoS@RwADf>zp zC<^dI)65)18Ia8cXjLsKtO)x}S|<_$w>)cDX%BJ^^|EE9XQbg=oj<0-{`&T%oL`;F z&8xIlo+y*`@#P2d>iUIr)gbG$WWxlA{OedHKxE)f;C#Ll)h%nrAgI}zLl_0Q2MeSTytz0t6l~wL@6MYv0k2RUN#&1re1Ax0Jb`r1tvGzT42&rA_-lfE#Sny)nDg z@6n(?b#~=Y5=ehnf%*aTE7&%bX#`it>>Ou5zoyUNsB+Q_CsiHrmV zmBP%Ekm4wXFBMFmIE2D4oZ=TqBh1$tOE63B%PB zzfSwu;zFKQpZw8mtB2ZI{X}lUFUjtz8wHb&=1n~SK)p}%th#rJxg!;LPy67H0I-m< zavNSz$^Jh}%>5W*=dV9>!(+5aqXA4^slF9+|5G&0za1B@x3%d45GU{GEAasC8DH0h z{%s&wnR4fwz%gTLdOg9wr%_X5tmJo?N_Xt6SxcnbJCkJt>w^FC&*Gte3!81Mvs=8o?aiE46v{EjOZ4W_~@*uplB-P3L`G zjqEUT1&v9;6dz+?kgb#cyxFBat5$XgzJH!TG%&cB@|Uh-%jzbp1YA8j*!-#6m7eKq zq&PMo$h^U*yiHE*rca=cyd)sz&Z{$#!CLF$)TtF4XG~$_eN9vC@PAZ${Cxiz4N;`< ze`oQROoy+`NyJ7DO`7$rQXY>RS~7~-*qQ;L>jnTh3UtRUpTlXo@1?8=cp>$pPxBi4 z>7(ii4cC%MH5f>VmaDLZaA0hMMK!O!H(1KZ-l`9tHisYs?!eQs@QaG84-+GnRSRcp z96%##V2L^tT7|D;A819mLk%$qjC=Jv*K{HPg{o~cri?RgN>Hb^XQ0*RRJ*DQTH%l2 z#-t3rru;2SM>9DhOmR$e;M{;Tf;r~Ud#VqwWe8*$2atTV5$q=kA{C;v5jybVFrqBZZ~k?YY)7 zy-{>*BDK&pGV7+EI1QdAOIB`LQ_rj@27sKK;W~{a1&$X?@ltkI`K-x2t5stWDd5!o z6V=cgM70fB9HCR^xe2D<#IXqtDz$gKvZ;Pg3ky8Nu)0H4UlSH@tO$s=PDVRPKYx;K zAnjWXYz(&MPrhp`>+<_9xDNZr3qFKU9SuYE=YM_1I%?s67r=JweIjw8NGNeOhyS6vP0SY@lY0l6Ap?1_ZFTG9Xd4wl)s- zZ%<&1J&9ug=t<|;@4eD*Yv8dc`##MlFzc~!G?YEKk*OALpmYG)`l4&73)AlgNM*En ztU+eLpFVX$WuI-r9jh|0vkx$T?iv`cmF*R(qLN@~1B_re8rG0~*wCgtKHiJ$6iW@% z6xGg>;-@Sb3Xntdv1zC)<^tjXiu&l{LL&gAznKr`dV>Y4(?8|wSV=a>pt02X?saTc z8Q40QOP0&t-#9NBx@6Ft5w<` zuj&sTtj_mMH10*%H&bwEEh>$2Ec>pmr+d-c(mm(6&YYMuIsb&gg{->aK+OHU04(Zu zv?uQ+=6>v=|5$Wx&g3fFal|fU+F8}$hLcfSeJkevr)d5>-Y8v1NhIFO_wpZkgM;^dmdqb6<~?{m&RBiL0x z5wg_&t1aRcvM{P^3-EnsSlRyuOGEUsx1f}ZMeY0^I}<5{@ebgst()Qs6__R1?!Q zTA|$!ulYSXOzE}r`pKjxU=RXi!@o>D3rlejxde~#{E&LM4O(3ateiL9^K`sNq!;_# zAOkK+jtIkn0pke(k?L&qOiM)c?3UV87d-aX(y=ysEex=&)8}igUKkR1#ZUz~1#_V70>{)ri3KasHKL63WEh5f0vcpYKv%)4!q-d6oJ} z!7vr!#eA9T+`zDdt{e1g&Ql-2(E?k>4WqJBZWfz8m|MbK|K>&Nox*;&8yU!bT7H=FR?%MU-O(Y0xip9J_mt*L`}f(sV2=a8a>N~nA{#-qHvpW$DP10^WJ6(S(;TWTJ%MbU)R#y%#djY{-)Z<9-Vk_Wx>ga* zCAg5Br+La2jP?|j`3qgJii;|XxiR&GJ0W) zt?KDG!SlK4ZWZLH+esfR(|b&D42MGD4pJR+B+wra{ilF`9NAI;to(U62<9Ny{5Y(F zn8s*T0F?LUIM45|Gmw-43Q=t|^qp75oPMsE^nFXlnpV-&)bS>C~(&um`XNBYAP6dJLTj&& z3h2~X|BH!e6ykoEHTE#DWlR(c)Me(6Wf<%%ot}NdRNSSUtu86$usToAW*6n<>*w;( z)9=V|*Hd>C>*DLzuPIV}dUB@gk_A#1#wI1O5|#O*>1GOo;arq5h#tIM7K|h@V6hix zKjYr3xSOP(<9M)fFnCt3jUJ>ggH+}RmiE-&MN8+ ztjqwK1v+!3!X7EkVBZcJxWs)hJ#J}C>PBsEXiAAzXI;d#$s9~m2@wc_UFG|JZB?+< zPG1nbqJ3wYwVefpYuo?XC&LI*yZ6(GS5n=W@PDHt$}~rHOh`60yr1`G5BjqMK<2(c zlo9Nzjd3|hXN;&y?Sp9Act}+nG@yiWgZ}pnj9~1*Vd%_}37K71#os}z{Q zs3Y@j>fJdWFov4*_huhd`zsdTG2hVfiGz7&R{xOz$oTH`_+VRk;W~i9Ux#hw6`zl? zt|y=hv;16ZJYgf2Wvxc_ZIc`XJi;W*-v&$_^+{*1pj)vfqlif8&kmqSzRk zuRD=~lt7dN2mW69sYCE9X2;v(a+00Kw~xEIG3+AhBaPRM&hirq0NL_6JI}kBTSHK~ zH7UB%8TDE+;(nab7z%wW153t$H4t^FD+QcK@ z&5JfjIoAVo`kAIE{WMBs|3Fk8>39;B8Tc4W`BwZ++qCL@8U2@F5=*o%X&CtZ54Mq# zT5pb+kA=px09XRt*>MKoDJ-bzJgDBrtsH`xq*bdk*r!Nm*GGadZH)?rR^>&YFLNVj z&0|LBAjS?IEL_`7|2#PjS1S0KqeqbQjHCLGB8>|i$?<$ z9iR)fq*62;0`Aq!F-O`Um{(gGmK9S4AoxCC`!p5rnqU|N+to|YAtm%&^X02gCIS=3vlZ+fm4^PfOx~T`7HHAsr`ok!?@feM-{Aq z+xiXHkW-{_+BhSyWkn9az*;wFD%e}3qR=>oevb6KPPby<;6a?2Mh1;AWlF)h1KaGJ zRS6sFes#$SgJTFCFqRu0Zpe(dP5(Y_o@%LU(bOU>E3f)vSMB4hr&6UL2^_<-Lgc*+ zu4tM~Z$`7~x#3c4bKY);m-74Fzw_$PQ@?$8@l#&kw$}*pF^65}yG5|g>7d@z&}Cx? zjCZQ`QyykWWL^0x?uKzA-rL2=u2sx(ykiQPAJcWXJd%BkX+?)JRtDM!WoQL2ldVS1VkRoB`b`Pkl#yveM>+0H zgY9erq#^z8wnLS`W^!H%-}m=Bj~-&l`T2)xLV8ucv3c{)Qx)dy#$^a0i z*I9-_X9Y8cKJ8oGg3=YsRyCcFvPPyL0L$8?IndX^3g@Ve-Pt_%C$9y16z~Et0J{nS zF=z*Y?aq6z9IV^({eXah1$!aSprKP`kPcROC~JH%pt_$tCsrwh-C%1*83gxqQ-ft` zLus(%kY(!ZGB2#Nr{MZB%aJJaY&y>IUt3vmA_9@M&Fvx(97o?;nQ*Qhsv2YbUfLJh zwt8^P^AGINoML!<4R?@rTD(ef>b^^mOkpb1%;No(>+pD|%7xf+Yq8SI+IG9JF>GO|RWP3iMdHTq=iqfjo*B61{RFlCyJt<<^V zbyjtLO_@iP%~`#EYCTnX3(D8&hV)>68fhlyBqPB}!g^CWxK}nap>S?WBk(r4hd9-W zpr%-`Dr}3>1Lj0#rCEPh7Lj*h_K72Ir=#Iu(L;)dQ%^y)sX(m;T^&?;H6j`7vxuWc zAU)cOlC(<#QllUz+HHJcr_-{@i=a{9KqGcuzT3x@0*c$=mf+W20#z18TB09YuT>3U z(A(GHT$~X`f!<?~?bnr(7GPn$<$M}(OB7so_22knmF){+J(grTcC5YQNGF8u%4 z`_pdOk>g4fGzSpVneLbalawe@Vo6U@sZ`Z^-G8tCTYu=ay8A8FtEZAwq9#(}ki#9$ z7y|}>zPFh<9EdnKGnq+hsO!mO-W!1c91e%O*|u%lJSD)Ll!0Qvw*=`bm2&4ZfI+pC zGlFM3ri4KE!3?Z4wx~v^<;pc>Z82;#GMM_mS)N%b`Ljs`pKOHsjLt}7z=T&R>Wy}< zg5E9nB^c4QIZa^s;C_Ndl$$1fzwgKdz#P3t9|4M`F$9Ck_XSj3Bg2T5t*jDT1yJs- z?4kLV`f!%6X#rQhJMC;=MDWZ1m-?w*PN=QGZ9i zv;4gT;60npmr&(rajK~fMoZ>M+qXHgsC^KEi(pAX3k+cEP^CGt2&{Z~7CuqY?&6(s zkWSMGyz<^@eHu8UaM-~(A(Le2vNI-8tisuuoB}VzMV#18mbiQ_ys@WKO4}e+Cbz7Z!oTp4NDEn52Dg#3RY?P&>;D`%^JCJoS(5*br z!nB;=+%e@ZXxhTEo(hx`yf~3s3fJVpKofiiHUY0Q#L4d!R0Cs3qt5`Hn0!{%C&vw1 zQ&?UUG*IWrEBTee?KlSjA3i@BQy~_nRpaa|av$QJ<~s-ybH`1mXHoD=Z$5k*84s zh+4_?Ia4nQsfk$6XACopr|Wj1?-b)teJS<4a9;GOHR0m9D7`b%_<7XxtXMhhkl9bu z<0BbVUZoJ%1E@7;_jt-H(jd8hr7_tKr}g0QUapO)MF_>-C4k^?tfPs5FHGym)8oCe zmIFQnikl^`1)CS?mFOoJTi72Cd>@X%;22eG9Vv!jNkQ|<0Uzvpn`Scs;62UuEUlwz z^MTRYa*Z9hhMZb-Q9FmJTeV1z9J}GV*x_OR?qHQ17ZLK=_8wPXn7B0jEy% z9pH2CcNvtSEzZXau<0@fJZl5rG@W&oSD-*`&`P{AIc!cA_~GwY#@vCfp0d`X$<`>F zvllHO(-U}S2(JKTdlO}MAPMgvz&_8m@U*`YK<7FTyu^`$W_3~gW3;zNA^;(y%t-6G z*5rBXc6^kqZN*ekJS!|e;j}LmWc2Ud<8nsTaVCxAy>m)Yu7rTDz0Z`t1s6NBwWv2;QDa*@R9~dP zMJ-n;c)YH@`!9}Npz`$LaL)>=kBPav2D*#6k9ujxV(#ANVAd%Bi>px1ssrg^D(3#R z6wXnlYL}wf=kdAS2#nq7F>_V=ZwttJOb_eJ#N7Kf^`|+I+WEeHd(8o?$5RN)g(FIs zedgah269!CWp0YR=V(~5Kn5un$a1lNEDARs<8g#jB8rcsiQE&zR=?uGE*zYuOvKN2S2Ns$jfI%wW`Q z>IYb5u#q<5g2oc6Eh5cowLnA?Dj{n=%bFnAv@n4Swsv${Rqz>Xr3W&t)X^dnFf^I+ z&nkhY+p?j~Qn6_!WA}CYx$Kf*$TXW|6g^?O&3Fvv19VdEx*N{NJGmh^^)!Ku(Tr?} zz3bC7|5KIw02J&@Fnv;G z(wI(g2=7=uazjum8?Hu0M213Wz7ZQ(aMU5*k2(qzmPFS2aYWOqkE>lNM?2^Gj7N!fZkV4 zJ50cLGlGifAD+K!6e)1r8`#_&*;Eit*VIsTKwW>0;8x$}!U4+60`qA_M;Fh{=Qpl_ z)XfdSnSm*n8+$&=AnXl5Q()FXN;23a<~f040{H$g9CEs3*$8y7(pi^v&3J932|BPE zl#zrnaOOa#M)Y zf>|2C;Hq!rY`CH>(GXp?aAdXN-tZox`rwm=23Wuz{k;8@eSNw3Q05IOgzMB-tovuU z59KyjGTbv^%(i zu~AE#i`8Gb?@X&ZV{cL3k}5wv)?g2;>>2ka7GK(oOiz8pAyn2=7>k$`Sb)Am%Jc;* zKy|lDus{q*IDPJMOr~q4+F^Qxf_7SbN}1t}elD6)hW&8Avvk!2R2_B+BwQ^ty(R@H zko~gRtaAaL^VKCq+z(CKM-s@jS!;oqMOfNCtI`V!5b8V1R5=q)pSDoQNGu6ZsYF1? zx>doBA%oo*WBMFg@$@vm9|vYIraY!sDSCv*HM`)eD?;M7meF&15@h2fJQ%dQGJLN_58FLirbph`!m}|{RCw(brz&>Hhf(# zkK`1T-MKQbt7HS~`QeP?p4L0dZe1NI!bT&v(T)Cy^SCC zWj$xd^#%5uPwt=~3XZFkT}cngZ2G~Nms2RngRz4FOrC0OpBqa*$mp~Ad*FS|>mY-E z)seq2dUu{qSrzwo3RH{5|GRG&xQ9Y;o_`0(j;MmxGSqlY3cYGU9Le{3XB?>K&Bcr z;lu`_&CBRgtQ)1^ky^>BecdB~myj*y46n}gC6uy#%mU@{&|RoXT@H=hb|x+i!)^i` zp;}zjs(_xB!YY1@xE})ykkNL%8l>bQEznDB%ZYgaAnBrhX`<@U46(ye-!Z1Q-7C(R z`~HpTTU0F1>`}dk1X!tIH&AzBl|Uk`kciZ%5BLnApLJG0A^q4J&by%=iULRIciktj zAw_)_)Qo6&9yl;a{X<&gn*@FVz+&1`ucGS`$ITz$9;y#UxuwyHyV<2Nds=^F26>=? z%@h)&ic`40UTKP+rI$M8ooRtgXSo%Pz#s51S&d3l1GVzij{02q`S0L%kh8Sd_d6RVCRDfG8$M5U~S>IuiGy;CO7@H zJgc9N3^HfMb($)&OaI`{aOM^><_11HB!@m$r}Txiq7oTITmv*B>1D3rq{9(eGeycM z?p;r|RS$tToa3Xz$)zWNi>zN}-L3WE8yJpb5G1V&^vZH!1 zHbmAYiia$cJ#QQnrWOlB)e45!tS|=vLaUh`i?gFYTdRWD1lP2QOqpA;ym>R}A6Z)j z7i?@;l6}v!UDW4Nf>oMMw&Qx`jVvh65gjjpFHFgTIR1>`ab9nDPbFXmFllFLqN)v| zsfpWucXV&mp&B&ZwKF!0vW+&A=d)xAAS$emwvMl5&58YqRjmfqVcMCfF|GxXcL;|! zv(&Il2i<4q0qBH#L1jy<%C37w&?C00MO8K0w@{0VZd2RLQvLv&pIPO?g;goTciu`c zG)OqfnDYB2i;_&+f!cUrMltPP>LZ(BVPi0#R}P^0aejTB%bm@!noP3hgq9@sC5YqW z+}nOE1hSa{77mxwq6*cP^Vk z6RB+Iucxcg@r}x8Zz|V{ibu|yzJnY7ZcpH3n;EwyyK1ns^9=AYHL(=cAK2H%76qu{3^9uQ8<;oO zoN-+#04RfuRjfM{V&RR9l~^^sP2Xi|e}=Bu6YdBq9YA)7OQr|G9$PLp1t6nbG(2Ji zYFqnCTBnRII132m}MhGvP(MZC91trzDBqorWl&ff^h;l zL&fTsllkPb8wgywJVkFHcpL)l-CS+7)@q6|r|lZ>AGO-F0tmi-x@8a0RsW;`Z0(c# zRJt$EQz7F~8lkU^BLFvFH_YoR04~ofDDz*$-l2RpBiV#7`jjyf2afkKPZ9K#Hh@;Y zGTSOzE%{SytEenpWOi(;*JN8gZN8J{-*3ym#^z$~ecN&Fp`8+QFY%bivgXRq=Eu;E zLWbWvv+8QHG`m{$>b@3$g&P52(Y8RNFCM)S+(3z>m3fihq@5D~`YK}XJ<=%Z(`7{8 zw_mOK`2T9+btBA_>BN3s`D#@o=XzE1^XS=2G{0DMr79NEV-W0gb707I9Qqu&9zn4A zT?TQ&Y_3o!W9nUR(H5o(1hGZGp!UjX)|M{hP2R-H=0+T&PG%@7SIqSVP8(5k5qM7} z@;et9De+FRJzF($zq{o|i(YC}Z;_1(k5X|gg0aw`15igA=~db=dz5JwuZ~ikG)Tw~ z3*#6%n~Z%s`N)*vIo-a-07skWFKsZhBJk}!^STcP> z1E^9sA>B(SULM$wWOcxFj0&Q^HYQeMM&N=#(@po8jZu};GFB8NzL!gRp%iph%)4N! zp0i5`X!ZkvDm58Z9J$YPKnTKs9oCwj7SfR*61)m$Gi(OX{#61#o@<|M zzQbULMwAMJs!_HH=VVBMk@dFwRGw8IYT0_zRe@2Yb8E;(0n3|PT8A6$TG?r*z=#N= z)Lm5e1NsDJ6|3kWwS?oODU3J{&WuI@#Q-c7eAjf7&MHbKknM0MSF0yH7YtQ@2l4mo z1Qa5D5pj}glsRLy5^7A#Fuf-%#1I;ZkJK(I+88ywe#jH9N z*AI&_i@kHbRnns)58$P4GVPq~4zicDA7H*f}Hy4y-777M{_;@YE(md66Qy zkVOVE$ZB8(zvan&5!a@O^`QG{Z-VhS2LKBP!=oZ~KgeLZKVohHkN_(Q05#JX)AKz`W4ot=J!LUz`e2wE z&{2T^%u5x>U*zM< z-p?JGkn0Q{T_hmIs}7c9vosJ6&jLV>r`)0M5K}*I&huQsF%E<&vu11rW{j;i2Z-1Y zvU}Pi-7VK?QwMjNQpW0uCN6x+ZfscuVxO<=zs0@hzlV_x=xKNJMxpWMjK|Xeywm;T%;dG290S!MM+JH}*=UEGDVfso4(qNpM zVWInV1*VLUWr}Z`q0V!ntOV&=leCe_F=X&z;GW?uIJd*7c?3Y@kqUl3u1nindIQa< z>uF3ST<@_!HNNHE1DgO~nQ0Sh&?RL1;9U%Sw>x}pIU^lSK}-dF99*f4A*_AxCye;x zd+VpRUwSr&!#;smdj&Z}b+j(ep30%!%bT~a<>`wjQf;+D<>8Rl`29gP=d009s}Y^49 z(6LgMKWq^h(p>2g0bOaO&lK!Pk+kd_>wBj{{9|QUXU1#L5BX$OK?Yr7|kA&y=kdXq#o0UocK)ykpQ& z18RpXc`pTCr=%9*fD39BB@5rZ#E=MYEUtNRUxeCF_ar zto?T}ZJ+aFK_i(QY5yNaW~qPY|9uRKQXpxjg%$l>GBDX}x{}P0S(`=As)E6DDwtLU z_g`Gc)BUyacPvU_8Aa5D`v!vS(U?|`v8@itrr#sjTP53m_2OS0+v>6QwE38YnHKRQ z+c&g;MA?6Vzbdt{zDibIXcwjl_%#76G(_~T+gGye&)%s@e>fa6g88nF zeU(<;;JkemG53UCadE1{Z(aoL-*Y29y!mFJpriJVsEY(Sg^tg!d+IaI=da$ebdD*4 z(LRdeORWq4$%)@iMFBl+P=DD=nNlDpuIm3!&<%@n7^$qKD7D21#epoQe+S*fTp*rD zhM_Qq%D#?3lYUj19#xZb=Jj4WGoC}fA4XbZZS?3mpN&;|!ZG84=Sk;2UtcCfJZ;!a zCyd658JS`lh0^zw$b9HC%L}bDjf?2N6%_={_hwNe82vCxdX^g>tJP2^BB~Is-o6^n z7=_L?h>S`NBe`vRMk>Q%u+qq?Qov{NvIvz)t8=G~|n z%uw$s;(J4pMMklMM))4O8`9mKEr(}^D0!dyceVI{ni>GcpsD2|`w(=OA}Uo^s*BZ8 z4#hYXFoEWZJAPoz7CCdX3`3P^U30%9?;y*RB_) zzyMUjc>z@UynmDK7x({i@v(Th>VeL!G8gXBvqNej1oO|EaZf=X?v1(dV);Qbj5_K8 z^)u(Bj9}vZQhko}=b%EX?hM{{cXTEc>}~v~d?wIl!1KPZU&(sCrpDJI0ay9nhmQSr zhT5q#MMSlcrnsr6V&H>`&C^-8@a0^PU73In6G3ekfIo<`L-F0JKAnaLRt&%u0B95} zx4DP&ZU+S%)+efvDU)ZHqw&3ojRTPKDtzUBX=5GwO8fqv{&jnfw9E2 zxI%9a=fYk)L-iNb zu{%^&X^#~Q6+8=~fI^5<=K%9(ZRx-lRyEw$6ELmNu&yi#Aa+chKB{I)TP2cpidF1^ zl_RmI=-Pt4yz1**SjF%2V0$-?#o8Ca>=k9;QXg?v)m6dU1YHn-*m95G4?`Ax4~0X^ zz8d)DX^GMH0Ll==hBnDy^Szu09re{#qq7+FTc*=7K(w_0LMx}LInzd(ImtmraGli< zsa>=%#bvsmC?`2 ze969wL&IzGJ+-l~{dxd0hn_(Q_A89Q|01&t#nPfzyvMUyz{OKID^_vdDo9yrDqzXb z50kK$j>|JmrM(WIAHD?T&G)@kh&adX94Zw^>_ zF|OhSs-Kmf_by&bTWdw&r_Bdxef}N!x6}|k|GfH%4BZD(FVs&wCFcHhaGp~vt*@3< zrwr9qHGF*li>Pz`DIJV4!hTwn{#UuF$6A>yIX~xD5p(Y$bX$G33HiQ#c|-YKOtNnZ zVEO7&0zKn5$LywZQ7NBgPMgci+?WzL!bQ{O=7;y75+|jO097dZA;rSU^0IOas2<z@D^EWx`{KROXq;7N5f#vO&}=YcjjS!v4Js6%T%1vwz4Zn}P3C{_@7i3+q%RD> zK3DFOBb zHPq+PnZZ~yV%ZrWz%|TfNiSVa)3{H7%0=^(;_WcRLyB%fcrjN%wA2WlcM7H`tKyoV z-9x+frV5CgciOCT4FUZfH-@&SfQbvZs47-3+xHXR+%^+GjMGSDZwRx^%2Jg5$Y zF#^f7LAmzifUg)aw~B%0`12W9^)zY~rDGa%5|zbQ^EyaX-0u@`wOJEjSk;?xT%(w# z!jet|o(cAeRddGc&}bo}=bix4t-MY5enEXOIDjw;QQgqfVLB6rR^1|ta1ZJ{;r=mJ z*qSbyE3No8s9-JjM)VWFpO(GW$iEkWAR_^(E_IXHI2{b3VIc4Xr?a+H8AR}){nl44 z*;WK6;<@dOT1|~$Y}C0512>#Vxf@@9rTFU_)2jxOtyjL*;C!2~Ik|5F7}%Shh90j* z?~3K@k(#1S%Vj2crmp zTK-L?kz=IGl>m@dy3=v2rPTE42n>PARWf|58Zp4Y-T;h+)ts7B2bZ>kk1dE6B&){1&_L3gm90Q{BW=m3c7NA@xF0~%G( zkST#1093eV7rXE1{3^T3!K5Fksi-k$rPkpId5i;Jg5k-jG2FqhGj&?2U~$ z2P&cM2D{>%Ddc+ZVAP@y&(dDu&FyU3AOixF3xZukrE5fp&I(C)*$ynU;rpGhkq-2e z7Zr4k>@4+o`A9`@pMzk*vSO==r%SfLq83P*y#o$rfx#&Y4D$KdNA3=SoCPP2cwcAOc@f7IJWTH|1# zj!H2^2JaTE4&6*Lc`)q}e57Lxb}ksgG6mxul#7?rbj7&JU8)4F|Go6{svLAF2jn$76d`&mI(zMCC?SbdxE= zcd$Kw-V}7QO24*0`5r$8@FjajJQuaH#yvCdpO!i~e|HCCZuxT)_cKD2$6PCCsCkN_ z2LdJc<^;K+I6oLdiWda#zhv}Cc=TG2wJ&8`b%V04LR!1)WJ5KV@}m0q-vrz0u?C-F zzfZyMcqyX>`Z0jzg7;-Rh5yVkot&A}_g^imu4?61LLVUJzE7KHoyFXbRq0DH_fyQN zZ=;p8`%?qtlzvj%+O*gF-N`DzAL@Np%!I z6Z^eyvI=v>;yU`Ld38V6(Hc_#=R)s~FLHwcHd6GH%z+tr^{(crk}g25%z$drzfrqN zxS2+Cg!>GbboRUBzWOFLf`n5jaS@IkC$IKGN1bJ_HTu$+_5z~!bvB@59yb`Jnx}8H za|ct3l(+f#=@``cUR_6NnjSg=gbE6@)SN;k8$|GsF4tEFMnCjkD*ms5VPWNn)fpTG z^>I{B5W*N_!BX~E5o~mV{N5bo?5rXhqHkbovHuAOTP5d1D}r5XWf!Jye6He}(qw=R z!tF>agf7@w^@QM$7^S@~^tAxY;l5b@P*yamA` z6=m<~_`u1a#+A(o+>fTN-7DJ)M!6_EX^YeYi`GKN3t-jV{zm@(FaJ?K{LY8+$tRyo z)(1YT5UH7>>?~*`-O5$<)Jj|L<%{;0?B55Aj|p;o(S9c9av|64o3vR!p?-|N>+S&V zt%N)76W`}P`r^9E_E zhXep3Ek8xWVQ`%VfGAohz@w-xkiL+qLDq&=9*ZREdQ{0xdrd%KRR9R%J2)6i>umBn z7fJ{FWK8pzwpFd->KkJLdAiVkIG7VvYwFsGA`DnVw!H2}^&(6w2v>22%N&@)_Yg-9 zV3b%{<^x%enqG)|EZ6SFz*Gl)yaA|q=pStD)wBh$tkfBvu2VRti>!MCm~$BLe&6Nj zFqu(7j(!h)u7~b{>3ZY!SC;nEWza_f=dH|1^Y}dgq>6n>z}pz%YF_JFT`k>?ai`11l#U4Cva?=sYt`u2RDc_fw|(xgHk&-dYtx z2Vqv04vT+#rio2iRw}l>}n35edy3yQisP`coCunr%OO;zwO`1lcF-JR~hZ& zo?tywAd^#kzkeX0vZ>AspmjQrSUpw(#qg1`jr&$MRF$97A?qQII#Av`ok$F5pX>H9 zkR)MxZ97*xXaGeW{L>CDk0V3Nsy3=2Wr2p?&aJGfQL17*kN4>@=hW>9*U}sY1%|e} z2ia|R6k=bWEm?7Iz1on4h4byx_v=mCkM3W~c>=HiY~A1M-nd*Z$!uVmD9 z>IP;w!OhHE47T2Ds+6zZs zE-=7VVa={9>V=LhG)*_Gjh#=Sa#2pMgl_+S4xLn46vxVMl`H2aY=ewjG~itsv5%>`4MN zi_tcQ{q4m>7&m#Wg2?aPF{zU;TBZW`?|+Lc6k25yS|q;n_azI;+$h@`-5{wSox9Gq8n5oZAC3G|hS4aPZVskZ5zI7_@c0#v z&SMLz{$&1ASDDr0%n${YtkRFC3$pdOPa|6`PWs{uu`INDYD0*l_822T1e!*DEH58i zHb$Ndyy{#dOSB}av(84Qn{A+`S)f3mM)_34dZ2NjzZopW22}T(WH_a$>u{cq)7X51GL)Eflx712gmT+^W;d(9WBnMN}sjQPXIr- z7o6Y61<0Cd;ANlx<<_8~_;=m^)Q<8vTeghm~hKU_#PG6E2#?N#7> zZ^rO}<;hpdG!jh{9ipdO>NcaI$GbeMcR!l=AAYs!DhTp+7H1IvxQ8ZZ7I6|P6 z2KN4-6|rKU$46OTouw578f(Y68-cOQ&^!D(|QrwhHSEkOmmIF0hOml_~LEnmt zyb>rxw6IR&wM>0#o~H4BVjNBdW`Y^%?!cb}kx&v*dMYTNA7{a{7eN#L-nBy0f#p5Y}JL--c16aP&0@T3wrG^y@bLtw! z>WJM1A@oBU$97PsSMN>J6oPih$!B*u^nT^VFQE3Gh5*ovi$9SR7)Th5Jh|hpBwf)=FRpp5H2r021}p z!h*V91cYZyDhH^@SUSNd#Mq(#a|T#z+FRZ?mA%mWpM!}9>JyGY2XFb+obTlara!KeWAcRSHw$P`(@hAzvxq|BNGOA}C(D!$a{9PN zkO=HVtJ3%wYe9iWO_3raD;_LWC}b!4F-LmT(KNYX!I?Jo zsTt&px1Y+@`7=2`KbN~51llWBi6g5$J?D$dGX*z{QB|3Q0{dY0gbS>zjDXi}9J0+S z;?=Sv?J8wAN3$C{m0K};i)nvJ1j zz^*2{SAEVE8GZ-aS`z_wFr^td+weEe!ru?0UCp@~$3jT7M`_S%pb5`wnIk zr{5d9t)ryDG1#f+QPKRGl_C$e$KrPt7X$@jeAlxMS?4x)uTre2k@)bJg3vSz;u?)POB%RsFW%!(!3 zD$T{^V##$Zzq>LQnhBHtlugqeb*??ewgR&cz!g$>*UhC|RG<8tW?P+VF6Q2~9a-{d zr!>${0avF!dyLrh)w1f+x{snT@{Mi;3*FhHH*!j!%Ef%YZhO~YJgSdX{w6uIeOr+^ z@LtUQU#iU)u`v7Z<8At@sUaaUQitR0n0NO^7k2&gaPs@|%JGDO=0ffz_~L!jXhENE zz*D#0b-$&9;vfc$jNu&u>{8shLP|kZpa|Mb=exs0o>C|V?08C(i))Xy8IL25QO0U2 zBT(m+cAAr53ymEqf1}TS5^z=bn`Fc+ zSqeCXr%B6)c%@R-7d(HRsng1WtE^fXB3KZ}Zs>4p^b(E%H~z}B#Ogr9N7)0n1gRP_ zh0Gu-?i)rBKogbGTrz5?*EwXMYVzEr%LdSafWswON6h!O%7u&sTbcq4EU?UAyuy*X zOMiC5ObyGLXT47VjT`qccFwA&j7sY)(MX50Xm=F5eokX>DI4l6sm94VIrz$&p#Btu z)1y|rQ_<};9TY}`S;bHtJU6rvb%%2YU=FEy`0lK^kTJzUp9}6=882E13D5m3IZLJH z!K*J`$rrzTCDpQ$4_|&LKm6ejOJQ@2iKc0F6WtwecxNDTOU<1;-X<_@ zEC@K=kEQzQ8yT_=5}6a_{!PPH^?(3wdcQhLmsIws&Rh1n8rKn~wb*YRXi*&+WkvDb z3CGn6aUM@!go6%;0D3!OtP}ms6p(AIqT_Ow77|SZ4@@ynFBD_T!Eq|n00EpR3u-uG z0Br{a;#`=WjG|!*rr#clN(EwmE@VGV*A8T9rydB(y z0C7N$zhme+TV<-|91J~}-jk0N&bJ*NWEQK}=h1gZ0409!03;lx&UCZZsAdRJ==e0R z)zFzMQyTH^-5qYZeO{udN6`MNN~1K@5ExQ z)z_GsxFnnV&=>6J^i1Hm^|9huRTflp`<$tTmiolL8d&9w%+BVf>oZl=XhU?SNi|v9 zjJ2aFcqSD7Nb|X}w4l&ng7E+rbiGiUX;Cd7Jwt13#S!$1gwVtfg=ERyWLhiu=~M_k5st3(zG-N@3@aBdrHSg*A0$i z=#&Xho2NG0E@b<&ktS=K0vz!Tla@+VlVOCSA51G3(>7(A;UWh|Vb65^j*<-!dV=k> zfW}j;=~)A{A9bu~KY%e9mpK?YFDRsQW?`V&n$HL^hz_})%Wu}<|+*5xk<{ljT zZIRglkt`@Q=vsLy+o@t*W6J3a5VPiNt5cv=wCe!0I#e2veqMj)-woU9u?7~_T`A^% zVy8)eJnZMCd-rJH^}qW_1hsm606W2+H&>`t>`-+;Jn`G4JFz)x#=Vsfl%p zc2?f-&{gln-2cVeJauqvUw0pmRBcpR?R7ghS9@P6T}RrHm5#TlUw7W7>auW!$I2oJO-AM zKhSXv-HL20sgkp|Ium`yYE)25p;EExseXl~mgUqziCHM~kQ}Hg88^`NDAz536&url za)Sqdf=1PX8bQpaE9x36llNALZTj_#yo;R zJQ%QuB!Vr4Apz(F@pn`gEK4a5g{UOb=Nd~jX!~3Cr_4QX2aUP{41`fcO|)8Q_=DNC zH}-?41)i}=&%iXx%FzAMXl7`5O51z}3J5NU&$Pnain@-|ofLSJz#s;>a(0`uTa`-KU|D`Nr9;tG-9*k`*j zrxOIpg5eJSISXJ@q+P+0zfI2PSzQsl0voMbL3~|V6Ah!*%CIE#Tx{R(!5eg^wgigD)D%|OWE%38*TZ$!t_x+= z>AWcuqsgqUJ`A~k0LxH$ubdB>%C=WVT#>%FG|;S$b?yg_!@a{1KjnzIQ*hb z^sSYAH+F|b-d&G`f#I~wY^#TKZPjAJ`>*2V+7D%j9zSnSy<~NB&SUat2wHGotQuas zOkeiqtQd9hTdv10SYGbM-Oy&6%Gr`Rpl6R7FpX+Q3Bi{jqX2ww@84ANp*R=bxu|wh zYwxS>*@JA`TY0$Kk~MI#xsr?Xh5b4~BCDlr6G+vhX}n&hedp$$;0jU$`!>qc%NLqT zLwLQ_N^-K4n6KSvg*$OAq_&WYNXLbpjfn=c+|EHCHApz*;9Y5(2LmApVUFXOLi00g>mfxz_{&S3?mf9#WrCLI!}XXJ&YSJenZ5>RMV_CiJlwxK-4Z zRr3J4RrUA|M-xU5gUyrb=#3izpJ3S<9s5+vDgVNuol%M++B$X0fAM=Be_a_v%xBrC zEu4Q*qywt2G5Q>6L&10(=i+Fi&<{*=5sV$|bBiXecnP?ws>jlKA8X?|2b0Q}rwD2# zL1kNQtJhL5D!Hm5$o}t-ZS`1#-|)Kn=TXevSZUP>JZDZa`Z5iyvVEzTd(brO`oE?o zze2+zc|H76R>M^mb1xmf`Ay6jRNoeW<>x~?1z>pza6JHdwyip+^6g#!efugcocLP_ zExjv>Hl`Ss__fP!GB0VR*pjLv}?vD!0A^{<5RD&88Q5Ee9vUcK zLDB%egFKjV{lL3`{=!Ii);on*IzgC90gdf&&8mPZxch`al>;@kMFf{7d=7TiMf2Q5 za`#LREE^0v>ZLH{?N$M}sGmC{hK6^4pmr0CsV=md>QO1!uUbPIjjV%4BH>u5Hdvjb z(0i+*<0AHa?slv`zm|>yHODBHyrSX7d+HBngsFZRoTTg9H>@c5w}1P0^5Vq{d3*g< z-afq1ie*b^@LkB=n>*QcTlwJmhw|w!K9h@!^ArJYRr4wt*1bgxwKCk6#wjcPCBqff z1NT-nsuLAGU0Es>_6z_*U?OOOOGLtShA9SU}*heY-c2b87h1Yh$+5nH}Vn^c>95%3lX#`zTO? zYk69ft^^?q-j@ypQ$(q=Ht;vAS!FX9)@}+Gh@Ft<@iagD*~Pa{v5frsWuJ9r4;-Jt zD)>Q5i9pT_08!^=KRK^opL$NVo>Ipswv$SG-iA2ddoP+Q>thRjHOx;KdF_b`gSd61 z7XnDxRHNv5W0el)shb>+u$+uFcPnG*`TWAzq0e}_^ZQfK_dr0*#m&p6T2CWWu56sc ze8=j^TtV|{e>k6}diFMF4_r^mK6}-|+SnE4nEJe+o|&p5n%x?#VnZ|02qB)rBplJDStA&7ygcoVuO8Z~CS7xWw6HpcZ>#TBSJ)848 zOAQ714loCR?~a1wOHI>shd`8dh``Qe^K=Y2i;0;d7|pcMAcKR!m7)fXU~xURZt1vdb+_8VS_{M}e6Q8s76u}mYDh`P zwbbTO`;LJon_t+|Ygs(H?zv0@b&k?KyKWH9xqV20$!aB+muaurw{(8N3gH+fpXvVo zPF9+Jy>Q zvC1#Os5U?2>Ij7HMTO?|o#fnU-^!uYO3tun7pbFQyF=!oqkfa?TDkU7&v~Pa{%Dl} z$LEg%FRrV}%DPzVLr(zE_0|^EGK;zUGobxpb|~zlfmJszd9SFztaG5#R79MIfbY^+ z%G$@C!03gzl!d1wV$MKwO3$UNYn;>Vb+5KK+Rrf;-SIL|n9q%AS!r6FYPZ2|t4%II z1>#3}64)id=AlGgHgT$bBf!abr>bYns`>jWdCun#EcLLX9}p*iih@=E@>7s4zLtmTQ&}xn@^bmTv`)U% z;!ol0XO#V0ZJIWl*76isUgQeX;Us{?Z)Uj9{IhqFnNDTvxz?Hg`5WcZp=|siIS^~B zgmg;G{p+aGf1Oq`xk@I%X)*UPS`_>DV(!1$HZB?d_cF>q1(^KEVuBYy)3nOT@F=4| zW>?fddzBO`eQReavES+W3V>_IF0EyZT$PJ)W&@g0dFpuMtlu7y zq(jkZYTllyZiIxmnQh}W9YZbeUQ^T@#tv9cyeBziX32(zldxZyO%KD{vFI zzJE(V>Ocn9lOwGTP@Yw+enEo*1{v=sR!3=uWqE8(%Tvb)`U_57_Vo|P9++{nOHN8 z6+UBB;Jc&oMP^uxH11YKdKc$jGRFSl@BcxTmyLYz^h5dEzxz9BtJL@JUCQ@<>$~#i z?VAK%y^_PtLH^|T|5X0!Z~jv5-|l4pu$LeG;qUUEzxTV}p%JOfmuS_C6!-x^MlpG- zAP1v|V9}uZ2mtTE9>96PVAxwU{|WSz(%4?NuQlZ%jn%WoOM<5Nho8x9xRHxAH_nZj z_vY{gXEMZ}pC#i4Q}WsJ1%V+(dqZHlAdD;kT)a+wrcN>$Kubo=SG8)BDfp@BD}!ii zqYHaa-?2^sE>=6-Xc}D6n64$wkv@>l7hMCHQdl_f^LH5zH&{}oV7F_}fghl{CiO{{ z6&h2qdexxAALmKlQQLyY0kX@nR5`y!H13-gAM0rYXA(MY59zK zZ^no_kTKh2_E>EiKrLJP$CQE)sYQptuAL6?{-_Dzq(ysP`GL ziY7{oMqz*Hj2(3>#I8jj6o{rCUsRT+I;cI_ZDmv8`vb?J)Pid*y=np&V}HOq3@0sU znjq#O-qpE|oCnY<+bg~Q7_WPq&sdK+J|P|f(_N8fg?*;0ugR#|%TAdN)X`H$4fa12 zmFT-sJ4Dlq(>l6%!G7R-{Hxc$N$cPt2fU!?$107p^}#b6kamSa6@enxNFUpB{UlJ1 zl)paB-+C%npp{KKW!Dy|m#o-_v~x>`n>T`H04at_*)j|OO@-fiZ`gy1HER@cpSah` zfHyE;I=%|dG@*QF_3sMs9CSUd$eGHO@S38CfNKz8Zr$A6BrtEw>%4gOQesyzwe9xp zJ%cXQa*=Ib+}}EZS3?TM#YLJ!YoC*vs>gLTsumjcsE{(lD!nQ(u&$fQT3r!*-tc#{ zqbfqJdQVKD9h4!B=OHVr;HUEy0Xgo`CT7lc64mUGsG6SDzHO=J8Dsiovtf~FeYOYH zc#KN}jgiKuBJN9Slq&E-wm+E~4Q;>*8i>P~odZ$ME5sf%(@+Yn6HVh)q7UkQVK)apz&UO@U_0niE^VWb%@7?2D(XgttfV>M0#11V-< z06N(Bs#$8{{P-^Qxua%PFaTH6MJFs11W%Zn+*&|bD|U*lztQ{@Fzg}uGYnSwu?~6d zRXg1NY`;+kqNXPXv(;Uf)~gqm;Bm-lp{7Y1M^MR|rus?-W>vnU%YDs(gW&%c@>pcQ z#K1EztPs|hBv@D!=Wv&?LhKksy*jCCsO~J|P zR+;8iF^J8M}^XxlsUlsd#EUV7d+~7BSGXN_^pg-+? zBCFxdRO#c~*Uwb2U*!f)H3zItsnA0F)n?604|fXt znEr|L*AQ5zF$Lz>-YT=`Mvv6Ea&1DD8y9Is8CmEtykvb6?jovV#twlf4!Pazf zl)3b9QfQW%SmBa=0oa2z^7D7`$7)dH+-RBVSYdlRW&ku4B*phIUTiN zJTiQ>cuFu2&iZXKdNH4#CNSzeefFyTjO+!Z6rMMiX$-G&^vzR%yi(d7h4dq<9s-y` z$_{`Q70+%|MYg_^t}5!^@}5osWOvs2wvg+}WDzDM70YAjXm@qy^{(fU$cx67dG8u_Ft|7;tODc;rp;McxE}iFzz)s}5TQ(?V;U#lqs?T@2Wn~USjjItA5||myPIrRfz?5W zKFtvVH=^a}S3wzk-3fLU#)Op?2Te`6uz5xi@qRzif?}d2=SF=5p5nP-i~#B=Q*j(8 zJTs<2nx+Njt5;ie!F7UYp|(`9@!l!C&)~(5zb(H*10Y+6N_^)l#~c7D?$;S+OpP=R zyY-2{CA7abC_WKYvkE{7`8x)7mW@otLYHl*mEDMYEA`#<*aP>i$+ak9QRRR`%Zj=8 zG6z>Y71ytib-!xf%ESI%E|*tayTCGD8O!e>y*pls&K96ge8c=&Yr$K`RZbOj?Tg+ShmemVQ93QEap7u9y z9=ODFW-4avEk(_3tidDzPT5q-{-G@(#)uwFchiCgL6n94nE1Q0O;^-{(mArDebiXB zJv4w&s3eGUyuN)cXJ=<}`Q#$)S+AMWzF0M~Yait4v!@J5y}3?-q$dhqVcp-HopXOe zKb4uI`iK%05U<0Ac91f-Wz=N~!q4#=4|)<Hrl4uBHK^| z$bzzvaGwCq5aMv|LjXpk?Y~h-&WyPph%ejzJH5^2}~;txQ_k^HLh&$tmIgtBXW*~ z{G13#u}a~o!cAp{gh_jqUS`K*Q-;QteOR{v1`S4k24Dh+!VFqXbew(8du zbNA0r9aG9d<^AfEEL0)p{*3@EE>$?$SGbX~Bk#(K{Hm=y2m4~+)f_D2cjbVwzvC{07wH$bITCrC=^xSnTVk@Vvuc?I| z4LD|)#Tny^cW9!D(>&r>Y>MM`%8f|xX)J-OAX#mT`B>2dpo0`=@o0@=7ttami%FkO zj%Th8qJ|$qD+0sqqwf)g=VcUIB|bza?+}k5|b#KgjbB zp22s#`-`g&_>57?9b>5AStLUNOd<;P z#=x`|1+i8 z!yBY^rg?Oh4B6Z6t=yq9W-?v@=Am!n`#Pnmb65sV6H&dWjks?^C2u$EM&;{Kg20ajKwB@3v9ihMg=2)iEJPg=&Lg{zIao#Qs{(kd>>m}& zUuFOWU0=)!W8i#;!-4mVbOygZnLvXH*w%|Ye*jc9(j1LD1;WE-GNxQRLz|hso~lXh zDrrx$4dF}DK~f@HLQpCy*90!hr=Ds6r^I$0lT{dq~q9fJ`osB4t-~- zS2x`o-iHcQYgM<4a3y8%&Q}aA^0A^r->1Fx5cV3l3n8Zv&ztLsVvSSn#2otxQi>EueVgJ%;XQQi_~Yfm5RZ) zoMDaWmbu-mb4uTHvb2KR(+*tddexhTYV81^6_O##T`ChOSBVU!AP#|51Z7z1K96EJ zO>d0$TAY=nBJ{!R*B~ktup$#&wHj-y7Oi7S({u>5AJ$AeQoT$7e~?hnplqNWsww>k zEslc}{NZhy!xs$5p)e0;Pc+ceSc_VOU_*dRnda@xrp39H#SB}|tMBy&^wkzrWmw3@ ziPe`0aA|O>F)h*&%rOlqrtXggNHjR)vNpzP5FZB@6YhFq;rGY()EGhoX#Bhvo! zK(hu{9e5fnQ(~I6qMBk(gt8D;jK&-<)1Alvw=lTPi8SY`IzuafPr}Dxvd-j_j?J~2V%CMV_dlv{ zK!7pcr0KuqUiKsftN*XS#{qS!2zuf zV(wq(M!xDzJl0OJu*yGwshE3T(Rr-pJ%IHu)e7EHUQkBh>J;dtzZyZI`7!f0*3t9p zz594QszfjxMA8ZzLvht8;}#I)aUpoWzo{WR`8H@dZcSn7>^QGp_zn##6KK!lWja{7 z>LEASX3~$r+&gvVqk>yeazz?7y!#W;5f|oeWXQTgC2jZgedD~18S83PEHye<7#AIB z`VZW^;d|9`!Oa^v{++0U!iY_!uwn>fzO|=6RQ8;D1JiOkX4Djqk{XTk`q}_3D6Qzz zo54PfRC%StP+f|qENod7uN_n{dv2Vw1hS*|O4A0wF3^(q z(`uw}3UAZ1e7<yIBqU}ts>S|0S|pHv?$7B+F?u=VpX;va#9eUDO-me@!gwvb7Pgk@L5OJ+c85B z4gCWXXlFnf?xh3*YCG?oaq0rWTG-)i0+P6nmIEU~t)75?%EH+hNO^3pIVcF>cHDQ#ej;nC066jf zfUzY(j)d_28988jYQA|Y=P96L$JEU}&&#=fnrlmGy5yF?^}N zt}!PTg4DbEfsS3>gq#ASOtCXd<608LhQkN&{2FOkRnXL8yqnlZX4N5e9Jc&^15Kf7 z(5kJJ258tf$bhISld+kjvUODVDmlDO)M|u5Q~D8XDFYYtIf2i|N}-loNVbpz_UlK$ zFBOT8mWIWBW>CE&iuzW{Zmo)RsqwcJ0YB`~0L^-8{q5};C?mre)1#f!ko|FcbIah# z+452z?soFz$rAz>w<++1eF!Ol+wE4)&(DboFhH2b{pE`fOmJHWNU^w#rM)uXWP4I? znpo8Ylf1PG$-1AmTF@uZnyFQ+V;=zA5^-Xh@0;KD$*PkXTE zRCUzi(sAw#L(!@s0$Njr;TOLD@w^mQafl>6u20oqeyYe@QHd2-cupEUZ*iSw0nZh0J$P0@a#)f=})n+zO6P=TdR`;RnpEtV+EkLSezDmd*8mT zR)QOk{W;{#z`vV2U{U16b8jde8U$T3s)mN(mej6^68Ia5x==xz0EX#o zX=KDr!LVT0&@=~>C?^{&7*Jzt4x)^8)#N^79O-b&Jq6(>qlI*+XvRzMN;7LwW**XX z=4n!TPZUf~jsq$FxEDHhYl^eGfT!vxXr!9`O?^MFp0R(>Jy=tiRE64As8}O+=*y_H zR%P0`0yD~*!g&wLpOMu4!PS0#9UA|J?L3bOUhkQmkqn{=SP3c0U&FhmjGL z9uLMB*kUj`vE;U4m@)983F~e&3QmVl1CM?oRS-@aj`2!cF50># zTdS70{VReca5j*7cE(C#2W3e`1v3t0w*knCDIoMZ_2XlfGzSp}rsD1i;SDbzdZ z?YW$GK=FQiB|v9dxhOaKIM)#>8vsmzC3toYWIF2#Ysz}&^rEj2t$vIhbl=@`OxF}* z)wKzI+sx9Q05Y9oe*we?NGay{qB*cK2f^n0T4)SfIJ?XQm2p3tYBTF^IQl(UHj43jrQ&Pk>`@UcHfBwUcL8&zZV7c?QO2!k9X6 z=5yr1s&F+0E0`&O<^mC1EC5*QPGR0hEjeG__nuV*1J^>dtvQbird+iX&`DW!>-0SD z$PPI*@8Ix)70IFtX-?qxy50@Pg6eV4bNJ@~$KW(a24ps~^Y*4AsL$EwFP_QPQok0a zyU4;Mvp_~!BtUHJaGy+N#2&-7>!6Ncy4_`y0MY{hPGwl)d4s)Cg>k;(8Q-)i$gy~4 zfKKF^{<{6*q}}Zx_|xWv-Um{WZQSotl>OfJfwrv)%xTbPP_T?zkd|83S6us-R`nO_ z>W-;y%_!(@VEST`N*=7RhyJZIphx@CC^JjO;D|mm6$D4~J)Hn}x({5#*;`TK39F4? zq&aiW|3U-GSzOd5tdza$eS|aZ;{q+5&1NI7-h3|4o;}mlPOM{#9d#Ks@REX2=a;;u zrtA6qSP`5&7}E|7I+6gkTBiOs){n89xDN!{4t!6erA;=pO{ftimF)|a6_V-A#u^av z$t=!sq%Cb81vJ`ZKlSN+O~o`dtpurQZyrFc8DLq^KEpFOr1kD#eO30*cybEqL)U3g zzfhzQ0?5x*j!Cola#@&;ON~rwqz^yOn+R*U`1ud_XxHbwW@*^ zN1+Wf#4OmJ_O%c!;gW^?)**?>>@PS|sKpqLxs+eB6aX!hpKMrxC z`6$6X4P&s$NGx$bY7US^83`i}US&Vc(u=3>Sj^ys+TR6pOGY8?9Dql5M63M=_zpIs zuT=`hMtRhY3e)#|h*s?~j-MLJ#WX~W`!2jq%azJcJgJ|*XIp*EhJ9?cNWR4ZcA{pN z#1qUn08hV4rd|1)cV*RmV*sn7eu9d*Bl67)o&c~s#jj*xJ(eT+m9Om;E@pt0U*|E} zSp~hWvx-eN!m8KRAy85Ged;!sQ2#an6j$;jz8)ObK1 zeyG6)YdOwtxZ?Ngg)&Ms9b>v_x>2L0h7YPckfK?r;>MEGh2!mnV;Fc^vFCx&UR3$x zILFH9`g&c}-#O42p|R87(~wYIsx=KO7-HQ}=afu<9{650EudNRl!hXx??@j+6`Zn6 z@-`VeST`BP>s9C$DUNEeEV3a7@M)W_1w&RrF9qywyH|{I-VC2}(*P)64_M0@d9rw7 zj;cCPOEM~OjZFqDG%}~Dj)=?;@pDFVKS)vNU;OMB@}K|Y&r;x^m;d(X|4shjkA7eN`fonv^*;X2$MWMJ|5%pa zUC1B(>HkKsalg#@`LuRxAd$82btja##nqh_DB=NsgdFb zBVRSILNaCV0Xff@8os&IRTd^i|2Hl;RL-&pCO`p)jXl& zcQA2lfMNu*Q~v-YXr(Kpgx+(^z_6-8 zzJ>`~iO!_$neK$Tv&2e;X8eb&>(rcF_5hB+!S)K2ow1pfrKLI~JAzcJBh4iA2U<`E zGA|F}mEaQOrTs|%P`gS_?8{L>54`pSAPX?S!IDy>9^*&wrhCW$PwV{+wSiuv^TITs zN?Cp-&_V%wfHOm|b$6hH*4sK<0(qE|c*dnjyK0B+kH8?@JHQlN>%4NUv%`_tKGJTG zT6k`s?e}}rKO0yar(_i2S`WjNsfNZ>KC%?Rm>hw=n(OB%rVj0%yNA1E-~+&VcJv6e za7UflQRRI?3k~<?zGi02w$h z(u&J{tuw7R^c`u5WZtnXeML~TYzjUPlQG>e4KjhYNbQ}CM_GKuTWh*E8(SMyBkbX* z&v;KXm1;ft4Dac>8po|MU8}pam*D*ZW1#7moWHCZxR|D=gIT=^7gpI-?c{U0%ytFV zDX@@MTm#a2mK<;Z^;M`Q*%4SD!2o%>cp+Z(3+FnJ!MbJIb!lSbxp!UKN18ps4KngX z!3s^y)ICR2mrn;3J&ke^R(X5@Tqp~3nS&#zT5W|SPz4sLkh?)s=6oOX0E05i%nl>t zMgb9mM_>#0J$0;JJo$*nyTJOx?pB6PvIEu$Y)gT+o7-FN`!S8~+2TsJO znpWjttoqu5Ry(qq(f^KB@{|Rp!0d`^KlW@g(2KRLwlp&hOl&!}f#bW(dx;ppxgfhX zG8l%w<%-ZIs1IA?a8M@G5;6s~&acdH30jR8jCT})(KNPEZ!V|2i3Sb5dTt~z&=Ir& z=#07G8mz(CH_9Rduyv)uF#y!*&&py{4N0x|SkdNW1<0UPcmbfTv00f-#0rN|HMW$Q zR5SR8-{Lc9l>$)G;E39z?&}d0vjC6YM|YGVf&EOg1(pQJ`0g6B%KaIwg0`ams8=Cu zqXs5>rbgr0t@E4B08gJlu4HN8{>WUBR=lFM>Sc)q49E3A8Di!$44zUQ3kXQ50M+F4c$8FOUYG%DbD!OR6Xw4mV{e$?0qzm<-qPnFl5kx?ir`{F z+%U${PgHi{Fk|TClNDVBkRHqL?VefTvL9&oZ>u*fc(QKJQ$X^Q_iU?g&^9Tcdo3wA z+w1$@GoU!rUPU$Y1We8|;vU0&PU&EwJ(g8h|JT&y8#cVKxAAjX#tU^4L{ZmC4AH1y zo-*N|mH+)Z?aL@><$sHB@{16etI@v)uzu~WT(U$$@&E7sjmVto^VQf?eoQzz*Q3!m z`<*Y;dR&xXI#^%*nzpUPkaM+bt6rix`yNr~m0~W_v_@wy#1qv#$14pvY7&YS+?g^O zJ+fTy;Ly#WzyhO4;|AxtRA{HJr|hy}0($8A4eZNNUsrHZW{*ayT|?tQa0J4!heI+5 z+6|pm1+IjBWmQNTUrRc{T83HKZ?#n<9O%>_3a$~@o*Tb9>3gdts2T?=Ix+whv?9!& zh5@2vh!`(S%K+!6SZB4$DFf^)BbKV|agmIAvYsTWQD&)KO<3mNQL7=S(|(?g$7hI` zLi8D90S9Ag%!10E8KU7%e^;u$0y8Wd4zR+6TYFa8+S7=Ffr|~8?3M(G(YT9C>O(Bz ziq}9zmS|u#G^P_kAXv0gl{51c@L2JZT?UOBR`gP* z_&NcC7Z7Gopr%*jBUmEJ{2~|~)Q|)_0smr*?h?2NFbC`fR3p3x`z{&&a0*{8KB9=R z??Z4P0Cu^ti9P_d)+%s%pGX^{R#|Q764GWzrH}f)?mdMys59BwoMoz5RCYsEXu|Z2 zNN)+0EKD;CjEfkiz!e-VtSPmEe!}!=u#>SomiU3$IOQ1S}tltB1ve0YoRn0xu=2Mx9c1ysz)BDdLXb zot>Y_W_j$;yS^3~Zl)14f4cB98rip2P@#YJ;JEXaL@sf^uDO6wFB*7$96PyP? zaO~dZ^PGw13>VBz^v6>G{deBimRdQRqjNWW-|miBfj+-5<}0p~hpdUD?4m6}sFJaz z<2+dU==iK!tF(A@e!d5)k=0qS!@8F;6$t zf+yO4eO?DKf0}!0+d-GGwE&2Zca>RKy=b*bt(L^lB)Gr7 zm(@mtCSc8gX%zbedT(?;!us7G(%!N@7Y(lIyi{TJL)Jec$Wg2f+>6a#VwF*QS2Iu) zRQJf)c}UHy?ayjsst7xoQ+8cvlwpkS+iM1n;-O{$4C$vBltrZ#q#LGO3q{ox#OzeO z-0WYsnOZXO0&Nmnyr6hT1&$z54s|hIrylZ}>s2P*@AK;61e>9Cm7W9s%K}2Y2iPZj zUB5;BGo&A?ZkO7gV69QmK5K=kUKoKu+rNBXEVwrSd^U}?~5l&+~d+SH>y zEQ8UOWiZH8*27cb6u4?^d=43aq=W=CmXLxA_9D_VE0y=qy+GMf>dQv6e>G*;izfJc zO1mC*SmiP!o#c!O<6CE6D~MV6gWa3y$HkbBRUdlD&xiLT3WSd9Uo6f$9#iV|O7;cD zy>F`bTj*LD5Z<+&riPLIm&T&5^8L!hbsNu8Wnp#|X?NfZc2PfgKlO*SX$P!FojkZ-a$3KfkxfZa5!{GLH!vd@ttyn`q^;jbC!?9R4qy3(*DaR5GIRa%2uR zx%1$^SHLFD&aI1I$yV@d&5h{e-j*qXF&iF?`piHfH_Bo#F;4bJY380VPbN^%E63UI z{2FousJUiV;cOJ$W+aI$s@k@@PG#!p#2qBF#maZkHlbj-#%fGy9=tn=Z zRup8>YfH|nCg2BNYie~a;drQ~rZJz3wYsDO|SjfHwtu9H%Q?d;| z{P06M8`}gZz4*>E`R{-E=hOs&HW!TiKlr_mIPC#$vf>*IOLL$AVOJUFr?~*Mzc3ei>&f~L}w`V zAJ2(S?vNaun4G`_R6^Jt<8e_b(*fs1d3)RkDj9}8CbSu;Oz+cuj9(w{;#vCo)Wt8tFsG7+?4W5&D@*ezTVu>G zy+;Ktahx))2UZI_#pFdF0LG~9#V|=d8VJx%wUKJ6Pxc+h9IUuOkg=i@KHr?s{&J_R z><0iqvQJEG8o$*_o#vziU`0x#Y4A+$BaIVuu+G9+9(%8D2w(~ftc^d<>iGKpe7QE6 zp4N)u(S2q`mG_FufOt-L7w&iWeD+VTp7Pu+*N$mrUV?U($~PZ7>Wjs#>GK>r2$;KI zX_b{B%W(rhbxJP_&GpRG;hbt5fgy!8tg;ZkG8A>6or7UyK3Ro2Ki@WX)GWgoEoUi( zTw{zaMrma*DPlC{PBoc}tWwBlHSND@4X$nfQUUJD9Br-gR~dlcp1i)M94jdFbn!v@ zyE=t@U(j00L}^-ZbPC?2pFsK2`Zx$GkRCabKIsu(HaT7^C^Ud-Do$A~B~4D$u43r-eN` zG~d6J!@l6XYJh7n(fM)Cf*tU%ec(Rx{PF|AlHI5Gt4hHPl#pOS6Eb<1td9Hk?RDC_ zF4CWCra9qVY)tU}u-wbpa&4?CEB-@}p>wy}`da5;8B<<^i>$Yn#^otvs`01{Elr1y z8XvWB*c&rSB^o&HQTGj|N+stV0Gq^xih?(7F6vX+@c>Nf%7B(w(eCl;&aBl&=G?;U z)dim)_9?9GDodd6JV2-ob=*+>^_D&%m~b*Ei`{`BXRvBoVaWD43jq{j=qyr`p7S%$2BPZOYM~54l$oH7f&>HK=|}EvG`m$F;B;OXGGCd$E5DFV*Zb{RVcm1NCkL zjapO&DMu?v;GmIsAYSe2(l$^#N8dY7A5<{k^}HMmEx;{1icBvlwSO%j?qG$K0sV?W zIgAHV1;N%?u9gOJ_Hs%aQG)l~{h5(P7R?92J|CwKL3IHOwpFu0!JU_B?fuSsw$-np zLCk&MU1tsS;RN{t043HU{1@#M?lYg4-b%gmQ#jGLhTMD;Rr+5Qyee5(r+~0i=gwm8 z=_MMv_hRn9{#HUvzDPfQ+!VeV|28h`Q?qw^tOH8b?2P5{)zNhaqdI#uLt7wB%6P|MbZK=!t4X9Zr=`gt^$DiLc%3og7m71iE?zln zu2DeaA@rGMt;U#EJQ3+9_XH!hBg+NGKr#|~Y|sfzXd1~v=0jCb2O%W~!pU^sZ?^lJb=Fj`eR!JJ&)SIf;06#)m)$R9=s zsbqtd(cVI1D-7b)cc0fV+;BehO*OtO#ST$Jt1!4r00^kJje&d=fUPe$rqIEffJbpO z8F24yr*i}Q|i$<302~fEXNKKueGs!awh?7n8!9?z%Gd5W2=XBmi za~P3Yu{DOp)=J5*L1MM zYL#_|mc~}(GqmR>d9)n3Q=?zg;`V&UmIbiT6f6&SF!Ae+>B}(Xi-PRiytd9)A!P&dVZ4|10B>F04#oy^M1aZg~>L%jr zK5wh6TeC2ook6C-A8iUCh5Q_y^`>cl$F?BGx5=Q00@MC}MJxS9UA;=HTdE-YbWBE; zf@CKi^P{mKR^Kc8Wr)Xt*Dkh}qNMkMfX1icr?Tv?5@2GiS<@uDP0j??hJ&?_x}^5*Q#C(W~?&tJ8lrn!)8ir7pTVt58f&8iIy##j&}5`89z`XKv50%@0b##B}? zua7DM-ps1Q`Lo(v^;1@u6EDb8XPYJ(hjL|XX019qSfBRX^J*3_SWV7vhJkny5)Ce? z?igr0WF3Q{Mw{rP(!@v%L@v-Tw!d&1rR_AH9FPGGQL5kk?{+{WD9-PA3 z-x|Xi`@QNn#mw5Q$TZh|VPOFy1j~^2=Rrp97u1r|09sYpy*vlgzFJEo)arV8yAeo& zK2_Hxdn#@SVBtCGl+$-o8DL_+(;z`LEHaQ5hcS=~5%~zvDcuYDNE~8-t+t`vu}FI= z09<9I8iO4Dw!$PV@DhZ9BG`|erHf-fSewnYf>?Uo5x6R=*=cItlAs$>0T=a#{{;)a zF*b6`=O2tM*=RLJ5wjE0JW1of4-d2z&_9(>vfxQ9!JWz~L$;Hm0+QG8I|7*)XT3(C z-N=A$u#5xS9T_+obj=}1*E9fLK%u{Ryvs%nsNk6%6>Vz%o`K=xb+0VWq*WHXVqGi! zqF}+yXh2kBw)&85-%}t?-h;wepuy`9mdBS=f-zN5{SgPxj5n#HNVb&&O#^ik>*dOh z9dfTv1*80PNGPXn2qs!bX!UDukU{y3V(w*O zkz+4^o-OxPai6)i`L7MYI;)?^Lv@otq2Wu#+`sKs0$HVS+$r^X4uG>PS-P}UTBrQ_ z`}x0S3$y=z+0mf@WgPnY@-#l*cw=EWyD|K(-$sj2jEs(6q*zq-e8X(B&^8KDj(S_V zdG#kF$mLbb`PLgCHN>Ha9*%cWi$*H)JsR~Flx=4esngw#b2|hBrlt^{Mnn|E=w}rH z=i@S_z*Gct{Jf>;rACMMsu|TKBNA2CAfR3+19XWos0nH@ZL-$Q+YNbcNVpEmhVRT^ z^Jq~=!-l#6gGSTn4u?J6I53M`q!Y)ZlAj7$?sGb!!h%|gnkj@#Em&(Mzy7U)agEP@S9|0ttkGxO+bW3%|cb@h@Ki&7vdUZU=cNBe^q3GEyJ9#VZzhVQW%l) zVg@3tkIu#D@tpCTdLb}|?+{h&f{MAqkR(uIVBHSPh00QXV$J)65y>cHSj!aZwP;4A z&Pr_{fjT^ccnSDEs+jICfAOh&^x_k#mI>+~R`U60pUdj9Az*ZOcPBsi-S5la{=?tO zt5>h&{Ck(I=J&%N{ZRhquYQa&JMx{6zNegu)i~GIR{2n!l5-oE_2gZ3BME&6fQT`H zZd5a1o+v{Lv~WCaM0@vE@*3%VU}C}9!XSDDKCM=%6}cGwM0#Gcv@viHIyrmYouwU} z%M~gJMipz9bPX8GPZuxw8wkDQoxMmP7+4UR>rdk{d5$t_bAP2vl3%jenNlVAq z)Aj)DIko?A0(3$H@PKndK)p6*Af7E8s`F}OVw85p`-z*UFXj0M&$Yj4ZF_U~hSx(M z%6kTD3yd!88Mr4;Z}Vz}4&LcH{6MhRQvv6xo=Ee>_h8YLI$vm*r>c(>(l||Zz?hC| zX|qc@lP#~sweSRBiKaSb3VZ`*Sz0O-m@e~T0kx{Q>GLZ& z6KN@~Y2{79;sdK?W}U`b*Qu6_BxOtaGap6Ey#cWA(>gd-S_5Fgu}Sy1w!#-!yKfVi z1jiAqQIRo<&38Wa_o_M8Im3H-#x&_muB+{!Roy(;@gzJyvX}Axw=5=*01g7ILrxiW zXLR+B0u5Nhk>&}e2KHU-{XT~pV~Ud{EgrG2Xb02=5)EQN@9~K>V1v1NxZ^&J)N;xS z?Cxc;Xb3d$-94mzX1ABk=8P4QSIZ4;8(eE;OxJ$Fx_#`&#nriZdO0if!X|;95!aM0 z{R?~#V1!IA3WtyE!iJ0*?Xzl7D#)gLQ)QZ2sxwN!#)_!`jDnIIoOv*IS%oqAU6S_Z z0YG2^5pjtn(@Pt@2VUb~G7Sp@fs}>Fl)b@0<05pL<`i`Q@Z49)#@U9q{2USnOm#F_ z3OsWJUSP+N1zBkdC9SXocCD>&4CXQ6z^bwekXm68V+LDjDYHU4WL&AX6l^SlIKc|) zm|f+SBzuC|Tk)bk3R>36!87g3!RAR1u#=x}^4KFN3Y)Vs#(yx|8N;FPxB|p06V

z4cBtcs)#%2hdzcPT7hw7F@-P&)NEzIXWx-&`_1SH{h0=oNSFOj=ipAjCzchji&Lk$Wa@;o`P0tbXCQDioy{B*ImJDw8PXrkD^Dq;_`PVUc+3ub1`w<_?WfA#st=!j z!n8m9?SK5$U&wbp`HtM&UCVm4me+3+X!Ys2eDAy8ll{HwIKddMmyP_VKmAX#jdwi% zff`(a%ss5rOKMXrD9o-vhNhE^cN8tk8tFuV;e}KI8qRgcl)KV+g@dO$VOog^R{q{9 zU@chjPR9%2nn(7)TBBBD+5@(%^kl$Gz2S&bIJvtakOd)jfV8g@0Cm&7Vc)M3D1`>c z6=Lw{%ceQwIp8q5qYUk%n*^A`$-YVvE3hO0k`aJQpShOT0DBptrbyEpYC0vMQ9#_q zq8AkU-DM{fLeT)J7N*feM@$^ZP(fK2lkRdlpyV}gFo0`m#Tc~uV8wpHIIP387|Pz* z3u{Y5bK!0Zgqy|`K|E2xbg^^?7nsfE#zh5oV^ksP^BLO-4Shg=v|z-TuIS8~m4O{v z;c@&eKow89D;pd)Fo;y&B(B%&XNMqgE^7j26_GFwQSZKd3N!P z=Q&mVkZE&ZcBQ%YEd2u^_M7_~jhH831OQsuX8(zE zEXbh1%z_Rf);I_Klu@HhQU}KXh=38*WI!@bKp+Z)zk_j%XMuj4xj25h7Qi#?FLgMs zO4*xpjN`S+=GJW2c$C&gP(|v=+`v8cL&JA~mF$d#*%rWCd95;#BL0B0Z0UD0&W=$$j3$$JxKE|?MFSxow%1;MdnwljePO? zGcv23rG+tBZ&q@5d(UTreX1kKzSV1rGD7$a%^u>t1ZASN)Du)YKpD`{-W9dEScoO~ z98^bKg9a9Kvj8ElZK-(&tH23X5&DOe_O#l_Aq5N<@tpf2?3fxN=jr|e(+IV&3_yM8 zjV@~q4pG*@DjMoqrHrOpIdn{Era}Ugx)*bz24`<&`LqRnjPimkD1A)--9)-3^diXnu85eFl&Q>UK*GcDTDfYUn>5t6&KyN3A8Qo z83W3a=0gH&Q9$9@d$!fTSi@cf4cV_N=Kib5N6nA_R&(colHbUibR%c^Mk<+-#pgFt zrU3pbtsI2;x#nP5{*5goJkCo0z6Y>=o$c#A+j7x#8QbZ%`rj#FH0DQ-3*iV(or1nb zww1HA9us;Gv)@Mwz}5x(Do)U`D37($8Pika+C_@pBQ1t$+C{Ez^Qhqa2t;Wl%k?6f z@g7T|#;8u+s2wzl%JXy4=+KZhbLd*dWCRD&{S$Cdds%sFT_ z=Fu}v4pC@Ez&8Y#%Z3Qw!W>N%1l4p#Y-Ss1R)lGeHFchhmBcGpB^edjY_jG;9%D~u z%wycD=0i@$d-pu2CL9x^AM?n0G439J;YlYq^gZ_p8kBURBP87saiD% z?YT8(_yse5%Qkp)4aO3q<*IE&&^H!u3{t+#NL4}I-gIMXtITBSB4&VXQ^dOOlH-^h z+W-E4{-5$EfBGj(WBldkKbLObqkfKS6z_Rs3?(u|CiA(clT|TgF&WO(l8Ki3bP!J^+fn3pWT$$g_&PzesfJR; zDEyRNMUiHdQcr+}R+!r=;83}^dL-ioDQ*A&0rvQL%7(vt+L|&(n+%AM#WG`cp^+KX z?AUuH%b*j2Kn&>E|X#fn}u_-oTmS`wr$n*&_s?{WO~ z!?pC=G>`X({24Ss7VG4!H3P>5ec2g+TmF7%2fkaH_FL!cU`_xG8+L;{>>lL##dF?+ zGkwbDOfUdf&NM>xL4a$U%gqGzdT1Zym!JJop1*i5SL>^zU3A5?)=uY9k>5dj%fFVPQAZz-QWzVFH2)%R3ZFrV5adLaRdPTH?1*upd%Bl@-Km|G>7+f zT3b3_Hx&>DfbNY&M1od}gm`-{W{{4%NqZEw>(*GnW8W0KJ70`xkPgaT4+`AZabcjN zI`&@hfFK_30o4fGidDX=pp_2KQt*XqaM2zD`2ujCsm7+G6UlpsbFJ8HkRr>RqT%gRBHwtI<2G^#sEK`>kzXa zqMBlZ1(h0VWP&wLAfkhSI`qua(@epfre5SA71-AhpI?*pmB7=y23jBi0B0Q8)h>ZS zKMi0~0*Rcxzod3tmHj6$*CDUKxmqDuav`3j;7la2pmo0w>^oRhxKCx%ADEV}Sp>ef z1Y?CQd4FBhN`4Lim+uN0_Ex~8pZRR$;~9%t5GajR7N0*9Dex}Q!AjM})(ZCj6|LNw zT7@DWG*_F2`;Mpt4s0mS!JwL1F^h{!X2^{ITun%-GN85eEj;)Q{b&G&1haxkuSYwh z`4t{y&4TWQ%}(pm((Lk+Cd0mvVo>8qZTf6;9EbBIe_ru;j=>3**GLj^wpG;X$BnYB zjx(>OyfYm?u@u3OZL`7kj%+N&GNv>O1BH%m2tb25|D=9SW?&g?f8T!d4cQc5RR6^1 z;}wWcW#2u9$DC^K!gESe(zgm=!O*Un*J*(rZ)D72J?`8$Wn9hAck29J`nPN~#VCy# z0iZ2~W`^qB0K)tBn`%+YxWlmlIc@?|;7R{~{OussI~FxRx9dpxxpYJB#Umso)omb1Ld_jaSEQ`nOxK_vtx$mbjM>_0%tTz6Zi)z{(bjWMM#q| zL}%He6*8zx$&f$knqe+1~HuKmW;pk=y;-6!~4t-~atT$RGd5 zKbG6;TY`rD?KhvZwbx^1=|6Dr8OHO=rB^CrG;_X_mNIP zH>eJnSIgtGV5#eebU!V>Kd-N7pw5{VUZt)L2TkiSz~Ydcyk)=Q=a`2V&6TA#uIWH- zyEn;b(#m-+mLE>exr1nU`UmNRaGszu1J>5Hr5B;QOEjiP<7{D$jee|6)OsV%mib(XGLJE&H)!O~e3 zTsY&Hl?@Iv`f~I+SW;y0C^JYM0%c0UyQpVidM%>}bg6X&1C07dE;=1!)?Y#zT$wt@ zYgN@GH~~<_*-|jPkZ#L=+dFh85?<_06>`)B4@?jS9fe zm}<`7Ed}$vkpYFYusE%%=ndmC*U%~(&dGf#Mw#n`DKqndDLt!7Q`L5+LDxnVbe}f` zhE(^g1YAAMrwk0Jh<0Z{g7!h*BL$M@_riVC#z3{3biBbb+nUoqRvbLuw>7v_&E6wT z1zi{Ke9zS6J53Qw07KjE(w4hoQHVNB#qYI(W?E~)MV`MJ{Lw0X=Lu9|YP8(teqp{o zU%ZsEm<9fOllCdFE|HE7y+NjffdxBgsx&|r*7@rX7Obch;Hhc@MAXSv7U{}@egoI( zm8I;DV_%z`g4$GkU%}$F0G3*96%)V6HU;>Zz^(ffaA^+-px#`{&EYL24OYt~E8X7T zr#=5{qiJ!XV&$ACX9=iTT#>oE-WbD|d}MXRp=H$>*s}=AvW0lLGV|8DpG22GFc1mg zOVpr{2k=xXU~9I-GVgoi+#Ep=wG)IoRA3P!K!@s%4Hyn7Xw=Y7(83O|QK<1ma2U2l zP^$-P#Gvs+T*leV+CLT2AK)8-6*mOh4TGp~`&spbNA9h#Ol^Yik<}12jjM{)#D-q7 z!tE-(Ti5A5yrsRz0x}*XqlROeKeFMR+%b@&0`08y%;4cl1B*fJML5KZurz6igQ%in zYv(v79bjCcO}4Z&KeDaNCR`S4HM0?-YFrXPrKZ$a!Ey8@1N($3*8yxHtDLfoX_O`zq6+QnSw|Z-2XYOlVPMe$%^H*(@6Y?C`$06;s3>S=;M`!dswzb5 zo!#WpBZCx~Chm~fn&f+>bxyJ{yNtdB#{O0JQ_jurRDVDji>hv9+zo>1RE2z=5Jw|6ug?a{|l3Fm2qXunnf3k?q40eUR)soe-(jOj6RRr+r$jqub>KL(bSV(uC(>fTcj zf359tl>AtDy<|eYtA*khu2(ezA76G||J=cs(GeR{%EnCaL8h#x=AHd=XK)0qEE;cB zi$-DBkh=+|YtAOf=}v{1sj{(Z12j(Gn^q$$K`*7dzdIFEqy!IPm?1T<>eGfjs1^=@ zifN&Qj#mQ^vJl;TSsvL817{8ya%E0wOT!5ja^RT5Fv4$`1|V88JeW|Wrwgr3L>p;# zs62yRuBYxrOCtwHQ|^7#bqEI2uDhj91jQfIKhRczVbht>hiBa}Mh>~7}n5w0mB5txf_(Z!>GGa z*x`&K>dOjs5{#J$q4PRl7yA&vrbu4Lnh|vv*3rgrn=ZayY~*Zlk>}gn_B9>x}(iVP2`>7#(_2sHV7 z?~V?u=9v@5N`*nw5W$-24P2t397o67Mdmk5!TYuR-%J z#H>k$zB1LZ8a1Vu&Jq?`v&hpD2aD=b-|L7l0mn~}-K>-4*c?vvkJQ){2@ z@9+8Fi_L|6e)G9pC2-VJJ)CPq;hdXl3eHx>Vj}}A&8IKI&l3>wJnbP1ev5ml z3_v5pwO&YJ#Auo*HJmE0flsR!26Sn9Q+ngmUUp3&Vab96i$be#llL?-W@~*1xt21G zcF*>eIvi z0fZ5*qhGxFOg?z=k-UEMhHE-x15j1-_4OCY0aoorXLBZqO4?>m+hs*|l%)$+RW=

`u_7654BlC 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 + res.arrayBuffer(), + ), + fetch(new URL('../../../assets/Inter-Bold.ttf', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + ]); + + return new ImageResponse( + ( +

+ ), + { + width: 1200, + height: 630, + fonts: [ + { + name: 'Inter', + data: InterFontData, + style: 'normal', + weight: 700, + }, + ], + }, + ); +} From 1edfe9548dcf34399b6876595101d3acc710c020 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 02:50:02 +0000 Subject: [PATCH 12/83] feat: add og image to blog posts --- apps/marketing/src/app/(marketing)/blog/[post]/page.tsx | 7 ++++++- apps/marketing/src/pages/api/blog-og/index.tsx | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 5192dec32..7cfe0b61a 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -17,7 +17,12 @@ export const generateMetadata = ({ params }: { params: { post: string } }) => { notFound(); } - return { title: `Documenso - ${blogPost.title}` }; + return { + title: `Documenso - ${blogPost.title}`, + openGraph: { + images: [`/api/blog-og?title=${blogPost.title}`], + }, + }; }; const mdxComponents: MDXComponents = { diff --git a/apps/marketing/src/pages/api/blog-og/index.tsx b/apps/marketing/src/pages/api/blog-og/index.tsx index a9cecd696..d9fc573ae 100644 --- a/apps/marketing/src/pages/api/blog-og/index.tsx +++ b/apps/marketing/src/pages/api/blog-og/index.tsx @@ -145,7 +145,9 @@ export default async function handler(req: NextRequest) { /> -

{title}

+

+ {title} +

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ǘy|4J>UY-H8xN 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

), { From d28bb5de9904e1b99a746eca1611eddb5ee5760a Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 30 Aug 2023 15:32:44 +1000 Subject: [PATCH 13/83] fix: use nextjs opengraph-image component --- .../blog/[post]/opengraph-image.tsx | 75 ++++++++ .../src/app/(marketing)/blog/[post]/page.tsx | 3 - .../assets/{Inter-Bold.ttf => inter-bold.ttf} | Bin apps/marketing/src/assets/inter-regular.ttf | Bin 0 -> 309828 bytes .../marketing/src/pages/api/blog-og/index.tsx | 166 ------------------ 5 files changed, 75 insertions(+), 169 deletions(-) create mode 100644 apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx rename apps/marketing/src/assets/{Inter-Bold.ttf => inter-bold.ttf} (100%) create mode 100644 apps/marketing/src/assets/inter-regular.ttf delete mode 100644 apps/marketing/src/pages/api/blog-og/index.tsx diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx new file mode 100644 index 000000000..5e0e88a28 --- /dev/null +++ b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx @@ -0,0 +1,75 @@ +import { ImageResponse } from 'next/server'; + +import { allBlogPosts } from 'contentlayer/generated'; + +export const runtime = 'edge'; + +export const size = { + width: 1200, + height: 630, +}; + +export const contentType = 'image/png'; + +type BlogPostOpenGraphImageProps = { + params: { post: string }; +}; + +export default async function BlogPostOpenGraphImage({ params }: BlogPostOpenGraphImageProps) { + const blogPost = allBlogPosts.find((post) => post._raw.flattenedPath === `blog/${params.post}`); + + if (!blogPost) { + return null; + } + + const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all([ + fetch(new URL('./../../../../assets/inter-bold.ttf', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + fetch(new URL('./../../../../assets/inter-regular.ttf', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + fetch(new URL('./../../../../assets/background-blog-og.png', import.meta.url)).then( + async (res) => res.arrayBuffer(), + ), + fetch(new URL('./../../../../../public/logo.png', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + ]); + + return new ImageResponse( + ( +
+ og-background + + logo + +

+ {blogPost.title} +

+ +

Written by {blogPost.authorName}

+
+ ), + { + ...size, + fonts: [ + { + name: 'Inter', + data: interRegular, + style: 'normal', + weight: 400, + }, + { + name: 'Inter', + data: interBold, + style: 'normal', + weight: 700, + }, + ], + }, + ); +} diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 7cfe0b61a..7edf29ec2 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -19,9 +19,6 @@ export const generateMetadata = ({ params }: { params: { post: string } }) => { return { title: `Documenso - ${blogPost.title}`, - openGraph: { - images: [`/api/blog-og?title=${blogPost.title}`], - }, }; }; diff --git a/apps/marketing/src/assets/Inter-Bold.ttf b/apps/marketing/src/assets/inter-bold.ttf similarity index 100% rename from apps/marketing/src/assets/Inter-Bold.ttf rename to apps/marketing/src/assets/inter-bold.ttf diff --git a/apps/marketing/src/assets/inter-regular.ttf b/apps/marketing/src/assets/inter-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8d4eebf20665d5ae746c622a2bd42274b54d2bf1 GIT binary patch literal 309828 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

V7T@aTyAqtk8R znEGA$bV0vzn0E5`7bG)ih75J%mri_;V5V{y(!f_c^&t~?CF9$ez{`N+o1H5EW@j!a zRns>!K?(1I(%w)d{#A%lbRNdR+0tx&&iv#X%@SbT@O4RqK%59^WoIinCl*66sao%1 z$$HZTYYNKep8vh2qUGajCrO@y?He)*FW#}FOvoY%pW33f$?3dp=GR5hwkZCkP&|Qk zMyu;|pDCxPfbq@({$!Vq;bc(DppPynhZ)wncxOi_Uz%+^$uXW(^Cu67pST(g=??NI zdqPG(1&eI`kruUCDWT`#e!+8lzfg%zDk1uZY7G`q|G@Hp%JI#PTES3x0VV8Gpc2p&)NV-wCG65b3ALP;u%v<#cBxPa(ky3`Asu`Vp@@HR z7COoC%`!$Y%$Kmh5^eik9Xn|r6fY%Cj419j@Vimd;xOQ_DS?5`Kffo-E&n{E7s~xK zxLC#;JHFzBOYYYTX#na6kr;jO%X^h>OuQ`^Tl!GWr~2!iAL;urw%C-WPB#D39G2*f zy;HwN|NGxyjK0~i17A2_1%9ewD7!Hdk}+e(F_9!7LbX`-iS2rGtrDlC>xEO@vnHJt zl{LFy_L7~KvK*G1v*|AUk`*;G;p~g2>IKR)<*CfGG|ihByXui(j@*6c{ih}jXxdqs zfolVY(X|7RQkSa$s^%wKPQy4Pg?cgYIV(J0lSG98fK-b39g~uRO7 zKcgj}ic@Lbe5S_Cg;S|6yG!x>76h)KeyqX2SxMpI8+UfHhE$&qO!I=sh2R7UMqjhpau!&{J z@v={j$9dOAxj`Qc_66F5z2ZcrUs5xaz5rs*f%MUS{7qNj@&O6?*2y@UAdRplESYI-U>{f*7dzkGRl z@sn#-{BDC|SbLGBJ@*=m-Er`dH$Fb7cPG_;_1KaJt}1RWU-QgjZ&6cu+3st9`rxw1 zzN&rr=!4IUoEw|0fBWW>`nL_DpSZ@sa4cd7a6`UykeE4IgYJOeU#?`a^gx$Vq_hSK zF}2nzm4T|!8bfW!IZ?>zz}1z;(PJUOIJv>=)l2+rka<~ha8P#ZK3&yg9G!v6U^nQL z;p?s#6YxnmExku0AV8=0GFb0%dYU_)_iVk#w0E@J6SX6xQ=(*N=YwQE3s zSN}3t>GwhNa{@RY4Cm<$z2WG;^=Dr6vS~+IEZ|~PSFKc!HV2B)-aKgg0Iv%3KjhAJ z3L2%zvNj_xw|e`<6H?Uye^5=1x!HGku$ir9=Rj}aZUuVv*Yw=a(O}cHr1KXu(D)O$ zm9!ank{^~&KU)2Lz9i2o;U{7Q>#-V~YK%2o(13onw$Gc}^f0<5gb8(;rwR%!iIV7QA zzlSUVx{5`-?r1qW;2I2*fVK1b$I_AUr65Tg1f2x_^*Li>86WRSn5b~~mC*o+@vnHJ z=IX{@Kd|u9d$#Re(x?C7ai|)4Cs^3<%uh~9oSra{Fg@{t^ zLA%JDAY>0_t?FnA_CsO7Py^r19#g5hz#D8Hzg~wYkgIgbb>r7=3~|&h8byh5G-qPt zHJgrbV~E0DWNN)c{O6CNQ48*-MzJ41KAP}RvIcG)PU;`oG@B>LJ5{)Cl^a6 z+k4S@Nh4kU8tZLu(9H(%(NC^MCJky>32zv--)I-twk#%HH1aJ{YUSdsa-KDj;_HCM zOxo^D_1dOVuxQMte2(U{r|_-4@G!H}rPUZaFg|7NfM0Dk=V*(tnqw@AOc!7ZROvXx zk3)DIs!*I9NWKW7;0HmundNpifm>M(+c#!vKJOV*FgZC_Z!G+ARH`x?cf8yj~dPQT=ZJFUIEs?V3P~WG7v1!3`svo8#0DTiG$XKn;vvBj%81 zZy;yl(=Z_^;ub7?xQl;vM02Lh6^qO`EHZh1gTotW(-WDLa`?!B|GoX* zBl{b=J@Fwa{#kaxKaaBVLtXlw&qwrEpH&Mnk!JJ{9b%Vt4)(E250<~Xy^H<$+0XPF z^?&;Gf9f}V`W!nKo(EEHqARgRnJK*m6LG8Kzwjlj>Wuf@Xgzbwoxpf3OM`bJR@WHN z{L8vzHQ@A_Hy(30NGrqF#rM5ieB(RKa(b}$bNz$*dX_aTw*_)pq8_UcI8&FlZ`}A? z$-r+|;=zL~>G4r~t(~~g%jqj@Sf7$h=XCv?HPLDY@v8C(630I|z;UgJb7YE+#~kQD zSzLCkkkr%^$`nL4H+?#R93*`18M6__mD2I4-uTWRndd*fY{Bm*;5)pvfBeNhJ@nxH zBYUd307`PIgj>bLcfWB`*;<+iEP>{Tez1xQ8XZR=$7PqiphlJ~sb_>mDpBdg%JUvt3=j z9qbgg_P<%lN9@|}H}&6sqSy53kLgDrdXPC-F>WOGvu&Ra@6!*r=|esGE3b93D?VV= zxNYuNpVjLPL;91iqhk+*25`M(5)}PMWbtqiIRO#hWQa4)5GSRSq`;ZtXXN2iA>jt! z5;`#O{BE%P7e_1t7S$gdWIzAxGxoE#qkU?Y{`F`7*1uv4+373&tK8@9JLKry{XD)| zJsSN-b{|;IXQ#1UfBQ_oO8>C2JA<9WZqRq>Z|QA%zutQOoZho800TI|IEWkKlPC#p zezG))Yd>jP9J&#K1?pJHkVXlmY$MEoD@V&&7JKv$AM2HRU_{^3>F60PDEs93Zl>I^ zup#hL$x~bBEJ%9rzgfVL8t{GiT16IdkUB zIcLbdU%&8BV4oT!6$Kt;n4wJFhqgB9j{MM|3aoG*%qxx0%zAB0V)612D%D83Blw&U}dS}^1!RTTsvm0GBhN3UcC+W`x=9^5v z0*fc2+c+j3fsG}*g&L_(*vtx2?~ORLFTy+e$$|F6?CMw|;U-y4=6jzt%%5{RpIs!& z*2wlI9a}A#6^tFLg*fg%M;x^ezxR(hX-RI7_yaJmV$Mq9yr7R7m!?%(LZo|J0<^UO&>ndhthz>L#z$EdEYtizL4^|z6^0KKl3SOh8f<`l)Pc6@2r-yOT&7oW&1RpYsV7Vixd)We%Rd>5 z$r#dee=)ssY1{eu*s8tT-ZR8jY71y;F3JA2^lcLP*_R~pY?LW1o%oW6(u$|jn{+3A zir#La``@U|y1qGssE+2{%E|iqWnjnrW!M;Mpg1561J-pB1aSLJq!*E8uH%{#*E(xh zm^C}~&S0-pu~xpBM!pRO0zQ|fQx{vIHnMxrm*B2kPs6WS!L=)#ufNfx!}$xdZPY+^ z0X>shj8<-LJ|b>>cc{ICp^do(i6R1QL?np6w)Y4b_)d29mdE0JFIp;kJ!#yZl2(xz zUuIfVlsw9%*iz;j6}=*1&gd0~n`}aG~JNo%M&pZ12 zJI_1%{X5S)`u{u6JLtfkchI2|{|qbxJe=XN1)3bxlzkP2XLRs0GF1KgtcyFTv58j>w-q{|1j>QTSS=|8Xct5}9#Bsd9 z+-J3lLoPRP`S`f8)KuNQmD#O+kb3ZFMz*ml#A($5+VJ|KFQQ$Ls4Al(;rTtNOIcN3l zL)C^|Q#QOFoj2>(YF+T&)*MW8cARd;DI25?Zdiu+M$-nOB9LEj(rC28-zHhgY4x@j z3I=q{(B7cV)lEm((@@CKU?vij03aqQ`%0?b${NFNbafpvG-TjFH}-^^f4EH#-6J~E z=T_3OXSxx>%JoeGgYijAId(x`YUfhv1>3G(UEjEUdhx1uR`pT`{{z-v#s~q@cqV(-*50r{%XJHmVW_PtjstJ zcE=zfB6kE|p&YL1L4423FP~L&-(SUlT)F=V7zYIjH8tf)d#7AEQT%$pmcPUwu7Bwi z{eJ)7R(?m;)SUcc$-}wC2`MhL``lXYt=PTy?L$Y(MepR%OUEQ-nlqD1S3R}p;@T(H zrH%=YSdj6==1WP57d9HrYv&u735{dM#aVJbL>An^8L5gn3I%#?m+n%QJ;LyI`_)H9d7_-F9k~( zaq<+o_Z?dEX|iBbu%36G{_|AHuWK3N%_DHdsl`JFU&Ff;QW2;zgz58-`6JeUav z-`H@3!@7?v*y)Ev0i57Hr z%6)iAU8(3jCUxBtYcDQ(YE>zx^O&Whlfw&A4fEHUjTqGRFGt_eVZt7}Y44uCD=Z z<@x(QHd>!MNz}&>3q1$5fIA zE%L8m|M;ltX{P@SfVURYSmBJzl8vkX=d_gSNRsQLlg9e`I{W%P7nrh6?`|*tpOLq* zUcam?K`j=0^qsLM&ibc_?cfT&40C>V%EBcDa>PGoU>Ep)lC4DWcZY9MW#6@YE{+dN z?^6F31n=Dqo`;j-PB;_mGCq5VCk`J4RhGR;?F~uSAM%Sy1o^Z<3De>SfVh{)4_TfO ztAWD^kN#4zi3TL^pSmoe{OEh@7w3dUESi~KRX=3Tw&$t46wy|pQ1Im;8*pZTfQ-FMnkXb&>`1fy=AqBTH;T!9Z81_P1QExn+KmT*oO^p z7#>sz@Grycy??o8Nw$rXUA$_j;M=dCl~ZN33SqGQmLN%vh(Wr>|tcJl;4CLxG3MA zbw@ogZ16eaf_C*?%5P~8=Jiwo?$rgJM_V|&p4G$oO2%g^l2fw!EAD{jw}*3hGjEsi zg}9GX;Yvdg7Qq1oIc(L1sV5(!Ir^}N zr)AE9mtokUt0M&Go`b@ieVl?H7}k1Nh%tCmqes>z$*Z^^G11+#M(18q+G_H9Myk4Yr~UJzs_IYZKT3 z#D)0Sid%!AYYcVgx(D1}6kBdzw~GhKy`}j-9hsU> z8!HPw-8!VeKW;#r)SRjH$JOgZ_L6R|^Z-w9Vlc6+9bEm((_$C-Im8@IICZR&Wr7bBQ; z9ao1liyFTo*mTk$e2eX3tLazqL(x(TU6ew&+H}6 zhf}bl)1^e)=(Tlw=-1z^B>^OYtx2qYE`hU{q}8N)x;UU*(#lX{EnkUPSuT|s6c!%R zAg@py&MZ6}4(8$VRIZydl?>lcSyv-hHvavp2=Ssp3TZ*%vt6f#jH01HU`Bs!2?p6-is|eZ01^r>3<-%f_n58Gfy0- zAR%XF)zacyP4x8TY0vCV&5l~|cWDi|x4w}K*eE4cWd%Kk$~_P5z{-7fAHCYJW^E%0 zJhqqg{Vu9ZUwkQTFKswgLV9k?CuH|9zm|H;Du#|X4kdc?dDUTQ92(R|_K(ma(MWHR zdn-av!N$le>U~9I9xN++jg0?i<#qDRYp>DM*J~TS5B#ud)ei@Xq4+`_O^$QKSZ`x&g{1$DYtFH)6R@hDK z!PluZ?N!n%JMO)zwCiX~U~9seaGQEej5Nr@T19N%|! zNyXlb_$|-)A|=luO0Tbk@%ghKz9H2#_zQYvPbHbxUPDYJB{Zw1o$jdILk4}po_+Jf zI$E~!IuS5!IDULu?vbaZh#gf2oJ~s(cghk2I6KPaJK_5UIcM9Q@J%pivgvUrJeSDR z>`wR=A)ZgaJK=e7mt@nD!?{`{JF26^}LLI0F&Wtf!d@wi+ zdtw;tcW3{8=Xpmzf9H8ee}CtBN56mPc}M?$=XnPm*z=D5cH-YbkKcLTK^I;>6Ib2) z-;F-ZiC-CaPM;3C{r0_m82?UwVPZ!fZ`@pXCB?;kJaOM!M!buU(GM?Qrk6^{G%_Roy&O6ahgJ(N zZJJw@I$XG^3(tud;;hji9PoTjRxy43=D+EIxBfw1Bwj@V5nP=lsZYz^?Dpfu*7VU? zRjVnbmmn|e;J|^U91dysvXj0g%#RWFV=X6v#)mmGGFujOMu*Emosil>d=F<#-k)fy zFQCq(Ic>v+H2lt;ku~PPW*la#>dUit-tTNUvSQiUq`K7jtg&3O2OJlEKM%FCU z1|}$HlZz+h^2S=P!k&lK7EJXxa$=p6vrNGw^iFTcVDsN1f_!@hiwN#+%PGXIA1(g( zj-`4b_py{c-|ZI+trmL{DQ5slPt*U6T^6pwf_a+}%>x8uCT_Ue$sT}+tpK(@#3Ur! z^NA;{hSqdJMLgjNnFLSB7L(OvZx)?}W_vPxh}g&3)-2@Olh_B`Yoac?M&6+cCM9&D z7EQ4Rk#)ibP4#bVA?dV(@=;;K!>ph@a!~ew8G;~O_$irg@rwh-N>_1o61 zFH^TjIW2_;eqOU};nWxPd9=0oAf-Dq=9rzZ)dj{?(q)KQYE>^oY#jO)@QW0Wyi`wEeTnn=|X^NN+ zgY*s?A^F?|9TTM7_5!88O4R2p`Sam9kt^; zT*$KQqd&Z!M~~iDb)V^Q+|t()>?XN28(PAc)KM38vxaryU3pBTO#J4ostM(&yC{w_ z-~{{+M_az2lR{E~FkNS2!>M}`4a~8C#k=+bVQ9^$$BcoN_h+bw?amyoo2UzZf06cJ z!T&eZkauNWYXdQ(Fs~5I&%$Pz0}(q%WkbZAexZ0rg^r3F_Mp~FQd#ZQp1Pp9N6nU@ z8*jfW6u0887rW&x`t5tO(BCKw8Sp`W&-4BYl9}Cwq>6&aWLLPT_QrEAL9|A+>bNR~ z$94y?dB8d%c?+KPc4MVI)e>n{7g`MbBSQFm4;fSa;unRu?Pqgm#dV=OM?*v{vYtlM3x^|B{9*WWvs^b!S`@C15_t= zsZv{M&%(XryjHfkv3IMP)d1gXhE6X~mh9`?#+6v_HAXh zU^7PEAeUiYbgYzFs;4@u8t!qe7PT(~ZjQZK12<0epG62h%+IheKqBlFTu=863hM0# z&c*t}bYdj8gf1_uiSS@xxrU&-gCX@+YeBoJJU+ghs0#FYfB$7C77v|OO*ZKD1%$(K z4eIja47S(b-rU3amu6yJ{4w!8RYnF}S$w;?R?41n@JcF6%wDSrUVMdq1qW5j$BS#H z9sGC+OWWR-iY}QzYz!ldndCB-O|E_da@ceddpS!EUb%=3@yVlG9UfPWGGw8k?Cr>@~8#YIos?&AO^-lMU%}E?MF4B(_*_nX> zVi-yPv99nyc!*&s1}uct3sZoxI^#ua1;XFr#5aEcRg1#D0V3OiH

NU^a~Y-YT{n`0xQzR2cZRm6M*N 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 - res.arrayBuffer(), - ), - fetch(new URL('../../../assets/Inter-Bold.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - ]); - - return new ImageResponse( - ( -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- {title} -

-
- ), - { - width: 1200, - height: 630, - fonts: [ - { - name: 'Inter', - data: InterFontData, - style: 'normal', - weight: 700, - }, - ], - }, - ); -} From 5d4a07bcc5e19eacb4f70c2d68ccab7f509c1e31 Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 30 Aug 2023 15:41:29 +1000 Subject: [PATCH 14/83] fix: center align heading --- .../src/app/(marketing)/blog/[post]/opengraph-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx index 5e0e88a28..2de6fb3d4 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx @@ -47,7 +47,7 @@ export default async function BlogPostOpenGraphImage({ params }: BlogPostOpenGra logo -

+

{blogPost.title}

From 14fd0eb9069138e4ca7681bcc4d283d13aa289c8 Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 30 Aug 2023 18:41:37 +1000 Subject: [PATCH 15/83] fix: tidy code and expect jsx errors --- .../blog/[post]/opengraph-image.tsx | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx index 2de6fb3d4..71fe6c7e0 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx @@ -11,6 +11,13 @@ export const size = { export const contentType = 'image/png'; +const OG_IMAGE_ASSETS = [ + './../../../../assets/inter-bold.ttf', + './../../../../assets/inter-regular.ttf', + './../../../../assets/background-blog-og.png', + './../../../../../public/logo.png', +]; + type BlogPostOpenGraphImageProps = { params: { post: string }; }; @@ -22,29 +29,19 @@ export default async function BlogPostOpenGraphImage({ params }: BlogPostOpenGra return null; } - const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all([ - fetch(new URL('./../../../../assets/inter-bold.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), + const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all( + OG_IMAGE_ASSETS.map(async (asset) => + fetch(new URL(asset, import.meta.url)).then(async (res) => res.arrayBuffer()), ), - fetch(new URL('./../../../../assets/inter-regular.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - fetch(new URL('./../../../../assets/background-blog-og.png', import.meta.url)).then( - async (res) => res.arrayBuffer(), - ), - fetch(new URL('./../../../../../public/logo.png', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - ]); + ); return new ImageResponse( ( -
+
+ {/* @ts-expect-error Lack of typing from ImageResponse */} og-background + {/* @ts-expect-error Lack of typing from ImageResponse */} logo

From fd36e39a387a19a5bff0c0754a7ead0876257c71 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 11:31:43 +0000 Subject: [PATCH 16/83] fix: redirect signin page to dashboard when logged in --- apps/web/src/middleware.ts | 23 +++++++++++------------ package-lock.json | 3 ++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index 2f393ce71..e480b2c43 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -1,25 +1,24 @@ import { NextRequest, NextResponse } from 'next/server'; -export default function middleware(req: NextRequest) { +import { getToken } from 'next-auth/jwt'; + +export default async function middleware(req: NextRequest) { if (req.nextUrl.pathname === '/') { const redirectUrl = new URL('/documents', req.url); return NextResponse.redirect(redirectUrl); } - // if (req.nextUrl.pathname.startsWith('/dashboard')) { - // const token = await getToken({ req }); + if (req.nextUrl.pathname.startsWith('/signin')) { + const token = await getToken({ req }); - // console.log('token', token); + if (token) { + console.log('has has token', req.url); + const redirectUrl = new URL('/dashboard', req.url); - // if (!token) { - // console.log('has no token', req.url); - // const redirectUrl = new URL('/signin', req.url); - // redirectUrl.searchParams.set('callbackUrl', req.url); - - // return NextResponse.redirect(redirectUrl); - // } - // } + return NextResponse.redirect(redirectUrl); + } + } return NextResponse.next(); } diff --git a/package-lock.json b/package-lock.json index 12c957494..1fa10b764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16319,6 +16319,7 @@ } }, "packages/ee": { + "name": "@documenso/ee", "version": "1.0.0", "license": "COMMERCIAL", "dependencies": { @@ -16362,7 +16363,7 @@ "packages/lib": { "name": "@documenso/lib", "version": "1.0.0", - "license": "SEE LICENSE IN LICENSE", + "license": "MIT", "dependencies": { "@documenso/email": "*", "@documenso/prisma": "*", From 3832ce2c80a58dd652ca995c01e527e2077bd4cf Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 11:32:55 +0000 Subject: [PATCH 17/83] fix: redirect root direcotory to dashboard --- apps/web/src/middleware.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index e480b2c43..5e18ee590 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -4,7 +4,7 @@ import { getToken } from 'next-auth/jwt'; export default async function middleware(req: NextRequest) { if (req.nextUrl.pathname === '/') { - const redirectUrl = new URL('/documents', req.url); + const redirectUrl = new URL('/dashboard', req.url); return NextResponse.redirect(redirectUrl); } From d4d76dce0397eca081690f22d8d6f535ddfbd864 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 12:31:33 +0000 Subject: [PATCH 18/83] feat: redirect to dashboard when document is sent --- .../src/app/(dashboard)/documents/[id]/edit-document.tsx | 8 +++++++- packages/trpc/server/document-router/router.ts | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx index e1c9a79e1..7ed28feca 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx @@ -130,7 +130,13 @@ export const EditDocumentForm = ({ }, }); - router.refresh(); + toast({ + title: 'Document sent', + description: 'Your document has been sent successfully.', + duration: 5000, + }); + + router.push('/dashboard'); } catch (err) { console.error(err); diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index f20643327..325afada6 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -18,6 +18,9 @@ export const documentRouter = router({ try { const { documentId, recipients } = input; + console.log('documentId', documentId); + console.log('recipients', recipients); + return await setRecipientsForDocument({ userId: ctx.user.id, documentId, From 2acada6dc76c756292b1342f827cc72ec9e1a968 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 30 Aug 2023 13:09:37 +0000 Subject: [PATCH 19/83] chore: unused console logs --- packages/trpc/server/document-router/router.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index 325afada6..f20643327 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -18,9 +18,6 @@ export const documentRouter = router({ try { const { documentId, recipients } = input; - console.log('documentId', documentId); - console.log('recipients', recipients); - return await setRecipientsForDocument({ userId: ctx.user.id, documentId, From 7ec8e762b0b93dacf22104e87fb21898eb3cfedf Mon Sep 17 00:00:00 2001 From: Adithya Krishna Date: Wed, 30 Aug 2023 18:49:13 +0530 Subject: [PATCH 20/83] chore: removed console logs Signed-off-by: Adithya Krishna --- apps/web/src/app/(signing)/sign/[token]/form.tsx | 3 --- apps/web/src/app/(signing)/sign/[token]/signature-field.tsx | 5 ----- 2 files changed, 8 deletions(-) diff --git a/apps/web/src/app/(signing)/sign/[token]/form.tsx b/apps/web/src/app/(signing)/sign/[token]/form.tsx index 3666941dc..e18571e33 100644 --- a/apps/web/src/app/(signing)/sign/[token]/form.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/form.tsx @@ -87,9 +87,6 @@ export const SigningForm = ({ document, recipient, fields }: SigningFormProps) = className="h-44 w-full" defaultValue={signature ?? undefined} onChange={(value) => { - console.log({ - signpadValue: value, - }); setSignature(value); }} /> diff --git a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx index 03fc40914..e3a66c656 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx @@ -63,11 +63,6 @@ export const SignatureField = ({ field, recipient }: SignatureFieldProps) => { const onSign = async (source: 'local' | 'provider' = 'provider') => { try { - console.log({ - providedSignature, - localSignature, - }); - if (!providedSignature && !localSignature) { setShowSignatureModal(true); return; From 7722e63e1be8a19c874efec74d038569e6557236 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Aug 2023 12:08:53 +1000 Subject: [PATCH 21/83] fix: tidying broke generation --- .../blog/[post]/opengraph-image.tsx | 26 +++++++++++-------- package-lock.json | 3 ++- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx index 71fe6c7e0..f9987dd27 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx @@ -11,13 +11,6 @@ export const size = { export const contentType = 'image/png'; -const OG_IMAGE_ASSETS = [ - './../../../../assets/inter-bold.ttf', - './../../../../assets/inter-regular.ttf', - './../../../../assets/background-blog-og.png', - './../../../../../public/logo.png', -]; - type BlogPostOpenGraphImageProps = { params: { post: string }; }; @@ -29,11 +22,22 @@ export default async function BlogPostOpenGraphImage({ params }: BlogPostOpenGra return null; } - const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all( - OG_IMAGE_ASSETS.map(async (asset) => - fetch(new URL(asset, import.meta.url)).then(async (res) => res.arrayBuffer()), + // The long urls are needed for a compiler optimisation on the Next.js side, lifting this up + // to a constant will break og image generation. + const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all([ + fetch(new URL('./../../../../assets/inter-bold.ttf', import.meta.url)).then(async (res) => + res.arrayBuffer(), ), - ); + fetch(new URL('./../../../../assets/inter-regular.ttf', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + fetch(new URL('./../../../../assets/background-blog-og.png', import.meta.url)).then( + async (res) => res.arrayBuffer(), + ), + fetch(new URL('./../../../../../public/logo.png', import.meta.url)).then(async (res) => + res.arrayBuffer(), + ), + ]); return new ImageResponse( ( diff --git a/package-lock.json b/package-lock.json index 12c957494..1fa10b764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16319,6 +16319,7 @@ } }, "packages/ee": { + "name": "@documenso/ee", "version": "1.0.0", "license": "COMMERCIAL", "dependencies": { @@ -16362,7 +16363,7 @@ "packages/lib": { "name": "@documenso/lib", "version": "1.0.0", - "license": "SEE LICENSE IN LICENSE", + "license": "MIT", "dependencies": { "@documenso/email": "*", "@documenso/prisma": "*", From e756a21fda12e515e7c66001b76596c7712deed2 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Aug 2023 13:12:50 +1000 Subject: [PATCH 22/83] fix: retain redirect to documents rather than dashboard --- apps/web/src/middleware.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index 5e18ee590..25bfbbb40 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -4,7 +4,7 @@ import { getToken } from 'next-auth/jwt'; export default async function middleware(req: NextRequest) { if (req.nextUrl.pathname === '/') { - const redirectUrl = new URL('/dashboard', req.url); + const redirectUrl = new URL('/documents', req.url); return NextResponse.redirect(redirectUrl); } @@ -13,8 +13,7 @@ export default async function middleware(req: NextRequest) { const token = await getToken({ req }); if (token) { - console.log('has has token', req.url); - const redirectUrl = new URL('/dashboard', req.url); + const redirectUrl = new URL('/documents', req.url); return NextResponse.redirect(redirectUrl); } From b5efa0d3ea7c6d64ffb1729dd5b8c29a3bcc79a8 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Aug 2023 13:33:13 +1000 Subject: [PATCH 23/83] fix: fix eslint warnings --- .../src/app/(marketing)/claimed/page.tsx | 7 +- .../components/(marketing)/pricing-table.tsx | 3 - .../src/components/(marketing)/widget.tsx | 5 +- .../src/pages/api/claim-plan/index.ts | 2 - .../src/pages/api/stripe/webhook/index.ts | 5 +- .../(dashboard)/period-selector/types.ts | 1 + .../src/components/(marketing)/callout.tsx | 66 --- .../(marketing)/claim-plan-dialog.tsx | 150 ------- .../faster-smarter-beautiful-bento.tsx | 77 ---- .../web/src/components/(marketing)/footer.tsx | 86 ---- .../web/src/components/(marketing)/header.tsx | 32 -- apps/web/src/components/(marketing)/hero.tsx | 225 ---------- .../(marketing)/open-build-template-bento.tsx | 74 ---- .../(marketing)/password-reveal.tsx | 33 -- .../components/(marketing)/pricing-table.tsx | 180 -------- .../share-connect-paid-widget-bento.tsx | 91 ---- .../web/src/components/(marketing)/widget.tsx | 402 ------------------ apps/web/src/pages/api/claim-plan/index.ts | 2 - .../web/src/pages/api/stripe/webhook/index.ts | 5 +- .../field/set-fields-for-document.ts | 2 + packages/lib/server-only/stripe/index.ts | 3 +- .../lib/server-only/user/update-password.ts | 10 +- packages/lib/types/find-result-set.ts | 2 +- packages/lib/types/is-document-status.ts | 1 + turbo.json | 8 +- 25 files changed, 31 insertions(+), 1441 deletions(-) delete mode 100644 apps/web/src/components/(marketing)/callout.tsx delete mode 100644 apps/web/src/components/(marketing)/claim-plan-dialog.tsx delete mode 100644 apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/footer.tsx delete mode 100644 apps/web/src/components/(marketing)/header.tsx delete mode 100644 apps/web/src/components/(marketing)/hero.tsx delete mode 100644 apps/web/src/components/(marketing)/open-build-template-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/password-reveal.tsx delete mode 100644 apps/web/src/components/(marketing)/pricing-table.tsx delete mode 100644 apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/widget.tsx diff --git a/apps/marketing/src/app/(marketing)/claimed/page.tsx b/apps/marketing/src/app/(marketing)/claimed/page.tsx index ce748006e..f56ae2b26 100644 --- a/apps/marketing/src/app/(marketing)/claimed/page.tsx +++ b/apps/marketing/src/app/(marketing)/claimed/page.tsx @@ -27,7 +27,11 @@ export type ClaimedPlanPageProps = { export default async function ClaimedPlanPage({ searchParams = {} }: ClaimedPlanPageProps) { const { sessionId } = searchParams; - const session = await stripe.checkout.sessions.retrieve(sessionId as string); + if (typeof sessionId !== 'string') { + redirect('/'); + } + + const session = await stripe.checkout.sessions.retrieve(sessionId); const user = await prisma.user.findFirst({ where: { @@ -157,7 +161,6 @@ export default async function ClaimedPlanPage({ searchParams = {} }: ClaimedPlan

{ const event = usePlausible(); const [period, setPeriod] = useState<'MONTHLY' | 'YEARLY'>(() => - // eslint-disable-next-line turbo/no-undeclared-env-vars params?.get('planId') === process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID ? 'YEARLY' : 'MONTHLY', @@ -30,11 +29,9 @@ export const PricingTable = ({ className, ...props }: PricingTableProps) => { const planId = useMemo(() => { if (period === 'MONTHLY') { - // eslint-disable-next-line turbo/no-undeclared-env-vars return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; } - // eslint-disable-next-line turbo/no-undeclared-env-vars return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID; }, [period]); diff --git a/apps/marketing/src/components/(marketing)/widget.tsx b/apps/marketing/src/components/(marketing)/widget.tsx index 15e15d04c..def90e0cd 100644 --- a/apps/marketing/src/components/(marketing)/widget.tsx +++ b/apps/marketing/src/components/(marketing)/widget.tsx @@ -139,7 +139,6 @@ export const Widget = ({ className, children, ...props }: WidgetProps) => { setTimeout(resolve, 1000); }); - // eslint-disable-next-line turbo/no-undeclared-env-vars const planId = process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; const claimPlanInput = signatureDataUrl @@ -147,7 +146,7 @@ export const Widget = ({ className, children, ...props }: WidgetProps) => { name, email, planId, - signatureDataUrl: signatureDataUrl!, + signatureDataUrl: signatureDataUrl, signatureText: null, } : { @@ -155,7 +154,7 @@ export const Widget = ({ className, children, ...props }: WidgetProps) => { email, planId, signatureDataUrl: null, - signatureText: signatureText!, + signatureText: signatureText ?? '', }; const [result] = await Promise.all([claimPlan(claimPlanInput), delay]); diff --git a/apps/marketing/src/pages/api/claim-plan/index.ts b/apps/marketing/src/pages/api/claim-plan/index.ts index a2e4108d2..abad354a8 100644 --- a/apps/marketing/src/pages/api/claim-plan/index.ts +++ b/apps/marketing/src/pages/api/claim-plan/index.ts @@ -43,7 +43,6 @@ export default async function handler( if (user && user.Subscription.length > 0) { return res.status(200).json({ - // eslint-disable-next-line turbo/no-undeclared-env-vars redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`, }); } @@ -104,7 +103,6 @@ export default async function handler( mode: 'subscription', metadata, allow_promotion_codes: true, - // eslint-disable-next-line turbo/no-undeclared-env-vars success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent( email, diff --git a/apps/marketing/src/pages/api/stripe/webhook/index.ts b/apps/marketing/src/pages/api/stripe/webhook/index.ts index a0a4ccebb..3f3810fd4 100644 --- a/apps/marketing/src/pages/api/stripe/webhook/index.ts +++ b/apps/marketing/src/pages/api/stripe/webhook/index.ts @@ -17,14 +17,13 @@ import { SigningStatus, } from '@documenso/prisma/client'; -const log = (...args: any[]) => console.log('[stripe]', ...args); +const log = (...args: unknown[]) => console.log('[stripe]', ...args); export const config = { api: { bodyParser: false }, }; export default async function handler(req: NextApiRequest, res: NextApiResponse) { - // eslint-disable-next-line turbo/no-undeclared-env-vars // if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) { // return res.status(500).json({ // success: false, @@ -55,6 +54,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) log('event-type:', event.type); if (event.type === 'checkout.session.completed') { + // This typecast is required since we don't want to create a guard for every event type + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions const session = event.data.object as Stripe.Checkout.Session; if (session.metadata?.source === 'landing') { diff --git a/apps/web/src/components/(dashboard)/period-selector/types.ts b/apps/web/src/components/(dashboard)/period-selector/types.ts index 4ebfe47f1..2b50f5d6c 100644 --- a/apps/web/src/components/(dashboard)/period-selector/types.ts +++ b/apps/web/src/components/(dashboard)/period-selector/types.ts @@ -1,5 +1,6 @@ export type PeriodSelectorValue = '' | '7d' | '14d' | '30d'; export const isPeriodSelectorValue = (value: unknown): value is PeriodSelectorValue => { + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions return ['', '7d', '14d', '30d'].includes(value as string); }; diff --git a/apps/web/src/components/(marketing)/callout.tsx b/apps/web/src/components/(marketing)/callout.tsx deleted file mode 100644 index d83983141..000000000 --- a/apps/web/src/components/(marketing)/callout.tsx +++ /dev/null @@ -1,66 +0,0 @@ -'use client'; - -import Link from 'next/link'; - -import { Github } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; - -import { Button } from '@documenso/ui/primitives/button'; - -export type CalloutProps = { - starCount?: number; - [key: string]: unknown; -}; - -export const Callout = ({ starCount }: CalloutProps) => { - const event = usePlausible(); - - const onSignUpClick = () => { - const el = document.getElementById('email'); - - if (el) { - const { top } = el.getBoundingClientRect(); - - window.scrollTo({ - top: top - 120, - behavior: 'smooth', - }); - - setTimeout(() => { - el.focus(); - }, 500); - } - }; - - return ( -
- - - event('view-github')} - > - - -
- ); -}; diff --git a/apps/web/src/components/(marketing)/claim-plan-dialog.tsx b/apps/web/src/components/(marketing)/claim-plan-dialog.tsx deleted file mode 100644 index 1f78c5292..000000000 --- a/apps/web/src/components/(marketing)/claim-plan-dialog.tsx +++ /dev/null @@ -1,150 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; - -import { useSearchParams } from 'next/navigation'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { Info, Loader } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; -import { useForm } from 'react-hook-form'; -import { z } from 'zod'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; -import { - Dialog, - DialogContent, - DialogDescription, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@documenso/ui/primitives/dialog'; -import { Input } from '@documenso/ui/primitives/input'; -import { Label } from '@documenso/ui/primitives/label'; -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { claimPlan } from '~/api/claim-plan/fetcher'; - -import { FormErrorMessage } from '../form/form-error-message'; - -export const ZClaimPlanDialogFormSchema = z.object({ - name: z.string().min(3), - email: z.string().email(), -}); - -export type TClaimPlanDialogFormSchema = z.infer; - -export type ClaimPlanDialogProps = { - className?: string; - planId: string; - children: React.ReactNode; -}; - -export const ClaimPlanDialog = ({ className, planId, children }: ClaimPlanDialogProps) => { - const params = useSearchParams(); - const { toast } = useToast(); - const event = usePlausible(); - - const [open, setOpen] = useState(() => params?.get('cancelled') === 'true'); - - const { - register, - handleSubmit, - formState: { errors, isSubmitting }, - } = useForm({ - mode: 'onBlur', - defaultValues: { - name: params?.get('name') ?? '', - email: params?.get('email') ?? '', - }, - resolver: zodResolver(ZClaimPlanDialogFormSchema), - }); - - const onFormSubmit = async ({ name, email }: TClaimPlanDialogFormSchema) => { - try { - const delay = new Promise((resolve) => { - setTimeout(resolve, 1000); - }); - - const [redirectUrl] = await Promise.all([ - claimPlan({ name, email, planId, signatureText: name, signatureDataUrl: null }), - delay, - ]); - - event('claim-plan-pricing'); - - window.location.href = redirectUrl; - } catch (error) { - event('claim-plan-failed'); - - toast({ - title: 'Something went wrong', - description: error instanceof Error ? error.message : 'Please try again later.', - variant: 'destructive', - }); - } - }; - - return ( - - {children} - - - - Claim your plan - - - We're almost there! Please enter your email address and name to claim your plan. - - - -
- {params?.get('cancelled') === 'true' && ( -
-
-
- -
-
-

- You have cancelled the payment process. If you didn't mean to do this, please - try again. -

-
-
-
- )} - -
- - - - - -
- -
- - - - - -
- - -
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx deleted file mode 100644 index 2cbaaef53..000000000 --- a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardBeautifulFigure from '~/assets/card-beautiful-figure.png'; -import cardFastFigure from '~/assets/card-fast-figure.png'; -import cardSmartFigure from '~/assets/card-smart-figure.png'; - -export type FasterSmarterBeautifulBentoProps = HTMLAttributes; - -export const FasterSmarterBeautifulBento = ({ - className, - ...props -}: FasterSmarterBeautifulBentoProps) => { - return ( -
-
- background pattern -
-

- A 10x better signing experience. - Faster, smarter and more beautiful. -

- -
- - -

- Fast. - When it comes to sending or receiving a contract, you can count on lightning-fast - speeds. -

- -
- its fast -
-
-
- - - -

- Beautiful. - Because signing should be celebrated. That’s why we care about the smallest detail in - our product. -

- -
- its fast -
-
-
- - - -

- Smart. - Our custom templates come with smart rules that can help you save time and energy. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx deleted file mode 100644 index 823ece92e..000000000 --- a/apps/web/src/components/(marketing)/footer.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { Github, Slack, Twitter } from 'lucide-react'; - -import { cn } from '@documenso/ui/lib/utils'; - -export type FooterProps = HTMLAttributes; - -export const Footer = ({ className, ...props }: FooterProps) => { - return ( -
-
-
- - Documenso Logo - - -
- - - - - - - - - - - -
-
- -
- - Pricing - - - - Status - - - - Support - - - {/* - Privacy - */} -
-
-
-

- © {new Date().getFullYear()} Documenso, Inc. All rights reserved. -

-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/header.tsx b/apps/web/src/components/(marketing)/header.tsx deleted file mode 100644 index 5a1fa3b89..000000000 --- a/apps/web/src/components/(marketing)/header.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { cn } from '@documenso/ui/lib/utils'; - -export type HeaderProps = HTMLAttributes; - -export const Header = ({ className, ...props }: HeaderProps) => { - return ( -
- - Documenso Logo - - -
- - Pricing - - - - Sign in - -
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/hero.tsx b/apps/web/src/components/(marketing)/hero.tsx deleted file mode 100644 index 7896a010e..000000000 --- a/apps/web/src/components/(marketing)/hero.tsx +++ /dev/null @@ -1,225 +0,0 @@ -'use client'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { Variants, motion } from 'framer-motion'; -import { Github } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; - -import backgroundPattern from '~/assets/background-pattern.png'; - -import { Widget } from './widget'; - -export type HeroProps = { - className?: string; - starCount?: number; - [key: string]: unknown; -}; - -const BackgroundPatternVariants: Variants = { - initial: { - opacity: 0, - }, - - animate: { - opacity: 1, - - transition: { - delay: 1, - duration: 1.2, - }, - }, -}; - -const HeroTitleVariants: Variants = { - initial: { - opacity: 0, - y: 60, - }, - animate: { - opacity: 1, - y: 0, - transition: { - duration: 0.5, - }, - }, -}; - -export const Hero = ({ className, starCount, ...props }: HeroProps) => { - const event = usePlausible(); - - const onSignUpClick = () => { - const el = document.getElementById('email'); - - if (el) { - const { top } = el.getBoundingClientRect(); - - window.scrollTo({ - top: top - 120, - behavior: 'smooth', - }); - - requestAnimationFrame(() => { - el.focus(); - }); - } - }; - - return ( - -
- - background pattern - -
- -
- - Document signing, - finally open source. - - - - - - event('view-github')}> - - - - -
- - - Documenso - The open source DocuSign alternative | Product Hunt - - -
- - - - Documenso Supporter Pledge -

- Our mission is to create an open signing infrastructure that empowers the world, - enabling businesses to embrace openness, cooperation, and transparency. We believe - that signing, as a fundamental act, should embody these values. By offering an - open-source signing solution, we aim to make document signing accessible, transparent, - and trustworthy. -

- -

- Through our platform, called Documenso, we strive to earn your trust by allowing - self-hosting and providing complete visibility into its inner workings. We value - inclusivity and foster an environment where diverse perspectives and contributions are - welcomed, even though we may not implement them all. -

- -

- At Documenso, we envision a web-enabled future for business and contracts, and we are - committed to being the leading provider of open signing infrastructure. By combining - exceptional product design with open-source principles, we aim to deliver a robust and - well-designed application that exceeds your expectations. -

- -

- We understand that exceptional products are born from exceptional communities, and we - invite you to join our open-source community. Your contributions, whether technical or - non-technical, will help shape the future of signing. Together, we can create a better - future for everyone. -

- -

- Today we invite you to join us on this journey: By signing this mission statement you - signal your support of Documenso's mission{' '} - - (in a non-legally binding, but heartfelt way) - {' '} - and lock in the early supporter plan for forever, including everything we build this - year. -

- -
-

Timur & Lucas

-
- -
- Timur Ercan & Lucas Smith -

Co-Founders, Documenso

-
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/open-build-template-bento.tsx b/apps/web/src/components/(marketing)/open-build-template-bento.tsx deleted file mode 100644 index e7920500b..000000000 --- a/apps/web/src/components/(marketing)/open-build-template-bento.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardBuildFigure from '~/assets/card-build-figure.png'; -import cardOpenFigure from '~/assets/card-open-figure.png'; -import cardTemplateFigure from '~/assets/card-template-figure.png'; - -export type OpenBuildTemplateBentoProps = HTMLAttributes; - -export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => { - return ( -
-
- background pattern -
-

- Truly your own. - Customise and expand. -

- -
- - -

- Open Source or Hosted. - It’s up to you. Either clone our repository or rely on our easy to use hosting - solution. -

- -
- its fast -
-
-
- - - -

- Build on top. - Make it your own through advanced customization and adjustability. -

- -
- its fast -
-
-
- - - -

- Template Store (Soon). - Choose a template from the community app store. Or submit your own template for others - to use. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/password-reveal.tsx b/apps/web/src/components/(marketing)/password-reveal.tsx deleted file mode 100644 index b31765943..000000000 --- a/apps/web/src/components/(marketing)/password-reveal.tsx +++ /dev/null @@ -1,33 +0,0 @@ -'use client'; - -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { useCopyToClipboard } from '~/hooks/use-copy-to-clipboard'; - -export type PasswordRevealProps = { - password: string; -}; - -export const PasswordReveal = ({ password }: PasswordRevealProps) => { - const { toast } = useToast(); - const [, copy] = useCopyToClipboard(); - - const onCopyClick = () => { - void copy(password).then(() => { - toast({ - title: 'Copied to clipboard', - description: 'Your password has been copied to your clipboard.', - }); - }); - }; - - return ( - - ); -}; diff --git a/apps/web/src/components/(marketing)/pricing-table.tsx b/apps/web/src/components/(marketing)/pricing-table.tsx deleted file mode 100644 index 73003abdc..000000000 --- a/apps/web/src/components/(marketing)/pricing-table.tsx +++ /dev/null @@ -1,180 +0,0 @@ -'use client'; - -import { HTMLAttributes, useMemo, useState } from 'react'; - -import Link from 'next/link'; -import { useSearchParams } from 'next/navigation'; - -import { AnimatePresence, motion } from 'framer-motion'; -import { usePlausible } from 'next-plausible'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; - -import { ClaimPlanDialog } from './claim-plan-dialog'; - -export type PricingTableProps = HTMLAttributes; - -const SELECTED_PLAN_BAR_LAYOUT_ID = 'selected-plan-bar'; - -export const PricingTable = ({ className, ...props }: PricingTableProps) => { - const params = useSearchParams(); - const event = usePlausible(); - - const [period, setPeriod] = useState<'MONTHLY' | 'YEARLY'>(() => - // eslint-disable-next-line turbo/no-undeclared-env-vars - params?.get('planId') === process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID - ? 'YEARLY' - : 'MONTHLY', - ); - - const planId = useMemo(() => { - if (period === 'MONTHLY') { - // eslint-disable-next-line turbo/no-undeclared-env-vars - return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; - } - - // eslint-disable-next-line turbo/no-undeclared-env-vars - return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID; - }, [period]); - - return ( -
-
- - setPeriod('MONTHLY')} - > - Monthly - {period === 'MONTHLY' && ( - - )} - - - setPeriod('YEARLY')} - > - Yearly -
- Save $60 -
- {period === 'YEARLY' && ( - - )} -
-
-
- -
-
-

Self Hosted

-

Free

- -

- For small teams and individuals who need a simple solution -

- - - -
-

Host your own instance

-

Full Control

-

Customizability

-

Docker Ready

-

Community Support

-

Free, Forever

-
-
- -
-

Community

-
- - {period === 'MONTHLY' && $30} - {period === 'YEARLY' && $300} - -
- -

- For fast-growing companies that aim to scale across multiple teams. -

- - - - - -
-

Documenso Early Adopter Deal:

-

Join the movement

-

Simple signing solution

-

Email and Slack assistance

-

- Includes all upcoming features -

-

Fixed, straightforward pricing

-
-
- -
-

Enterprise

-

Pricing on request

- -

- For large organizations that need extra flexibility and control. -

- - event('enterprise-contact')} - > - - - -
-

Everything in Community, plus:

-

Custom Subdomain

-

Compliance Check

-

Guaranteed Uptime

-

Reporting & Analysis

-

24/7 Support

-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx deleted file mode 100644 index 05b6a3232..000000000 --- a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardConnectionsFigure from '~/assets/card-connections-figure.png'; -import cardPaidFigure from '~/assets/card-paid-figure.png'; -import cardSharingFigure from '~/assets/card-sharing-figure.png'; -import cardWidgetFigure from '~/assets/card-widget-figure.png'; - -export type ShareConnectPaidWidgetBentoProps = HTMLAttributes; - -export const ShareConnectPaidWidgetBento = ({ - className, - ...props -}: ShareConnectPaidWidgetBentoProps) => { - return ( -
-
- background pattern -
-

- Integrates with all your favourite tools. - Send, connect, receive and embed everywhere. -

- -
- - -

- Easy Sharing (Soon). - Receive your personal link to share with everyone you care about. -

- -
- its fast -
-
-
- - - -

- Connections (Soon). - Create connections and automations with Zapier and more to integrate with your - favorite tools. -

- -
- its fast -
-
-
- - - -

- Get paid (Soon). - Integrated payments with stripe so you don’t have to worry about getting paid. -

- -
- its fast -
-
-
- - - -

- React Widget (Soon). - Easily embed Documenso into your product. Simply copy and paste our react widget into - your application. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/widget.tsx b/apps/web/src/components/(marketing)/widget.tsx deleted file mode 100644 index 15e15d04c..000000000 --- a/apps/web/src/components/(marketing)/widget.tsx +++ /dev/null @@ -1,402 +0,0 @@ -'use client'; - -import { HTMLAttributes, KeyboardEvent, useMemo, useState } from 'react'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { AnimatePresence, motion } from 'framer-motion'; -import { Loader } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; -import { Controller, useForm } from 'react-hook-form'; -import { z } from 'zod'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from '@documenso/ui/primitives/dialog'; -import { Input } from '@documenso/ui/primitives/input'; -import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { claimPlan } from '~/api/claim-plan/fetcher'; - -import { FormErrorMessage } from '../form/form-error-message'; - -const ZWidgetFormSchema = z - .object({ - email: z.string().email({ message: 'Please enter a valid email address.' }), - name: z.string().min(3, { message: 'Please enter a valid name.' }), - }) - .and( - z.union([ - z.object({ - signatureDataUrl: z.string().min(1), - signatureText: z.null().or(z.string().max(0)), - }), - z.object({ - signatureDataUrl: z.null().or(z.string().max(0)), - signatureText: z.string().min(1), - }), - ]), - ); - -export type TWidgetFormSchema = z.infer; - -export type WidgetProps = HTMLAttributes; - -export const Widget = ({ className, children, ...props }: WidgetProps) => { - const { toast } = useToast(); - const event = usePlausible(); - - const [step, setStep] = useState<'EMAIL' | 'NAME' | 'SIGN'>('EMAIL'); - const [showSigningDialog, setShowSigningDialog] = useState(false); - const [draftSignatureDataUrl, setDraftSignatureDataUrl] = useState(null); - - const { - control, - register, - handleSubmit, - setValue, - trigger, - watch, - formState: { errors, isSubmitting, isValid }, - } = useForm({ - mode: 'onChange', - defaultValues: { - email: '', - name: '', - signatureDataUrl: null, - signatureText: '', - }, - resolver: zodResolver(ZWidgetFormSchema), - }); - - const signatureDataUrl = watch('signatureDataUrl'); - const signatureText = watch('signatureText'); - - const stepsRemaining = useMemo(() => { - if (step === 'NAME') { - return 2; - } - - if (step === 'SIGN') { - return 1; - } - - return 3; - }, [step]); - - const onNextStepClick = () => { - if (step === 'EMAIL') { - setStep('NAME'); - - setTimeout(() => { - document.querySelector('#name')?.focus(); - }, 0); - } - - if (step === 'NAME') { - setStep('SIGN'); - - setTimeout(() => { - document.querySelector('#signatureText')?.focus(); - }, 0); - } - }; - - const onEnterPress = (callback: () => void) => { - return (e: KeyboardEvent) => { - if (e.key === 'Enter') { - e.preventDefault(); - - callback(); - } - }; - }; - - const onSignatureConfirmClick = () => { - setValue('signatureDataUrl', draftSignatureDataUrl); - setValue('signatureText', ''); - - void trigger('signatureDataUrl'); - setShowSigningDialog(false); - }; - - const onFormSubmit = async ({ - email, - name, - signatureDataUrl, - signatureText, - }: TWidgetFormSchema) => { - try { - const delay = new Promise((resolve) => { - setTimeout(resolve, 1000); - }); - - // eslint-disable-next-line turbo/no-undeclared-env-vars - const planId = process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; - - const claimPlanInput = signatureDataUrl - ? { - name, - email, - planId, - signatureDataUrl: signatureDataUrl!, - signatureText: null, - } - : { - name, - email, - planId, - signatureDataUrl: null, - signatureText: signatureText!, - }; - - const [result] = await Promise.all([claimPlan(claimPlanInput), delay]); - - event('claim-plan-widget'); - - window.location.href = result; - } catch (error) { - event('claim-plan-failed'); - - toast({ - title: 'Something went wrong', - description: error instanceof Error ? error.message : 'Please try again later.', - variant: 'destructive', - }); - } - }; - - return ( - <> - -
-
- {children} -
- -
-

Sign up for the community plan

-

- with Timur Ercan & Lucas Smith from Documenso -

- -
- - - - - - ( -
- - field.value !== '' && - !errors.email?.message && - onEnterPress(onNextStepClick)(e) - } - {...field} - /> - -
- -
-
- )} - /> - - -
- - {(step === 'NAME' || step === 'SIGN') && ( - - - - ( -
- - field.value !== '' && - !errors.name?.message && - onEnterPress(onNextStepClick)(e) - } - {...field} - /> - -
- -
-
- )} - /> - - -
- )} -
- -
- -
-

{stepsRemaining} step(s) until signed

-

Minimise contract

-
- -
-
-
- - - setShowSigningDialog(true)} - > -
- {!signatureText && signatureDataUrl && ( - user signature - )} - - {signatureText && ( -

- {signatureText} -

- )} -
- -
e.stopPropagation()} - > - { - if (e.target.value !== '') { - setValue('signatureDataUrl', null); - } - }, - })} - /> - - -
-
-
- -
- - - - - - Add your signature - - - - By signing you signal your support of Documenso's mission in a

- non-legally binding, but heartfelt way.

-

You also unlock the option to purchase the early supporter plan including - everything we build this year for fixed price. -
- - - - - - - - -
-
- - ); -}; diff --git a/apps/web/src/pages/api/claim-plan/index.ts b/apps/web/src/pages/api/claim-plan/index.ts index a2e4108d2..abad354a8 100644 --- a/apps/web/src/pages/api/claim-plan/index.ts +++ b/apps/web/src/pages/api/claim-plan/index.ts @@ -43,7 +43,6 @@ export default async function handler( if (user && user.Subscription.length > 0) { return res.status(200).json({ - // eslint-disable-next-line turbo/no-undeclared-env-vars redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`, }); } @@ -104,7 +103,6 @@ export default async function handler( mode: 'subscription', metadata, allow_promotion_codes: true, - // eslint-disable-next-line turbo/no-undeclared-env-vars success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent( email, diff --git a/apps/web/src/pages/api/stripe/webhook/index.ts b/apps/web/src/pages/api/stripe/webhook/index.ts index dd15d4d81..6c678a33c 100644 --- a/apps/web/src/pages/api/stripe/webhook/index.ts +++ b/apps/web/src/pages/api/stripe/webhook/index.ts @@ -17,14 +17,13 @@ import { SigningStatus, } from '@documenso/prisma/client'; -const log = (...args: any[]) => console.log('[stripe]', ...args); +const log = (...args: unknown[]) => console.log('[stripe]', ...args); export const config = { api: { bodyParser: false }, }; export default async function handler(req: NextApiRequest, res: NextApiResponse) { - // eslint-disable-next-line turbo/no-undeclared-env-vars // if (!process.env.NEXT_PUBLIC_ALLOW_SUBSCRIPTIONS) { // return res.status(500).json({ // success: false, @@ -55,6 +54,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) log('event-type:', event.type); if (event.type === 'checkout.session.completed') { + // This is required since we don't want to create a guard for every event type + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions const session = event.data.object as Stripe.Checkout.Session; if (session.metadata?.source === 'landing') { diff --git a/packages/lib/server-only/field/set-fields-for-document.ts b/packages/lib/server-only/field/set-fields-for-document.ts index c54d35bc1..dc477bcea 100644 --- a/packages/lib/server-only/field/set-fields-for-document.ts +++ b/packages/lib/server-only/field/set-fields-for-document.ts @@ -84,6 +84,8 @@ export const setFieldsForDocument = async ({ }) : prisma.field.create({ data: { + // TODO: Rewrite this entire transaction because this is a mess + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion type: field.type!, page: field.pageNumber, positionX: field.pageX, diff --git a/packages/lib/server-only/stripe/index.ts b/packages/lib/server-only/stripe/index.ts index b2ab59fb9..505beaec8 100644 --- a/packages/lib/server-only/stripe/index.ts +++ b/packages/lib/server-only/stripe/index.ts @@ -1,7 +1,6 @@ import Stripe from 'stripe'; -// eslint-disable-next-line turbo/no-undeclared-env-vars -export const stripe = new Stripe(process.env.NEXT_PRIVATE_STRIPE_API_KEY!, { +export const stripe = new Stripe(process.env.NEXT_PRIVATE_STRIPE_API_KEY ?? '', { apiVersion: '2022-11-15', typescript: true, }); diff --git a/packages/lib/server-only/user/update-password.ts b/packages/lib/server-only/user/update-password.ts index 4133bc342..d987085ff 100644 --- a/packages/lib/server-only/user/update-password.ts +++ b/packages/lib/server-only/user/update-password.ts @@ -19,11 +19,13 @@ export const updatePassword = async ({ userId, password }: UpdatePasswordOptions const hashedPassword = await hash(password, SALT_ROUNDS); - // Compare the new password with the old password - const isSamePassword = await compare(password, user.password as string); + if (user.password) { + // Compare the new password with the old password + const isSamePassword = await compare(password, user.password); - if (isSamePassword) { - throw new Error('Your new password cannot be the same as your old password.'); + if (isSamePassword) { + throw new Error('Your new password cannot be the same as your old password.'); + } } const updatedUser = await prisma.user.update({ diff --git a/packages/lib/types/find-result-set.ts b/packages/lib/types/find-result-set.ts index 81b16f1ca..219b9b89c 100644 --- a/packages/lib/types/find-result-set.ts +++ b/packages/lib/types/find-result-set.ts @@ -1,5 +1,5 @@ export type FindResultSet = { - data: T extends Array ? T : T[]; + data: T extends Array ? T : T[]; count: number; currentPage: number; perPage: number; diff --git a/packages/lib/types/is-document-status.ts b/packages/lib/types/is-document-status.ts index 0666308a5..dbb5af489 100644 --- a/packages/lib/types/is-document-status.ts +++ b/packages/lib/types/is-document-status.ts @@ -1,5 +1,6 @@ import { DocumentStatus } from '@documenso/prisma/client'; export const isDocumentStatus = (value: unknown): value is DocumentStatus => { + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions return Object.values(DocumentStatus).includes(value as DocumentStatus); }; diff --git a/turbo.json b/turbo.json index ab4460781..f7d3d342c 100644 --- a/turbo.json +++ b/turbo.json @@ -22,10 +22,13 @@ "globalEnv": [ "NEXTAUTH_URL", "NEXTAUTH_SECRET", + "NEXT_PUBLIC_APP_URL", "NEXT_PUBLIC_SITE_URL", "NEXT_PUBLIC_POSTHOG_KEY", "NEXT_PUBLIC_POSTHOG_HOST", "NEXT_PUBLIC_FEATURE_BILLING_ENABLED", + "NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID", + "NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID", "NEXT_PRIVATE_DATABASE_URL", "NEXT_PRIVATE_NEXT_AUTH_SECRET", "NEXT_PRIVATE_GOOGLE_CLIENT_ID", @@ -44,6 +47,7 @@ "NEXT_PRIVATE_SMTP_APIKEY", "NEXT_PRIVATE_SMTP_SECURE", "NEXT_PRIVATE_SMTP_FROM_NAME", - "NEXT_PRIVATE_SMTP_FROM_ADDRESS" + "NEXT_PRIVATE_SMTP_FROM_ADDRESS", + "NEXT_PRIVATE_STRIPE_API_KEY" ] -} \ No newline at end of file +} From 34e962cc48e5bfdb296b7013f1e4bd90e8ad49de Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Aug 2023 14:06:19 +1000 Subject: [PATCH 24/83] fix: minor updates --- .../src/app/(dashboard)/dashboard/page.tsx | 29 +- .../sign/[token]/signature-field.tsx | 5 +- .../src/components/(marketing)/callout.tsx | 66 --- .../(marketing)/claim-plan-dialog.tsx | 150 ------- .../faster-smarter-beautiful-bento.tsx | 77 ---- .../web/src/components/(marketing)/footer.tsx | 63 --- .../web/src/components/(marketing)/header.tsx | 32 -- apps/web/src/components/(marketing)/hero.tsx | 225 ---------- .../(marketing)/open-build-template-bento.tsx | 74 ---- .../(marketing)/password-reveal.tsx | 33 -- .../components/(marketing)/pricing-table.tsx | 180 -------- .../share-connect-paid-widget-bento.tsx | 91 ---- .../web/src/components/(marketing)/widget.tsx | 402 ------------------ 13 files changed, 24 insertions(+), 1403 deletions(-) delete mode 100644 apps/web/src/components/(marketing)/callout.tsx delete mode 100644 apps/web/src/components/(marketing)/claim-plan-dialog.tsx delete mode 100644 apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/footer.tsx delete mode 100644 apps/web/src/components/(marketing)/header.tsx delete mode 100644 apps/web/src/components/(marketing)/hero.tsx delete mode 100644 apps/web/src/components/(marketing)/open-build-template-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/password-reveal.tsx delete mode 100644 apps/web/src/components/(marketing)/pricing-table.tsx delete mode 100644 apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx delete mode 100644 apps/web/src/components/(marketing)/widget.tsx diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx index a83b2e8cc..77b18b98c 100644 --- a/apps/web/src/app/(dashboard)/dashboard/page.tsx +++ b/apps/web/src/app/(dashboard)/dashboard/page.tsx @@ -5,6 +5,7 @@ import { Clock, File, FileCheck } from 'lucide-react'; import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; import { findDocuments } from '@documenso/lib/server-only/document/find-documents'; import { getStats } from '@documenso/lib/server-only/document/get-stats'; +import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client'; import { Table, TableBody, @@ -21,6 +22,24 @@ import { LocaleDate } from '~/components/formatter/locale-date'; import { UploadDocument } from './upload-document'; +const CARD_DATA = [ + { + icon: FileCheck, + title: 'Completed', + status: InternalDocumentStatus.COMPLETED, + }, + { + icon: File, + title: 'Drafts', + status: InternalDocumentStatus.DRAFT, + }, + { + icon: Clock, + title: 'Pending', + status: InternalDocumentStatus.PENDING, + }, +]; + export default async function DashboardPage() { const user = await getRequiredServerComponentSession(); @@ -34,20 +53,14 @@ export default async function DashboardPage() { }), ]); - const cardData = [ - { icon: FileCheck, title: 'Completed', status: stats.COMPLETED }, - { icon: File, title: 'Drafts', status: stats.DRAFT }, - { icon: Clock, title: 'Pending', status: stats.PENDING }, - ]; - return (

Dashboard

- {cardData.map((card) => ( + {CARD_DATA.map((card) => ( - + ))}
diff --git a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx index cada25e06..68a61fb67 100644 --- a/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/signature-field.tsx @@ -139,9 +139,10 @@ export const SignatureField = ({ field, recipient }: SignatureFieldProps) => { /> )} - {state === 'signed-text' && signature?.typedSignature && ( + {state === 'signed-text' && (

- {signature.typedSignature} + {/* This optional chaining is intentional, we don't want to move the check into the condition above */} + {signature?.typedSignature}

)} diff --git a/apps/web/src/components/(marketing)/callout.tsx b/apps/web/src/components/(marketing)/callout.tsx deleted file mode 100644 index d83983141..000000000 --- a/apps/web/src/components/(marketing)/callout.tsx +++ /dev/null @@ -1,66 +0,0 @@ -'use client'; - -import Link from 'next/link'; - -import { Github } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; - -import { Button } from '@documenso/ui/primitives/button'; - -export type CalloutProps = { - starCount?: number; - [key: string]: unknown; -}; - -export const Callout = ({ starCount }: CalloutProps) => { - const event = usePlausible(); - - const onSignUpClick = () => { - const el = document.getElementById('email'); - - if (el) { - const { top } = el.getBoundingClientRect(); - - window.scrollTo({ - top: top - 120, - behavior: 'smooth', - }); - - setTimeout(() => { - el.focus(); - }, 500); - } - }; - - return ( -
- - - event('view-github')} - > - - -
- ); -}; diff --git a/apps/web/src/components/(marketing)/claim-plan-dialog.tsx b/apps/web/src/components/(marketing)/claim-plan-dialog.tsx deleted file mode 100644 index 1f78c5292..000000000 --- a/apps/web/src/components/(marketing)/claim-plan-dialog.tsx +++ /dev/null @@ -1,150 +0,0 @@ -'use client'; - -import React, { useState } from 'react'; - -import { useSearchParams } from 'next/navigation'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { Info, Loader } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; -import { useForm } from 'react-hook-form'; -import { z } from 'zod'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; -import { - Dialog, - DialogContent, - DialogDescription, - DialogHeader, - DialogTitle, - DialogTrigger, -} from '@documenso/ui/primitives/dialog'; -import { Input } from '@documenso/ui/primitives/input'; -import { Label } from '@documenso/ui/primitives/label'; -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { claimPlan } from '~/api/claim-plan/fetcher'; - -import { FormErrorMessage } from '../form/form-error-message'; - -export const ZClaimPlanDialogFormSchema = z.object({ - name: z.string().min(3), - email: z.string().email(), -}); - -export type TClaimPlanDialogFormSchema = z.infer; - -export type ClaimPlanDialogProps = { - className?: string; - planId: string; - children: React.ReactNode; -}; - -export const ClaimPlanDialog = ({ className, planId, children }: ClaimPlanDialogProps) => { - const params = useSearchParams(); - const { toast } = useToast(); - const event = usePlausible(); - - const [open, setOpen] = useState(() => params?.get('cancelled') === 'true'); - - const { - register, - handleSubmit, - formState: { errors, isSubmitting }, - } = useForm({ - mode: 'onBlur', - defaultValues: { - name: params?.get('name') ?? '', - email: params?.get('email') ?? '', - }, - resolver: zodResolver(ZClaimPlanDialogFormSchema), - }); - - const onFormSubmit = async ({ name, email }: TClaimPlanDialogFormSchema) => { - try { - const delay = new Promise((resolve) => { - setTimeout(resolve, 1000); - }); - - const [redirectUrl] = await Promise.all([ - claimPlan({ name, email, planId, signatureText: name, signatureDataUrl: null }), - delay, - ]); - - event('claim-plan-pricing'); - - window.location.href = redirectUrl; - } catch (error) { - event('claim-plan-failed'); - - toast({ - title: 'Something went wrong', - description: error instanceof Error ? error.message : 'Please try again later.', - variant: 'destructive', - }); - } - }; - - return ( - - {children} - - - - Claim your plan - - - We're almost there! Please enter your email address and name to claim your plan. - - - -
- {params?.get('cancelled') === 'true' && ( -
-
-
- -
-
-

- You have cancelled the payment process. If you didn't mean to do this, please - try again. -

-
-
-
- )} - -
- - - - - -
- -
- - - - - -
- - -
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx b/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx deleted file mode 100644 index 2cbaaef53..000000000 --- a/apps/web/src/components/(marketing)/faster-smarter-beautiful-bento.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardBeautifulFigure from '~/assets/card-beautiful-figure.png'; -import cardFastFigure from '~/assets/card-fast-figure.png'; -import cardSmartFigure from '~/assets/card-smart-figure.png'; - -export type FasterSmarterBeautifulBentoProps = HTMLAttributes; - -export const FasterSmarterBeautifulBento = ({ - className, - ...props -}: FasterSmarterBeautifulBentoProps) => { - return ( -
-
- background pattern -
-

- A 10x better signing experience. - Faster, smarter and more beautiful. -

- -
- - -

- Fast. - When it comes to sending or receiving a contract, you can count on lightning-fast - speeds. -

- -
- its fast -
-
-
- - - -

- Beautiful. - Because signing should be celebrated. That’s why we care about the smallest detail in - our product. -

- -
- its fast -
-
-
- - - -

- Smart. - Our custom templates come with smart rules that can help you save time and energy. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/footer.tsx b/apps/web/src/components/(marketing)/footer.tsx deleted file mode 100644 index a5fadfcf8..000000000 --- a/apps/web/src/components/(marketing)/footer.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { Github, MessagesSquare, Twitter } from 'lucide-react'; - -import { cn } from '@documenso/ui/lib/utils'; - -export type FooterProps = HTMLAttributes; - -const SOCIAL_LINKS = [ - { href: 'https://twitter.com/documenso', icon: }, - { href: 'https://github.com/documenso/documenso', icon: }, - { href: 'https://documen.so/discord', icon: }, -]; - -const FOOTER_LINKS = [ - { href: '/pricing', text: 'Pricing' }, - { href: 'https://status.documenso.com', text: 'Status', target: '_blank' }, - { href: 'mailto:support@documenso.com', text: 'Support' }, - // { href: '/privacy', text: 'Privacy'} -]; - -export const Footer = ({ className, ...props }: FooterProps) => { - return ( -
-
-
- - Documenso Logo - - -
- {SOCIAL_LINKS.map((link, index) => ( - - {link.icon} - - ))} -
-
- -
- {FOOTER_LINKS.map((link, index) => ( - - {link.text} - - ))} -
-
-
-

- © {new Date().getFullYear()} Documenso, Inc. All rights reserved. -

-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/header.tsx b/apps/web/src/components/(marketing)/header.tsx deleted file mode 100644 index 5a1fa3b89..000000000 --- a/apps/web/src/components/(marketing)/header.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { cn } from '@documenso/ui/lib/utils'; - -export type HeaderProps = HTMLAttributes; - -export const Header = ({ className, ...props }: HeaderProps) => { - return ( -
- - Documenso Logo - - -
- - Pricing - - - - Sign in - -
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/hero.tsx b/apps/web/src/components/(marketing)/hero.tsx deleted file mode 100644 index 7896a010e..000000000 --- a/apps/web/src/components/(marketing)/hero.tsx +++ /dev/null @@ -1,225 +0,0 @@ -'use client'; - -import Image from 'next/image'; -import Link from 'next/link'; - -import { Variants, motion } from 'framer-motion'; -import { Github } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; - -import backgroundPattern from '~/assets/background-pattern.png'; - -import { Widget } from './widget'; - -export type HeroProps = { - className?: string; - starCount?: number; - [key: string]: unknown; -}; - -const BackgroundPatternVariants: Variants = { - initial: { - opacity: 0, - }, - - animate: { - opacity: 1, - - transition: { - delay: 1, - duration: 1.2, - }, - }, -}; - -const HeroTitleVariants: Variants = { - initial: { - opacity: 0, - y: 60, - }, - animate: { - opacity: 1, - y: 0, - transition: { - duration: 0.5, - }, - }, -}; - -export const Hero = ({ className, starCount, ...props }: HeroProps) => { - const event = usePlausible(); - - const onSignUpClick = () => { - const el = document.getElementById('email'); - - if (el) { - const { top } = el.getBoundingClientRect(); - - window.scrollTo({ - top: top - 120, - behavior: 'smooth', - }); - - requestAnimationFrame(() => { - el.focus(); - }); - } - }; - - return ( - -
- - background pattern - -
- -
- - Document signing, - finally open source. - - - - - - event('view-github')}> - - - - -
- - - Documenso - The open source DocuSign alternative | Product Hunt - - -
- - - - Documenso Supporter Pledge -

- Our mission is to create an open signing infrastructure that empowers the world, - enabling businesses to embrace openness, cooperation, and transparency. We believe - that signing, as a fundamental act, should embody these values. By offering an - open-source signing solution, we aim to make document signing accessible, transparent, - and trustworthy. -

- -

- Through our platform, called Documenso, we strive to earn your trust by allowing - self-hosting and providing complete visibility into its inner workings. We value - inclusivity and foster an environment where diverse perspectives and contributions are - welcomed, even though we may not implement them all. -

- -

- At Documenso, we envision a web-enabled future for business and contracts, and we are - committed to being the leading provider of open signing infrastructure. By combining - exceptional product design with open-source principles, we aim to deliver a robust and - well-designed application that exceeds your expectations. -

- -

- We understand that exceptional products are born from exceptional communities, and we - invite you to join our open-source community. Your contributions, whether technical or - non-technical, will help shape the future of signing. Together, we can create a better - future for everyone. -

- -

- Today we invite you to join us on this journey: By signing this mission statement you - signal your support of Documenso's mission{' '} - - (in a non-legally binding, but heartfelt way) - {' '} - and lock in the early supporter plan for forever, including everything we build this - year. -

- -
-

Timur & Lucas

-
- -
- Timur Ercan & Lucas Smith -

Co-Founders, Documenso

-
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/open-build-template-bento.tsx b/apps/web/src/components/(marketing)/open-build-template-bento.tsx deleted file mode 100644 index e7920500b..000000000 --- a/apps/web/src/components/(marketing)/open-build-template-bento.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardBuildFigure from '~/assets/card-build-figure.png'; -import cardOpenFigure from '~/assets/card-open-figure.png'; -import cardTemplateFigure from '~/assets/card-template-figure.png'; - -export type OpenBuildTemplateBentoProps = HTMLAttributes; - -export const OpenBuildTemplateBento = ({ className, ...props }: OpenBuildTemplateBentoProps) => { - return ( -
-
- background pattern -
-

- Truly your own. - Customise and expand. -

- -
- - -

- Open Source or Hosted. - It’s up to you. Either clone our repository or rely on our easy to use hosting - solution. -

- -
- its fast -
-
-
- - - -

- Build on top. - Make it your own through advanced customization and adjustability. -

- -
- its fast -
-
-
- - - -

- Template Store (Soon). - Choose a template from the community app store. Or submit your own template for others - to use. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/password-reveal.tsx b/apps/web/src/components/(marketing)/password-reveal.tsx deleted file mode 100644 index b31765943..000000000 --- a/apps/web/src/components/(marketing)/password-reveal.tsx +++ /dev/null @@ -1,33 +0,0 @@ -'use client'; - -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { useCopyToClipboard } from '~/hooks/use-copy-to-clipboard'; - -export type PasswordRevealProps = { - password: string; -}; - -export const PasswordReveal = ({ password }: PasswordRevealProps) => { - const { toast } = useToast(); - const [, copy] = useCopyToClipboard(); - - const onCopyClick = () => { - void copy(password).then(() => { - toast({ - title: 'Copied to clipboard', - description: 'Your password has been copied to your clipboard.', - }); - }); - }; - - return ( - - ); -}; diff --git a/apps/web/src/components/(marketing)/pricing-table.tsx b/apps/web/src/components/(marketing)/pricing-table.tsx deleted file mode 100644 index 73003abdc..000000000 --- a/apps/web/src/components/(marketing)/pricing-table.tsx +++ /dev/null @@ -1,180 +0,0 @@ -'use client'; - -import { HTMLAttributes, useMemo, useState } from 'react'; - -import Link from 'next/link'; -import { useSearchParams } from 'next/navigation'; - -import { AnimatePresence, motion } from 'framer-motion'; -import { usePlausible } from 'next-plausible'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; - -import { ClaimPlanDialog } from './claim-plan-dialog'; - -export type PricingTableProps = HTMLAttributes; - -const SELECTED_PLAN_BAR_LAYOUT_ID = 'selected-plan-bar'; - -export const PricingTable = ({ className, ...props }: PricingTableProps) => { - const params = useSearchParams(); - const event = usePlausible(); - - const [period, setPeriod] = useState<'MONTHLY' | 'YEARLY'>(() => - // eslint-disable-next-line turbo/no-undeclared-env-vars - params?.get('planId') === process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID - ? 'YEARLY' - : 'MONTHLY', - ); - - const planId = useMemo(() => { - if (period === 'MONTHLY') { - // eslint-disable-next-line turbo/no-undeclared-env-vars - return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; - } - - // eslint-disable-next-line turbo/no-undeclared-env-vars - return process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID; - }, [period]); - - return ( -
-
- - setPeriod('MONTHLY')} - > - Monthly - {period === 'MONTHLY' && ( - - )} - - - setPeriod('YEARLY')} - > - Yearly -
- Save $60 -
- {period === 'YEARLY' && ( - - )} -
-
-
- -
-
-

Self Hosted

-

Free

- -

- For small teams and individuals who need a simple solution -

- - - -
-

Host your own instance

-

Full Control

-

Customizability

-

Docker Ready

-

Community Support

-

Free, Forever

-
-
- -
-

Community

-
- - {period === 'MONTHLY' && $30} - {period === 'YEARLY' && $300} - -
- -

- For fast-growing companies that aim to scale across multiple teams. -

- - - - - -
-

Documenso Early Adopter Deal:

-

Join the movement

-

Simple signing solution

-

Email and Slack assistance

-

- Includes all upcoming features -

-

Fixed, straightforward pricing

-
-
- -
-

Enterprise

-

Pricing on request

- -

- For large organizations that need extra flexibility and control. -

- - event('enterprise-contact')} - > - - - -
-

Everything in Community, plus:

-

Custom Subdomain

-

Compliance Check

-

Guaranteed Uptime

-

Reporting & Analysis

-

24/7 Support

-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx b/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx deleted file mode 100644 index 05b6a3232..000000000 --- a/apps/web/src/components/(marketing)/share-connect-paid-widget-bento.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { HTMLAttributes } from 'react'; - -import Image from 'next/image'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; - -import backgroundPattern from '~/assets/background-pattern.png'; -import cardConnectionsFigure from '~/assets/card-connections-figure.png'; -import cardPaidFigure from '~/assets/card-paid-figure.png'; -import cardSharingFigure from '~/assets/card-sharing-figure.png'; -import cardWidgetFigure from '~/assets/card-widget-figure.png'; - -export type ShareConnectPaidWidgetBentoProps = HTMLAttributes; - -export const ShareConnectPaidWidgetBento = ({ - className, - ...props -}: ShareConnectPaidWidgetBentoProps) => { - return ( -
-
- background pattern -
-

- Integrates with all your favourite tools. - Send, connect, receive and embed everywhere. -

- -
- - -

- Easy Sharing (Soon). - Receive your personal link to share with everyone you care about. -

- -
- its fast -
-
-
- - - -

- Connections (Soon). - Create connections and automations with Zapier and more to integrate with your - favorite tools. -

- -
- its fast -
-
-
- - - -

- Get paid (Soon). - Integrated payments with stripe so you don’t have to worry about getting paid. -

- -
- its fast -
-
-
- - - -

- React Widget (Soon). - Easily embed Documenso into your product. Simply copy and paste our react widget into - your application. -

- -
- its fast -
-
-
-
-
- ); -}; diff --git a/apps/web/src/components/(marketing)/widget.tsx b/apps/web/src/components/(marketing)/widget.tsx deleted file mode 100644 index 15e15d04c..000000000 --- a/apps/web/src/components/(marketing)/widget.tsx +++ /dev/null @@ -1,402 +0,0 @@ -'use client'; - -import { HTMLAttributes, KeyboardEvent, useMemo, useState } from 'react'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { AnimatePresence, motion } from 'framer-motion'; -import { Loader } from 'lucide-react'; -import { usePlausible } from 'next-plausible'; -import { Controller, useForm } from 'react-hook-form'; -import { z } from 'zod'; - -import { cn } from '@documenso/ui/lib/utils'; -import { Button } from '@documenso/ui/primitives/button'; -import { Card, CardContent } from '@documenso/ui/primitives/card'; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from '@documenso/ui/primitives/dialog'; -import { Input } from '@documenso/ui/primitives/input'; -import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; -import { useToast } from '@documenso/ui/primitives/use-toast'; - -import { claimPlan } from '~/api/claim-plan/fetcher'; - -import { FormErrorMessage } from '../form/form-error-message'; - -const ZWidgetFormSchema = z - .object({ - email: z.string().email({ message: 'Please enter a valid email address.' }), - name: z.string().min(3, { message: 'Please enter a valid name.' }), - }) - .and( - z.union([ - z.object({ - signatureDataUrl: z.string().min(1), - signatureText: z.null().or(z.string().max(0)), - }), - z.object({ - signatureDataUrl: z.null().or(z.string().max(0)), - signatureText: z.string().min(1), - }), - ]), - ); - -export type TWidgetFormSchema = z.infer; - -export type WidgetProps = HTMLAttributes; - -export const Widget = ({ className, children, ...props }: WidgetProps) => { - const { toast } = useToast(); - const event = usePlausible(); - - const [step, setStep] = useState<'EMAIL' | 'NAME' | 'SIGN'>('EMAIL'); - const [showSigningDialog, setShowSigningDialog] = useState(false); - const [draftSignatureDataUrl, setDraftSignatureDataUrl] = useState(null); - - const { - control, - register, - handleSubmit, - setValue, - trigger, - watch, - formState: { errors, isSubmitting, isValid }, - } = useForm({ - mode: 'onChange', - defaultValues: { - email: '', - name: '', - signatureDataUrl: null, - signatureText: '', - }, - resolver: zodResolver(ZWidgetFormSchema), - }); - - const signatureDataUrl = watch('signatureDataUrl'); - const signatureText = watch('signatureText'); - - const stepsRemaining = useMemo(() => { - if (step === 'NAME') { - return 2; - } - - if (step === 'SIGN') { - return 1; - } - - return 3; - }, [step]); - - const onNextStepClick = () => { - if (step === 'EMAIL') { - setStep('NAME'); - - setTimeout(() => { - document.querySelector('#name')?.focus(); - }, 0); - } - - if (step === 'NAME') { - setStep('SIGN'); - - setTimeout(() => { - document.querySelector('#signatureText')?.focus(); - }, 0); - } - }; - - const onEnterPress = (callback: () => void) => { - return (e: KeyboardEvent) => { - if (e.key === 'Enter') { - e.preventDefault(); - - callback(); - } - }; - }; - - const onSignatureConfirmClick = () => { - setValue('signatureDataUrl', draftSignatureDataUrl); - setValue('signatureText', ''); - - void trigger('signatureDataUrl'); - setShowSigningDialog(false); - }; - - const onFormSubmit = async ({ - email, - name, - signatureDataUrl, - signatureText, - }: TWidgetFormSchema) => { - try { - const delay = new Promise((resolve) => { - setTimeout(resolve, 1000); - }); - - // eslint-disable-next-line turbo/no-undeclared-env-vars - const planId = process.env.NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID; - - const claimPlanInput = signatureDataUrl - ? { - name, - email, - planId, - signatureDataUrl: signatureDataUrl!, - signatureText: null, - } - : { - name, - email, - planId, - signatureDataUrl: null, - signatureText: signatureText!, - }; - - const [result] = await Promise.all([claimPlan(claimPlanInput), delay]); - - event('claim-plan-widget'); - - window.location.href = result; - } catch (error) { - event('claim-plan-failed'); - - toast({ - title: 'Something went wrong', - description: error instanceof Error ? error.message : 'Please try again later.', - variant: 'destructive', - }); - } - }; - - return ( - <> - -
-
- {children} -
- -
-

Sign up for the community plan

-

- with Timur Ercan & Lucas Smith from Documenso -

- -
- - - - - - ( -
- - field.value !== '' && - !errors.email?.message && - onEnterPress(onNextStepClick)(e) - } - {...field} - /> - -
- -
-
- )} - /> - - -
- - {(step === 'NAME' || step === 'SIGN') && ( - - - - ( -
- - field.value !== '' && - !errors.name?.message && - onEnterPress(onNextStepClick)(e) - } - {...field} - /> - -
- -
-
- )} - /> - - -
- )} -
- -
- -
-

{stepsRemaining} step(s) until signed

-

Minimise contract

-
- -
-
-
- - - setShowSigningDialog(true)} - > -
- {!signatureText && signatureDataUrl && ( - user signature - )} - - {signatureText && ( -

- {signatureText} -

- )} -
- -
e.stopPropagation()} - > - { - if (e.target.value !== '') { - setValue('signatureDataUrl', null); - } - }, - })} - /> - - -
-
-
- -
- - - - - - Add your signature - - - - By signing you signal your support of Documenso's mission in a

- non-legally binding, but heartfelt way.

-

You also unlock the option to purchase the early supporter plan including - everything we build this year for fixed price. -
- - - - - - - - -
-
- - ); -}; From 7218b950fe07e58295bd52f510a432d033886910 Mon Sep 17 00:00:00 2001 From: Mythie Date: Fri, 1 Sep 2023 18:43:53 +1000 Subject: [PATCH 25/83] feat: store profile signature --- apps/web/src/app/(signing)/sign/[token]/page.tsx | 5 ++++- apps/web/src/app/(signing)/sign/[token]/provider.tsx | 6 +++--- apps/web/src/components/forms/profile.tsx | 1 + packages/lib/server-only/user/update-profile.ts | 9 ++------- .../migration.sql | 2 ++ packages/prisma/schema.prisma | 1 + 6 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 packages/prisma/migrations/20230901083000_add_user_signature_column/migration.sql diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index d3329ff79..9fd1c3a51 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -3,6 +3,7 @@ import { notFound } from 'next/navigation'; import { match } from 'ts-pattern'; import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; +import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { viewedDocument } from '@documenso/lib/server-only/document/viewed-document'; import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; @@ -42,10 +43,12 @@ export default async function SigningPage({ params: { token } }: SigningPageProp return notFound(); } + const user = await getServerComponentSession(); + const documentUrl = `data:application/pdf;base64,${document.document}`; return ( - +

{document.title} diff --git a/apps/web/src/app/(signing)/sign/[token]/provider.tsx b/apps/web/src/app/(signing)/sign/[token]/provider.tsx index 40d2bd0bb..454007cb0 100644 --- a/apps/web/src/app/(signing)/sign/[token]/provider.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/provider.tsx @@ -28,9 +28,9 @@ export const useRequiredSigningContext = () => { }; export interface SigningProviderProps { - fullName?: string; - email?: string; - signature?: string; + fullName?: string | null; + email?: string | null; + signature?: string | null; children: React.ReactNode; } diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx index 5b4045abb..aaab1e9ae 100644 --- a/apps/web/src/components/forms/profile.tsx +++ b/apps/web/src/components/forms/profile.tsx @@ -118,6 +118,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => { render={({ field: { onChange } }) => ( onChange(v ?? '')} /> )} diff --git a/packages/lib/server-only/user/update-profile.ts b/packages/lib/server-only/user/update-profile.ts index 437f366fa..a28fd21c5 100644 --- a/packages/lib/server-only/user/update-profile.ts +++ b/packages/lib/server-only/user/update-profile.ts @@ -6,12 +6,7 @@ export type UpdateProfileOptions = { signature: string; }; -export const updateProfile = async ({ - userId, - name, - // TODO: Actually use signature - signature: _signature, -}: UpdateProfileOptions) => { +export const updateProfile = async ({ userId, name, signature }: UpdateProfileOptions) => { // Existence check await prisma.user.findFirstOrThrow({ where: { @@ -25,7 +20,7 @@ export const updateProfile = async ({ }, data: { name, - // signature, + signature, }, }); diff --git a/packages/prisma/migrations/20230901083000_add_user_signature_column/migration.sql b/packages/prisma/migrations/20230901083000_add_user_signature_column/migration.sql new file mode 100644 index 000000000..4b660cd19 --- /dev/null +++ b/packages/prisma/migrations/20230901083000_add_user_signature_column/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "User" ADD COLUMN "signature" TEXT; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 67c7ec48d..2e016f5ec 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -20,6 +20,7 @@ model User { emailVerified DateTime? password String? source String? + signature String? identityProvider IdentityProvider @default(DOCUMENSO) accounts Account[] sessions Session[] From 7bcf5fbd86d734e3390a38df6919deec507c7e05 Mon Sep 17 00:00:00 2001 From: Mythie Date: Fri, 1 Sep 2023 19:46:44 +1000 Subject: [PATCH 26/83] feat: store signature on signup --- apps/web/src/components/forms/signup.tsx | 23 ++++++++++++++++---- packages/lib/server-only/user/create-user.ts | 4 +++- packages/trpc/server/auth-router/router.ts | 4 ++-- packages/trpc/server/auth-router/schema.ts | 1 + 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/apps/web/src/components/forms/signup.tsx b/apps/web/src/components/forms/signup.tsx index 917ae545b..e77d0ac00 100644 --- a/apps/web/src/components/forms/signup.tsx +++ b/apps/web/src/components/forms/signup.tsx @@ -3,13 +3,14 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { Loader } from 'lucide-react'; import { signIn } from 'next-auth/react'; -import { useForm } from 'react-hook-form'; +import { Controller, useForm } from 'react-hook-form'; import { z } from 'zod'; import { TRPCClientError } from '@documenso/trpc/client'; import { trpc } from '@documenso/trpc/react'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; +import { FormErrorMessage } from '@documenso/ui/primitives/form/form-error-message'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; import { SignaturePad } from '@documenso/ui/primitives/signature-pad'; @@ -19,6 +20,7 @@ export const ZSignUpFormSchema = z.object({ name: z.string().min(1), email: z.string().email().min(1), password: z.string().min(6).max(72), + signature: z.string().min(1, { message: 'We need your signature to sign documents' }), }); export type TSignUpFormSchema = z.infer; @@ -31,6 +33,7 @@ export const SignUpForm = ({ className }: SignUpFormProps) => { const { toast } = useToast(); const { + control, register, handleSubmit, formState: { errors, isSubmitting }, @@ -39,15 +42,16 @@ export const SignUpForm = ({ className }: SignUpFormProps) => { name: '', email: '', password: '', + signature: '', }, resolver: zodResolver(ZSignUpFormSchema), }); const { mutateAsync: signup } = trpc.auth.signup.useMutation(); - const onFormSubmit = async ({ name, email, password }: TSignUpFormSchema) => { + const onFormSubmit = async ({ name, email, password, signature }: TSignUpFormSchema) => { try { - await signup({ name, email, password }); + await signup({ name, email, password, signature }); await signIn('credentials', { email, @@ -119,8 +123,19 @@ export const SignUpForm = ({ className }: SignUpFormProps) => {
- + ( + onChange(v ?? '')} + /> + )} + />
+ +

- -
-
- Or continue with -
-
- - - +
+ + + + + {errors.email && ( + {errors.email.message} + )} +
+ +
+ + + + + {errors.password && ( + {errors.password.message} + )} +
+ + + +
+
+ Or continue with +
+
+ + + + ); }; From d9da09c1e7d7f24ef99ba0ad00dac2c81a53bcc5 Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Fri, 1 Sep 2023 16:25:49 +0530 Subject: [PATCH 29/83] fix: typo --- apps/web/src/components/forms/signin.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 5322dcf78..2dcad75dc 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -94,7 +94,7 @@ export const SignInForm = ({ className }: SignInFormProps) => { {ErrorMessages[searchParams?.get('error') as keyof typeof ErrorMessages] ?? - 'an unknown error occured'} + 'an unknown error occurred'}
From 5540fcf0d21ed62e5f05ae7dad61b4f531f082e3 Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Sat, 2 Sep 2023 11:46:12 +0530 Subject: [PATCH 30/83] fix: use toast --- apps/web/src/components/forms/signin.tsx | 159 ++++++++++++----------- 1 file changed, 81 insertions(+), 78 deletions(-) diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 2dcad75dc..4d5e2b444 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -1,10 +1,11 @@ 'use client'; -/* eslint-disable @typescript-eslint/consistent-type-assertions */ +import { useEffect, useRef } from 'react'; + import { useSearchParams } from 'next/navigation'; import { zodResolver } from '@hookform/resolvers/zod'; -import { AlertTriangle, Loader } from 'lucide-react'; +import { Loader } from 'lucide-react'; import { signIn } from 'next-auth/react'; import { useForm } from 'react-hook-form'; import { FcGoogle } from 'react-icons/fc'; @@ -12,7 +13,6 @@ import { z } from 'zod'; import { ErrorCodes } from '@documenso/lib/next-auth/error-codes'; import { cn } from '@documenso/ui/lib/utils'; -import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; import { Button } from '@documenso/ui/primitives/button'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; @@ -51,6 +51,30 @@ export const SignInForm = ({ className }: SignInFormProps) => { resolver: zodResolver(ZSignInFormSchema), }); + const timer = useRef(null); + + useEffect(() => { + const error = searchParams?.get('error'); + if (error) { + timer.current = setTimeout(() => { + toast({ + variant: 'destructive', + description: + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + ErrorMessages[searchParams?.get('error') as keyof typeof ErrorMessages] ?? + 'an unknown error occurred', + }); + }, 100); + } + return () => { + if (timer.current) { + clearInterval(timer.current); + } + timer.current = null; + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + const onFormSubmit = async ({ email, password }: TSignInFormSchema) => { try { await signIn('credentials', { @@ -86,83 +110,62 @@ export const SignInForm = ({ className }: SignInFormProps) => { }; return ( - <> - {searchParams?.get('error') && ( -
- - +
+
+ - - {ErrorMessages[searchParams?.get('error') as keyof typeof ErrorMessages] ?? - 'an unknown error occurred'} - - -
- )} + - {errors.email.message}} +
+ +
+ + + + + {errors.password && ( + {errors.password.message} + )} +
+ + + +
+
+ Or continue with +
+
+ + - -
-
- Or continue with -
-
- - - - + + Google + + ); }; From c7993807870425f7d6504b79447ae846c9edf610 Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Sat, 2 Sep 2023 11:51:21 +0530 Subject: [PATCH 31/83] chore: add comments --- apps/web/src/components/forms/signin.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 4d5e2b444..837bc180c 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -57,6 +57,7 @@ export const SignInForm = ({ className }: SignInFormProps) => { const error = searchParams?.get('error'); if (error) { timer.current = setTimeout(() => { + // FIXME: Toast not firing without the TimeOut toast({ variant: 'destructive', description: From 692722d32eb86a94f7a6f87d4e7d860a2af5ff87 Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Sat, 2 Sep 2023 11:55:44 +0530 Subject: [PATCH 32/83] revert: fix: component style --- packages/ui/primitives/alert.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/ui/primitives/alert.tsx b/packages/ui/primitives/alert.tsx index a53d8fc33..190f7781d 100644 --- a/packages/ui/primitives/alert.tsx +++ b/packages/ui/primitives/alert.tsx @@ -5,13 +5,13 @@ import { VariantProps, cva } from 'class-variance-authority'; import { cn } from '../lib/utils'; const alertVariants = cva( - 'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground', + 'relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11', { variants: { variant: { default: 'bg-background text-foreground', destructive: - 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive', + 'text-destructive border-destructive/50 dark:border-destructive [&>svg]:text-destructive text-destructive', }, }, defaultVariants: { @@ -19,6 +19,7 @@ const alertVariants = cva( }, }, ); + const Alert = React.forwardRef< HTMLDivElement, React.HTMLAttributes & VariantProps From 7bcc26a987218abcf07f48a702dde8e0084c977f Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Sat, 2 Sep 2023 12:11:07 +0530 Subject: [PATCH 33/83] fix: user name not updatable --- apps/web/src/components/forms/profile.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx index aaab1e9ae..e018ef60b 100644 --- a/apps/web/src/components/forms/profile.tsx +++ b/apps/web/src/components/forms/profile.tsx @@ -44,7 +44,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => { } = useForm({ values: { name: user.name ?? '', - signature: '', + signature: user.signature ? user.signature : '', }, resolver: zodResolver(ZProfileFormSchema), }); From 4b849e286cc8dcc4661dd0054ad77c0dc3486d2a Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 2 Sep 2023 22:08:19 +0000 Subject: [PATCH 34/83] feat: add missing email field to document sign page --- .../(signing)/sign/[token]/email-field.tsx | 96 +++++++++++++++++++ .../src/app/(signing)/sign/[token]/page.tsx | 6 ++ 2 files changed, 102 insertions(+) create mode 100644 apps/web/src/app/(signing)/sign/[token]/email-field.tsx diff --git a/apps/web/src/app/(signing)/sign/[token]/email-field.tsx b/apps/web/src/app/(signing)/sign/[token]/email-field.tsx new file mode 100644 index 000000000..05c1cb31c --- /dev/null +++ b/apps/web/src/app/(signing)/sign/[token]/email-field.tsx @@ -0,0 +1,96 @@ +'use client'; + +import { useTransition } from 'react'; + +import { useRouter } from 'next/navigation'; + +import { Loader } from 'lucide-react'; + +import { Recipient } from '@documenso/prisma/client'; +import { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; +import { trpc } from '@documenso/trpc/react'; +import { useToast } from '@documenso/ui/primitives/use-toast'; + +import { useRequiredSigningContext } from './provider'; +import { SigningFieldContainer } from './signing-field-container'; + +export type EmailFieldProps = { + field: FieldWithSignature; + recipient: Recipient; +}; + +export const EmailField = ({ field, recipient }: EmailFieldProps) => { + const router = useRouter(); + + const { toast } = useToast(); + + const { email: providedEmail } = useRequiredSigningContext(); + + const [isPending, startTransition] = useTransition(); + + const { mutateAsync: signFieldWithToken, isLoading: isSignFieldWithTokenLoading } = + trpc.field.signFieldWithToken.useMutation(); + + const { + mutateAsync: removeSignedFieldWithToken, + isLoading: isRemoveSignedFieldWithTokenLoading, + } = trpc.field.removeSignedFieldWithToken.useMutation(); + + const isLoading = isSignFieldWithTokenLoading || isRemoveSignedFieldWithTokenLoading || isPending; + + const onSign = async () => { + try { + await signFieldWithToken({ + token: recipient.token, + fieldId: field.id, + value: providedEmail ?? '', + isBase64: false, + }); + + startTransition(() => router.refresh()); + } catch (err) { + console.error(err); + + toast({ + title: 'Error', + description: 'An error occurred while signing the document.', + variant: 'destructive', + }); + } + }; + + const onRemove = async () => { + try { + await removeSignedFieldWithToken({ + token: recipient.token, + fieldId: field.id, + }); + + startTransition(() => router.refresh()); + } catch (err) { + console.error(err); + + toast({ + title: 'Error', + description: 'An error occurred while removing the signature.', + variant: 'destructive', + }); + } + }; + + return ( + + {isLoading && ( +
+ +
+ )} + + {!field.inserted && ( +

Email

+ )} + + {field.inserted &&

{field.customText}

} +
+ ); +}; diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index 9fd1c3a51..b08659e12 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -14,6 +14,7 @@ import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; import { DateField } from './date-field'; +import { EmailField } from './email-field'; import { SigningForm } from './form'; import { NameField } from './name-field'; import { SigningProvider } from './provider'; @@ -47,6 +48,8 @@ export default async function SigningPage({ params: { token } }: SigningPageProp const documentUrl = `data:application/pdf;base64,${document.document}`; + console.log(fields); + return (
@@ -87,6 +90,9 @@ export default async function SigningPage({ params: { token } }: SigningPageProp .with(FieldType.DATE, () => ( )) + .with(FieldType.EMAIL, () => ( + + )) .otherwise(() => null), )} From b3291c65bc53191dbed4755c71bfe7b3f424344a Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 2 Sep 2023 22:20:57 +0000 Subject: [PATCH 35/83] chore: remove console.log --- apps/web/src/app/(signing)/sign/[token]/page.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index b08659e12..35621068a 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -48,8 +48,6 @@ export default async function SigningPage({ params: { token } }: SigningPageProp const documentUrl = `data:application/pdf;base64,${document.document}`; - console.log(fields); - return (
From b23967d777c48e0f44dc363126621e239aa79afa Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Mon, 4 Sep 2023 16:08:22 +0300 Subject: [PATCH 36/83] chore: removed console.logs and warn --- .../document/complete-document-with-token.ts | 1 - .../lib/server-only/document/seal-document.ts | 4 --- .../server-only/pdf/insert-field-in-pdf.ts | 29 ------------------- 3 files changed, 34 deletions(-) diff --git a/packages/lib/server-only/document/complete-document-with-token.ts b/packages/lib/server-only/document/complete-document-with-token.ts index 2c937cf93..55df75249 100644 --- a/packages/lib/server-only/document/complete-document-with-token.ts +++ b/packages/lib/server-only/document/complete-document-with-token.ts @@ -86,7 +86,6 @@ export const completeDocumentWithToken = async ({ console.log('documents', documents); if (documents.count > 0) { - console.log('sealing document'); await sealDocument({ documentId: document.id }); } }; diff --git a/packages/lib/server-only/document/seal-document.ts b/packages/lib/server-only/document/seal-document.ts index 89769d788..1a74cfaac 100644 --- a/packages/lib/server-only/document/seal-document.ts +++ b/packages/lib/server-only/document/seal-document.ts @@ -53,10 +53,6 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { const doc = await PDFDocument.load(pdfData); for (const field of fields) { - console.log('inserting field', { - ...field, - Signature: null, - }); await insertFieldInPDF(doc, field); } diff --git a/packages/lib/server-only/pdf/insert-field-in-pdf.ts b/packages/lib/server-only/pdf/insert-field-in-pdf.ts index 1d58aafb2..61726f53c 100644 --- a/packages/lib/server-only/pdf/insert-field-in-pdf.ts +++ b/packages/lib/server-only/pdf/insert-field-in-pdf.ts @@ -35,15 +35,6 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu const fieldX = pageWidth * (Number(field.positionX) / 100); const fieldY = pageHeight * (Number(field.positionY) / 100); - console.log({ - fieldWidth, - fieldHeight, - fieldX, - fieldY, - pageWidth, - pageHeight, - }); - const font = await pdf.embedFont(isSignatureField ? fontCaveat : StandardFonts.Helvetica); if (field.type === FieldType.SIGNATURE || field.type === FieldType.FREE_SIGNATURE) { @@ -75,15 +66,6 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu // Invert the Y axis since PDFs use a bottom-left coordinate system imageY = pageHeight - imageY - imageHeight; - console.log({ - initialDimensions, - scalingFactor, - imageWidth, - imageHeight, - imageX, - imageY, - }); - page.drawImage(image, { x: imageX, y: imageY, @@ -107,17 +89,6 @@ export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignatu const textX = fieldX + (fieldWidth - textWidth) / 2; let textY = fieldY + (fieldHeight - textHeight) / 2; - console.log({ - initialDimensions, - scalingFactor, - textWidth, - textHeight, - textX, - textY, - pageWidth, - pageHeight, - }); - // Invert the Y axis since PDFs use a bottom-left coordinate system textY = pageHeight - textY - textHeight; From aecf2f32b93245d32e7424340c0de6f778403d2a Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Mon, 4 Sep 2023 16:41:28 +0300 Subject: [PATCH 37/83] chore: removed one more console.log --- .../lib/server-only/document/complete-document-with-token.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/lib/server-only/document/complete-document-with-token.ts b/packages/lib/server-only/document/complete-document-with-token.ts index 55df75249..a013d5e69 100644 --- a/packages/lib/server-only/document/complete-document-with-token.ts +++ b/packages/lib/server-only/document/complete-document-with-token.ts @@ -83,8 +83,6 @@ export const completeDocumentWithToken = async ({ }, }); - console.log('documents', documents); - if (documents.count > 0) { await sealDocument({ documentId: document.id }); } From 150c42b246b29d1611d51978488af71a3f793a95 Mon Sep 17 00:00:00 2001 From: nafees nazik Date: Mon, 4 Sep 2023 22:24:42 +0530 Subject: [PATCH 38/83] fix: value --- apps/web/src/components/forms/profile.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/components/forms/profile.tsx b/apps/web/src/components/forms/profile.tsx index e018ef60b..8255742c9 100644 --- a/apps/web/src/components/forms/profile.tsx +++ b/apps/web/src/components/forms/profile.tsx @@ -44,7 +44,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => { } = useForm({ values: { name: user.name ?? '', - signature: user.signature ? user.signature : '', + signature: user.signature || '', }, resolver: zodResolver(ZProfileFormSchema), }); From 6e095921e6370119957523812ee7080ae1e6bff9 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 5 Sep 2023 11:29:23 +1000 Subject: [PATCH 39/83] fix: tidy up code --- apps/web/src/components/forms/signin.tsx | 39 +++++++++++------------- packages/lib/next-auth/auth-options.ts | 10 +++--- packages/lib/next-auth/error-codes.ts | 14 ++++++--- 3 files changed, 33 insertions(+), 30 deletions(-) diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 837bc180c..e88495730 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect, useRef } from 'react'; +import { useEffect } from 'react'; import { useSearchParams } from 'next/navigation'; @@ -11,7 +11,7 @@ import { useForm } from 'react-hook-form'; import { FcGoogle } from 'react-icons/fc'; import { z } from 'zod'; -import { ErrorCodes } from '@documenso/lib/next-auth/error-codes'; +import { ErrorCode, isErrorCode } from '@documenso/lib/next-auth/error-codes'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; import { Input } from '@documenso/ui/primitives/input'; @@ -19,9 +19,10 @@ import { Label } from '@documenso/ui/primitives/label'; import { useToast } from '@documenso/ui/primitives/use-toast'; const ErrorMessages = { - [ErrorCodes.CredentialsNotFound]: 'Credentials not found', - [ErrorCodes.IncorrectEmailPassword]: 'Incorrect email or password', - [ErrorCodes.UserMissingPassword]: 'User is missing password', + [ErrorCode.CREDENTIALS_NOT_FOUND]: 'The email or password provided is incorrect', + [ErrorCode.INCORRECT_EMAIL_PASSWORD]: 'The email or password provided is incorrect', + [ErrorCode.USER_MISSING_PASSWORD]: + 'This account appears to be using a social login method, please sign in using that method', }; export const ZSignInFormSchema = z.object({ @@ -36,8 +37,8 @@ export type SignInFormProps = { }; export const SignInForm = ({ className }: SignInFormProps) => { - const searchParams = useSearchParams(); const { toast } = useToast(); + const searchParams = useSearchParams(); const { register, @@ -51,30 +52,26 @@ export const SignInForm = ({ className }: SignInFormProps) => { resolver: zodResolver(ZSignInFormSchema), }); - const timer = useRef(null); + const errorCode = searchParams?.get('error'); useEffect(() => { - const error = searchParams?.get('error'); - if (error) { - timer.current = setTimeout(() => { - // FIXME: Toast not firing without the TimeOut + const timeout: NodeJS.Timeout | null = null; + + if (isErrorCode(errorCode)) { + setTimeout(() => { toast({ variant: 'destructive', - description: - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - ErrorMessages[searchParams?.get('error') as keyof typeof ErrorMessages] ?? - 'an unknown error occurred', + description: ErrorMessages[errorCode] ?? 'An unknown error occurred', }); - }, 100); + }, 0); } + return () => { - if (timer.current) { - clearInterval(timer.current); + if (timeout) { + clearTimeout(timeout); } - timer.current = null; }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [errorCode, toast]); const onFormSubmit = async ({ email, password }: TSignInFormSchema) => { try { diff --git a/packages/lib/next-auth/auth-options.ts b/packages/lib/next-auth/auth-options.ts index 7417fbfc8..cd31926c2 100644 --- a/packages/lib/next-auth/auth-options.ts +++ b/packages/lib/next-auth/auth-options.ts @@ -7,7 +7,7 @@ import GoogleProvider, { GoogleProfile } from 'next-auth/providers/google'; import { prisma } from '@documenso/prisma'; import { getUserByEmail } from '../server-only/user/get-user-by-email'; -import { ErrorCodes } from './error-codes'; +import { ErrorCode } from './error-codes'; export const NEXT_AUTH_OPTIONS: AuthOptions = { adapter: PrismaAdapter(prisma), @@ -24,23 +24,23 @@ export const NEXT_AUTH_OPTIONS: AuthOptions = { }, authorize: async (credentials, _req) => { if (!credentials) { - throw new Error(ErrorCodes.CredentialsNotFound); + throw new Error(ErrorCode.CREDENTIALS_NOT_FOUND); } const { email, password } = credentials; const user = await getUserByEmail({ email }).catch(() => { - throw new Error(ErrorCodes.IncorrectEmailPassword); + throw new Error(ErrorCode.INCORRECT_EMAIL_PASSWORD); }); if (!user.password) { - throw new Error(ErrorCodes.UserMissingPassword); + throw new Error(ErrorCode.USER_MISSING_PASSWORD); } const isPasswordsSame = await compare(password, user.password); if (!isPasswordsSame) { - throw new Error(ErrorCodes.IncorrectEmailPassword); + throw new Error(ErrorCode.INCORRECT_EMAIL_PASSWORD); } return { diff --git a/packages/lib/next-auth/error-codes.ts b/packages/lib/next-auth/error-codes.ts index f0a7caada..26e8f5b97 100644 --- a/packages/lib/next-auth/error-codes.ts +++ b/packages/lib/next-auth/error-codes.ts @@ -1,5 +1,11 @@ -export const ErrorCodes = { - IncorrectEmailPassword: 'incorrect-email-password', - UserMissingPassword: 'missing-password', - CredentialsNotFound: 'credentials-not-found', +export const isErrorCode = (code: unknown): code is ErrorCode => { + return typeof code === 'string' && code in ErrorCode; +}; + +export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode]; + +export const ErrorCode = { + INCORRECT_EMAIL_PASSWORD: 'INCORRECT_EMAIL_PASSWORD', + USER_MISSING_PASSWORD: 'USER_MISSING_PASSWORD', + CREDENTIALS_NOT_FOUND: 'CREDENTIALS_NOT_FOUND', } as const; From 17af4d25bd4ea7d65fabf60956802918988b1255 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 5 Sep 2023 11:33:49 +1000 Subject: [PATCH 40/83] fix: actually make timeouts clear --- apps/web/src/components/forms/signin.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index e88495730..5e44146ea 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -55,10 +55,10 @@ export const SignInForm = ({ className }: SignInFormProps) => { const errorCode = searchParams?.get('error'); useEffect(() => { - const timeout: NodeJS.Timeout | null = null; + let timeout: NodeJS.Timeout | null = null; if (isErrorCode(errorCode)) { - setTimeout(() => { + timeout = setTimeout(() => { toast({ variant: 'destructive', description: ErrorMessages[errorCode] ?? 'An unknown error occurred', From 84a2d3baf69d1e43e579cfa98e7b7138beadebf7 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 5 Sep 2023 18:08:29 +1000 Subject: [PATCH 41/83] feat: update marketing mobile menu --- .../src/components/(marketing)/mobile-navigation.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/marketing/src/components/(marketing)/mobile-navigation.tsx b/apps/marketing/src/components/(marketing)/mobile-navigation.tsx index bc64e7f59..d32cd4af1 100644 --- a/apps/marketing/src/components/(marketing)/mobile-navigation.tsx +++ b/apps/marketing/src/components/(marketing)/mobile-navigation.tsx @@ -22,6 +22,10 @@ export const MENU_NAVIGATION_LINKS = [ href: '/pricing', text: 'Pricing', }, + { + href: '/open', + text: 'Open', + }, { href: 'https://status.documenso.com', text: 'Status', @@ -59,7 +63,7 @@ export const MobileNavigation = ({ isMenuOpen, onMenuOpenChange }: MobileNavigat initial="initial" animate="animate" transition={{ - staggerChildren: 0.2, + staggerChildren: 0.03, }} > {MENU_NAVIGATION_LINKS.map(({ href, text }) => ( @@ -75,6 +79,7 @@ export const MobileNavigation = ({ isMenuOpen, onMenuOpenChange }: MobileNavigat x: 0, transition: { duration: 0.5, + ease: 'backInOut', }, }, }} From 6640f0496a9e4057a14de5f329f61d89778a6b1a Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 6 Sep 2023 10:40:45 +0000 Subject: [PATCH 42/83] feat: disable signing and editing for completed documents --- .../app/(dashboard)/documents/data-table-action-dropdown.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx index b1d5832f8..8b69f95c4 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx @@ -82,14 +82,14 @@ export const DataTableActionDropdown = ({ row }: DataTableActionDropdownProps) = Action - + Sign - + Edit From a2ef9468aeb221e054c5f63823fee4b1a99b38a3 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 7 Sep 2023 19:27:21 +1000 Subject: [PATCH 43/83] feat: separate document data from document --- .../src/pages/api/stripe/webhook/index.ts | 34 +++++++++--- .../documents/[id]/edit-document.tsx | 9 ++-- .../app/(dashboard)/documents/[id]/page.tsx | 6 ++- .../documents/data-table-action-dropdown.tsx | 52 +++++++++++++++---- .../(signing)/sign/[token]/complete/page.tsx | 6 ++- .../src/app/(signing)/sign/[token]/page.tsx | 6 ++- apps/web/src/pages/api/document/create.ts | 12 ++++- .../web/src/pages/api/stripe/webhook/index.ts | 34 +++++++++--- packages/lib/package.json | 2 + .../server-only/document/create-document.ts | 10 ++++ .../document/get-document-by-id.ts | 3 ++ .../document/get-document-by-token.ts | 1 + .../lib/server-only/document/seal-document.ts | 15 +++++- .../migration.sql | 19 +++++++ .../migration.sql | 14 +++++ .../migration.sql | 3 ++ .../migration.sql | 8 +++ packages/prisma/schema.prisma | 38 ++++++++++---- packages/prisma/types/document-with-data.ts | 5 ++ .../trpc/server/document-router/router.ts | 48 ++++++++++++++++- .../trpc/server/document-router/schema.ts | 12 +++++ packages/tsconfig/process-env.d.ts | 7 +++ 22 files changed, 300 insertions(+), 44 deletions(-) create mode 100644 packages/lib/server-only/document/create-document.ts create mode 100644 packages/prisma/migrations/20230907041233_add_document_data_table/migration.sql create mode 100644 packages/prisma/migrations/20230907074451_insert_old_data_into_document_data_table/migration.sql create mode 100644 packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql create mode 100644 packages/prisma/migrations/20230907082622_remove_old_document_data/migration.sql create mode 100644 packages/prisma/types/document-with-data.ts diff --git a/apps/marketing/src/pages/api/stripe/webhook/index.ts b/apps/marketing/src/pages/api/stripe/webhook/index.ts index 3f3810fd4..11c9476bd 100644 --- a/apps/marketing/src/pages/api/stripe/webhook/index.ts +++ b/apps/marketing/src/pages/api/stripe/webhook/index.ts @@ -10,6 +10,7 @@ import { redis } from '@documenso/lib/server-only/redis'; import { Stripe, stripe } from '@documenso/lib/server-only/stripe'; import { prisma } from '@documenso/prisma'; import { + DocumentDataType, DocumentStatus, FieldType, ReadStatus, @@ -85,16 +86,33 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const now = new Date(); + const bytes64 = readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'); + const document = await prisma.document.create({ data: { title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, - document: readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'), created: now, + documentData: { + create: { + type: DocumentDataType.BYTES_64, + data: bytes64, + initialData: bytes64, + }, + }, + }, + include: { + documentData: true, }, }); + const { documentData } = document; + + if (!documentData) { + throw new Error(`Document ${document.id} has no document data`); + } + const recipient = await prisma.recipient.create({ data: { name: user.name ?? '', @@ -122,16 +140,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }); if (signatureDataUrl) { - document.document = await insertImageInPDF( - document.document, + documentData.data = await insertImageInPDF( + documentData.data, signatureDataUrl, Number(field.positionX), Number(field.positionY), field.page, ); } else { - document.document = await insertTextInPDF( - document.document, + documentData.data = await insertTextInPDF( + documentData.data, signatureText ?? '', Number(field.positionX), Number(field.positionY), @@ -153,7 +171,11 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) id: document.id, }, data: { - document: document.document, + documentData: { + update: { + data: documentData.data, + }, + }, }, }), ]); diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx index 7ed28feca..653936b9a 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx @@ -4,7 +4,8 @@ import { useState } from 'react'; import { useRouter } from 'next/navigation'; -import { Document, Field, Recipient, User } from '@documenso/prisma/client'; +import { Field, Recipient, User } from '@documenso/prisma/client'; +import { DocumentWithData } from '@documenso/prisma/types/document-with-data'; import { cn } from '@documenso/ui/lib/utils'; import { Card, CardContent } from '@documenso/ui/primitives/card'; import { AddFieldsFormPartial } from '@documenso/ui/primitives/document-flow/add-fields'; @@ -28,7 +29,7 @@ import { completeDocument } from '~/components/forms/edit-document/add-subject.a export type EditDocumentFormProps = { className?: string; user: User; - document: Document; + document: DocumentWithData; recipients: Recipient[]; fields: Field[]; }; @@ -45,9 +46,11 @@ export const EditDocumentForm = ({ const { toast } = useToast(); const router = useRouter(); + const { documentData } = document; + const [step, setStep] = useState('signers'); - const documentUrl = `data:application/pdf;base64,${document.document}`; + const documentUrl = `data:application/pdf;base64,${documentData?.data}`; const documentFlow: Record = { signers: { diff --git a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx index 7ab2c331c..f7c8f2525 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx @@ -36,10 +36,12 @@ export default async function DocumentPage({ params }: DocumentPageProps) { userId: session.id, }).catch(() => null); - if (!document) { + if (!document || !document.documentData) { redirect('/documents'); } + const { documentData } = document; + const [recipients, fields] = await Promise.all([ await getRecipientsForDocument({ documentId, @@ -91,7 +93,7 @@ export default async function DocumentPage({ params }: DocumentPageProps) { {document.status === InternalDocumentStatus.COMPLETED && (
- +
)}
diff --git a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx index 8b69f95c4..02e3ad95c 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx @@ -14,8 +14,17 @@ import { XCircle, } from 'lucide-react'; import { useSession } from 'next-auth/react'; +import { match } from 'ts-pattern'; -import { Document, DocumentStatus, Recipient, User } from '@documenso/prisma/client'; +import { + Document, + DocumentDataType, + DocumentStatus, + Recipient, + User, +} from '@documenso/prisma/client'; +import { DocumentWithData } from '@documenso/prisma/types/document-with-data'; +import { trpc } from '@documenso/trpc/client'; import { DropdownMenu, DropdownMenuContent, @@ -47,17 +56,42 @@ export const DataTableActionDropdown = ({ row }: DataTableActionDropdownProps) = const isComplete = row.status === DocumentStatus.COMPLETED; // const isSigned = recipient?.signingStatus === SigningStatus.SIGNED; - const onDownloadClick = () => { - let decodedDocument = row.document; + const onDownloadClick = async () => { + let document: DocumentWithData | null = null; - try { - decodedDocument = atob(decodedDocument); - } catch (err) { - // We're just going to ignore this error and try to download the document - console.error(err); + if (!recipient) { + document = await trpc.document.getDocumentById.query({ + id: row.id, + }); + } else { + document = await trpc.document.getDocumentByToken.query({ + token: recipient.token, + }); } - const documentBytes = Uint8Array.from(decodedDocument.split('').map((c) => c.charCodeAt(0))); + const documentData = document?.documentData; + + if (!documentData) { + return; + } + + const documentBytes = await match(documentData.type) + .with(DocumentDataType.BYTES, () => + Uint8Array.from(documentData.data, (c) => c.charCodeAt(0)), + ) + .with(DocumentDataType.BYTES_64, () => + Uint8Array.from( + atob(documentData.data) + .split('') + .map((c) => c.charCodeAt(0)), + ), + ) + .with(DocumentDataType.S3_PATH, async () => + fetch(documentData.data) + .then(async (res) => res.arrayBuffer()) + .then((buffer) => new Uint8Array(buffer)), + ) + .exhaustive(); const blob = new Blob([documentBytes], { type: 'application/pdf', diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx index b97b7f8d6..48d2b6435 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx @@ -30,10 +30,12 @@ export default async function CompletedSigningPage({ token, }).catch(() => null); - if (!document) { + if (!document || !document.documentData) { return notFound(); } + const { documentData } = document; + const [fields, recipient] = await Promise.all([ getFieldsForToken({ token }), getRecipientByToken({ token }), @@ -91,7 +93,7 @@ export default async function CompletedSigningPage({
diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index 35621068a..838e3ee32 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -40,13 +40,15 @@ export default async function SigningPage({ params: { token } }: SigningPageProp viewedDocument({ token }), ]); - if (!document) { + if (!document || !document.documentData) { return notFound(); } + const { documentData } = document; + const user = await getServerComponentSession(); - const documentUrl = `data:application/pdf;base64,${document.document}`; + const documentUrl = `data:application/pdf;base64,${documentData.data}`; return ( diff --git a/apps/web/src/pages/api/document/create.ts b/apps/web/src/pages/api/document/create.ts index b2042315f..897c16f76 100644 --- a/apps/web/src/pages/api/document/create.ts +++ b/apps/web/src/pages/api/document/create.ts @@ -5,7 +5,7 @@ import { readFileSync } from 'fs'; import { getServerSession } from '@documenso/lib/next-auth/get-server-session'; import { prisma } from '@documenso/prisma'; -import { DocumentStatus } from '@documenso/prisma/client'; +import { DocumentDataType, DocumentStatus } from '@documenso/prisma/client'; import { TCreateDocumentRequestSchema, @@ -55,12 +55,20 @@ export default async function handler( const fileBuffer = readFileSync(file.filepath); + const bytes64 = fileBuffer.toString('base64'); + const document = await prisma.document.create({ data: { title: file.originalFilename ?? file.newFilename, status: DocumentStatus.DRAFT, userId: user.id, - document: fileBuffer.toString('base64'), + documentData: { + create: { + type: DocumentDataType.BYTES_64, + data: bytes64, + initialData: bytes64, + }, + }, created: new Date(), }, }); diff --git a/apps/web/src/pages/api/stripe/webhook/index.ts b/apps/web/src/pages/api/stripe/webhook/index.ts index 6c678a33c..818b3759a 100644 --- a/apps/web/src/pages/api/stripe/webhook/index.ts +++ b/apps/web/src/pages/api/stripe/webhook/index.ts @@ -10,6 +10,7 @@ import { redis } from '@documenso/lib/server-only/redis'; import { Stripe, stripe } from '@documenso/lib/server-only/stripe'; import { prisma } from '@documenso/prisma'; import { + DocumentDataType, DocumentStatus, FieldType, ReadStatus, @@ -85,16 +86,33 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const now = new Date(); + const bytes64 = readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'); + const document = await prisma.document.create({ data: { title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, - document: readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'), created: now, + documentData: { + create: { + type: DocumentDataType.BYTES_64, + data: bytes64, + initialData: bytes64, + }, + }, + }, + include: { + documentData: true, }, }); + const { documentData } = document; + + if (!documentData) { + throw new Error(`Document ${document.id} has no document data`); + } + const recipient = await prisma.recipient.create({ data: { name: user.name ?? '', @@ -122,16 +140,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }); if (signatureDataUrl) { - document.document = await insertImageInPDF( - document.document, + documentData.data = await insertImageInPDF( + documentData.data, signatureDataUrl, field.positionX.toNumber(), field.positionY.toNumber(), field.page, ); } else { - document.document = await insertTextInPDF( - document.document, + documentData.data = await insertTextInPDF( + documentData.data, signatureText ?? '', field.positionX.toNumber(), field.positionY.toNumber(), @@ -153,7 +171,11 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) id: document.id, }, data: { - document: document.document, + documentData: { + update: { + data: documentData.data, + }, + }, }, }), ]); diff --git a/packages/lib/package.json b/packages/lib/package.json index 0d04f6c93..e36297834 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -12,6 +12,8 @@ ], "scripts": {}, "dependencies": { + "@aws-sdk/s3-request-presigner": "^3.405.0", + "@aws-sdk/client-s3": "^3.405.0", "@documenso/email": "*", "@documenso/prisma": "*", "@next-auth/prisma-adapter": "1.0.7", diff --git a/packages/lib/server-only/document/create-document.ts b/packages/lib/server-only/document/create-document.ts new file mode 100644 index 000000000..24a5d6283 --- /dev/null +++ b/packages/lib/server-only/document/create-document.ts @@ -0,0 +1,10 @@ +'use server'; + +export type CreateDocumentOptions = { + userId: number; + fileName: string; +}; + +export const createDocument = () => { + // +}; diff --git a/packages/lib/server-only/document/get-document-by-id.ts b/packages/lib/server-only/document/get-document-by-id.ts index 12b0d03f9..0fce1af4d 100644 --- a/packages/lib/server-only/document/get-document-by-id.ts +++ b/packages/lib/server-only/document/get-document-by-id.ts @@ -11,5 +11,8 @@ export const getDocumentById = async ({ id, userId }: GetDocumentByIdOptions) => id, userId, }, + include: { + documentData: true, + }, }); }; diff --git a/packages/lib/server-only/document/get-document-by-token.ts b/packages/lib/server-only/document/get-document-by-token.ts index 74bc30c79..62b3ddd48 100644 --- a/packages/lib/server-only/document/get-document-by-token.ts +++ b/packages/lib/server-only/document/get-document-by-token.ts @@ -17,6 +17,7 @@ export const getDocumentAndSenderByToken = async ({ }, include: { User: true, + documentData: true, }, }); diff --git a/packages/lib/server-only/document/seal-document.ts b/packages/lib/server-only/document/seal-document.ts index 1a74cfaac..876da9d0a 100644 --- a/packages/lib/server-only/document/seal-document.ts +++ b/packages/lib/server-only/document/seal-document.ts @@ -18,8 +18,15 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { where: { id: documentId, }, + include: { + documentData: true, + }, }); + if (!document.documentData) { + throw new Error(`Document ${document.id} has no document data`); + } + if (document.status !== DocumentStatus.COMPLETED) { throw new Error(`Document ${document.id} has not been completed`); } @@ -48,7 +55,7 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { } // !: Need to write the fields onto the document as a hard copy - const { document: pdfData } = document; + const { data: pdfData } = document.documentData; const doc = await PDFDocument.load(pdfData); @@ -64,7 +71,11 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { status: DocumentStatus.COMPLETED, }, data: { - document: Buffer.from(pdfBytes).toString('base64'), + documentData: { + update: { + data: Buffer.from(pdfBytes).toString('base64'), + }, + }, }, }); }; diff --git a/packages/prisma/migrations/20230907041233_add_document_data_table/migration.sql b/packages/prisma/migrations/20230907041233_add_document_data_table/migration.sql new file mode 100644 index 000000000..f2c69c4ed --- /dev/null +++ b/packages/prisma/migrations/20230907041233_add_document_data_table/migration.sql @@ -0,0 +1,19 @@ +-- CreateEnum +CREATE TYPE "DocumentDataType" AS ENUM ('S3_PATH', 'BYTES', 'BYTES_64'); + +-- CreateTable +CREATE TABLE "DocumentData" ( + "id" TEXT NOT NULL, + "type" "DocumentDataType" NOT NULL, + "data" TEXT NOT NULL, + "initialData" TEXT NOT NULL, + "documentId" INTEGER NOT NULL, + + CONSTRAINT "DocumentData_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "DocumentData_documentId_key" ON "DocumentData"("documentId"); + +-- AddForeignKey +ALTER TABLE "DocumentData" ADD CONSTRAINT "DocumentData_documentId_fkey" FOREIGN KEY ("documentId") REFERENCES "Document"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/prisma/migrations/20230907074451_insert_old_data_into_document_data_table/migration.sql b/packages/prisma/migrations/20230907074451_insert_old_data_into_document_data_table/migration.sql new file mode 100644 index 000000000..899c6e2d2 --- /dev/null +++ b/packages/prisma/migrations/20230907074451_insert_old_data_into_document_data_table/migration.sql @@ -0,0 +1,14 @@ +INSERT INTO + "DocumentData" ("id", "type", "data", "initialData", "documentId") ( + SELECT + CAST(gen_random_uuid() AS TEXT), + 'BYTES_64', + d."document", + d."document", + d."id" + FROM + "Document" d + WHERE + d."id" IS NOT NULL + AND d."document" IS NOT NULL + ); diff --git a/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql new file mode 100644 index 000000000..333386230 --- /dev/null +++ b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "Document" ADD COLUMN "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, +ADD COLUMN "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP; diff --git a/packages/prisma/migrations/20230907082622_remove_old_document_data/migration.sql b/packages/prisma/migrations/20230907082622_remove_old_document_data/migration.sql new file mode 100644 index 000000000..25c794f65 --- /dev/null +++ b/packages/prisma/migrations/20230907082622_remove_old_document_data/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - You are about to drop the column `document` on the `Document` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Document" DROP COLUMN "document"; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 2e016f5ec..5171813c3 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -85,15 +85,35 @@ enum DocumentStatus { } model Document { - id Int @id @default(autoincrement()) - created DateTime @default(now()) - userId Int - User User @relation(fields: [userId], references: [id], onDelete: Cascade) - title String - status DocumentStatus @default(DRAFT) - document String - Recipient Recipient[] - Field Field[] + id Int @id @default(autoincrement()) + created DateTime @default(now()) + userId Int + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + title String + status DocumentStatus @default(DRAFT) + Recipient Recipient[] + Field Field[] + documentData DocumentData? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt @default(now()) +} + +enum DocumentDataType { + S3_PATH + BYTES + BYTES_64 +} + +model DocumentData { + id String @id @default(cuid()) + type DocumentDataType + data String + initialData String + documentId Int + + Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade) + + @@unique([documentId]) } enum ReadStatus { diff --git a/packages/prisma/types/document-with-data.ts b/packages/prisma/types/document-with-data.ts new file mode 100644 index 000000000..d52987552 --- /dev/null +++ b/packages/prisma/types/document-with-data.ts @@ -0,0 +1,5 @@ +import { Document, DocumentData } from '@documenso/prisma/client'; + +export type DocumentWithData = Document & { + documentData?: DocumentData | null; +}; diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index f20643327..5628bb41d 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -1,17 +1,63 @@ import { TRPCError } from '@trpc/server'; +import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id'; +import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { sendDocument } from '@documenso/lib/server-only/document/send-document'; import { setFieldsForDocument } from '@documenso/lib/server-only/field/set-fields-for-document'; import { setRecipientsForDocument } from '@documenso/lib/server-only/recipient/set-recipients-for-document'; -import { authenticatedProcedure, router } from '../trpc'; +import { authenticatedProcedure, procedure, router } from '../trpc'; import { + ZGetDocumentByIdQuerySchema, + ZGetDocumentByTokenQuerySchema, ZSendDocumentMutationSchema, ZSetFieldsForDocumentMutationSchema, ZSetRecipientsForDocumentMutationSchema, } from './schema'; export const documentRouter = router({ + getDocumentById: authenticatedProcedure + .input(ZGetDocumentByIdQuerySchema) + .query(async ({ input, ctx }) => { + try { + const { id } = input; + + console.log({ + id, + userId: ctx.user.id, + }); + + return await getDocumentById({ + id, + userId: ctx.user.id, + }); + } catch (err) { + console.error(err); + + throw new TRPCError({ + code: 'BAD_REQUEST', + message: 'We were unable to find this document. Please try again later.', + }); + } + }), + + getDocumentByToken: procedure.input(ZGetDocumentByTokenQuerySchema).query(async ({ input }) => { + try { + const { token } = input; + + return await getDocumentAndSenderByToken({ + token, + }); + } catch (err) { + console.error(err); + + throw new TRPCError({ + code: 'BAD_REQUEST', + message: 'We were unable to find this document. Please try again later.', + }); + } + }), + setRecipientsForDocument: authenticatedProcedure .input(ZSetRecipientsForDocumentMutationSchema) .mutation(async ({ input, ctx }) => { diff --git a/packages/trpc/server/document-router/schema.ts b/packages/trpc/server/document-router/schema.ts index 18c3a93ae..9060ef1db 100644 --- a/packages/trpc/server/document-router/schema.ts +++ b/packages/trpc/server/document-router/schema.ts @@ -2,6 +2,18 @@ import { z } from 'zod'; import { FieldType } from '@documenso/prisma/client'; +export const ZGetDocumentByIdQuerySchema = z.object({ + id: z.number().min(1), +}); + +export type TGetDocumentByIdQuerySchema = z.infer; + +export const ZGetDocumentByTokenQuerySchema = z.object({ + token: z.string().min(1), +}); + +export type TGetDocumentByTokenQuerySchema = z.infer; + export const ZSetRecipientsForDocumentMutationSchema = z.object({ documentId: z.number(), recipients: z.array( diff --git a/packages/tsconfig/process-env.d.ts b/packages/tsconfig/process-env.d.ts index 6c031858d..b65a2bb20 100644 --- a/packages/tsconfig/process-env.d.ts +++ b/packages/tsconfig/process-env.d.ts @@ -13,6 +13,13 @@ declare namespace NodeJS { NEXT_PRIVATE_STRIPE_API_KEY: string; NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET: string; + NEXT_PRIVATE_UPLOAD_TRANSPORT?: 'database' | 's3'; + NEXT_PRIVATE_UPLOAD_ENDPOINT?: string; + NEXT_PRIVATE_UPLOAD_REGION?: string; + NEXT_PRIVATE_UPLOAD_BUCKET?: string; + NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID?: string; + NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY?: string; + NEXT_PRIVATE_SMTP_TRANSPORT?: 'mailchannels' | 'smtp-auth' | 'smtp-api'; NEXT_PRIVATE_MAILCHANNELS_API_KEY?: string; From 171a5ba4ee5a167d5fb225b29d12908c808003c9 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 09:16:31 +0300 Subject: [PATCH 44/83] feat: creating the admin ui for metrics --- .../(dashboard)/layout/profile-dropdown.tsx | 13 ++++++++++++- packages/lib/index.ts | 6 +++++- .../20230907075057_user_roles/migration.sql | 5 +++++ packages/prisma/schema.prisma | 6 ++++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 packages/prisma/migrations/20230907075057_user_roles/migration.sql diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index 02af86d70..19a15564b 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -11,10 +11,12 @@ import { Monitor, Moon, Sun, + UserCog, } from 'lucide-react'; import { signOut } from 'next-auth/react'; import { useTheme } from 'next-themes'; +import { isAdmin } from '@documenso/lib/'; import { User } from '@documenso/prisma/client'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; @@ -35,8 +37,8 @@ export type ProfileDropdownProps = { export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { const { theme, setTheme } = useTheme(); - const { getFlag } = useFeatureFlags(); + const userIsAdmin = isAdmin(user); const isBillingEnabled = getFlag('app_billing'); @@ -67,6 +69,15 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { + {userIsAdmin && ( + + + + Admin + + + )} + diff --git a/packages/lib/index.ts b/packages/lib/index.ts index cb0ff5c3b..2801305dd 100644 --- a/packages/lib/index.ts +++ b/packages/lib/index.ts @@ -1 +1,5 @@ -export {}; +import { Role, User } from '@documenso/prisma/client'; + +const isAdmin = (user: User) => user.roles.includes(Role.ADMIN); + +export { isAdmin }; diff --git a/packages/prisma/migrations/20230907075057_user_roles/migration.sql b/packages/prisma/migrations/20230907075057_user_roles/migration.sql new file mode 100644 index 000000000..f47e48361 --- /dev/null +++ b/packages/prisma/migrations/20230907075057_user_roles/migration.sql @@ -0,0 +1,5 @@ +-- CreateEnum +CREATE TYPE "Role" AS ENUM ('ADMIN', 'USER'); + +-- AlterTable +ALTER TABLE "User" ADD COLUMN "roles" "Role"[] DEFAULT ARRAY['USER']::"Role"[]; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 2e016f5ec..22955310b 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -13,6 +13,11 @@ enum IdentityProvider { GOOGLE } +enum Role { + ADMIN + USER +} + model User { id Int @id @default(autoincrement()) name String? @@ -21,6 +26,7 @@ model User { password String? source String? signature String? + roles Role[] @default([USER]) identityProvider IdentityProvider @default(DOCUMENSO) accounts Account[] sessions Session[] From 67571158e88912620e2aa33c537a91ea7da6443f Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 11:28:50 +0300 Subject: [PATCH 45/83] feat: add the admin page --- apps/web/src/app/(dashboard)/admin/layout.tsx | 23 ++++ apps/web/src/app/(dashboard)/admin/page.tsx | 107 ++++++++++++++++++ .../(dashboard)/layout/profile-dropdown.tsx | 4 +- .../lib/server-only/admin/get-documents.ts | 5 + .../lib/server-only/admin/get-recipients.ts | 20 ++++ packages/lib/server-only/admin/get-users.ts | 18 +++ 6 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 apps/web/src/app/(dashboard)/admin/layout.tsx create mode 100644 apps/web/src/app/(dashboard)/admin/page.tsx create mode 100644 packages/lib/server-only/admin/get-documents.ts create mode 100644 packages/lib/server-only/admin/get-recipients.ts create mode 100644 packages/lib/server-only/admin/get-users.ts diff --git a/apps/web/src/app/(dashboard)/admin/layout.tsx b/apps/web/src/app/(dashboard)/admin/layout.tsx new file mode 100644 index 000000000..340605bc7 --- /dev/null +++ b/apps/web/src/app/(dashboard)/admin/layout.tsx @@ -0,0 +1,23 @@ +import { redirect } from 'next/navigation'; + +import { isAdmin } from '@documenso/lib/'; +import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; + +export type AdminLayoutProps = { + children: React.ReactNode; +}; + +export default async function AdminLayout({ children }: AdminLayoutProps) { + const user = await getRequiredServerComponentSession(); + const isUserAdmin = isAdmin(user); + + if (!user) { + redirect('/signin'); + } + + if (!isUserAdmin) { + redirect('/dashboard'); + } + + return
{children}
; +} diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx new file mode 100644 index 000000000..e4a62f725 --- /dev/null +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -0,0 +1,107 @@ +import { + Archive, + File, + FileX2, + LucideIcon, + User as LucideUser, + Mail, + MailOpen, + PenTool, + Send, + UserPlus2, + UserSquare2, +} from 'lucide-react'; + +import { getDocsCount } from '@documenso/lib/server-only/admin/get-documents'; +import { getRecipientsStats } from '@documenso/lib/server-only/admin/get-recipients'; +import { + getUsersCount, + getUsersWithSubscriptionsCount, +} from '@documenso/lib/server-only/admin/get-users'; +import { + ReadStatus as InternalReadStatus, + SendStatus as InternalSendStatus, + SigningStatus as InternalSigningStatus, +} from '@documenso/prisma/client'; + +import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card'; + +type TCardData = { + icon: LucideIcon; + title: string; + status: + | 'TOTAL_RECIPIENTS' + | 'OPENED' + | 'NOT_OPENED' + | 'SIGNED' + | 'NOT_SIGNED' + | 'SENT' + | 'NOT_SENT'; +}[]; + +const CARD_DATA: TCardData = [ + { + icon: UserSquare2, + title: 'Total recipients in the database', + status: 'TOTAL_RECIPIENTS', + }, + { + icon: MailOpen, + title: 'Total recipients with opened count', + status: InternalReadStatus.OPENED, + }, + { + icon: Mail, + title: 'Total recipients with unopened count', + status: InternalReadStatus.NOT_OPENED, + }, + { + icon: Send, + title: 'Total recipients with sent count', + status: InternalSendStatus.SENT, + }, + { + icon: Archive, + title: 'Total recipients with unsent count', + status: InternalSendStatus.NOT_SENT, + }, + { + icon: PenTool, + title: 'Total recipients with signed count', + status: InternalSigningStatus.SIGNED, + }, + { + icon: FileX2, + title: 'Total recipients with unsigned count', + status: InternalSigningStatus.NOT_SIGNED, + }, +]; + +export default async function Admin() { + const [usersCount, usersWithSubscriptionsCount, docsCount, recipientsStats] = await Promise.all([ + getUsersCount(), + getUsersWithSubscriptionsCount(), + getDocsCount(), + getRecipientsStats(), + ]); + + return ( +
+

Documenso instance metrics

+
+ + + + {CARD_DATA.map((card) => ( +
+ +
+ ))} +
+
+ ); +} diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index 19a15564b..0bea64565 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -38,7 +38,7 @@ export type ProfileDropdownProps = { export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { const { theme, setTheme } = useTheme(); const { getFlag } = useFeatureFlags(); - const userIsAdmin = isAdmin(user); + const isUserAdmin = isAdmin(user); const isBillingEnabled = getFlag('app_billing'); @@ -69,7 +69,7 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => {
- {userIsAdmin && ( + {isUserAdmin && ( diff --git a/packages/lib/server-only/admin/get-documents.ts b/packages/lib/server-only/admin/get-documents.ts new file mode 100644 index 000000000..9100a886c --- /dev/null +++ b/packages/lib/server-only/admin/get-documents.ts @@ -0,0 +1,5 @@ +import { prisma } from '@documenso/prisma'; + +export const getDocsCount = async () => { + return await prisma.document.count(); +}; diff --git a/packages/lib/server-only/admin/get-recipients.ts b/packages/lib/server-only/admin/get-recipients.ts new file mode 100644 index 000000000..0be612e55 --- /dev/null +++ b/packages/lib/server-only/admin/get-recipients.ts @@ -0,0 +1,20 @@ +import { prisma } from '@documenso/prisma'; +import { ReadStatus, SendStatus, SigningStatus } from '@documenso/prisma/client'; + +export const getRecipientsStats = async () => { + const results = await prisma.recipient.groupBy({ + by: ['readStatus', 'signingStatus', 'sendStatus'], + _count: true, + }); + + return { + TOTAL_RECIPIENTS: results.length, + [ReadStatus.OPENED]: results.filter((r) => r.readStatus === 'OPENED')?.[0]?._count ?? 0, + [ReadStatus.NOT_OPENED]: results.filter((r) => r.readStatus === 'NOT_OPENED')?.[0]?._count ?? 0, + [SigningStatus.SIGNED]: results.filter((r) => r.signingStatus === 'SIGNED')?.[0]?._count ?? 0, + [SigningStatus.NOT_SIGNED]: + results.filter((r) => r.signingStatus === 'NOT_SIGNED')?.[0]?._count ?? 0, + [SendStatus.SENT]: results.filter((r) => r.sendStatus === 'SENT')?.[0]?._count ?? 0, + [SendStatus.NOT_SENT]: results.filter((r) => r.sendStatus === 'NOT_SENT')?.[0]?._count ?? 0, + }; +}; diff --git a/packages/lib/server-only/admin/get-users.ts b/packages/lib/server-only/admin/get-users.ts new file mode 100644 index 000000000..09892171a --- /dev/null +++ b/packages/lib/server-only/admin/get-users.ts @@ -0,0 +1,18 @@ +import { prisma } from '@documenso/prisma'; +import { SubscriptionStatus } from '@documenso/prisma/client'; + +export const getUsersCount = async () => { + return await prisma.user.count(); +}; + +export const getUsersWithSubscriptionsCount = async () => { + return await prisma.user.count({ + where: { + Subscription: { + some: { + status: SubscriptionStatus.ACTIVE, + }, + }, + }, + }); +}; From 6cdba45396299cc1e06a7d185280acaddda0fb59 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 12:39:13 +0300 Subject: [PATCH 46/83] chore: implemented feedback --- apps/web/src/app/(dashboard)/admin/page.tsx | 4 +-- .../lib/server-only/admin/get-recipients.ts | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index e4a62f725..e72d35dc3 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -37,9 +37,9 @@ type TCardData = { | 'NOT_SIGNED' | 'SENT' | 'NOT_SENT'; -}[]; +}; -const CARD_DATA: TCardData = [ +const CARD_DATA: TCardData[] = [ { icon: UserSquare2, title: 'Total recipients in the database', diff --git a/packages/lib/server-only/admin/get-recipients.ts b/packages/lib/server-only/admin/get-recipients.ts index 0be612e55..92c0c3527 100644 --- a/packages/lib/server-only/admin/get-recipients.ts +++ b/packages/lib/server-only/admin/get-recipients.ts @@ -7,14 +7,21 @@ export const getRecipientsStats = async () => { _count: true, }); - return { - TOTAL_RECIPIENTS: results.length, - [ReadStatus.OPENED]: results.filter((r) => r.readStatus === 'OPENED')?.[0]?._count ?? 0, - [ReadStatus.NOT_OPENED]: results.filter((r) => r.readStatus === 'NOT_OPENED')?.[0]?._count ?? 0, - [SigningStatus.SIGNED]: results.filter((r) => r.signingStatus === 'SIGNED')?.[0]?._count ?? 0, - [SigningStatus.NOT_SIGNED]: - results.filter((r) => r.signingStatus === 'NOT_SIGNED')?.[0]?._count ?? 0, - [SendStatus.SENT]: results.filter((r) => r.sendStatus === 'SENT')?.[0]?._count ?? 0, - [SendStatus.NOT_SENT]: results.filter((r) => r.sendStatus === 'NOT_SENT')?.[0]?._count ?? 0, + const stats = { + TOTAL_RECIPIENTS: 0, + [ReadStatus.OPENED]: 0, + [ReadStatus.NOT_OPENED]: 0, + [SigningStatus.SIGNED]: 0, + [SigningStatus.NOT_SIGNED]: 0, + [SendStatus.SENT]: 0, + [SendStatus.NOT_SENT]: 0, }; + results.forEach((result) => { + const { readStatus, signingStatus, sendStatus, _count } = result; + stats[readStatus] += _count; + stats[signingStatus] += _count; + stats[sendStatus] += _count; + stats.TOTAL_RECIPIENTS += _count; + }); + return stats; }; From 77058220a8975f01d4b9fda48c29bc6089a3bef0 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 12:42:14 +0300 Subject: [PATCH 47/83] chore: rename files --- apps/web/src/app/(dashboard)/admin/page.tsx | 6 +++--- .../admin/{get-documents.ts => get-documents-stats.ts} | 0 .../admin/{get-recipients.ts => get-recipients-stats.ts} | 0 .../server-only/admin/{get-users.ts => get-users-stats.ts} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename packages/lib/server-only/admin/{get-documents.ts => get-documents-stats.ts} (100%) rename packages/lib/server-only/admin/{get-recipients.ts => get-recipients-stats.ts} (100%) rename packages/lib/server-only/admin/{get-users.ts => get-users-stats.ts} (100%) diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index e72d35dc3..aabdbfa35 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -12,12 +12,12 @@ import { UserSquare2, } from 'lucide-react'; -import { getDocsCount } from '@documenso/lib/server-only/admin/get-documents'; -import { getRecipientsStats } from '@documenso/lib/server-only/admin/get-recipients'; +import { getDocsCount } from '@documenso/lib/server-only/admin/get-documents-stats'; +import { getRecipientsStats } from '@documenso/lib/server-only/admin/get-recipients-stats'; import { getUsersCount, getUsersWithSubscriptionsCount, -} from '@documenso/lib/server-only/admin/get-users'; +} from '@documenso/lib/server-only/admin/get-users-stats'; import { ReadStatus as InternalReadStatus, SendStatus as InternalSendStatus, diff --git a/packages/lib/server-only/admin/get-documents.ts b/packages/lib/server-only/admin/get-documents-stats.ts similarity index 100% rename from packages/lib/server-only/admin/get-documents.ts rename to packages/lib/server-only/admin/get-documents-stats.ts diff --git a/packages/lib/server-only/admin/get-recipients.ts b/packages/lib/server-only/admin/get-recipients-stats.ts similarity index 100% rename from packages/lib/server-only/admin/get-recipients.ts rename to packages/lib/server-only/admin/get-recipients-stats.ts diff --git a/packages/lib/server-only/admin/get-users.ts b/packages/lib/server-only/admin/get-users-stats.ts similarity index 100% rename from packages/lib/server-only/admin/get-users.ts rename to packages/lib/server-only/admin/get-users-stats.ts From 660f5894a6f66baa5fd9394efec21306e640dc7b Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 12:56:44 +0300 Subject: [PATCH 48/83] chore: feedback improvements --- apps/web/src/app/(dashboard)/admin/layout.tsx | 2 +- .../src/components/(dashboard)/layout/profile-dropdown.tsx | 2 +- packages/lib/index.ts | 6 +----- packages/lib/next-auth/guards/is-admin.ts | 5 +++++ 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 packages/lib/next-auth/guards/is-admin.ts diff --git a/apps/web/src/app/(dashboard)/admin/layout.tsx b/apps/web/src/app/(dashboard)/admin/layout.tsx index 340605bc7..a221d92ba 100644 --- a/apps/web/src/app/(dashboard)/admin/layout.tsx +++ b/apps/web/src/app/(dashboard)/admin/layout.tsx @@ -1,7 +1,7 @@ import { redirect } from 'next/navigation'; -import { isAdmin } from '@documenso/lib/'; import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; +import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; export type AdminLayoutProps = { children: React.ReactNode; diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index 0bea64565..e3fd4c6d6 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -16,7 +16,7 @@ import { import { signOut } from 'next-auth/react'; import { useTheme } from 'next-themes'; -import { isAdmin } from '@documenso/lib/'; +import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; import { User } from '@documenso/prisma/client'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; diff --git a/packages/lib/index.ts b/packages/lib/index.ts index 2801305dd..cb0ff5c3b 100644 --- a/packages/lib/index.ts +++ b/packages/lib/index.ts @@ -1,5 +1 @@ -import { Role, User } from '@documenso/prisma/client'; - -const isAdmin = (user: User) => user.roles.includes(Role.ADMIN); - -export { isAdmin }; +export {}; diff --git a/packages/lib/next-auth/guards/is-admin.ts b/packages/lib/next-auth/guards/is-admin.ts new file mode 100644 index 000000000..2801305dd --- /dev/null +++ b/packages/lib/next-auth/guards/is-admin.ts @@ -0,0 +1,5 @@ +import { Role, User } from '@documenso/prisma/client'; + +const isAdmin = (user: User) => user.roles.includes(Role.ADMIN); + +export { isAdmin }; From 5969f148c861bbc1d3e05a68cf359542bdff481c Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 8 Sep 2023 14:51:55 +0300 Subject: [PATCH 49/83] chore: changed the cards titles --- apps/web/src/app/(dashboard)/admin/page.tsx | 25 +++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index aabdbfa35..fdb54dc07 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -42,37 +42,37 @@ type TCardData = { const CARD_DATA: TCardData[] = [ { icon: UserSquare2, - title: 'Total recipients in the database', + title: 'Recipients in the database', status: 'TOTAL_RECIPIENTS', }, { icon: MailOpen, - title: 'Total recipients with opened count', + title: 'Opened documents', status: InternalReadStatus.OPENED, }, { icon: Mail, - title: 'Total recipients with unopened count', + title: 'Unopened documents', status: InternalReadStatus.NOT_OPENED, }, { icon: Send, - title: 'Total recipients with sent count', + title: 'Sent documents', status: InternalSendStatus.SENT, }, { icon: Archive, - title: 'Total recipients with unsent count', + title: 'Unsent documents', status: InternalSendStatus.NOT_SENT, }, { icon: PenTool, - title: 'Total recipients with signed count', + title: 'Signed documents', status: InternalSigningStatus.SIGNED, }, { icon: FileX2, - title: 'Total recipients with unsigned count', + title: 'Unsigned documents', status: InternalSigningStatus.NOT_SIGNED, }, ]; @@ -87,15 +87,22 @@ export default async function Admin() { return (
-

Documenso instance metrics

-
+

Instance metrics

+
+
+

Document metrics

+
+
+ +

Recipients metrics

+
{CARD_DATA.map((card) => (
From 35acf059975e40449d6d12649bd4b18206d56d84 Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 04:38:37 +0000 Subject: [PATCH 50/83] feat: add devcontainer --- .devcontainer/devcontainer.json | 20 ++++++++++++++++++++ .devcontainer/on-create.sh | 21 +++++++++++++++++++++ package.json | 2 +- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/on-create.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..59a318b7f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,20 @@ +{ + "name": "Documenso", + "image": "mcr.microsoft.com/devcontainers/base:bullseye", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "version": "latest", + "enableNonRootDocker": "true", + "moby": "true" + }, + "ghcr.io/devcontainers/features/node:1": {} + }, + "onCreateCommand": "./.devcontainer/on-create.sh", + "forwardPorts": [ + 3000, + 54320, + 9000, + 2500, + 1100 + ] +} diff --git a/.devcontainer/on-create.sh b/.devcontainer/on-create.sh new file mode 100755 index 000000000..2d823e864 --- /dev/null +++ b/.devcontainer/on-create.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Start the database and mailserver +docker compose -f ./docker/compose-without-app.yml up -d + +# Install dependencies +npm install + +# Copy the env file +cp .env.example .env + +# Source the env file, export the variables +set -a +source .env +set +a + +# Run the migrations +npm run -w @documenso/prisma prisma:migrate-dev + +# Start the app +npm run dev diff --git a/package.json b/package.json index b66c194a2..3b2fbf6ca 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "scripts": { "build": "turbo run build", - "dev": "turbo run dev --filter=@documenso/{web,marketing}", + "dev": "turbo run dev --filter=@documenso/web --filter=@documenso/marketing", "start": "cd apps && cd web && next start", "lint": "turbo run lint", "format": "prettier --write \"**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts,mdx}\"", From abc91f7eaccfe7459518d7c2c9f118e1fb55dacf Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 15:44:10 +1000 Subject: [PATCH 51/83] fix: update devcontainer --- .devcontainer/devcontainer.json | 1 + .devcontainer/on-create.sh | 3 --- .devcontainer/post-start.sh | 3 +++ 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100755 .devcontainer/post-start.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 59a318b7f..82c6d1e2b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,6 +10,7 @@ "ghcr.io/devcontainers/features/node:1": {} }, "onCreateCommand": "./.devcontainer/on-create.sh", + "postStartCommand": "./.devcontainer/post-start.sh", "forwardPorts": [ 3000, 54320, diff --git a/.devcontainer/on-create.sh b/.devcontainer/on-create.sh index 2d823e864..a66491ef7 100755 --- a/.devcontainer/on-create.sh +++ b/.devcontainer/on-create.sh @@ -16,6 +16,3 @@ set +a # Run the migrations npm run -w @documenso/prisma prisma:migrate-dev - -# Start the app -npm run dev diff --git a/.devcontainer/post-start.sh b/.devcontainer/post-start.sh new file mode 100755 index 000000000..80d19dc7c --- /dev/null +++ b/.devcontainer/post-start.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +npm run dev From 933076fa3f32641e2a75969dcd6f1ea7f020a1c4 Mon Sep 17 00:00:00 2001 From: Mythie Date: Sat, 9 Sep 2023 15:49:40 +1000 Subject: [PATCH 52/83] fix: update devcontainer --- .devcontainer/devcontainer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 82c6d1e2b..59a318b7f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,6 @@ "ghcr.io/devcontainers/features/node:1": {} }, "onCreateCommand": "./.devcontainer/on-create.sh", - "postStartCommand": "./.devcontainer/post-start.sh", "forwardPorts": [ 3000, 54320, From 9186cb4d7b220eb9e65c307fe0f7709286d0b182 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 9 Sep 2023 10:42:03 +0000 Subject: [PATCH 53/83] fix: hide popover when user selects a recipients --- .../primitives/document-flow/add-fields.tsx | 83 ++++++++++--------- packages/ui/primitives/popover.tsx | 4 +- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index c56e91b49..62daf803b 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -22,7 +22,12 @@ import { CommandInput, CommandItem, } from '@documenso/ui/primitives/command'; -import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover'; +import { + Popover, + PopoverClose, + PopoverContent, + PopoverTrigger, +} from '@documenso/ui/primitives/popover'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { TAddFieldsFormSchema } from './add-fields.types'; @@ -324,7 +329,7 @@ export const AddFieldsFormPartial = ({ > {selectedSigner?.email && ( - {selectedSigner?.email} ({selectedSigner?.email}) + {selectedSigner?.name} ({selectedSigner?.email}) )} @@ -345,45 +350,49 @@ export const AddFieldsFormPartial = ({ {recipients.map((recipient, index) => ( setSelectedSigner(recipient)} > - {recipient.sendStatus !== SendStatus.SENT ? ( - - ) : ( - - - - - - This document has already been sent to this recipient. You can no - longer edit this recipient. - - - )} + + {recipient.sendStatus !== SendStatus.SENT ? ( + + ) : ( + + + + + + This document has already been sent to this recipient. You can no + longer edit this recipient. + + + )} - {recipient.name && ( - - {recipient.name} ({recipient.email}) - - )} + {recipient.name && ( + + {recipient.name} ({recipient.email}) + + )} - {!recipient.name && ( - - {recipient.email} - - )} + {!recipient.name && ( + + {recipient.email} + + )} + ))} diff --git a/packages/ui/primitives/popover.tsx b/packages/ui/primitives/popover.tsx index e84f6cc6d..640b3087e 100644 --- a/packages/ui/primitives/popover.tsx +++ b/packages/ui/primitives/popover.tsx @@ -10,6 +10,8 @@ const Popover = PopoverPrimitive.Root; const PopoverTrigger = PopoverPrimitive.Trigger; +const PopoverClose = PopoverPrimitive.Close; + const PopoverContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef @@ -30,4 +32,4 @@ const PopoverContent = React.forwardRef< PopoverContent.displayName = PopoverPrimitive.Content.displayName; -export { Popover, PopoverTrigger, PopoverContent }; +export { Popover, PopoverTrigger, PopoverContent, PopoverClose }; From f8a193c0f8906cf9c042ed24b06c6a15bc9bf717 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Sat, 9 Sep 2023 10:56:45 +0000 Subject: [PATCH 54/83] refactor: replace whole implementation with a state --- .../primitives/document-flow/add-fields.tsx | 89 +++++++++---------- packages/ui/primitives/popover.tsx | 4 +- 2 files changed, 43 insertions(+), 50 deletions(-) diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 62daf803b..5de43c411 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -22,12 +22,7 @@ import { CommandInput, CommandItem, } from '@documenso/ui/primitives/command'; -import { - Popover, - PopoverClose, - PopoverContent, - PopoverTrigger, -} from '@documenso/ui/primitives/popover'; +import { Popover, PopoverContent, PopoverTrigger } from '@documenso/ui/primitives/popover'; import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; import { TAddFieldsFormSchema } from './add-fields.types'; @@ -107,6 +102,7 @@ export const AddFieldsFormPartial = ({ const [selectedField, setSelectedField] = useState(null); const [selectedSigner, setSelectedSigner] = useState(null); + const [showRecipientsSelector, setShowRecipientsSelector] = useState(false); const hasSelectedSignerBeenSent = selectedSigner?.sendStatus === SendStatus.SENT; @@ -319,7 +315,7 @@ export const AddFieldsFormPartial = ({ ))} {!hideRecipients && ( - +
@@ -73,7 +73,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={initials(recipient.name)} + fallbackText={recipientAvatarFallback(recipient)} /> {recipient.email}
@@ -90,7 +90,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={initials(recipient.name)} + fallbackText={recipientAvatarFallback(recipient)} /> {recipient.email}
@@ -107,7 +107,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={initials(recipient.name)} + fallbackText={recipientAvatarFallback(recipient)} /> {recipient.email}
diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx index 97af9dc9e..678836ffd 100644 --- a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx +++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { initials } from '@documenso/lib/client-only/recipient-initials'; +import { recipientAvatarFallback } from '@documenso/lib/client-only/recipient-avatar-fallback'; import { getRecipientType } from '@documenso/lib/client-only/recipient-type'; import { Recipient } from '@documenso/prisma/client'; @@ -26,7 +26,7 @@ export function StackAvatars({ recipients }: { recipients: Recipient[] }) { first={first} zIndex={String(zIndex - index * 10)} type={lastItemText && index === 4 ? 'unsigned' : getRecipientType(recipient)} - fallbackText={lastItemText ? lastItemText : initials(recipient.name)} + fallbackText={lastItemText ? lastItemText : recipientAvatarFallback(recipient)} /> ); }); diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index 02af86d70..e52d9b42f 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -15,6 +15,7 @@ import { import { signOut } from 'next-auth/react'; import { useTheme } from 'next-themes'; +import { initials } from '@documenso/lib/client-only/recipient-initials'; import { User } from '@documenso/prisma/client'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; @@ -40,19 +41,14 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { const isBillingEnabled = getFlag('app_billing'); - const initials = - user.name - ?.split(' ') - .map((name: string) => name.slice(0, 1).toUpperCase()) - .slice(0, 2) - .join('') ?? 'UK'; + const avatarFallback = user.name ? initials(user.name) : user.email.slice(0, 1).toUpperCase(); return ( diff --git a/packages/lib/client-only/recipient-avatar-fallback.ts b/packages/lib/client-only/recipient-avatar-fallback.ts new file mode 100644 index 000000000..7a296a5fa --- /dev/null +++ b/packages/lib/client-only/recipient-avatar-fallback.ts @@ -0,0 +1,7 @@ +import { Recipient } from '@documenso/prisma/client'; + +import { initials } from './recipient-initials'; + +export const recipientAvatarFallback = (recipient: Recipient) => { + return initials(recipient.name) || recipient.email.slice(0, 1).toUpperCase(); +}; diff --git a/packages/lib/client-only/recipient-initials.ts b/packages/lib/client-only/recipient-initials.ts index 0712ccd7d..403ed26e4 100644 --- a/packages/lib/client-only/recipient-initials.ts +++ b/packages/lib/client-only/recipient-initials.ts @@ -3,4 +3,4 @@ export const initials = (text: string) => ?.split(' ') .map((name: string) => name.slice(0, 1).toUpperCase()) .slice(0, 2) - .join('') ?? 'UK'; + .join(''); From 24036b0f24afecdb56c659753c1a3fee7fb8040f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fl=C5=8D?= Date: Tue, 22 Aug 2023 08:53:21 +0200 Subject: [PATCH 56/83] fix typo --- apps/marketing/content/blog/next.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/marketing/content/blog/next.mdx b/apps/marketing/content/blog/next.mdx index 4f846a0a7..c241cf3eb 100644 --- a/apps/marketing/content/blog/next.mdx +++ b/apps/marketing/content/blog/next.mdx @@ -12,7 +12,7 @@ tags: Since we launched [Documenso 0.9 on Product Hunt](https://producthunt.com/products/documenso#documenso) last May, the team's been hard at work behind the scenes to ramp up development and design to deliver an excellent next version. -Last week, Lucas shared the reasoning how [why we're doing a rewrite](https://documenso.com/blog/why-were-doing-a-rewrite). +Last week, Lucas shared the reasoning on [why we're doing a rewrite](https://documenso.com/blog/why-were-doing-a-rewrite). Today, I'm pleased to share with you a preview of the next Documenso. From 326743d8a1f3a2f363f5df4ebe30947cea2a476b Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Mon, 11 Sep 2023 10:59:50 +0300 Subject: [PATCH 57/83] chore: added app version --- apps/web/next.config.js | 4 +++- apps/web/src/app/(dashboard)/admin/page.tsx | 2 +- turbo.json | 16 +++++----------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 09760f806..1e98b98fc 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -18,7 +18,9 @@ const config = { '@documenso/ui', '@documenso/email', ], - env, + env: { + APP_VERSION: process.env.npm_package_version, + }, modularizeImports: { 'lucide-react': { transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}', diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index fdb54dc07..78358c95a 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -87,7 +87,7 @@ export default async function Admin() { return (
-

Instance metrics

+

Instance version: {process.env.APP_VERSION}

Date: Mon, 11 Sep 2023 11:34:10 +0300 Subject: [PATCH 58/83] chore: fix version in nextjs config --- apps/web/next.config.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 1e98b98fc..fa6c0d1ac 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); +const { version } = require('./package.json'); const { parsed: env } = require('dotenv').config({ path: path.join(__dirname, '../../.env.local'), @@ -19,7 +20,8 @@ const config = { '@documenso/email', ], env: { - APP_VERSION: process.env.npm_package_version, + ...env, + APP_VERSION: version, }, modularizeImports: { 'lucide-react': { From 00574325b90e11d64f552cbd6b809acc98897ea2 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Mon, 11 Sep 2023 13:43:17 +0300 Subject: [PATCH 59/83] chore: implemented feedback --- apps/web/src/app/(dashboard)/admin/page.tsx | 8 ++++---- turbo.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index 78358c95a..073056478 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -3,11 +3,11 @@ import { File, FileX2, LucideIcon, - User as LucideUser, Mail, MailOpen, PenTool, Send, + User as UserIcon, UserPlus2, UserSquare2, } from 'lucide-react'; @@ -26,7 +26,7 @@ import { import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card'; -type TCardData = { +type CardData = { icon: LucideIcon; title: string; status: @@ -39,7 +39,7 @@ type TCardData = { | 'NOT_SENT'; }; -const CARD_DATA: TCardData[] = [ +const CARD_DATA: CardData[] = [ { icon: UserSquare2, title: 'Recipients in the database', @@ -89,7 +89,7 @@ export default async function Admin() {

Instance version: {process.env.APP_VERSION}

- + Date: Mon, 11 Sep 2023 15:22:09 +0200 Subject: [PATCH 60/83] fix: update building documenso article description --- .../content/blog/building-documenso-pt1.mdx | 196 +++++++++--------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/apps/marketing/content/blog/building-documenso-pt1.mdx b/apps/marketing/content/blog/building-documenso-pt1.mdx index 92c6f61ed..36e28c7dc 100644 --- a/apps/marketing/content/blog/building-documenso-pt1.mdx +++ b/apps/marketing/content/blog/building-documenso-pt1.mdx @@ -1,98 +1,98 @@ ---- -title: 'Building Documenso — Part 1: Certificates' -description: In today's fast-paced world, productivity and efficiency are crucial for success, both in personal and professional endeavors. We all strive to make the most of our time and energy to achieve our goals effectively. However, it's not always easy to stay on track and maintain peak performance. In this blog post, we'll explore 10 valuable tips to help you boost productivity and efficiency in your daily life. -authorName: 'Timur Ercan' -authorImage: '/blog/blog-author-timur.jpeg' -authorRole: 'Co-Founder' -date: 2023-06-23 -tags: - - Open Source - - Document Signature - - Certificates - - Signing ---- - -
- - -
- What actually is a signature? -
-
- -> Disclaimer: I’m not a lawyer and this isn’t legal advice. We plan to publish a much more specific framework on the topic of signature validity. - -This is the first installment of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. - -As you may have heard, we launched the community-reviewed version 0.9 of Documenso on GitHub recently and it’s now available through the early adopter’s plan. One of the most fundamental choices we had to make on this first release, was the choice of certificate. While it’s interesting to know what we opted for, this shall also serve as a guide for everyone facing the same choice for self-hosting Documenso. - -> Question: Why do I need a document signing certificate to self-host? -> -> Short Answer: Inserting the images of a signature into the document is only part of the signing process. - -To have an actual digitally signed document you need a document signing certificate that is used to create the digital signature that is inserted into the document, alongside the visible one¹. - -When hosting a signature service yourself, as we do, there are four main choices for handling the certificate: Not using a certificate, creating your own, buying a trusted certificate, and becoming and trusted service provider to issue your own trusted certificate. - -## 1\. No Certificate - -A lot of signing services actually don’t employ actual digital signatures besides the inserted image. The only insert and image of the signatures into the document you sign. This can be done and is legally acceptable in many cases. This option isn’t directly supported by Documenso without changing the code. - -## 2\. Create your own - -Since the cryptography behind certificates is freely available as open source you could generate your own using OpenSSL for example. Since it’s hardly more work than option 1 (using Documenso at least), this would be my minimum effort recommendation. Having a self-created (“self-signed”) certificate doesn’t add much in terms of regulation but it guarantees the document’s integrity, meaning no changes have been made after signing². What this doesn’t give you, is the famous green checkmark in Adobe Acrobat. Why? Because you aren’t on the list of providers Adobe “trusts”.³ - -## 3\. Buy a “trusted” certificate. - -There are Certificate Authorities (CAs) that can sell you a certificate⁴. The service they provide is, that they validate your name (personal certificates) or your organization’s name (corporate certificate) before creating your certificate for you, just like you did in option 2. The difference is, that they are listed on the previously mentioned trust lists (e.g. Adobe’s) and thus the resulting signatures get a nice, green checkmark in Adobe Reader⁵ - -## 4\. Becoming a Trusted Certificate Authority (CA) yourself and create your own certificate - -This option is an incredibly complex endeavour, requiring a lot of effort and skill. It can be done, as there are multiple CAs around the world. Is it worth the effort? That depends a lot on what you’re trying to accomplish. - -
.  .  .
- -## What we did - -Having briefly introduced the options, here is what we did: Since we aim to raise the bar on digital signature proliferation and trust, we opted to buy an “Advanced Personal Certificates for Companies/Organisations” from WiseKey. Thus, documents signed with Documenso’s hosted version look like this: - -
- - -
The famous green checkmark: Signed by hosted Documenso
-
- -There weren’t any deeper reasons we choose WiseKey, other than they offered what we needed and there wasn’t any reason to look much further. While I didn’t map the entire certificate market offering (yet), I’m pretty sure something similar could be found elsewhere. While we opted for option 3, choosing option 2 might be perfectly reasonable considering your use case.⁶ - -> While this is our setup, for now, we have a bigger plan for this topic. While globally trusted SSL Certificates have been available for free, courtesy of Let’s Encrypt, for a while now, there is no such thing as document signing. And there should be. Not having free and trusted infrastructure for signing is blocking a completely new generation of signing products from being created. This is why we’ll start working on option 4 when the time is right. - -Do you have questions or thoughts about this? As always, let me know in the comments, on twitter.com/eltimuro -or directly:
documen.so/timur - -Join the self-hoster community here: https://documenso.slack.com/ - -Best from Hamburg - -Timur - -\[1\] There are different approaches to signing a document. For the sake of simplicity, here we talk about a document with X inserted signature images, that is afterward signed once the by signing service, i.e. Documenso. If each visual signature should have its own digital one (e.g. QES — eIDAS Level 3), the case is a bit more complex. - -\[2\] Of course, the signing service provider technically can change and resign the document, especially in the case mentioned in \[1\]. This can be countered by requiring actual digital signatures from each signer, that are bound to their identity/ account. Creating a completely trustless system in the context however is extremely hard to do and not the most pressing business need for the industry at this point, in my opinion. Though, this would be nice. - -\[3\] Adobe, like the EU, has a list of organizations they trust. The Adobe green checkmark is powered by the Adobe trust list, if you want to be trusted by EU standards here: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo/validation, you need to be on the EU trust list. Getting on each list is possible, though the latter is much more work. - -\[4\] Technically, they sign your certificate creation request (created by you), containing your info with their certificate (which is trusted), making your certificate trusted. This way, everything you sign with your certificate is seen as trusted. They created their certificate just like you, the difference is they are on the lists, mentioned in \[3\] - -\[5\] Why does Adobe get to say, what is trusted? They simply happen to have the most used pdf viewer. And since everyone checks there, whom they consider trusted carries weight. If it should be like this, is a different matter. - -\[6\] Self-Signed signatures, even purely visual signatures, are fully legally binding. Why you use changes mainly your confidence in the signature and the burden of proof. Also, some industries require a certain level of signatures e.g. retail loans (QES/ eIDAS Level 3 in the EU). +--- +title: 'Building Documenso — Part 1: Certificates' +description: This is the first installment of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. +authorName: 'Timur Ercan' +authorImage: '/blog/blog-author-timur.jpeg' +authorRole: 'Co-Founder' +date: 2023-06-23 +tags: + - Open Source + - Document Signature + - Certificates + - Signing +--- + +
+ + +
+ What actually is a signature? +
+
+ +> Disclaimer: I’m not a lawyer and this isn’t legal advice. We plan to publish a much more specific framework on the topic of signature validity. + +This is the first installment of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. + +As you may have heard, we launched the community-reviewed version 0.9 of Documenso on GitHub recently and it’s now available through the early adopter’s plan. One of the most fundamental choices we had to make on this first release, was the choice of certificate. While it’s interesting to know what we opted for, this shall also serve as a guide for everyone facing the same choice for self-hosting Documenso. + +> Question: Why do I need a document signing certificate to self-host? +> +> Short Answer: Inserting the images of a signature into the document is only part of the signing process. + +To have an actual digitally signed document you need a document signing certificate that is used to create the digital signature that is inserted into the document, alongside the visible one¹. + +When hosting a signature service yourself, as we do, there are four main choices for handling the certificate: Not using a certificate, creating your own, buying a trusted certificate, and becoming and trusted service provider to issue your own trusted certificate. + +## 1\. No Certificate + +A lot of signing services actually don’t employ actual digital signatures besides the inserted image. The only insert and image of the signatures into the document you sign. This can be done and is legally acceptable in many cases. This option isn’t directly supported by Documenso without changing the code. + +## 2\. Create your own + +Since the cryptography behind certificates is freely available as open source you could generate your own using OpenSSL for example. Since it’s hardly more work than option 1 (using Documenso at least), this would be my minimum effort recommendation. Having a self-created (“self-signed”) certificate doesn’t add much in terms of regulation but it guarantees the document’s integrity, meaning no changes have been made after signing². What this doesn’t give you, is the famous green checkmark in Adobe Acrobat. Why? Because you aren’t on the list of providers Adobe “trusts”.³ + +## 3\. Buy a “trusted” certificate. + +There are Certificate Authorities (CAs) that can sell you a certificate⁴. The service they provide is, that they validate your name (personal certificates) or your organization’s name (corporate certificate) before creating your certificate for you, just like you did in option 2. The difference is, that they are listed on the previously mentioned trust lists (e.g. Adobe’s) and thus the resulting signatures get a nice, green checkmark in Adobe Reader⁵ + +## 4\. Becoming a Trusted Certificate Authority (CA) yourself and create your own certificate + +This option is an incredibly complex endeavour, requiring a lot of effort and skill. It can be done, as there are multiple CAs around the world. Is it worth the effort? That depends a lot on what you’re trying to accomplish. + +
.  .  .
+ +## What we did + +Having briefly introduced the options, here is what we did: Since we aim to raise the bar on digital signature proliferation and trust, we opted to buy an “Advanced Personal Certificates for Companies/Organisations” from WiseKey. Thus, documents signed with Documenso’s hosted version look like this: + +
+ + +
The famous green checkmark: Signed by hosted Documenso
+
+ +There weren’t any deeper reasons we choose WiseKey, other than they offered what we needed and there wasn’t any reason to look much further. While I didn’t map the entire certificate market offering (yet), I’m pretty sure something similar could be found elsewhere. While we opted for option 3, choosing option 2 might be perfectly reasonable considering your use case.⁶ + +> While this is our setup, for now, we have a bigger plan for this topic. While globally trusted SSL Certificates have been available for free, courtesy of Let’s Encrypt, for a while now, there is no such thing as document signing. And there should be. Not having free and trusted infrastructure for signing is blocking a completely new generation of signing products from being created. This is why we’ll start working on option 4 when the time is right. + +Do you have questions or thoughts about this? As always, let me know in the comments, on twitter.com/eltimuro +or directly: documen.so/timur + +Join the self-hoster community here: https://documenso.slack.com/ + +Best from Hamburg + +Timur + +\[1\] There are different approaches to signing a document. For the sake of simplicity, here we talk about a document with X inserted signature images, that is afterward signed once the by signing service, i.e. Documenso. If each visual signature should have its own digital one (e.g. QES — eIDAS Level 3), the case is a bit more complex. + +\[2\] Of course, the signing service provider technically can change and resign the document, especially in the case mentioned in \[1\]. This can be countered by requiring actual digital signatures from each signer, that are bound to their identity/ account. Creating a completely trustless system in the context however is extremely hard to do and not the most pressing business need for the industry at this point, in my opinion. Though, this would be nice. + +\[3\] Adobe, like the EU, has a list of organizations they trust. The Adobe green checkmark is powered by the Adobe trust list, if you want to be trusted by EU standards here: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo/validation, you need to be on the EU trust list. Getting on each list is possible, though the latter is much more work. + +\[4\] Technically, they sign your certificate creation request (created by you), containing your info with their certificate (which is trusted), making your certificate trusted. This way, everything you sign with your certificate is seen as trusted. They created their certificate just like you, the difference is they are on the lists, mentioned in \[3\] + +\[5\] Why does Adobe get to say, what is trusted? They simply happen to have the most used pdf viewer. And since everyone checks there, whom they consider trusted carries weight. If it should be like this, is a different matter. + +\[6\] Self-Signed signatures, even purely visual signatures, are fully legally binding. Why you use changes mainly your confidence in the signature and the burden of proof. Also, some industries require a certain level of signatures e.g. retail loans (QES/ eIDAS Level 3 in the EU). From db3f75c42f244734786a87b0721abba70f3f2d9f Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 12 Sep 2023 10:37:47 +1000 Subject: [PATCH 61/83] fix: data table links for recipients --- .../documents/data-table-title.tsx | 56 +++++++++++++++++++ .../app/(dashboard)/documents/data-table.tsx | 19 +++---- 2 files changed, 64 insertions(+), 11 deletions(-) create mode 100644 apps/web/src/app/(dashboard)/documents/data-table-title.tsx diff --git a/apps/web/src/app/(dashboard)/documents/data-table-title.tsx b/apps/web/src/app/(dashboard)/documents/data-table-title.tsx new file mode 100644 index 000000000..c04f9f13d --- /dev/null +++ b/apps/web/src/app/(dashboard)/documents/data-table-title.tsx @@ -0,0 +1,56 @@ +'use client'; + +import Link from 'next/link'; + +import { useSession } from 'next-auth/react'; +import { match } from 'ts-pattern'; + +import { Document, Recipient, User } from '@documenso/prisma/client'; + +export type DataTableTitleProps = { + row: Document & { + User: Pick; + Recipient: Recipient[]; + }; +}; + +export const DataTableTitle = ({ row }: DataTableTitleProps) => { + const { data: session } = useSession(); + + if (!session) { + return null; + } + + const recipient = row.Recipient.find((recipient) => recipient.email === session.user.email); + + const isOwner = row.User.id === session.user.id; + const isRecipient = !!recipient; + + return match({ + isOwner, + isRecipient, + }) + .with({ isOwner: true }, () => ( + + {row.title} + + )) + .with({ isRecipient: true }, () => ( + + {row.title} + + )) + .otherwise(() => ( + + {row.title} + + )); +}; diff --git a/apps/web/src/app/(dashboard)/documents/data-table.tsx b/apps/web/src/app/(dashboard)/documents/data-table.tsx index 1d6c08e73..245734a8e 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table.tsx @@ -2,9 +2,8 @@ import { useTransition } from 'react'; -import Link from 'next/link'; - import { Loader } from 'lucide-react'; +import { useSession } from 'next-auth/react'; import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; import { FindResultSet } from '@documenso/lib/types/find-result-set'; @@ -18,6 +17,7 @@ import { LocaleDate } from '~/components/formatter/locale-date'; import { DataTableActionButton } from './data-table-action-button'; import { DataTableActionDropdown } from './data-table-action-dropdown'; +import { DataTableTitle } from './data-table-title'; export type DocumentsDataTableProps = { results: FindResultSet< @@ -29,6 +29,7 @@ export type DocumentsDataTableProps = { }; export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { + const { data: session } = useSession(); const [isPending, startTransition] = useTransition(); const updateSearchParams = useUpdateSearchParams(); @@ -42,6 +43,10 @@ export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { }); }; + if (!session) { + return null; + } + return (
{ }, { header: 'Title', - cell: ({ row }) => ( - - {row.original.title} - - ), + cell: ({ row }) => , }, { header: 'Recipient', From e8796a7d86cdf9be56da6fc8b88cb12360b506ab Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 12 Sep 2023 12:33:04 +1000 Subject: [PATCH 62/83] refactor: organise recipient utils --- .../avatar/stack-avatars-with-tooltip.tsx | 10 +++++----- .../components/(dashboard)/avatar/stack-avatars.tsx | 4 ++-- .../(dashboard)/layout/profile-dropdown.tsx | 6 ++++-- .../lib/client-only/recipient-avatar-fallback.ts | 7 ------- packages/lib/client-only/recipient-initials.ts | 6 ------ packages/lib/utils/recipient-formatter.ts | 12 ++++++++++++ 6 files changed, 23 insertions(+), 22 deletions(-) delete mode 100644 packages/lib/client-only/recipient-avatar-fallback.ts delete mode 100644 packages/lib/client-only/recipient-initials.ts create mode 100644 packages/lib/utils/recipient-formatter.ts diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx index 3f6407029..e36415813 100644 --- a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx +++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx @@ -1,5 +1,5 @@ -import { recipientAvatarFallback } from '@documenso/lib/client-only/recipient-avatar-fallback'; import { getRecipientType } from '@documenso/lib/client-only/recipient-type'; +import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter'; import { Recipient } from '@documenso/prisma/client'; import { Tooltip, @@ -56,7 +56,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={recipientAvatarFallback(recipient)} + fallbackText={recipientAbbreviation(recipient)} /> {recipient.email}
@@ -73,7 +73,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={recipientAvatarFallback(recipient)} + fallbackText={recipientAbbreviation(recipient)} /> {recipient.email}
@@ -90,7 +90,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={recipientAvatarFallback(recipient)} + fallbackText={recipientAbbreviation(recipient)} /> {recipient.email}
@@ -107,7 +107,7 @@ export const StackAvatarsWithTooltip = ({ first={true} key={recipient.id} type={getRecipientType(recipient)} - fallbackText={recipientAvatarFallback(recipient)} + fallbackText={recipientAbbreviation(recipient)} /> {recipient.email}
diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx index 678836ffd..91f470f74 100644 --- a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx +++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { recipientAvatarFallback } from '@documenso/lib/client-only/recipient-avatar-fallback'; import { getRecipientType } from '@documenso/lib/client-only/recipient-type'; +import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter'; import { Recipient } from '@documenso/prisma/client'; import { StackAvatar } from './stack-avatar'; @@ -26,7 +26,7 @@ export function StackAvatars({ recipients }: { recipients: Recipient[] }) { first={first} zIndex={String(zIndex - index * 10)} type={lastItemText && index === 4 ? 'unsigned' : getRecipientType(recipient)} - fallbackText={lastItemText ? lastItemText : recipientAvatarFallback(recipient)} + fallbackText={lastItemText ? lastItemText : recipientAbbreviation(recipient)} /> ); }); diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index e52d9b42f..3b361e885 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -15,7 +15,7 @@ import { import { signOut } from 'next-auth/react'; import { useTheme } from 'next-themes'; -import { initials } from '@documenso/lib/client-only/recipient-initials'; +import { recipientInitials } from '@documenso/lib/utils/recipient-formatter'; import { User } from '@documenso/prisma/client'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; @@ -41,7 +41,9 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { const isBillingEnabled = getFlag('app_billing'); - const avatarFallback = user.name ? initials(user.name) : user.email.slice(0, 1).toUpperCase(); + const avatarFallback = user.name + ? recipientInitials(user.name) + : user.email.slice(0, 1).toUpperCase(); return ( diff --git a/packages/lib/client-only/recipient-avatar-fallback.ts b/packages/lib/client-only/recipient-avatar-fallback.ts deleted file mode 100644 index 7a296a5fa..000000000 --- a/packages/lib/client-only/recipient-avatar-fallback.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Recipient } from '@documenso/prisma/client'; - -import { initials } from './recipient-initials'; - -export const recipientAvatarFallback = (recipient: Recipient) => { - return initials(recipient.name) || recipient.email.slice(0, 1).toUpperCase(); -}; diff --git a/packages/lib/client-only/recipient-initials.ts b/packages/lib/client-only/recipient-initials.ts deleted file mode 100644 index 403ed26e4..000000000 --- a/packages/lib/client-only/recipient-initials.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const initials = (text: string) => - text - ?.split(' ') - .map((name: string) => name.slice(0, 1).toUpperCase()) - .slice(0, 2) - .join(''); diff --git a/packages/lib/utils/recipient-formatter.ts b/packages/lib/utils/recipient-formatter.ts new file mode 100644 index 000000000..da404830b --- /dev/null +++ b/packages/lib/utils/recipient-formatter.ts @@ -0,0 +1,12 @@ +import { Recipient } from '@documenso/prisma/client'; + +export const recipientInitials = (text: string) => + text + .split(' ') + .map((name: string) => name.slice(0, 1).toUpperCase()) + .slice(0, 2) + .join(''); + +export const recipientAbbreviation = (recipient: Recipient) => { + return recipientInitials(recipient.name) || recipient.email.slice(0, 1).toUpperCase(); +}; From 24a2e9e6d4fb254a03a6f300996b3518678e68ee Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 12 Sep 2023 14:29:27 +1000 Subject: [PATCH 63/83] feat: update document table layout (#371) * feat: update document table layout - Removed dashboard page - Removed redundant ID column - Moved date to first column - Added estimated locales for SSR dates --- .../src/app/(dashboard)/dashboard/page.tsx | 124 ------------------ .../documents/[id]/edit-document.tsx | 2 +- .../app/(dashboard)/documents/data-table.tsx | 12 +- .../src/app/(dashboard)/documents/page.tsx | 3 +- .../upload-document.tsx | 0 apps/web/src/app/layout.tsx | 26 ++-- .../src/components/formatter/locale-date.tsx | 23 +++- apps/web/src/components/forms/signin.tsx | 16 +-- packages/lib/client-only/providers/locale.tsx | 37 ++++++ .../ui/primitives/data-table-pagination.tsx | 33 ++++- 10 files changed, 117 insertions(+), 159 deletions(-) delete mode 100644 apps/web/src/app/(dashboard)/dashboard/page.tsx rename apps/web/src/app/(dashboard)/{dashboard => documents}/upload-document.tsx (100%) create mode 100644 packages/lib/client-only/providers/locale.tsx diff --git a/apps/web/src/app/(dashboard)/dashboard/page.tsx b/apps/web/src/app/(dashboard)/dashboard/page.tsx deleted file mode 100644 index 77b18b98c..000000000 --- a/apps/web/src/app/(dashboard)/dashboard/page.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import Link from 'next/link'; - -import { Clock, File, FileCheck } from 'lucide-react'; - -import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; -import { findDocuments } from '@documenso/lib/server-only/document/find-documents'; -import { getStats } from '@documenso/lib/server-only/document/get-stats'; -import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client'; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from '@documenso/ui/primitives/table'; - -import { StackAvatarsWithTooltip } from '~/components/(dashboard)/avatar/stack-avatars-with-tooltip'; -import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card'; -import { DocumentStatus } from '~/components/formatter/document-status'; -import { LocaleDate } from '~/components/formatter/locale-date'; - -import { UploadDocument } from './upload-document'; - -const CARD_DATA = [ - { - icon: FileCheck, - title: 'Completed', - status: InternalDocumentStatus.COMPLETED, - }, - { - icon: File, - title: 'Drafts', - status: InternalDocumentStatus.DRAFT, - }, - { - icon: Clock, - title: 'Pending', - status: InternalDocumentStatus.PENDING, - }, -]; - -export default async function DashboardPage() { - const user = await getRequiredServerComponentSession(); - - const [stats, results] = await Promise.all([ - getStats({ - user, - }), - findDocuments({ - userId: user.id, - perPage: 10, - }), - ]); - - return ( -
-

Dashboard

- -
- {CARD_DATA.map((card) => ( - - - - ))} -
- -
- - -

Recent Documents

- -
- - - - ID - Title - Reciepient - Status - Created - - - - {results.data.map((document) => { - return ( - - {document.id} - - - {document.title} - - - - - - - - - - - - - - - ); - })} - {results.data.length === 0 && ( - - - No results. - - - )} - -
-
-
-
- ); -} diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx index 7ed28feca..ba134ac58 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx @@ -136,7 +136,7 @@ export const EditDocumentForm = ({ duration: 5000, }); - router.push('/dashboard'); + router.push('/documents'); } catch (err) { console.error(err); diff --git a/apps/web/src/app/(dashboard)/documents/data-table.tsx b/apps/web/src/app/(dashboard)/documents/data-table.tsx index 245734a8e..b8c735b59 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table.tsx @@ -52,8 +52,9 @@ export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { , }, { header: 'Title', @@ -71,11 +72,6 @@ export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { accessorKey: 'status', cell: ({ row }) => , }, - { - header: 'Created', - accessorKey: 'created', - cell: ({ row }) => , - }, { header: 'Actions', cell: ({ row }) => ( @@ -92,7 +88,7 @@ export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { totalPages={results.totalPages} onPaginationChange={onPaginationChange} > - {(table) => } + {(table) => } {isPending && ( diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx index 4ea55936b..d1f558806 100644 --- a/apps/web/src/app/(dashboard)/documents/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/page.tsx @@ -11,8 +11,8 @@ import { PeriodSelector } from '~/components/(dashboard)/period-selector/period- import { PeriodSelectorValue } from '~/components/(dashboard)/period-selector/types'; import { DocumentStatus } from '~/components/formatter/document-status'; -import { UploadDocument } from '../dashboard/upload-document'; import { DocumentsDataTable } from './data-table'; +import { UploadDocument } from './upload-document'; export type DocumentsPageProps = { searchParams?: { @@ -81,6 +81,7 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage {value !== ExtendedDocumentStatus.ALL && ( {Math.min(stats[value], 99)} + {stats[value] > 99 && '+'} )} diff --git a/apps/web/src/app/(dashboard)/dashboard/upload-document.tsx b/apps/web/src/app/(dashboard)/documents/upload-document.tsx similarity index 100% rename from apps/web/src/app/(dashboard)/dashboard/upload-document.tsx rename to apps/web/src/app/(dashboard)/documents/upload-document.tsx diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 1d1e056ae..2ce8744d4 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -2,6 +2,8 @@ import { Suspense } from 'react'; import { Caveat, Inter } from 'next/font/google'; +import { LocaleProvider } from '@documenso/lib/client-only/providers/locale'; +import { getLocale } from '@documenso/lib/server-only/headers/get-locale'; import { TrpcProvider } from '@documenso/trpc/react'; import { cn } from '@documenso/ui/lib/utils'; import { Toaster } from '@documenso/ui/primitives/toaster'; @@ -45,6 +47,8 @@ export const metadata = { export default async function RootLayout({ children }: { children: React.ReactNode }) { const flags = await getServerComponentAllFlags(); + const locale = getLocale(); + return ( - - - - - {children} - - - - - + + + + + + {children} + + + + + + ); diff --git a/apps/web/src/components/formatter/locale-date.tsx b/apps/web/src/components/formatter/locale-date.tsx index 837c6aa38..ecefb1e3b 100644 --- a/apps/web/src/components/formatter/locale-date.tsx +++ b/apps/web/src/components/formatter/locale-date.tsx @@ -2,16 +2,31 @@ import { HTMLAttributes, useEffect, useState } from 'react'; +import { DateTime, DateTimeFormatOptions } from 'luxon'; + +import { useLocale } from '@documenso/lib/client-only/providers/locale'; + export type LocaleDateProps = HTMLAttributes & { date: string | number | Date; + format?: DateTimeFormatOptions; }; -export const LocaleDate = ({ className, date, ...props }: LocaleDateProps) => { - const [localeDate, setLocaleDate] = useState(() => new Date(date).toISOString()); +/** + * Formats the date based on the user locale. + * + * Will use the estimated locale from the user headers on SSR, then will use + * the client browser locale once mounted. + */ +export const LocaleDate = ({ className, date, format, ...props }: LocaleDateProps) => { + const { locale } = useLocale(); + + const [localeDate, setLocaleDate] = useState(() => + DateTime.fromJSDate(new Date(date)).setLocale(locale).toLocaleString(format), + ); useEffect(() => { - setLocaleDate(new Date(date).toLocaleString()); - }, [date]); + setLocaleDate(DateTime.fromJSDate(new Date(date)).toLocaleString(format)); + }, [date, format]); return ( diff --git a/apps/web/src/components/forms/signin.tsx b/apps/web/src/components/forms/signin.tsx index 5e44146ea..d9d727afc 100644 --- a/apps/web/src/components/forms/signin.tsx +++ b/apps/web/src/components/forms/signin.tsx @@ -18,13 +18,15 @@ import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; import { useToast } from '@documenso/ui/primitives/use-toast'; -const ErrorMessages = { +const ERROR_MESSAGES = { [ErrorCode.CREDENTIALS_NOT_FOUND]: 'The email or password provided is incorrect', [ErrorCode.INCORRECT_EMAIL_PASSWORD]: 'The email or password provided is incorrect', [ErrorCode.USER_MISSING_PASSWORD]: 'This account appears to be using a social login method, please sign in using that method', }; +const LOGIN_REDIRECT_PATH = '/documents'; + export const ZSignInFormSchema = z.object({ email: z.string().email().min(1), password: z.string().min(6).max(72), @@ -37,9 +39,10 @@ export type SignInFormProps = { }; export const SignInForm = ({ className }: SignInFormProps) => { - const { toast } = useToast(); const searchParams = useSearchParams(); + const { toast } = useToast(); + const { register, handleSubmit, @@ -61,7 +64,7 @@ export const SignInForm = ({ className }: SignInFormProps) => { timeout = setTimeout(() => { toast({ variant: 'destructive', - description: ErrorMessages[errorCode] ?? 'An unknown error occurred', + description: ERROR_MESSAGES[errorCode] ?? 'An unknown error occurred', }); }, 0); } @@ -78,12 +81,10 @@ export const SignInForm = ({ className }: SignInFormProps) => { await signIn('credentials', { email, password, - callbackUrl: '/documents', + callbackUrl: LOGIN_REDIRECT_PATH, }).catch((err) => { console.error(err); }); - - // throw new Error('Not implemented'); } catch (err) { toast({ title: 'An unknown error occurred', @@ -95,8 +96,7 @@ export const SignInForm = ({ className }: SignInFormProps) => { const onSignInWithGoogleClick = async () => { try { - await signIn('google', { callbackUrl: '/dashboard' }); - // throw new Error('Not implemented'); + await signIn('google', { callbackUrl: LOGIN_REDIRECT_PATH }); } catch (err) { toast({ title: 'An unknown error occurred', diff --git a/packages/lib/client-only/providers/locale.tsx b/packages/lib/client-only/providers/locale.tsx new file mode 100644 index 000000000..ff8b03e5a --- /dev/null +++ b/packages/lib/client-only/providers/locale.tsx @@ -0,0 +1,37 @@ +'use client'; + +import { createContext, useContext } from 'react'; + +export type LocaleContextValue = { + locale: string; +}; + +export const LocaleContext = createContext(null); + +export const useLocale = () => { + const context = useContext(LocaleContext); + + if (!context) { + throw new Error('useLocale must be used within a LocaleProvider'); + } + + return context; +}; + +export function LocaleProvider({ + children, + locale, +}: { + children: React.ReactNode; + locale: string; +}) { + return ( + + {children} + + ); +} diff --git a/packages/ui/primitives/data-table-pagination.tsx b/packages/ui/primitives/data-table-pagination.tsx index 0ff27ae11..8147c92fb 100644 --- a/packages/ui/primitives/data-table-pagination.tsx +++ b/packages/ui/primitives/data-table-pagination.tsx @@ -1,19 +1,46 @@ import { Table } from '@tanstack/react-table'; import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react'; +import { match } from 'ts-pattern'; import { Button } from './button'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select'; interface DataTablePaginationProps { table: Table; + + /** + * The type of information to show on the left hand side of the pagination. + * + * Defaults to 'VisibleCount'. + */ + additionalInformation?: 'SelectedCount' | 'VisibleCount' | 'None'; } -export function DataTablePagination({ table }: DataTablePaginationProps) { +export function DataTablePagination({ + table, + additionalInformation = 'VisibleCount', +}: DataTablePaginationProps) { return (
- {table.getFilteredSelectedRowModel().rows.length} of{' '} - {table.getFilteredRowModel().rows.length} row(s) selected. + {match(additionalInformation) + .with('SelectedCount', () => ( + + {table.getFilteredSelectedRowModel().rows.length} of{' '} + {table.getFilteredRowModel().rows.length} row(s) selected. + + )) + .with('VisibleCount', () => { + const visibleRows = table.getFilteredRowModel().rows.length; + + return ( + + Showing {visibleRows} result{visibleRows > 1 && 's'}. + + ); + }) + .with('None', () => null) + .exhaustive()}
From 581f08c59bf1d39bffb499f746b7942b7a9674c3 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 12 Sep 2023 07:25:44 +0000 Subject: [PATCH 64/83] fix: update layout and wording --- apps/web/src/app/(dashboard)/admin/layout.tsx | 28 ++--- apps/web/src/app/(dashboard)/admin/nav.tsx | 47 +++++++ apps/web/src/app/(dashboard)/admin/page.tsx | 115 +----------------- .../src/app/(dashboard)/admin/stats/page.tsx | 75 ++++++++++++ .../(dashboard)/layout/profile-dropdown.tsx | 22 ++-- .../(dashboard)/metric-card/metric-card.tsx | 6 +- .../server-only/admin/get-documents-stats.ts | 25 +++- 7 files changed, 176 insertions(+), 142 deletions(-) create mode 100644 apps/web/src/app/(dashboard)/admin/nav.tsx create mode 100644 apps/web/src/app/(dashboard)/admin/stats/page.tsx diff --git a/apps/web/src/app/(dashboard)/admin/layout.tsx b/apps/web/src/app/(dashboard)/admin/layout.tsx index a221d92ba..a04c7b693 100644 --- a/apps/web/src/app/(dashboard)/admin/layout.tsx +++ b/apps/web/src/app/(dashboard)/admin/layout.tsx @@ -1,23 +1,19 @@ -import { redirect } from 'next/navigation'; +import React from 'react'; -import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; -import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; +import { AdminNav } from './nav'; -export type AdminLayoutProps = { +export type AdminSectionLayoutProps = { children: React.ReactNode; }; -export default async function AdminLayout({ children }: AdminLayoutProps) { - const user = await getRequiredServerComponentSession(); - const isUserAdmin = isAdmin(user); +export default function AdminSectionLayout({ children }: AdminSectionLayoutProps) { + return ( +
+
+ - if (!user) { - redirect('/signin'); - } - - if (!isUserAdmin) { - redirect('/dashboard'); - } - - return
{children}
; +
{children}
+
+
+ ); } diff --git a/apps/web/src/app/(dashboard)/admin/nav.tsx b/apps/web/src/app/(dashboard)/admin/nav.tsx new file mode 100644 index 000000000..3b87a9b13 --- /dev/null +++ b/apps/web/src/app/(dashboard)/admin/nav.tsx @@ -0,0 +1,47 @@ +'use client'; + +import { HTMLAttributes } from 'react'; + +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; + +import { BarChart3, User2 } from 'lucide-react'; + +import { cn } from '@documenso/ui/lib/utils'; +import { Button } from '@documenso/ui/primitives/button'; + +export type AdminNavProps = HTMLAttributes; + +export const AdminNav = ({ className, ...props }: AdminNavProps) => { + const pathname = usePathname(); + + return ( +
+ + + +
+ ); +}; diff --git a/apps/web/src/app/(dashboard)/admin/page.tsx b/apps/web/src/app/(dashboard)/admin/page.tsx index 073056478..5fe030685 100644 --- a/apps/web/src/app/(dashboard)/admin/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/page.tsx @@ -1,114 +1,5 @@ -import { - Archive, - File, - FileX2, - LucideIcon, - Mail, - MailOpen, - PenTool, - Send, - User as UserIcon, - UserPlus2, - UserSquare2, -} from 'lucide-react'; +import { redirect } from 'next/navigation'; -import { getDocsCount } from '@documenso/lib/server-only/admin/get-documents-stats'; -import { getRecipientsStats } from '@documenso/lib/server-only/admin/get-recipients-stats'; -import { - getUsersCount, - getUsersWithSubscriptionsCount, -} from '@documenso/lib/server-only/admin/get-users-stats'; -import { - ReadStatus as InternalReadStatus, - SendStatus as InternalSendStatus, - SigningStatus as InternalSigningStatus, -} from '@documenso/prisma/client'; - -import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card'; - -type CardData = { - icon: LucideIcon; - title: string; - status: - | 'TOTAL_RECIPIENTS' - | 'OPENED' - | 'NOT_OPENED' - | 'SIGNED' - | 'NOT_SIGNED' - | 'SENT' - | 'NOT_SENT'; -}; - -const CARD_DATA: CardData[] = [ - { - icon: UserSquare2, - title: 'Recipients in the database', - status: 'TOTAL_RECIPIENTS', - }, - { - icon: MailOpen, - title: 'Opened documents', - status: InternalReadStatus.OPENED, - }, - { - icon: Mail, - title: 'Unopened documents', - status: InternalReadStatus.NOT_OPENED, - }, - { - icon: Send, - title: 'Sent documents', - status: InternalSendStatus.SENT, - }, - { - icon: Archive, - title: 'Unsent documents', - status: InternalSendStatus.NOT_SENT, - }, - { - icon: PenTool, - title: 'Signed documents', - status: InternalSigningStatus.SIGNED, - }, - { - icon: FileX2, - title: 'Unsigned documents', - status: InternalSigningStatus.NOT_SIGNED, - }, -]; - -export default async function Admin() { - const [usersCount, usersWithSubscriptionsCount, docsCount, recipientsStats] = await Promise.all([ - getUsersCount(), - getUsersWithSubscriptionsCount(), - getDocsCount(), - getRecipientsStats(), - ]); - - return ( -
-

Instance version: {process.env.APP_VERSION}

-
- - -
-

Document metrics

-
- -
- -

Recipients metrics

-
- {CARD_DATA.map((card) => ( -
- -
- ))} -
-
- ); +export default function Admin() { + redirect('/admin/stats'); } diff --git a/apps/web/src/app/(dashboard)/admin/stats/page.tsx b/apps/web/src/app/(dashboard)/admin/stats/page.tsx new file mode 100644 index 000000000..b93af5a03 --- /dev/null +++ b/apps/web/src/app/(dashboard)/admin/stats/page.tsx @@ -0,0 +1,75 @@ +import { + File, + FileCheck, + FileClock, + FileEdit, + Mail, + MailOpen, + PenTool, + User as UserIcon, + UserPlus2, + UserSquare2, +} from 'lucide-react'; + +import { getDocumentStats } from '@documenso/lib/server-only/admin/get-documents-stats'; +import { getRecipientsStats } from '@documenso/lib/server-only/admin/get-recipients-stats'; +import { + getUsersCount, + getUsersWithSubscriptionsCount, +} from '@documenso/lib/server-only/admin/get-users-stats'; + +import { CardMetric } from '~/components/(dashboard)/metric-card/metric-card'; + +export default async function AdminStatsPage() { + const [usersCount, usersWithSubscriptionsCount, docStats, recipientStats] = await Promise.all([ + getUsersCount(), + getUsersWithSubscriptionsCount(), + getDocumentStats(), + getRecipientsStats(), + ]); + + return ( +
+

Instance Stats

+ +
+ + + + +
+ +
+
+

Document metrics

+ +
+ + + + +
+
+ +
+

Recipients metrics

+ +
+ + + + +
+
+
+
+ ); +} diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx index e3fd4c6d6..3f7a02e60 100644 --- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx +++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx @@ -62,6 +62,19 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { Account + {isUserAdmin && ( + <> + + + + Admin + + + + + + )} + @@ -69,15 +82,6 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => { - {isUserAdmin && ( - - - - Admin - - - )} - diff --git a/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx b/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx index f59d42096..a2248ccdc 100644 --- a/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx +++ b/apps/web/src/components/(dashboard)/metric-card/metric-card.tsx @@ -18,10 +18,10 @@ export const CardMetric = ({ icon: Icon, title, value, className }: CardMetricPr )} >
-
- {Icon && } +
+ {Icon && } -

{title}

+

{title}

diff --git a/packages/lib/server-only/admin/get-documents-stats.ts b/packages/lib/server-only/admin/get-documents-stats.ts index 9100a886c..e0d53373f 100644 --- a/packages/lib/server-only/admin/get-documents-stats.ts +++ b/packages/lib/server-only/admin/get-documents-stats.ts @@ -1,5 +1,26 @@ import { prisma } from '@documenso/prisma'; +import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status'; -export const getDocsCount = async () => { - return await prisma.document.count(); +export const getDocumentStats = async () => { + const counts = await prisma.document.groupBy({ + by: ['status'], + _count: { + _all: true, + }, + }); + + const stats: Record, number> = { + [ExtendedDocumentStatus.DRAFT]: 0, + [ExtendedDocumentStatus.PENDING]: 0, + [ExtendedDocumentStatus.COMPLETED]: 0, + [ExtendedDocumentStatus.ALL]: 0, + }; + + counts.forEach((stat) => { + stats[stat.status] = stat._count._all; + + stats.ALL += stat._count._all; + }); + + return stats; }; From 599e857a1e282141fba6add03b5cf7c6e3c110d0 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 12 Sep 2023 17:53:38 +1000 Subject: [PATCH 65/83] fix: add removed layout guard --- apps/web/src/app/(dashboard)/admin/layout.tsx | 13 ++++++++++++- .../lib/server-only/admin/get-recipients-stats.ts | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/(dashboard)/admin/layout.tsx b/apps/web/src/app/(dashboard)/admin/layout.tsx index a04c7b693..3aa47d1a9 100644 --- a/apps/web/src/app/(dashboard)/admin/layout.tsx +++ b/apps/web/src/app/(dashboard)/admin/layout.tsx @@ -1,12 +1,23 @@ import React from 'react'; +import { redirect } from 'next/navigation'; + +import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session'; +import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; + import { AdminNav } from './nav'; export type AdminSectionLayoutProps = { children: React.ReactNode; }; -export default function AdminSectionLayout({ children }: AdminSectionLayoutProps) { +export default async function AdminSectionLayout({ children }: AdminSectionLayoutProps) { + const user = await getRequiredServerComponentSession(); + + if (!isAdmin(user)) { + redirect('/documents'); + } + return (

diff --git a/packages/lib/server-only/admin/get-recipients-stats.ts b/packages/lib/server-only/admin/get-recipients-stats.ts index 92c0c3527..f24d0b5a2 100644 --- a/packages/lib/server-only/admin/get-recipients-stats.ts +++ b/packages/lib/server-only/admin/get-recipients-stats.ts @@ -16,6 +16,7 @@ export const getRecipientsStats = async () => { [SendStatus.SENT]: 0, [SendStatus.NOT_SENT]: 0, }; + results.forEach((result) => { const { readStatus, signingStatus, sendStatus, _count } = result; stats[readStatus] += _count; @@ -23,5 +24,6 @@ export const getRecipientsStats = async () => { stats[sendStatus] += _count; stats.TOTAL_RECIPIENTS += _count; }); + return stats; }; From 46dfaa70a3de4eec85a8df094e5973aab88bc298 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 13 Sep 2023 14:39:01 +0200 Subject: [PATCH 66/83] Update apps/marketing/content/blog/building-documenso-pt1.mdx Co-authored-by: Adithya Krishna --- apps/marketing/content/blog/building-documenso-pt1.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/marketing/content/blog/building-documenso-pt1.mdx b/apps/marketing/content/blog/building-documenso-pt1.mdx index 36e28c7dc..592f4e1f7 100644 --- a/apps/marketing/content/blog/building-documenso-pt1.mdx +++ b/apps/marketing/content/blog/building-documenso-pt1.mdx @@ -79,7 +79,7 @@ There weren’t any deeper reasons we choose WiseKey, other than they offered wh Do you have questions or thoughts about this? As always, let me know in the comments, on twitter.com/eltimuro or directly: documen.so/timur -Join the self-hoster community here: https://documenso.slack.com/ +Join the self-hoster community here: https://documen.so/discord Best from Hamburg From 3c36eedfba35605af1ef3326404a9530484deef2 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 13 Sep 2023 14:42:27 +0200 Subject: [PATCH 67/83] chore: phrasing --- apps/marketing/content/blog/building-documenso-pt1.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/marketing/content/blog/building-documenso-pt1.mdx b/apps/marketing/content/blog/building-documenso-pt1.mdx index 592f4e1f7..b8507be03 100644 --- a/apps/marketing/content/blog/building-documenso-pt1.mdx +++ b/apps/marketing/content/blog/building-documenso-pt1.mdx @@ -1,6 +1,6 @@ --- title: 'Building Documenso — Part 1: Certificates' -description: This is the first installment of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. +description: This is the first part of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. authorName: 'Timur Ercan' authorImage: '/blog/blog-author-timur.jpeg' authorRole: 'Co-Founder' From 974dc740732fb3fc3f1f13fdb46540db9e74c4d6 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 13 Sep 2023 14:53:27 +0200 Subject: [PATCH 68/83] chore: moved rewrite article from next repo --- .../content/blog/why-were-doing-a-rewrite.mdx | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 apps/marketing/content/blog/why-were-doing-a-rewrite.mdx diff --git a/apps/marketing/content/blog/why-were-doing-a-rewrite.mdx b/apps/marketing/content/blog/why-were-doing-a-rewrite.mdx new file mode 100644 index 000000000..f2195a019 --- /dev/null +++ b/apps/marketing/content/blog/why-were-doing-a-rewrite.mdx @@ -0,0 +1,113 @@ +--- +title: Why we're doing a rewrite +description: As we move beyond MVP and onto creating the open signing infrastructure we all deserve we need to take a quick pit-stop. +authorName: 'Lucas Smith' +authorImage: '/blog/blog-author-lucas.png' +authorRole: 'Co-Founder' +date: 2023-08-05 +tags: + - Community + - Development +--- + +
+ + +
+ The next generation of Documenso and signing infrastructure. +
+
+ +> TLDR; We're rewriting Documenso to move on from our MVP foundations and create an even better base for the project. This rewrite will provide us the opportunity to fix a few things within the project while enabling a faster development process moving forward. + +# Introduction + +At Documenso, we're building the next generation of signing infrastructure with a focus on making it inclusive and accessible for all. To do this we need to ensure that the software we write is also inclusive and accessible and for this reason we’ve decided to take a step back and perform a _quick_ rewrite. + +Although we've achieved validated MVP status and gained paying customers, we're still quite far from our goal of creating a trusted, open signing experience. To move closer to that future, we need to step back and focus on the project's foundations to ensure we can solve all the items we set out to on our current homepage. + +Fortunately, this wasn't a case of someone joining the team and proposing a rewrite due to a lack of understanding of the codebase and context surrounding it. Prior to joining Documenso as a co-founder, I had spent an extensive amount of time within the Documenso codebase and had a fairly intimate understanding of what was happening for the most part. This knowledge allowed me to make the fair and simultaneously hard call to take a quick pause so we can rebuild our current foundations to enable accessibility and a faster delivery time in the future. + +# The Reasoning: TypeScript + +Our primary reason for the rewrite is to better leverage the tools and technologies we've already chosen, namely TypeScript. While Documenso currently uses TypeScript, it's not fully taking advantage of its safety features, such as generics and type guards. + +The codebase currently has several instances of `any` types, which is expected when working in an unknown domain where object models aren't fully understood before exploration and experimentation. These `any`s initially sped up development, but have since become a hindrance due to the lack of type information, combined with prop drilling. As a result, it's necessary to go through a lot of context to understand the root of any given issue. + +The rewrite is using TypeScript to its full potential, ensuring that every interaction is strongly typed, both through general TypeScript tooling and the introduction of [Zod](https://github.com/colinhacks/zod), a validation library with excellent TypeScript support. With these choices, we can ensure that the codebase is robust to various inputs and states, as most issues will be caught during compile time and flagged within a developer's IDE. + +# The Reasoning: Stronger API contracts + +In line with our pattern of creating strongly typed contracts, we've decided to use [tRPC](https://github.com/trpc/trpc) for our internal API. This enables us to share types between our frontend and backend and establish a solid contract for interactions between the two. This is in contrast to the currently untyped API endpoints in Documenso, which are accessed using the `fetch` API that is itself untyped. + +Using tRPC drastically reduces the chance of failures resulting from mundane things like argument or response shape changes during updates and upgrades. We made this decision easily because tRPC is a mature technology with no signs of losing momentum any time soon. + +Additionally, many of our open-source friends have made the same choice for similar reasons. + +# The Reasoning: Choosing exciting technologies + +Although we already work with what I consider to be a fun stack that includes Next.js, Prisma, Tailwind, and more, it's no secret that contributors enjoy working with new technologies that benefit them in their own careers and projects. + +To take advantage of this, we have decided to use Next.js 13 and React's new server component and actions architecture. Server components are currently popular among developers, with many loving and hating them at the same time. + +I have personally worked with server components and actions since they were first released in October 2022 and have dealt with most of the hiccups and limitations along the way. Now, in July 2023, I believe they are in a much more stable place and are ready to be adopted, with their benefits being recognised by many. + +By choosing to use server components and actions, we hope to encourage the community to participate more than they otherwise might. However, we are only choosing this because it has become more mature and stable. We will not choose things that are less likely to become the de-facto solution in the future, as we do not wish to inherit a pile of tech debt later on. + +# The Reasoning: Allowing concurrent work + +Another compelling reason for the rewrite was to effectively modularise code so we can work on features concurrently and without issue. This means extracting as much as possible out of components, API handlers and more and into a set of methods and functions that attempt to focus on just one thing. + +In performing this work we should be able to easily make refactors and other changes to various parts of the code without stepping on each others feet, this also grants us the ability to upgrade or deprecate items as required by sticking to the contract of the previous method. + +Additionally, this makes testing a much easier task as we can focus more on units of work rather than extensive end to end testing although we aim to have both, just not straight away. + +# The Reasoning: Licensing of work + +Another major reasoning for the rewrite is to ensure that all work performed on the project by both our internal team and external contributors is licensed in a way that benefits the project long-term. Prior to the rewrite contributors would create pull requests that would be merged in without any further process outside of the common code-review and testing cycles. + +This was fine for the most part since we were simply working on the MVP but now as we move towards an infrastructure focus we intend on taking on enterprise clients who will have a need for a non-GPLv3 license since interpretations of it can be quite harmful to private hosting, to facilitate this we will require contributors to sign a contributor license agreement (CLA) prior to their changes being merged which will assign a perpetual license for us to use their code and relicense it as required such as for the use-case above. + +While some might cringe at the idea of signing a CLA, we want to offer a compelling enterprise offering through means of dual-licensing. Great enterprise adoption is one of the cornerstones of our strategy and will be key to funding community and product development long-term. + +_Do note that the above does not mean that we will ever go closed-source, it’s a point in our investor agreements that [https://github.com/documenso/documenso](https://github.com/documenso/documenso) will always remain available and open-source._ + +# Goals and Non-Goals + +Rewriting an application is a monumental task that I have taken on and rejected many times in my career. As I get older, I become more hesitant to perform these rewrites because I understand that systems carry a lot of context and history. This makes them better suited for piecemeal refactoring instead, which avoids learning the lessons of the past all over again during the launch of the rewrite. + +To ensure that we aren't just jumping off the deep end, I have set out a list of goals and non-goals to keep this rewrite lean and affordable. + +### Goals + +- Provide a clean design and interface for the newly rewritten application that creates a sense of trust and security at first glance. +- Create a stable foundation and architecture that will allow for growth into our future roadmap items (teams, automation, workflows, etc.). +- Create a robust system that requires minimal context through strong contracts and typing. + +### Non-Goals + +- Change the database schema (we don't want to make migration harder than it needs to be, thus all changes must be additive). +- Add too many features that weren't in the system prior to the rewrite. +- Remove any features that were in the older version of Documenso, such as free signatures (signatures that have no corresponding field). + +# Rollout Plan + +Thanks to the constraints listed above our rollout will hopefully be fairly painless, still to be safe we plan on doing the following. + +1. In the current [testing environment](https://test.documenso.com), create and sign a number of documents leaving many in varying states of completion. +2. Deploy the rewrite to the testing environment and verify that all existing documents and information is retrievable and modifiable without any issue. +3. Create another set of documents using the new rewrite and verify that all interactions between authoring and signing work as expected. +4. Repeat this until we reach a general confidence level (expectation of two weeks). + +Once we’ve reached the desired confidence level with our testing environment we will look to deploy the rewrite to the production environment ensuring that we’ve performed all the required backups in the event of a catastrophic failure. + +# Want to help out? + +We’re currently working on the **[feat/refresh](https://github.com/documenso/documenso/tree/feat/refresh)** branch on GitHub, we aim to have a CLA available to sign in the coming days so we can start accepting external contributions asap. While we’re nearing the end-stage of the rewrite we will be throwing up a couple of bounties shortly for things like [Husky](https://github.com/typicode/husky) and [Changesets](https://github.com/changesets/changesets). + +Keep an eye on our [GitHub issues](https://github.com/documenso/documenso/issues) to stay up to date! From 71818c0f1f36f1d5256691ec427e26d70e00e439 Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 13 Sep 2023 14:57:22 +0200 Subject: [PATCH 69/83] chore: update readme to main version --- README.md | 118 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 84 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index ebab1c3f5..29ffb0d65 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,11 @@

- + Documenso Logo -

Open Source Signing Infrastructure

-

- The DocuSign Open Source Alternative. -
+ The Open Source DocuSign Alternative. +
Learn more »

@@ -22,12 +20,16 @@

- Join Documenso on Discord + Join Documenso on Discord Github Stars License Commits-per-month

+> **🚧 We're currently working on a large scale refactor which can be found on the [feat/refresh](https://github.com/documenso/documenso/tree/feat/refresh) branch.** +> +> **[Read more on why 👀](https://documenso.com/blog/why-were-doing-a-rewrite)** + # Documenso 0.9 - Developer Preview
@@ -63,18 +65,28 @@ Signing documents digitally is fast, easy and should be best practice for every ## Community and Next Steps 🎯 -The current project goal is to [release a production ready version](https://github.com/documenso/documenso/milestone/1) for self-hosting as soon as possible. If you want to help making that happen you can: +We're currently working on a redesign of the application including a revamp of the codebase so Documenso can be more intuitive to use and robust to develop upon. - Check out the first source code release in this repository and test it - Tell us what you think in the current [Discussions](https://github.com/documenso/documenso/discussions) -- Join the [Slack Channel](https://documen.so/slack) for any questions and getting to know to other community members +- Join the [Discord server](https://documen.so/discord) for any questions and getting to know to other community members - ⭐ the repository to help us raise awareness - Spread the word on Twitter, that Documenso is working towards a more open signing tool - Fix or create [issues](https://github.com/documenso/documenso/issues), that are needed for the first production release ## Contributing -- To contribute please see our [contribution guide](https://github.com/documenso/documenso/blob/main/CONTRIBUTING.md). +- To contribute, please see our [contribution guide](https://github.com/documenso/documenso/blob/main/CONTRIBUTING.md). + +## Contact us + +Contact us if you are interested in our Enterprise plan for large organizations that need extra flexibility and control. + +Book us with Cal.com + +## Activity + +![Repository Activity](https://repobeats.axiom.co/api/embed/622a2e9aa709696f7226304b5b7178a5741b3868.svg) # Tech @@ -89,10 +101,6 @@ Documenso is built using awesome open source tech including: - [Node SignPDF (Digital Signature)](https://github.com/vbuch/node-signpdf) - [React-PDF for viewing PDFs](https://github.com/wojtekmaj/react-pdf) - [PDF-Lib for PDF manipulation](https://github.com/Hopding/pdf-lib) -- [Zod for schema declaration and validation](https://zod.dev/) -- [Lucide React for icons in React app](https://lucide.dev/) -- [Framer Motion for motion library](https://www.framer.com/motion/) -- [Radix UI for component library](https://www.radix-ui.com/) - Check out `/package.json` and `/apps/web/package.json` for more - Support for [opensignpdf (requires Java on server)](https://github.com/open-pdf-sign) is currently planned. @@ -135,37 +143,47 @@ Your database will also be available on port `54320`. You can connect to it usin ## Developer Setup +### Manual Setup + Follow these steps to setup documenso on you local machine: - [Clone the repository](https://help.github.com/articles/cloning-a-repository/) it to your local device. ```sh git clone https://github.com/documenso/documenso ``` -- Run npm i in root directory -- Rename .env.example to .env +- Run `npm i` in root directory +- Rename `.env.example` to `.env` - Set DATABASE_URL value in .env file - You can use the provided test database url (may be wiped at any point) - Or setup a local postgres sql instance (recommended) -- Create the database scheme by running db-migrate:dev +- Create the database scheme by running `db-migrate:dev` - Setup your mail provider - - Set SENDGRID_API_KEY value in .env file + - Set `SENDGRID_API_KEY` value in .env file - You need a SendGrid account, which you can create [here](https://signup.sendgrid.com/). - - Documenso uses [Nodemailer](https://nodemailer.com/about/) so you can easily use your own SMTP server by setting the SMTP\_\* variables in your .env -- Run npm run dev root directory to start + - Documenso uses [Nodemailer](https://nodemailer.com/about/) so you can easily use your own SMTP server by setting the `SMTP + \_ + * variables` in your .env +- Run `npm run dev` root directory to start - Register a new user at http://localhost:3000/signup --- -- Optional: Seed the database using npm run db-seed to create a test user and document -- Optional: Upload and sign apps/web/resources/example.pdf manually to test your setup +- Optional: Seed the database using `npm run db-seed` to create a test user and document +- Optional: Upload and sign `apps/web/resources/example.pdf` manually to test your setup - Optional: Create your own signing certificate - A demo certificate is provided in `/app/web/resources/certificate.p12` - To generate your own using these steps and a Linux Terminal or Windows Subsystem for Linux (WSL) see **[Create your own signing certificate](#creating-your-own-signing-certificate)**. +### Run in Gitpod + +- Click below to launch a ready-to-use Gitpod workspace in your browser. + +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/documenso/documenso) + ## Updating -- If you pull the newest version from main, using git pull, it may be necessary to regenerate your database client +- If you pull the newest version from main, using `git pull`, it may be necessary to regenerate your database client - You can do this by running the generate command in `/packages/prisma`: ```sh npx prisma generate @@ -176,16 +194,22 @@ Follow these steps to setup documenso on you local machine: For the digital signature of your documents you need a signing certificate in .p12 format (public and private key). You can buy one (not recommended for dev) or use the steps to create a self-signed one: -1. Generate a private key using the OpenSSL command. You can run the following command to generate a 2048-bit RSA key:\ - openssl genrsa -out private.key 2048 +1. Generate a private key using the OpenSSL command. You can run the following command to generate a 2048-bit RSA key: + + `openssl genrsa -out private.key 2048` + +2. Generate a self-signed certificate using the private key. You can run the following command to generate a self-signed certificate: + + `openssl req -new -x509 -key private.key -out certificate.crt -days 365` -2. Generate a self-signed certificate using the private key. You can run the following command to generate a self-signed certificate:\ - openssl req -new -x509 -key private.key -out certificate.crt -days 365 \ This will prompt you to enter some information, such as the Common Name (CN) for the certificate. Make sure you enter the correct information. The -days parameter sets the number of days for which the certificate is valid. -3. Combine the private key and the self-signed certificate to create the p12 certificate. You can run the following command to do this: \ - openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt + +3. Combine the private key and the self-signed certificate to create the p12 certificate. You can run the following command to do this: + + `openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt` + 4. You will be prompted to enter a password for the p12 file. Choose a strong password and remember it, as you will need it to use the certificate (**can be empty for dev certificates**) -5. Place the certificate /apps/web/resources/certificate.p12 +5. Place the certificate `/apps/web/resources/certificate.p12` # Docker @@ -193,16 +217,42 @@ For the digital signature of your documents you need a signing certificate in .p Want to create a production ready docker image? Follow these steps: -- Run `./docker/build.sh` in the root directory. -- Publish the image to your docker registry of choice. +- cd into `docker` directory +- Make `build.sh` executable by running `chmod +x build.sh` +- Run `./build.sh` to start building the docker image. +- Publish the image to your docker registry of choice (or) If you prefer running the image from local, run the below command -# Deploying - Coming Soon™ +``` +docker run -d --restart=unless-stopped -p 3000:3000 -v documenso:/app/data --name documenso documenso:latest +``` -- Docker support -- One-Click-Deploy on Render.com Deploy +Command Breakdown: +- `-d` - Let's you run the container in background +- `-p` - Passes down which ports to use. First half is the host port, Second half is the app port. You can change the first half anything you want and reverse proxy to that port. +- `-v` - Volume let's you persist the data +- `--name` - Name of the container +- `documenso:latest` - Image you have built + +# Deployment + +We support a variety of deployment methods, and are actively working on adding more. Stay tuned for updates! + +## Railway + +[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/DjrRRX) + +## Render + +[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/documenso/documenso) # Troubleshooting +## I'm not receiving any emails when using the developer quickstart + +When using the developer quickstart an [Inbucket](https://inbucket.org/) server will be spun up in a docker container that will store all outgoing email locally for you to view. + +The Web UI can be found at http://localhost:9000 while the SMTP port will be on localhost:2500. + ## Support IPv6 In case you are deploying to a cluster that uses only IPv6. You can use a custom command to pass a parameter to the NextJS start command From 9014f012766cef710e4febe88896f381839b7722 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 12:46:36 +1000 Subject: [PATCH 70/83] feat: universal upload Implementation of a universal upload allowing for multiple storage backends starting with `database` and `s3`. Allows clients to put and retrieve files from either client or server using a blend of client and server actions. --- .env.example | 14 + apps/marketing/next.config.js | 9 +- .../src/pages/api/stripe/webhook/index.ts | 46 +- apps/web/next.config.js | 2 +- apps/web/package.json | 1 - apps/web/src/api/document/create/fetcher.ts | 34 - apps/web/src/api/document/create/types.ts | 19 - .../documents/[id]/edit-document.tsx | 10 +- .../documents/[id]/loadable-pdf-card.tsx | 20 - .../app/(dashboard)/documents/[id]/page.tsx | 10 +- .../(dashboard)/documents/upload-document.tsx | 28 +- .../sign/[token]/complete/download-button.tsx | 61 +- .../(signing)/sign/[token]/complete/page.tsx | 8 +- .../src/app/(signing)/sign/[token]/page.tsx | 13 +- apps/web/src/pages/api/document/create.ts | 96 - apps/web/src/pages/api/feature-flag/get.ts | 2 +- .../web/src/pages/api/stripe/webhook/index.ts | 16 +- package-lock.json | 1808 ++++++++++++++++- packages/email/package.json | 5 +- packages/email/tailwind.config.js | 5 +- packages/lib/constants/time.ts | 5 + packages/lib/package.json | 7 +- .../document-data/create-document-data.ts | 19 + .../server-only/document/create-document.ts | 15 +- .../lib/server-only/document/seal-document.ts | 28 +- .../recipient/set-recipients-for-document.ts | 4 +- packages/lib/tsconfig.json | 3 + packages/lib/universal/id.ts | 5 + packages/lib/universal/upload/delete-file.ts | 22 + packages/lib/universal/upload/get-file.ts | 45 + packages/lib/universal/upload/put-file.ts | 53 + .../lib/universal/upload/server-actions.ts | 104 + packages/lib/universal/upload/update-file.ts | 54 + .../migration.sql | 23 + packages/prisma/schema.prisma | 31 +- .../trpc/server/document-router/router.ts | 28 +- .../trpc/server/document-router/schema.ts | 7 + packages/tsconfig/process-env.d.ts | 2 +- packages/ui/package.json | 5 +- .../primitives/document-flow/add-fields.tsx | 2 +- .../primitives/document-flow/add-signers.tsx | 2 +- turbo.json | 6 + 42 files changed, 2372 insertions(+), 305 deletions(-) delete mode 100644 apps/web/src/api/document/create/fetcher.ts delete mode 100644 apps/web/src/api/document/create/types.ts delete mode 100644 apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx delete mode 100644 apps/web/src/pages/api/document/create.ts create mode 100644 packages/lib/constants/time.ts create mode 100644 packages/lib/server-only/document-data/create-document-data.ts create mode 100644 packages/lib/universal/id.ts create mode 100644 packages/lib/universal/upload/delete-file.ts create mode 100644 packages/lib/universal/upload/get-file.ts create mode 100644 packages/lib/universal/upload/put-file.ts create mode 100644 packages/lib/universal/upload/server-actions.ts create mode 100644 packages/lib/universal/upload/update-file.ts create mode 100644 packages/prisma/migrations/20230912011344_reverse_document_data_relation/migration.sql diff --git a/.env.example b/.env.example index cfa96f59b..6f32b5a63 100644 --- a/.env.example +++ b/.env.example @@ -15,6 +15,20 @@ NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documen # Defines the URL to use for the database when running migrations and other commands that won't work with a connection pool. NEXT_PRIVATE_DIRECT_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documenso" +# [[STORAGE]] +# OPTIONAL: Defines the storage transport to use. Available options: database (default) | s3 +NEXT_PUBLIC_UPLOAD_TRANSPORT="database" +# OPTIONAL: Defines the endpoint to use for the S3 storage transport. Relevant when using third-party S3-compatible providers. +NEXT_PRIVATE_UPLOAD_ENDPOINT= +# OPTIONAL: Defines the region to use for the S3 storage transport. Defaults to us-east-1. +NEXT_PRIVATE_UPLOAD_REGION= +# REQUIRED: Defines the bucket to use for the S3 storage transport. +NEXT_PRIVATE_UPLOAD_BUCKET= +# OPTIONAL: Defines the access key ID to use for the S3 storage transport. +NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID= +# OPTIONAL: Defines the secret access key to use for the S3 storage transport. +NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY= + # [[SMTP]] # OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth" diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js index ee7d10899..97f904cf0 100644 --- a/apps/marketing/next.config.js +++ b/apps/marketing/next.config.js @@ -8,9 +8,16 @@ const { parsed: env } = require('dotenv').config({ /** @type {import('next').NextConfig} */ const config = { + experimental: { + serverActions: true, + }, reactStrictMode: true, transpilePackages: ['@documenso/lib', '@documenso/prisma', '@documenso/trpc', '@documenso/ui'], - env, + modularizeImports: { + 'lucide-react': { + transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}', + }, + }, }; module.exports = withContentlayer(config); diff --git a/apps/marketing/src/pages/api/stripe/webhook/index.ts b/apps/marketing/src/pages/api/stripe/webhook/index.ts index 11c9476bd..b5feeb870 100644 --- a/apps/marketing/src/pages/api/stripe/webhook/index.ts +++ b/apps/marketing/src/pages/api/stripe/webhook/index.ts @@ -8,6 +8,8 @@ import { insertImageInPDF } from '@documenso/lib/server-only/pdf/insert-image-in import { insertTextInPDF } from '@documenso/lib/server-only/pdf/insert-text-in-pdf'; import { redis } from '@documenso/lib/server-only/redis'; import { Stripe, stripe } from '@documenso/lib/server-only/stripe'; +import { getFile } from '@documenso/lib/universal/upload/get-file'; +import { updateFile } from '@documenso/lib/universal/upload/update-file'; import { prisma } from '@documenso/prisma'; import { DocumentDataType, @@ -88,19 +90,21 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const bytes64 = readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'); + const { id: documentDataId } = await prisma.documentData.create({ + data: { + type: DocumentDataType.BYTES_64, + data: bytes64, + initialData: bytes64, + }, + }); + const document = await prisma.document.create({ data: { title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, created: now, - documentData: { - create: { - type: DocumentDataType.BYTES_64, - data: bytes64, - initialData: bytes64, - }, - }, + documentDataId, }, include: { documentData: true, @@ -139,17 +143,21 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }, }); + let pdfData = await getFile(documentData).then((data) => + Buffer.from(data).toString('base64'), + ); + if (signatureDataUrl) { - documentData.data = await insertImageInPDF( - documentData.data, + pdfData = await insertImageInPDF( + pdfData, signatureDataUrl, Number(field.positionX), Number(field.positionY), field.page, ); } else { - documentData.data = await insertTextInPDF( - documentData.data, + pdfData = await insertTextInPDF( + pdfData, signatureText ?? '', Number(field.positionX), Number(field.positionY), @@ -157,6 +165,12 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) ); } + const { data: newData } = await updateFile({ + type: documentData.type, + oldData: documentData.initialData, + newData: Buffer.from(pdfData, 'base64').toString('binary'), + }); + await Promise.all([ prisma.signature.create({ data: { @@ -166,16 +180,12 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) typedSignature: signatureDataUrl ? '' : signatureText, }, }), - prisma.document.update({ + prisma.documentData.update({ where: { - id: document.id, + id: documentData.id, }, data: { - documentData: { - update: { - data: documentData.data, - }, - }, + data: newData, }, }), ]); diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 09760f806..7ec6c49ee 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -9,6 +9,7 @@ const { parsed: env } = require('dotenv').config({ const config = { experimental: { serverActions: true, + serverActionsBodySizeLimit: '50mb', }, reactStrictMode: true, transpilePackages: [ @@ -18,7 +19,6 @@ const config = { '@documenso/ui', '@documenso/email', ], - env, modularizeImports: { 'lucide-react': { transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}', diff --git a/apps/web/package.json b/apps/web/package.json index 8e7dd2be7..d3ab34f96 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -24,7 +24,6 @@ "lucide-react": "^0.214.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "nanoid": "^4.0.2", "next": "13.4.12", "next-auth": "4.22.3", "next-plausible": "^3.10.1", diff --git a/apps/web/src/api/document/create/fetcher.ts b/apps/web/src/api/document/create/fetcher.ts deleted file mode 100644 index fdc23456c..000000000 --- a/apps/web/src/api/document/create/fetcher.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { useMutation } from '@tanstack/react-query'; - -import { TCreateDocumentRequestSchema, ZCreateDocumentResponseSchema } from './types'; - -export const useCreateDocument = () => { - return useMutation(async ({ file }: TCreateDocumentRequestSchema) => { - const formData = new FormData(); - - formData.set('file', file); - - const response = await fetch('/api/document/create', { - method: 'POST', - body: formData, - }); - - const body = await response.json(); - - if (response.status !== 200) { - throw new Error('Failed to create document'); - } - - const safeBody = ZCreateDocumentResponseSchema.safeParse(body); - - if (!safeBody.success) { - throw new Error('Failed to create document'); - } - - if ('error' in safeBody.data) { - throw new Error(safeBody.data.error); - } - - return safeBody.data; - }); -}; diff --git a/apps/web/src/api/document/create/types.ts b/apps/web/src/api/document/create/types.ts deleted file mode 100644 index 07541a5dd..000000000 --- a/apps/web/src/api/document/create/types.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { z } from 'zod'; - -export const ZCreateDocumentRequestSchema = z.object({ - file: z.instanceof(File), -}); - -export type TCreateDocumentRequestSchema = z.infer; - -export const ZCreateDocumentResponseSchema = z - .object({ - id: z.number(), - }) - .or( - z.object({ - error: z.string(), - }), - ); - -export type TCreateDocumentResponseSchema = z.infer; diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx index 0ea19cfc4..b4837ab23 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx @@ -32,6 +32,7 @@ export type EditDocumentFormProps = { document: DocumentWithData; recipients: Recipient[]; fields: Field[]; + dataUrl: string; }; type EditDocumentStep = 'signers' | 'fields' | 'subject'; @@ -42,16 +43,13 @@ export const EditDocumentForm = ({ recipients, fields, user: _user, + dataUrl, }: EditDocumentFormProps) => { const { toast } = useToast(); const router = useRouter(); - const { documentData } = document; - const [step, setStep] = useState('signers'); - const documentUrl = `data:application/pdf;base64,${documentData?.data}`; - const documentFlow: Record = { signers: { title: 'Add Signers', @@ -154,11 +152,11 @@ export const EditDocumentForm = ({ return (
- + diff --git a/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx b/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx deleted file mode 100644 index 5f01ec107..000000000 --- a/apps/web/src/app/(dashboard)/documents/[id]/loadable-pdf-card.tsx +++ /dev/null @@ -1,20 +0,0 @@ -'use client'; - -import { Card, CardContent } from '@documenso/ui/primitives/card'; -import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; -import { PDFViewerProps } from '@documenso/ui/primitives/pdf-viewer'; - -export type LoadablePDFCard = PDFViewerProps & { - className?: string; - pdfClassName?: string; -}; - -export const LoadablePDFCard = ({ className, pdfClassName, ...props }: LoadablePDFCard) => { - return ( - - - - - - ); -}; diff --git a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx index f7c8f2525..915547607 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx @@ -7,6 +7,7 @@ import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get- import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id'; import { getFieldsForDocument } from '@documenso/lib/server-only/field/get-fields-for-document'; import { getRecipientsForDocument } from '@documenso/lib/server-only/recipient/get-recipients-for-document'; +import { getFile } from '@documenso/lib/universal/upload/get-file'; import { DocumentStatus as InternalDocumentStatus } from '@documenso/prisma/client'; import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; @@ -42,6 +43,12 @@ export default async function DocumentPage({ params }: DocumentPageProps) { const { documentData } = document; + const documentDataUrl = await getFile(documentData) + .then((buffer) => Buffer.from(buffer).toString('base64')) + .then((data) => `data:application/pdf;base64,${data}`); + + console.log({ documentDataUrl: documentDataUrl.slice(0, 40) }); + const [recipients, fields] = await Promise.all([ await getRecipientsForDocument({ documentId, @@ -88,12 +95,13 @@ export default async function DocumentPage({ params }: DocumentPageProps) { user={session} recipients={recipients} fields={fields} + dataUrl={documentDataUrl} /> )} {document.status === InternalDocumentStatus.COMPLETED && (
- +
)}
diff --git a/apps/web/src/app/(dashboard)/documents/upload-document.tsx b/apps/web/src/app/(dashboard)/documents/upload-document.tsx index ee8a69ae6..b472c606b 100644 --- a/apps/web/src/app/(dashboard)/documents/upload-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/upload-document.tsx @@ -1,29 +1,45 @@ 'use client'; +import { useState } from 'react'; + import { useRouter } from 'next/navigation'; import { Loader } from 'lucide-react'; +import { createDocumentData } from '@documenso/lib/server-only/document-data/create-document-data'; +import { putFile } from '@documenso/lib/universal/upload/put-file'; +import { trpc } from '@documenso/trpc/react'; import { cn } from '@documenso/ui/lib/utils'; import { DocumentDropzone } from '@documenso/ui/primitives/document-dropzone'; import { useToast } from '@documenso/ui/primitives/use-toast'; -import { useCreateDocument } from '~/api/document/create/fetcher'; - export type UploadDocumentProps = { className?: string; }; export const UploadDocument = ({ className }: UploadDocumentProps) => { - const { toast } = useToast(); const router = useRouter(); - const { isLoading, mutateAsync: createDocument } = useCreateDocument(); + const { toast } = useToast(); + + const [isLoading, setIsLoading] = useState(false); + + const { mutateAsync: createDocument } = trpc.document.createDocument.useMutation(); const onFileDrop = async (file: File) => { try { + setIsLoading(true); + + const { type, data } = await putFile(file); + + const { id: documentDataId } = await createDocumentData({ + type, + data, + }); + const { id } = await createDocument({ - file: file, + title: file.name, + documentDataId, }); toast({ @@ -41,6 +57,8 @@ export const UploadDocument = ({ className }: UploadDocumentProps) => { description: 'An error occurred while uploading your document.', variant: 'destructive', }); + } finally { + setIsLoading(false); } }; diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx index 2195e2e70..088afad33 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx @@ -1,55 +1,55 @@ 'use client'; -import { HTMLAttributes } from 'react'; +import { HTMLAttributes, useState } from 'react'; import { Download } from 'lucide-react'; +import { getFile } from '@documenso/lib/universal/upload/get-file'; +import { DocumentData } from '@documenso/prisma/client'; import { Button } from '@documenso/ui/primitives/button'; export type DownloadButtonProps = HTMLAttributes & { disabled?: boolean; fileName?: string; - document?: string; + documentData?: DocumentData; }; export const DownloadButton = ({ className, fileName, - document, + documentData, disabled, ...props }: DownloadButtonProps) => { - /** - * Convert the document from base64 to a blob and download it. - */ - const onDownloadClick = () => { - if (!document) { - return; - } - - let decodedDocument = document; + const [isLoading, setIsLoading] = useState(false); + const onDownloadClick = async () => { try { - decodedDocument = atob(document); + setIsLoading(true); + + if (!documentData) { + return; + } + + const bytes = await getFile(documentData); + + const blob = new Blob([bytes], { + type: 'application/pdf', + }); + + const link = window.document.createElement('a'); + + link.href = window.URL.createObjectURL(blob); + link.download = fileName || 'document.pdf'; + + link.click(); + + window.URL.revokeObjectURL(link.href); } catch (err) { - // We're just going to ignore this error and try to download the document console.error(err); + } finally { + setIsLoading(false); } - - const documentBytes = Uint8Array.from(decodedDocument.split('').map((c) => c.charCodeAt(0))); - - const blob = new Blob([documentBytes], { - type: 'application/pdf', - }); - - const link = window.document.createElement('a'); - - link.href = window.URL.createObjectURL(blob); - link.download = fileName || 'document.pdf'; - - link.click(); - - window.URL.revokeObjectURL(link.href); }; return ( @@ -57,8 +57,9 @@ export const DownloadButton = ({ type="button" variant="outline" className={className} - disabled={disabled || !document} + disabled={disabled || !documentData} onClick={onDownloadClick} + loading={isLoading} {...props} > diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx index 48d2b6435..71a368da5 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx @@ -38,9 +38,13 @@ export default async function CompletedSigningPage({ const [fields, recipient] = await Promise.all([ getFieldsForToken({ token }), - getRecipientByToken({ token }), + getRecipientByToken({ token }).catch(() => null), ]); + if (!recipient) { + return notFound(); + } + const recipientName = recipient.name || fields.find((field) => field.type === FieldType.NAME)?.customText || @@ -93,7 +97,7 @@ export default async function CompletedSigningPage({
diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index 838e3ee32..d2c14a524 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -8,6 +8,7 @@ import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document import { viewedDocument } from '@documenso/lib/server-only/document/viewed-document'; import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; +import { getFile } from '@documenso/lib/universal/upload/get-file'; import { FieldType } from '@documenso/prisma/client'; import { Card, CardContent } from '@documenso/ui/primitives/card'; import { ElementVisible } from '@documenso/ui/primitives/element-visible'; @@ -36,19 +37,21 @@ export default async function SigningPage({ params: { token } }: SigningPageProp token, }).catch(() => null), getFieldsForToken({ token }), - getRecipientByToken({ token }), + getRecipientByToken({ token }).catch(() => null), viewedDocument({ token }), ]); - if (!document || !document.documentData) { + if (!document || !document.documentData || !recipient) { return notFound(); } const { documentData } = document; - const user = await getServerComponentSession(); + const documentDataUrl = await getFile(documentData) + .then((buffer) => Buffer.from(buffer).toString('base64')) + .then((data) => `data:application/pdf;base64,${data}`); - const documentUrl = `data:application/pdf;base64,${documentData.data}`; + const user = await getServerComponentSession(); return ( @@ -69,7 +72,7 @@ export default async function SigningPage({ params: { token } }: SigningPageProp gradient > - + diff --git a/apps/web/src/pages/api/document/create.ts b/apps/web/src/pages/api/document/create.ts deleted file mode 100644 index 897c16f76..000000000 --- a/apps/web/src/pages/api/document/create.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { NextApiRequest, NextApiResponse } from 'next'; - -import formidable, { type File } from 'formidable'; -import { readFileSync } from 'fs'; - -import { getServerSession } from '@documenso/lib/next-auth/get-server-session'; -import { prisma } from '@documenso/prisma'; -import { DocumentDataType, DocumentStatus } from '@documenso/prisma/client'; - -import { - TCreateDocumentRequestSchema, - TCreateDocumentResponseSchema, -} from '~/api/document/create/types'; - -export const config = { - api: { - bodyParser: false, - }, -}; - -export type TFormidableCreateDocumentRequestSchema = { - file: File; -}; - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse, -) { - const user = await getServerSession({ req, res }); - - if (!user) { - return res.status(401).json({ - error: 'Unauthorized', - }); - } - - try { - const form = formidable(); - - const { file } = await new Promise( - (resolve, reject) => { - form.parse(req, (err, fields, files) => { - if (err) { - reject(err); - } - - // We had intended to do this with Zod but we can only validate it - // as a persistent file which does not include the properties that we - // need. - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-explicit-any - resolve({ ...fields, ...files } as any); - }); - }, - ); - - const fileBuffer = readFileSync(file.filepath); - - const bytes64 = fileBuffer.toString('base64'); - - const document = await prisma.document.create({ - data: { - title: file.originalFilename ?? file.newFilename, - status: DocumentStatus.DRAFT, - userId: user.id, - documentData: { - create: { - type: DocumentDataType.BYTES_64, - data: bytes64, - initialData: bytes64, - }, - }, - created: new Date(), - }, - }); - - return res.status(200).json({ - id: document.id, - }); - } catch (err) { - console.error(err); - - return res.status(500).json({ - error: 'Internal server error', - }); - } -} - -/** - * This is a hack to ensure that the types are correct. - */ -type FormidableSatisfiesCreateDocument = - keyof TCreateDocumentRequestSchema extends keyof TFormidableCreateDocumentRequestSchema - ? true - : never; - -true satisfies FormidableSatisfiesCreateDocument; diff --git a/apps/web/src/pages/api/feature-flag/get.ts b/apps/web/src/pages/api/feature-flag/get.ts index 6d5204596..6e45b5a18 100644 --- a/apps/web/src/pages/api/feature-flag/get.ts +++ b/apps/web/src/pages/api/feature-flag/get.ts @@ -1,9 +1,9 @@ import { NextRequest, NextResponse } from 'next/server'; -import { nanoid } from 'nanoid'; import { JWT, getToken } from 'next-auth/jwt'; import { LOCAL_FEATURE_FLAGS, extractPostHogConfig } from '@documenso/lib/constants/feature-flags'; +import { nanoid } from '@documenso/lib/universal/id'; import PostHogServerClient from '~/helpers/get-post-hog-server-client'; diff --git a/apps/web/src/pages/api/stripe/webhook/index.ts b/apps/web/src/pages/api/stripe/webhook/index.ts index 818b3759a..fb7877259 100644 --- a/apps/web/src/pages/api/stripe/webhook/index.ts +++ b/apps/web/src/pages/api/stripe/webhook/index.ts @@ -88,19 +88,21 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const bytes64 = readFileSync('./public/documenso-supporter-pledge.pdf').toString('base64'); + const { id: documentDataId } = await prisma.documentData.create({ + data: { + type: DocumentDataType.BYTES_64, + data: bytes64, + initialData: bytes64, + }, + }); + const document = await prisma.document.create({ data: { title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, created: now, - documentData: { - create: { - type: DocumentDataType.BYTES_64, - data: bytes64, - initialData: bytes64, - }, - }, + documentDataId, }, include: { documentData: true, diff --git a/package-lock.json b/package-lock.json index 1fa10b764..348a046de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,6 @@ "lucide-react": "^0.214.0", "luxon": "^3.4.0", "micro": "^10.0.1", - "nanoid": "^4.0.2", "next": "13.4.12", "next-auth": "4.22.3", "next-plausible": "^3.10.1", @@ -132,6 +131,776 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/crc32c": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", + "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32c/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", + "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.410.0.tgz", + "integrity": "sha512-9pInvFl3xgk+CnbHFZVk0wAicZUiokIGQ05e/ZDBHjiWK5ph/XeQ4CCTuh7JxT0yABNhua8/6txsyq/uNXOzoA==", + "dependencies": { + "@aws-crypto/sha1-browser": "3.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.410.0", + "@aws-sdk/credential-provider-node": "3.410.0", + "@aws-sdk/middleware-bucket-endpoint": "3.410.0", + "@aws-sdk/middleware-expect-continue": "3.410.0", + "@aws-sdk/middleware-flexible-checksums": "3.410.0", + "@aws-sdk/middleware-host-header": "3.410.0", + "@aws-sdk/middleware-location-constraint": "3.410.0", + "@aws-sdk/middleware-logger": "3.410.0", + "@aws-sdk/middleware-recursion-detection": "3.410.0", + "@aws-sdk/middleware-sdk-s3": "3.410.0", + "@aws-sdk/middleware-signing": "3.410.0", + "@aws-sdk/middleware-ssec": "3.410.0", + "@aws-sdk/middleware-user-agent": "3.410.0", + "@aws-sdk/signature-v4-multi-region": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-endpoints": "3.410.0", + "@aws-sdk/util-user-agent-browser": "3.410.0", + "@aws-sdk/util-user-agent-node": "3.410.0", + "@aws-sdk/xml-builder": "3.310.0", + "@smithy/config-resolver": "^2.0.7", + "@smithy/eventstream-serde-browser": "^2.0.6", + "@smithy/eventstream-serde-config-resolver": "^2.0.6", + "@smithy/eventstream-serde-node": "^2.0.6", + "@smithy/fetch-http-handler": "^2.1.2", + "@smithy/hash-blob-browser": "^2.0.6", + "@smithy/hash-node": "^2.0.6", + "@smithy/hash-stream-node": "^2.0.6", + "@smithy/invalid-dependency": "^2.0.6", + "@smithy/md5-js": "^2.0.6", + "@smithy/middleware-content-length": "^2.0.8", + "@smithy/middleware-endpoint": "^2.0.6", + "@smithy/middleware-retry": "^2.0.9", + "@smithy/middleware-serde": "^2.0.6", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/node-http-handler": "^2.1.2", + "@smithy/protocol-http": "^3.0.2", + "@smithy/smithy-client": "^2.1.3", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.7", + "@smithy/util-defaults-mode-node": "^2.0.9", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-stream": "^2.0.9", + "@smithy/util-utf8": "^2.0.0", + "@smithy/util-waiter": "^2.0.6", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.410.0.tgz", + "integrity": "sha512-MC9GrgwtlOuSL2WS3DRM3dQ/5y+49KSMMJRH6JiEcU5vE0dX/OtEcX+VfEwpi73x5pSfIjm7xnzjzOFx+sQBIg==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.410.0", + "@aws-sdk/middleware-logger": "3.410.0", + "@aws-sdk/middleware-recursion-detection": "3.410.0", + "@aws-sdk/middleware-user-agent": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-endpoints": "3.410.0", + "@aws-sdk/util-user-agent-browser": "3.410.0", + "@aws-sdk/util-user-agent-node": "3.410.0", + "@smithy/config-resolver": "^2.0.7", + "@smithy/fetch-http-handler": "^2.1.2", + "@smithy/hash-node": "^2.0.6", + "@smithy/invalid-dependency": "^2.0.6", + "@smithy/middleware-content-length": "^2.0.8", + "@smithy/middleware-endpoint": "^2.0.6", + "@smithy/middleware-retry": "^2.0.9", + "@smithy/middleware-serde": "^2.0.6", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/node-http-handler": "^2.1.2", + "@smithy/protocol-http": "^3.0.2", + "@smithy/smithy-client": "^2.1.3", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.7", + "@smithy/util-defaults-mode-node": "^2.0.9", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.410.0.tgz", + "integrity": "sha512-e6VMrBJtnTxxUXwDmkADGIvyppmDMFf4+cGGA68tVCUm1cFNlCI6M/67bVSIPN/WVKAAfhEL5O2vVXCM7aatYg==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/credential-provider-node": "3.410.0", + "@aws-sdk/middleware-host-header": "3.410.0", + "@aws-sdk/middleware-logger": "3.410.0", + "@aws-sdk/middleware-recursion-detection": "3.410.0", + "@aws-sdk/middleware-sdk-sts": "3.410.0", + "@aws-sdk/middleware-signing": "3.410.0", + "@aws-sdk/middleware-user-agent": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-endpoints": "3.410.0", + "@aws-sdk/util-user-agent-browser": "3.410.0", + "@aws-sdk/util-user-agent-node": "3.410.0", + "@smithy/config-resolver": "^2.0.7", + "@smithy/fetch-http-handler": "^2.1.2", + "@smithy/hash-node": "^2.0.6", + "@smithy/invalid-dependency": "^2.0.6", + "@smithy/middleware-content-length": "^2.0.8", + "@smithy/middleware-endpoint": "^2.0.6", + "@smithy/middleware-retry": "^2.0.9", + "@smithy/middleware-serde": "^2.0.6", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/node-http-handler": "^2.1.2", + "@smithy/protocol-http": "^3.0.2", + "@smithy/smithy-client": "^2.1.3", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.7", + "@smithy/util-defaults-mode-node": "^2.0.9", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.410.0.tgz", + "integrity": "sha512-c7TB9LbN0PkFOsXI0lcRJnqPNOmc4VBvrHf8jP/BkTDg4YUoKQKOFd4d0SqzODmlZiAyoMQVZTR4ISZo95Zj4Q==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.410.0.tgz", + "integrity": "sha512-D8rcr5bRCFD0f42MPQ7K6TWZq5d3pfqrKINL1/bpfkK5BJbvq1BGYmR88UC6CLpTRtZ1LHY2HgYG0fp/2zjjww==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.410.0", + "@aws-sdk/credential-provider-process": "3.410.0", + "@aws-sdk/credential-provider-sso": "3.410.0", + "@aws-sdk/credential-provider-web-identity": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.410.0.tgz", + "integrity": "sha512-0wmVm33T/j1FS7MZ/j+WsPlgSc0YnCXnpbWSov1Mn6R86SHI2b2JhdIPRRE4XbGfyW2QGNUl2CwoZVaqhXeF5g==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.410.0", + "@aws-sdk/credential-provider-ini": "3.410.0", + "@aws-sdk/credential-provider-process": "3.410.0", + "@aws-sdk/credential-provider-sso": "3.410.0", + "@aws-sdk/credential-provider-web-identity": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.410.0.tgz", + "integrity": "sha512-BMju1hlDCDNkkSZpKF5SQ8G0WCLRj6/Jvw9QmudLHJuVwYJXEW1r2AsVMg98OZ3hB9G+MAvHruHZIbMiNmUMXQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.410.0.tgz", + "integrity": "sha512-zEaoY/sY+KYTlQUkp9dvveAHf175b8RIt0DsQkDrRPtrg/RBHR00r5rFvz9+nrwsR8546RaBU7h/zzTaQGhmcA==", + "dependencies": { + "@aws-sdk/client-sso": "3.410.0", + "@aws-sdk/token-providers": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.410.0.tgz", + "integrity": "sha512-cE0l8LmEHdWbDkdPNgrfdYSgp4/cIVXrjUKI1QCATA729CrHZ/OQjB/maOBOrMHO9YTiggko887NkslVvwVB7w==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.410.0.tgz", + "integrity": "sha512-pUGrpFgCKf9fDHu01JJhhw+MUImheS0HFlZwNG37OMubkxUAbCdmYGewGxfTCUvWyZJtx9bVjrSu6gG7w+RARg==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "@smithy/util-config-provider": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.410.0.tgz", + "integrity": "sha512-e5YqGCNmW99GZjEPPujJ02RlEZql19U40oORysBhVF7mKz8BBvF3s8l37tvu37oxebDEkh1u/2cm2+ggOXxLjQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.410.0.tgz", + "integrity": "sha512-IK7KlvEKtrQVBfmAp/MmGd0wbWLuN2GZwwfAmsU0qFb0f5vOVUbKDsu6tudtDKCBG9uXyTEsx3/QGvoK2zDy+g==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.410.0", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.410.0.tgz", + "integrity": "sha512-ED/OVcyITln5rrxnajZP+V0PN1nug+gSDHJDqdDo/oLy7eiDr/ZWn3nlWW7WcMplQ1/Jnb+hK0UetBp/25XooA==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.410.0.tgz", + "integrity": "sha512-jAftSpOpw/5AdpOJ/cGiXCb+Vv22KXR5QZmxmllUDsnlm18672tpRaI2plmu/1d98CVvqhY61eSklFMrIf2c4w==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.410.0.tgz", + "integrity": "sha512-YtmKYCVtBfScq3/UFJk+aSZOktKJBNZL9DaSc2aPcy/goCVsYDOkGwtHk0jIkC1JRSNCkVTqL7ya60sSr8zaQQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.410.0.tgz", + "integrity": "sha512-KWaes5FLzRqj28vaIEE4Bimpga2E596WdPF2HaH6zsVMJddoRDsc3ZX9ZhLOGrXzIO1RqBd0QxbLrM0S/B2aOQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.410.0.tgz", + "integrity": "sha512-K2sG2V1ZkezYMCIy3uMt0MwtflcfIwLptwm0iFLaYitiINZQ1tcslk9ggAjyTHg0rslDSI4/zjkhy8VHFOV7HA==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.410.0.tgz", + "integrity": "sha512-YfBpctDocRR4CcROoDueJA7D+aMLBV8nTFfmVNdLLLgyuLZ/AUR11VQSu1lf9gQZKl8IpKE/BLf2fRE/qV1ZuA==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.410.0.tgz", + "integrity": "sha512-KBAZ/eoAJUSJv5us2HsKwK2OszG2s9FEyKpEhgnHLcbbKzW873zHBH5GcOGEQu4AWArTy2ndzJu3FF+9/J9hJQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.3.0", + "@smithy/util-middleware": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.410.0.tgz", + "integrity": "sha512-DNsjVTXoxIh+PuW9o45CFaMiconbuZRm19MC3NA1yNCaCj3ZxD5OdXAutq6UjQdrx8UG4EjUlCJEEvBKmboITw==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.410.0.tgz", + "integrity": "sha512-ZayDtLfvCZUohSxQc/49BfoU/y6bDHLfLdyyUJbJ54Sv8zQcrmdyKvCBFUZwE6tHQgAmv9/ZT18xECMl+xiONA==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-endpoints": "3.410.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.410.0.tgz", + "integrity": "sha512-In2/XPdPA874XH0MdhLJ7tG74Yay/ATCMpMQcy+summlPhmO1G3BiKMoaDPRks+zJNhgiy6++PlcP93fwDSxcA==", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-format-url": "3.410.0", + "@smithy/middleware-endpoint": "^2.0.6", + "@smithy/protocol-http": "^3.0.2", + "@smithy/smithy-client": "^2.1.3", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-crt": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.410.0.tgz", + "integrity": "sha512-8lt0YG/LzdCNCXM+GNhsYjHdCkH83oM/Di1HOOgZy/u50u0KOb5REiEYBq2TXMzED4BPVgblDhiJviCGqwcWiQ==", + "dependencies": { + "@smithy/querystring-parser": "^2.0.0", + "@smithy/signature-v4": "^2.0.0", + "@smithy/util-middleware": "^2.0.0", + "aws-crt": "^1.15.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.410.0.tgz", + "integrity": "sha512-abgcl9/i9frxGUVAfHHWj49UMCFEmzkYwKmV/4kw9MYn6BZ3HKb5M00tBLn9/PcAKfANS7O+qJRiEQT66rmfhg==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/signature-v4-crt": "^3.118.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/signature-v4-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.410.0.tgz", + "integrity": "sha512-d5Nc0xydkH/X0LA1HDyhGY5sEv4LuADFk+QpDtT8ogLilcre+b1jpdY8Sih/gd1KoGS1H+d1tz2hSGwUHAbUbw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.410.0", + "@aws-sdk/middleware-logger": "3.410.0", + "@aws-sdk/middleware-recursion-detection": "3.410.0", + "@aws-sdk/middleware-user-agent": "3.410.0", + "@aws-sdk/types": "3.410.0", + "@aws-sdk/util-endpoints": "3.410.0", + "@aws-sdk/util-user-agent-browser": "3.410.0", + "@aws-sdk/util-user-agent-node": "3.410.0", + "@smithy/config-resolver": "^2.0.7", + "@smithy/fetch-http-handler": "^2.1.2", + "@smithy/hash-node": "^2.0.6", + "@smithy/invalid-dependency": "^2.0.6", + "@smithy/middleware-content-length": "^2.0.8", + "@smithy/middleware-endpoint": "^2.0.6", + "@smithy/middleware-retry": "^2.0.9", + "@smithy/middleware-serde": "^2.0.6", + "@smithy/middleware-stack": "^2.0.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/node-http-handler": "^2.1.2", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.2", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.1.3", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.7", + "@smithy/util-defaults-mode-node": "^2.0.9", + "@smithy/util-retry": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.410.0.tgz", + "integrity": "sha512-D7iaUCszv/v04NDaZUmCmekamy6VD/lKozm/3gS9+dkfU6cC2CsNoUfPV8BlV6dPdw0oWgF91am3I1stdvfVrQ==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz", + "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.410.0.tgz", + "integrity": "sha512-iNiqJyC7N3+8zFwnXUqcWSxrZecVZLToo1iTQQdeYL2af1IcOtRgb7n8jpAI/hmXhBSx2+3RI+Y7pxyFo1vu+w==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.410.0.tgz", + "integrity": "sha512-ftxPYq7RBxJMQrOCJARx8+sQccmG+6y7mm9JzfXOHOfS1aWnYQizTitJ7PMA8p90xrUAFQ2CmjT0jaEGWg5VGQ==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/querystring-builder": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.410.0.tgz", + "integrity": "sha512-i1G/XGpXGMRT2zEiAhi1xucJsfCWk8nNYjk/LbC0sA+7B9Huri96YAzVib12wkHPsJQvZxZC6CpQDIHWm4lXMA==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/types": "^2.3.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.410.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.410.0.tgz", + "integrity": "sha512-bK70t1jHRl8HrJXd4hEIwc5PBZ7U0w+81AKFnanIVKZwZedd6nLibUXDTK14z/Jp2GFcBqd4zkt2YLGkRt/U4A==", + "dependencies": { + "@aws-sdk/types": "3.410.0", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", + "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -1683,6 +2452,53 @@ "react-hook-form": "^7.0.0" } }, + "node_modules/@httptoolkit/websocket-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@httptoolkit/websocket-stream/-/websocket-stream-6.0.1.tgz", + "integrity": "sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==", + "dependencies": { + "@types/ws": "*", + "duplexify": "^3.5.1", + "inherits": "^2.0.1", + "isomorphic-ws": "^4.0.1", + "readable-stream": "^2.3.3", + "safe-buffer": "^5.1.2", + "ws": "*", + "xtend": "^4.0.0" + } + }, + "node_modules/@httptoolkit/websocket-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/@httptoolkit/websocket-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/@httptoolkit/websocket-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/@httptoolkit/websocket-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", @@ -4183,6 +4999,14 @@ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" }, + "node_modules/@scure/base": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.3.tgz", + "integrity": "sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@selderee/plugin-htmlparser2": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.10.0.tgz", @@ -4195,6 +5019,650 @@ "url": "https://ko-fi.com/killymxi" } }, + "node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "dependencies": { + "@sindresorhus/transliterate": "^1.0.0", + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", + "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.6.tgz", + "integrity": "sha512-4I7g0lyGUlW2onf8mD76IzU37oRWSHsQ5zlW5MjDzgg4I4J9bOK4500Gx6qOuoN7+GulAnGLe1YwyrIluzhakg==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz", + "integrity": "sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz", + "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==", + "dependencies": { + "@smithy/util-base64": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.7.tgz", + "integrity": "sha512-J4J1AWiqaApC+3I9U++SuxAQ3BOoM5VoYnpFzCZcb63aLF80Zpc/nq2pFR1OsEIYyg2UYNdcBKKfHABmwo4WgQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.0.9", + "@smithy/types": "^2.3.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.9.tgz", + "integrity": "sha512-K7WZRkHS5HZofRgK+O8W4YXXyaVexU1K6hp9vlUL/8CsnrFbZS9quyH/6hTROrYh2PuJr24yii1kc83NJdxMGQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.0.9", + "@smithy/property-provider": "^2.0.7", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.6.tgz", + "integrity": "sha512-J9xL82mlYRUMXFnB9VaThXkD7z2JLr52FIVZMoQQ1dxZG5ub+NOGmzaTTZC/cMmKXI/nwCoFuwDWCTjwQhYhQA==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.3.0", + "@smithy/util-hex-encoding": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.6.tgz", + "integrity": "sha512-cNJqAkmArHytV0CjBka3CKnU/J6zNlOZynvo2Txj98a0cxKeug8gL6SQTpoTyGk+M4LicjcrzQtDs06mU8U0Ag==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.6.tgz", + "integrity": "sha512-jODu0MWaP06kzBMUtSd4Ga3S2DnTp3tfjPgdjaw9K/Z4yI7J9rUB73aNGo6ZxxH/vl/k66b5NZJ/3O1AzZ4ggw==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.6.tgz", + "integrity": "sha512-ua7ok1g16p7OGAVZntn1l3wegN8RtsyPBl9ebqEDeSxdm+iuEfkAS1E/JFs6S6UBfr8Z0tbql5jTT9iVwIFGGA==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.6.tgz", + "integrity": "sha512-bH1TElelS8tlqll6cJAWKM11Es+pE9htRzjiiFG1+xcyKaM90UFNRX5oKZIrJugZlmP37pvfRwSJ/3ZaaqSBIA==", + "dependencies": { + "@smithy/eventstream-codec": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.2.tgz", + "integrity": "sha512-3Gm3pQm4viUPU+e7KkRScS9t5phBxSNRS8rQSZ+HeCwK/busrX0/2HJZiwLvGblqPqi1laJB0lD18AdiOioJww==", + "dependencies": { + "@smithy/protocol-http": "^3.0.2", + "@smithy/querystring-builder": "^2.0.6", + "@smithy/types": "^2.3.0", + "@smithy/util-base64": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.6.tgz", + "integrity": "sha512-zmJCRb80WDthCZqQ9LiKeFUEmyPM9WUcd0jYa7tlU3p0LsDnaFKuUS+MT0uJehPGyUEicbi1KBdUmtoqEAQr1A==", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.0.0", + "@smithy/chunked-blob-reader-native": "^2.0.0", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.6.tgz", + "integrity": "sha512-xz7fzFxSzxohKGGyKPbLReRrY01JOZgRDHIXSks3PxQxG9c8PJMa5nUw0stH8UOySUgkofmMy0n7vTUsF5Mdqg==", + "dependencies": { + "@smithy/types": "^2.3.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.6.tgz", + "integrity": "sha512-BWtWJ8Ppc8z+Rz9XBu4Hcl+pC+9BKV5GvbQpXZf4IsQX6oTwqo0qJK7Lwe5mYM0hRnqgwjn2mhQ303fIRN7AMw==", + "dependencies": { + "@smithy/types": "^2.3.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.6.tgz", + "integrity": "sha512-L5MUyl9mzawIvBxr0Hg3J/Q5qZFXKcBgMk0PacfK3Mthp4WAR6h7iMxdSQ23Q7X/kxOrpZuoYEdh1BWLKbDc8Q==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", + "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.6.tgz", + "integrity": "sha512-Ek2qSFFICJa2E0RRVsIkQ6c1jeJTESwF24SMh3liKFNbr2Ax4uJiWsLhDBDQFOhJwjp1mbC4lN85isfGS+KhQg==", + "dependencies": { + "@smithy/types": "^2.3.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.8.tgz", + "integrity": "sha512-fHJFsscHXrYhUSWMFJNXfsZW8KsyhWQfBgU3b0nvDfpm+NAeQLqKYNhywGrDwZQc1k+lt7Fw9faAquhNPxTZRA==", + "dependencies": { + "@smithy/protocol-http": "^3.0.2", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.6.tgz", + "integrity": "sha512-MuSPPtEHFal/M77tR3ffLsdOfX29IZpA990nGuoPj5zQnAYrA4PYBGoqqrASQKm8Xb3C0NwuYzOATT7WX4f5Pg==", + "dependencies": { + "@smithy/middleware-serde": "^2.0.6", + "@smithy/types": "^2.3.0", + "@smithy/url-parser": "^2.0.6", + "@smithy/util-middleware": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.9.tgz", + "integrity": "sha512-gneEqWj4l/ZjHdZPk0BFMXoTalRArdQ8i579/KqJgBAc6Ux5vnR/SSppkMCkj2kOQYwdypvzSPeqEW3ZrvIg6g==", + "dependencies": { + "@smithy/node-config-provider": "^2.0.9", + "@smithy/protocol-http": "^3.0.2", + "@smithy/service-error-classification": "^2.0.0", + "@smithy/types": "^2.3.0", + "@smithy/util-middleware": "^2.0.0", + "@smithy/util-retry": "^2.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.6.tgz", + "integrity": "sha512-8/GODBngYbrS28CMZtaHIL4R9rLNSQ/zgb+N1OAZ02NwBUawlnLDcatve9YRzhJC/IWz0/pt+WimJZaO1sGcig==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz", + "integrity": "sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.9.tgz", + "integrity": "sha512-TlSPbCwtT/jgNnmPQqKuCR5CFN8UIrCCHRrgUfs3NqRMuaLLeP8TPe1fSKq2J8h1M/jd4BF853gneles0gWevg==", + "dependencies": { + "@smithy/property-provider": "^2.0.7", + "@smithy/shared-ini-file-loader": "^2.0.8", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.2.tgz", + "integrity": "sha512-PdEEDCShuM8zxGoaRxmGB/1ikB8oeqz+ZAF9VIA8FCP3E59j8zDTF+wCELoWd1Y6gtxr+RcTAg5sA8nvn5qH/w==", + "dependencies": { + "@smithy/abort-controller": "^2.0.6", + "@smithy/protocol-http": "^3.0.2", + "@smithy/querystring-builder": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.7.tgz", + "integrity": "sha512-XT8Tl7YNxM8tCtGqy7v7DSf6PxyXaPE9cdA/Yj4dEw2b05V3RrPqsP+t5XJiZu0yIsQ7pdeYZWv2sSEWVjNeAg==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.2.tgz", + "integrity": "sha512-LUOWCPRihvJBkdSs+ivK9m1f/rMfF3n9Zpzg8qdry2eIG4HQqqLBMWQyF9bgk7JhsrrOa3//jJKhXzvL7wL5Xw==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.6.tgz", + "integrity": "sha512-HnU00shCGoV8vKJZTiNBkNvR9NogU3NIUaVMAGJPSqNGJj3psWo+TUrC0BVCDcwiCljXwXCFGJqIcsWtClrktQ==", + "dependencies": { + "@smithy/types": "^2.3.0", + "@smithy/util-uri-escape": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.6.tgz", + "integrity": "sha512-i4LKoXHP7pTFAPjLIJyQXYOhWokbcFha3WWsX74sAKmuluv0XM2cxONZoFxwEzmWhsNyM6buSwJSZXyPiec0AQ==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz", + "integrity": "sha512-2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.8.tgz", + "integrity": "sha512-4u+V+Dv7JGpJ0tppB5rxCem7WhdFux950z4cGPhV0kHTPkKe8DDgINzOlVa2RBu5dI33D02OBJcxFjhW4FPORg==", + "dependencies": { + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.6.tgz", + "integrity": "sha512-4zNTi8w4sky07YKq7oYucZt4ogY00IEaS1NFDXxmCN5V/ywE0WiK+WMim+8wtYQmB0qy3oExZR4LoCAml6j/rA==", + "dependencies": { + "@smithy/eventstream-codec": "^2.0.6", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/types": "^2.3.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-middleware": "^2.0.0", + "@smithy/util-uri-escape": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.3.tgz", + "integrity": "sha512-nSMMp2AKqcG/ruzCY01ogrMdbq/WS1cvGStTsw7yd6bTpp/bGtlOgXvy3h7e0zP7w2DH1AtvIwzYBD6ejZePsQ==", + "dependencies": { + "@smithy/middleware-stack": "^2.0.0", + "@smithy/types": "^2.3.0", + "@smithy/util-stream": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.0.tgz", + "integrity": "sha512-pJce3rd39MElkV57UTPAoSYAApjQLELUxjU5adHNLYk9gnPvyIGbJNJTZVVFu00BrgZH3W/cQe8QuFcknDyodQ==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.6.tgz", + "integrity": "sha512-9i6j5QW6bapHZ4rtkXOAm0hOUG1+5IVdVJXNSUTcNskwJchZH5IQuDNPCbgUi/u2P8EZazKt4wXT51QxOXCz1A==", + "dependencies": { + "@smithy/querystring-parser": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", + "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", + "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", + "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", + "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "dependencies": { + "@smithy/is-array-buffer": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", + "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.7.tgz", + "integrity": "sha512-s1caKxC7Y87Q72Goll//clZs2WNBfG9WtFDWVRS+Qgk147YPCOUYtkpuD0XZAh/vbayObFz5tQ1fiX4G19HSCA==", + "dependencies": { + "@smithy/property-provider": "^2.0.7", + "@smithy/types": "^2.3.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.9.tgz", + "integrity": "sha512-HlV4iNL3/PgPpmDGs0+XrAKtwFQ8rOs5P2y5Dye8dUYaJauadlzHRrNKk7wH2aBYswvT2HM+PIgXamvrE7xbcw==", + "dependencies": { + "@smithy/config-resolver": "^2.0.7", + "@smithy/credential-provider-imds": "^2.0.9", + "@smithy/node-config-provider": "^2.0.9", + "@smithy/property-provider": "^2.0.7", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", + "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz", + "integrity": "sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.0.tgz", + "integrity": "sha512-/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg==", + "dependencies": { + "@smithy/service-error-classification": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.9.tgz", + "integrity": "sha512-Fn2/3IMwqu0l2hOC7K3bbtSqFEJ6nOzMLoPVIhuH84yw/95itNkFBwVbIIiAfDaout0ZfZ26+5ch86E2q3avww==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.1.2", + "@smithy/node-http-handler": "^2.1.2", + "@smithy/types": "^2.3.0", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", + "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", + "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.6.tgz", + "integrity": "sha512-wjxvKB4XSfgpOg3lr4RulnVhd21fMMC4CPARBwrSN7+3U28fwOifv8f7T+Ibay9DAQTj9qXxmd8ag6WXBRgNhg==", + "dependencies": { + "@smithy/abort-controller": "^2.0.6", + "@smithy/types": "^2.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@swc/helpers": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", @@ -4607,6 +6075,14 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" }, + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", @@ -5204,6 +6680,52 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-crt": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.18.0.tgz", + "integrity": "sha512-H5Vrb/GMzq72+Of2zrW69i/BTQ4gQd3MQvdZ3X3okfppzHdEjSPkdJN6ia8V2/1J1FmFvEtoxaY4nwraHUGQvg==", + "hasInstallScript": true, + "dependencies": { + "@aws-sdk/util-utf8-browser": "^3.109.0", + "@httptoolkit/websocket-stream": "^6.0.0", + "axios": "^0.24.0", + "buffer": "^6.0.3", + "crypto-js": "^4.0.0", + "mqtt": "^4.3.7", + "process": "^0.11.10" + } + }, + "node_modules/aws-crt/node_modules/axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dependencies": { + "follow-redirects": "^1.14.4" + } + }, + "node_modules/aws-crt/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/axe-core": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", @@ -5306,6 +6828,11 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "node_modules/bplist-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", @@ -6166,6 +7693,15 @@ "node": ">= 6" } }, + "node_modules/commist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", + "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", + "dependencies": { + "leven": "^2.1.0", + "minimist": "^1.1.0" + } + }, "node_modules/compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", @@ -6181,6 +7717,20 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, "node_modules/condense-newlines": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", @@ -6391,6 +7941,11 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "node_modules/css-unit-converter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", @@ -6548,6 +8103,7 @@ "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "peer": true, "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -6967,6 +8523,49 @@ "node": ">=12" } }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -8193,6 +9792,27 @@ "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -9000,6 +10620,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/help-me": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", + "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", + "dependencies": { + "glob": "^7.1.6", + "readable-stream": "^3.6.0" + } + }, "node_modules/hexoid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", @@ -9728,6 +11357,14 @@ "whatwg-fetch": "^3.4.1" } }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "peerDependencies": { + "ws": "*" + } + }, "node_modules/javascript-natural-sort": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", @@ -9828,6 +11465,15 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/js-sdsl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -9976,6 +11622,14 @@ "url": "https://ko-fi.com/killymxi" } }, + "node_modules/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -11551,6 +13205,79 @@ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==" }, + "node_modules/mqtt": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.3.7.tgz", + "integrity": "sha512-ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==", + "dependencies": { + "commist": "^1.0.0", + "concat-stream": "^2.0.0", + "debug": "^4.1.1", + "duplexify": "^4.1.1", + "help-me": "^3.0.0", + "inherits": "^2.0.3", + "lru-cache": "^6.0.0", + "minimist": "^1.2.5", + "mqtt-packet": "^6.8.0", + "number-allocator": "^1.0.9", + "pump": "^3.0.0", + "readable-stream": "^3.6.0", + "reinterval": "^1.1.0", + "rfdc": "^1.3.0", + "split2": "^3.1.0", + "ws": "^7.5.5", + "xtend": "^4.0.2" + }, + "bin": { + "mqtt": "bin/mqtt.js", + "mqtt_pub": "bin/pub.js", + "mqtt_sub": "bin/sub.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mqtt-packet": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", + "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", + "dependencies": { + "bl": "^4.0.2", + "debug": "^4.1.1", + "process-nextick-args": "^2.0.1" + } + }, + "node_modules/mqtt/node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/mqtt/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -11960,6 +13687,15 @@ "set-blocking": "^2.0.0" } }, + "node_modules/number-allocator": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz", + "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==", + "dependencies": { + "debug": "^4.3.1", + "js-sdsl": "4.3.0" + } + }, "node_modules/oauth": { "version": "0.9.15", "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", @@ -12925,6 +14661,19 @@ "node": ">=16.13" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -13637,6 +15386,11 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==" + }, "node_modules/remark-frontmatter": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", @@ -13870,8 +15624,7 @@ "node_modules/rfdc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" }, "node_modules/rimraf": { "version": "3.0.2", @@ -14388,7 +16141,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, "dependencies": { "readable-stream": "^3.0.0" } @@ -14424,6 +16176,11 @@ "node": ">= 0.6" } }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -14622,6 +16379,11 @@ "node": ">=12.*" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/style-to-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.3.tgz", @@ -15724,6 +17486,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "node_modules/typescript": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", @@ -16227,6 +17994,26 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "node_modules/ws": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz", + "integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -16332,13 +18119,12 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@documenso/tailwind-config": "*", - "@documenso/tsconfig": "*", - "@documenso/ui": "*", "@react-email/components": "^0.0.7", "nodemailer": "^6.9.3" }, "devDependencies": { + "@documenso/tailwind-config": "*", + "@documenso/tsconfig": "*", "@types/nodemailer": "^6.4.8", "tsup": "^7.1.0" } @@ -16365,10 +18151,15 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@aws-sdk/client-s3": "^3.410.0", + "@aws-sdk/s3-request-presigner": "^3.410.0", + "@aws-sdk/signature-v4-crt": "^3.410.0", "@documenso/email": "*", "@documenso/prisma": "*", "@next-auth/prisma-adapter": "1.0.7", "@pdf-lib/fontkit": "^1.1.1", + "@scure/base": "^1.1.3", + "@sindresorhus/slugify": "^2.2.1", "@upstash/redis": "^1.20.6", "bcrypt": "^5.1.0", "luxon": "^3.4.0", @@ -16451,6 +18242,7 @@ "version": "0.0.0", "license": "MIT", "dependencies": { + "@documenso/lib": "*", "@radix-ui/react-accordion": "^1.1.1", "@radix-ui/react-alert-dialog": "^1.0.3", "@radix-ui/react-aspect-ratio": "^1.0.2", @@ -16480,7 +18272,6 @@ "class-variance-authority": "^0.6.0", "clsx": "^1.2.1", "cmdk": "^0.2.0", - "date-fns": "^2.30.0", "framer-motion": "^10.12.8", "lucide-react": "^0.214.0", "next": "13.4.12", @@ -16491,6 +18282,7 @@ "tailwindcss-animate": "^1.0.5" }, "devDependencies": { + "@documenso/tailwind-config": "*", "@documenso/tsconfig": "*", "@types/react": "18.2.18", "@types/react-dom": "18.2.7", diff --git a/packages/email/package.json b/packages/email/package.json index 39e2ca67a..c1751dce6 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -16,13 +16,12 @@ "worker:test": "tsup worker/index.ts --format esm" }, "dependencies": { - "@documenso/tsconfig": "*", - "@documenso/tailwind-config": "*", - "@documenso/ui": "*", "@react-email/components": "^0.0.7", "nodemailer": "^6.9.3" }, "devDependencies": { + "@documenso/tsconfig": "*", + "@documenso/tailwind-config": "*", "@types/nodemailer": "^6.4.8", "tsup": "^7.1.0" } diff --git a/packages/email/tailwind.config.js b/packages/email/tailwind.config.js index 81816bdfb..2e138b912 100644 --- a/packages/email/tailwind.config.js +++ b/packages/email/tailwind.config.js @@ -4,8 +4,5 @@ const path = require('path'); module.exports = { ...baseConfig, - content: [ - `templates/**/*.{ts,tsx}`, - `${path.join(require.resolve('@documenso/ui'), '..')}/**/*.{ts,tsx}`, - ], + content: [`templates/**/*.{ts,tsx}`], }; diff --git a/packages/lib/constants/time.ts b/packages/lib/constants/time.ts new file mode 100644 index 000000000..e2581e14c --- /dev/null +++ b/packages/lib/constants/time.ts @@ -0,0 +1,5 @@ +export const ONE_SECOND = 1000; +export const ONE_MINUTE = ONE_SECOND * 60; +export const ONE_HOUR = ONE_MINUTE * 60; +export const ONE_DAY = ONE_HOUR * 24; +export const ONE_WEEK = ONE_DAY * 7; diff --git a/packages/lib/package.json b/packages/lib/package.json index e36297834..757ab7932 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -12,12 +12,15 @@ ], "scripts": {}, "dependencies": { - "@aws-sdk/s3-request-presigner": "^3.405.0", - "@aws-sdk/client-s3": "^3.405.0", + "@aws-sdk/client-s3": "^3.410.0", + "@aws-sdk/s3-request-presigner": "^3.410.0", + "@aws-sdk/signature-v4-crt": "^3.410.0", "@documenso/email": "*", "@documenso/prisma": "*", "@next-auth/prisma-adapter": "1.0.7", "@pdf-lib/fontkit": "^1.1.1", + "@scure/base": "^1.1.3", + "@sindresorhus/slugify": "^2.2.1", "@upstash/redis": "^1.20.6", "bcrypt": "^5.1.0", "luxon": "^3.4.0", diff --git a/packages/lib/server-only/document-data/create-document-data.ts b/packages/lib/server-only/document-data/create-document-data.ts new file mode 100644 index 000000000..e41f00fe7 --- /dev/null +++ b/packages/lib/server-only/document-data/create-document-data.ts @@ -0,0 +1,19 @@ +'use server'; + +import { prisma } from '@documenso/prisma'; +import { DocumentDataType } from '@documenso/prisma/client'; + +export type CreateDocumentDataOptions = { + type: DocumentDataType; + data: string; +}; + +export const createDocumentData = async ({ type, data }: CreateDocumentDataOptions) => { + return await prisma.documentData.create({ + data: { + type, + data, + initialData: data, + }, + }); +}; diff --git a/packages/lib/server-only/document/create-document.ts b/packages/lib/server-only/document/create-document.ts index 24a5d6283..b84f8e46e 100644 --- a/packages/lib/server-only/document/create-document.ts +++ b/packages/lib/server-only/document/create-document.ts @@ -1,10 +1,19 @@ 'use server'; +import { prisma } from '@documenso/prisma'; + export type CreateDocumentOptions = { + title: string; userId: number; - fileName: string; + documentDataId: string; }; -export const createDocument = () => { - // +export const createDocument = async ({ userId, title, documentDataId }: CreateDocumentOptions) => { + return await prisma.document.create({ + data: { + title, + documentDataId, + userId, + }, + }); }; diff --git a/packages/lib/server-only/document/seal-document.ts b/packages/lib/server-only/document/seal-document.ts index 876da9d0a..883d13e6f 100644 --- a/packages/lib/server-only/document/seal-document.ts +++ b/packages/lib/server-only/document/seal-document.ts @@ -1,10 +1,13 @@ 'use server'; +import path from 'node:path'; import { PDFDocument } from 'pdf-lib'; import { prisma } from '@documenso/prisma'; import { DocumentStatus, SigningStatus } from '@documenso/prisma/client'; +import { getFile } from '../../universal/upload/get-file'; +import { putFile } from '../../universal/upload/put-file'; import { insertFieldInPDF } from '../pdf/insert-field-in-pdf'; export type SealDocumentOptions = { @@ -23,7 +26,9 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { }, }); - if (!document.documentData) { + const { documentData } = document; + + if (!documentData) { throw new Error(`Document ${document.id} has no document data`); } @@ -55,7 +60,7 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { } // !: Need to write the fields onto the document as a hard copy - const { data: pdfData } = document.documentData; + const pdfData = await getFile(documentData); const doc = await PDFDocument.load(pdfData); @@ -65,17 +70,20 @@ export const sealDocument = async ({ documentId }: SealDocumentOptions) => { const pdfBytes = await doc.save(); - await prisma.document.update({ + const { name, ext } = path.parse(document.title); + + const { data: newData } = await putFile({ + name: `${name}_signed${ext}`, + type: 'application/pdf', + arrayBuffer: async () => Promise.resolve(Buffer.from(pdfBytes)), + }); + + await prisma.documentData.update({ where: { - id: document.id, - status: DocumentStatus.COMPLETED, + id: documentData.id, }, data: { - documentData: { - update: { - data: Buffer.from(pdfBytes).toString('base64'), - }, - }, + data: newData, }, }); }; diff --git a/packages/lib/server-only/recipient/set-recipients-for-document.ts b/packages/lib/server-only/recipient/set-recipients-for-document.ts index 15db42084..c34885143 100644 --- a/packages/lib/server-only/recipient/set-recipients-for-document.ts +++ b/packages/lib/server-only/recipient/set-recipients-for-document.ts @@ -1,8 +1,8 @@ -import { nanoid } from 'nanoid'; - import { prisma } from '@documenso/prisma'; import { SendStatus, SigningStatus } from '@documenso/prisma/client'; +import { nanoid } from '../../universal/id'; + export interface SetRecipientsForDocumentOptions { userId: number; documentId: number; diff --git a/packages/lib/tsconfig.json b/packages/lib/tsconfig.json index 0f63d1612..fdefbd544 100644 --- a/packages/lib/tsconfig.json +++ b/packages/lib/tsconfig.json @@ -1,5 +1,8 @@ { "extends": "@documenso/tsconfig/react-library.json", + "compilerOptions": { + "types": ["@documenso/tsconfig/process-env.d.ts"] + }, "include": ["**/*.ts", "**/*.tsx", "**/*.d.ts"], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/lib/universal/id.ts b/packages/lib/universal/id.ts new file mode 100644 index 000000000..13738233e --- /dev/null +++ b/packages/lib/universal/id.ts @@ -0,0 +1,5 @@ +import { customAlphabet } from 'nanoid'; + +export const alphaid = customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 10); + +export { nanoid } from 'nanoid'; diff --git a/packages/lib/universal/upload/delete-file.ts b/packages/lib/universal/upload/delete-file.ts new file mode 100644 index 000000000..69f93d7a0 --- /dev/null +++ b/packages/lib/universal/upload/delete-file.ts @@ -0,0 +1,22 @@ +import { match } from 'ts-pattern'; + +import { DocumentDataType } from '@documenso/prisma/client'; + +import { deleteS3File } from './server-actions'; + +export type DeleteFileOptions = { + type: DocumentDataType; + data: string; +}; + +export const deleteFile = async ({ type, data }: DeleteFileOptions) => { + return await match(type) + .with(DocumentDataType.S3_PATH, async () => deleteFileFromS3(data)) + .otherwise(() => { + return; + }); +}; + +const deleteFileFromS3 = async (key: string) => { + await deleteS3File(key); +}; diff --git a/packages/lib/universal/upload/get-file.ts b/packages/lib/universal/upload/get-file.ts new file mode 100644 index 000000000..2c71c3774 --- /dev/null +++ b/packages/lib/universal/upload/get-file.ts @@ -0,0 +1,45 @@ +import { base64 } from '@scure/base'; +import { match } from 'ts-pattern'; + +import { DocumentDataType } from '@documenso/prisma/client'; + +import { getPresignGetUrl } from './server-actions'; + +export type GetFileOptions = { + type: DocumentDataType; + data: string; +}; + +export const getFile = async ({ type, data }: GetFileOptions) => { + return await match(type) + .with(DocumentDataType.BYTES, () => getFileFromBytes(data)) + .with(DocumentDataType.BYTES_64, () => getFileFromBytes64(data)) + .with(DocumentDataType.S3_PATH, async () => getFileFromS3(data)) + .exhaustive(); +}; + +const getFileFromBytes = (data: string) => { + const encoder = new TextEncoder(); + + const binaryData = encoder.encode(data); + + return binaryData; +}; + +const getFileFromBytes64 = (data: string) => { + const binaryData = base64.decode(data); + + return binaryData; +}; + +const getFileFromS3 = async (key: string) => { + const { url } = await getPresignGetUrl(key); + + const buffer = await fetch(url, { + method: 'GET', + }).then(async (res) => res.arrayBuffer()); + + const binaryData = new Uint8Array(buffer); + + return binaryData; +}; diff --git a/packages/lib/universal/upload/put-file.ts b/packages/lib/universal/upload/put-file.ts new file mode 100644 index 000000000..ccfa96e7b --- /dev/null +++ b/packages/lib/universal/upload/put-file.ts @@ -0,0 +1,53 @@ +import { base64 } from '@scure/base'; +import { match } from 'ts-pattern'; + +import { DocumentDataType } from '@documenso/prisma/client'; + +import { createDocumentData } from '../../server-only/document-data/create-document-data'; +import { getPresignPostUrl } from './server-actions'; + +type File = { + name: string; + type: string; + arrayBuffer: () => Promise; +}; + +export const putFile = async (file: File) => { + const { type, data } = await match(process.env.NEXT_PUBLIC_UPLOAD_TRANSPORT) + .with('s3', async () => putFileInS3(file)) + .otherwise(async () => putFileInDatabase(file)); + + return await createDocumentData({ type, data }); +}; + +const putFileInDatabase = async (file: File) => { + const contents = await file.arrayBuffer(); + + const binaryData = new Uint8Array(contents); + + const asciiData = base64.encode(binaryData); + + return { + type: DocumentDataType.BYTES_64, + data: asciiData, + }; +}; + +const putFileInS3 = async (file: File) => { + const { url, key } = await getPresignPostUrl(file.name, file.type); + + const body = await file.arrayBuffer(); + + await fetch(url, { + method: 'PUT', + headers: { + 'Content-Type': 'application/octet-stream', + }, + body, + }); + + return { + type: DocumentDataType.S3_PATH, + data: key, + }; +}; diff --git a/packages/lib/universal/upload/server-actions.ts b/packages/lib/universal/upload/server-actions.ts new file mode 100644 index 000000000..629d62a2a --- /dev/null +++ b/packages/lib/universal/upload/server-actions.ts @@ -0,0 +1,104 @@ +'use server'; + +import { + DeleteObjectCommand, + GetObjectCommand, + PutObjectCommand, + S3Client, +} from '@aws-sdk/client-s3'; +import { getSignedUrl } from '@aws-sdk/s3-request-presigner'; +import slugify from '@sindresorhus/slugify'; +import path from 'node:path'; + +import { ONE_HOUR, ONE_SECOND } from '../../constants/time'; +import { getServerComponentSession } from '../../next-auth/get-server-session'; +import { alphaid } from '../id'; + +export const getPresignPostUrl = async (fileName: string, contentType: string) => { + const client = getS3Client(); + + const user = await getServerComponentSession(); + + // Get the basename and extension for the file + const { name, ext } = path.parse(fileName); + + let key = `${alphaid(12)}/${slugify(name)}${ext}`; + + if (user) { + key = `${user.id}/${key}`; + } + + const putObjectCommand = new PutObjectCommand({ + Bucket: process.env.NEXT_PRIVATE_UPLOAD_BUCKET, + Key: key, + ContentType: contentType, + }); + + const url = await getSignedUrl(client, putObjectCommand, { + expiresIn: ONE_HOUR / ONE_SECOND, + }); + + return { key, url }; +}; + +export const getAbsolutePresignPostUrl = async (key: string) => { + const client = getS3Client(); + + const putObjectCommand = new PutObjectCommand({ + Bucket: process.env.NEXT_PRIVATE_UPLOAD_BUCKET, + Key: key, + }); + + const url = await getSignedUrl(client, putObjectCommand, { + expiresIn: ONE_HOUR / ONE_SECOND, + }); + + return { key, url }; +}; + +export const getPresignGetUrl = async (key: string) => { + const client = getS3Client(); + + const getObjectCommand = new GetObjectCommand({ + Bucket: process.env.NEXT_PRIVATE_UPLOAD_BUCKET, + Key: key, + }); + + const url = await getSignedUrl(client, getObjectCommand, { + expiresIn: ONE_HOUR / ONE_SECOND, + }); + + return { key, url }; +}; + +export const deleteS3File = async (key: string) => { + const client = getS3Client(); + + await client.send( + new DeleteObjectCommand({ + Bucket: process.env.NEXT_PRIVATE_UPLOAD_BUCKET, + Key: key, + }), + ); +}; + +const getS3Client = () => { + if (process.env.NEXT_PUBLIC_UPLOAD_TRANSPORT !== 's3') { + throw new Error('Invalid upload transport'); + } + + const hasCredentials = + process.env.NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID && + process.env.NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY; + + return new S3Client({ + endpoint: process.env.NEXT_PRIVATE_UPLOAD_ENDPOINT || undefined, + region: process.env.NEXT_PRIVATE_UPLOAD_REGION || 'us-east-1', + credentials: hasCredentials + ? { + accessKeyId: String(process.env.NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID), + secretAccessKey: String(process.env.NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY), + } + : undefined, + }); +}; diff --git a/packages/lib/universal/upload/update-file.ts b/packages/lib/universal/upload/update-file.ts new file mode 100644 index 000000000..a7a227bab --- /dev/null +++ b/packages/lib/universal/upload/update-file.ts @@ -0,0 +1,54 @@ +import { base64 } from '@scure/base'; +import { match } from 'ts-pattern'; + +import { DocumentDataType } from '@documenso/prisma/client'; + +import { getAbsolutePresignPostUrl } from './server-actions'; + +export type UpdateFileOptions = { + type: DocumentDataType; + oldData: string; + newData: string; +}; + +export const updateFile = async ({ type, oldData, newData }: UpdateFileOptions) => { + return await match(type) + .with(DocumentDataType.BYTES, () => updateFileWithBytes(newData)) + .with(DocumentDataType.BYTES_64, () => updateFileWithBytes64(newData)) + .with(DocumentDataType.S3_PATH, async () => updateFileWithS3(oldData, newData)) + .exhaustive(); +}; + +const updateFileWithBytes = (data: string) => { + return { + type: DocumentDataType.BYTES, + data, + }; +}; + +const updateFileWithBytes64 = (data: string) => { + const encoder = new TextEncoder(); + + const binaryData = encoder.encode(data); + + const asciiData = base64.encode(binaryData); + + return { + type: DocumentDataType.BYTES_64, + data: asciiData, + }; +}; + +const updateFileWithS3 = async (key: string, data: string) => { + const { url } = await getAbsolutePresignPostUrl(key); + + await fetch(url, { + method: 'PUT', + body: data, + }); + + return { + type: DocumentDataType.S3_PATH, + data: key, + }; +}; diff --git a/packages/prisma/migrations/20230912011344_reverse_document_data_relation/migration.sql b/packages/prisma/migrations/20230912011344_reverse_document_data_relation/migration.sql new file mode 100644 index 000000000..7a02d4cfe --- /dev/null +++ b/packages/prisma/migrations/20230912011344_reverse_document_data_relation/migration.sql @@ -0,0 +1,23 @@ +-- DropForeignKey +ALTER TABLE "DocumentData" DROP CONSTRAINT "DocumentData_documentId_fkey"; + +-- DropIndex +DROP INDEX "DocumentData_documentId_key"; + +-- AlterTable +ALTER TABLE "Document" ADD COLUMN "documentDataId" TEXT; + +-- Reverse relation foreign key ids +UPDATE "Document" SET "documentDataId" = "DocumentData"."id" FROM "DocumentData" WHERE "Document"."id" = "DocumentData"."documentId"; + +-- AlterColumn +ALTER TABLE "Document" ALTER COLUMN "documentDataId" SET NOT NULL; + +-- AlterTable +ALTER TABLE "DocumentData" DROP COLUMN "documentId"; + +-- CreateIndex +CREATE UNIQUE INDEX "Document_documentDataId_key" ON "Document"("documentDataId"); + +-- AddForeignKey +ALTER TABLE "Document" ADD CONSTRAINT "Document_documentDataId_fkey" FOREIGN KEY ("documentDataId") REFERENCES "DocumentData"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 5171813c3..41f1b32fb 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -85,17 +85,20 @@ enum DocumentStatus { } model Document { - id Int @id @default(autoincrement()) - created DateTime @default(now()) - userId Int - User User @relation(fields: [userId], references: [id], onDelete: Cascade) - title String - status DocumentStatus @default(DRAFT) - Recipient Recipient[] - Field Field[] - documentData DocumentData? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt @default(now()) + id Int @id @default(autoincrement()) + created DateTime @default(now()) + userId Int + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + title String + status DocumentStatus @default(DRAFT) + Recipient Recipient[] + Field Field[] + documentDataId String + documentData DocumentData @relation(fields: [documentDataId], references: [id], onDelete: Cascade) + createdAt DateTime @default(now()) + updatedAt DateTime @default(now()) @updatedAt + + @@unique([documentDataId]) } enum DocumentDataType { @@ -109,11 +112,7 @@ model DocumentData { type DocumentDataType data String initialData String - documentId Int - - Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade) - - @@unique([documentId]) + Document Document? } enum ReadStatus { diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index 5628bb41d..e436bb391 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -1,5 +1,6 @@ import { TRPCError } from '@trpc/server'; +import { createDocument } from '@documenso/lib/server-only/document/create-document'; import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { sendDocument } from '@documenso/lib/server-only/document/send-document'; @@ -8,6 +9,7 @@ import { setRecipientsForDocument } from '@documenso/lib/server-only/recipient/s import { authenticatedProcedure, procedure, router } from '../trpc'; import { + ZCreateDocumentMutationSchema, ZGetDocumentByIdQuerySchema, ZGetDocumentByTokenQuerySchema, ZSendDocumentMutationSchema, @@ -22,11 +24,6 @@ export const documentRouter = router({ try { const { id } = input; - console.log({ - id, - userId: ctx.user.id, - }); - return await getDocumentById({ id, userId: ctx.user.id, @@ -58,6 +55,27 @@ export const documentRouter = router({ } }), + createDocument: authenticatedProcedure + .input(ZCreateDocumentMutationSchema) + .mutation(async ({ input, ctx }) => { + try { + const { title, documentDataId } = input; + + return await createDocument({ + userId: ctx.user.id, + title, + documentDataId, + }); + } catch (err) { + console.error(err); + + throw new TRPCError({ + code: 'BAD_REQUEST', + message: 'We were unable to create this document. Please try again later.', + }); + } + }), + setRecipientsForDocument: authenticatedProcedure .input(ZSetRecipientsForDocumentMutationSchema) .mutation(async ({ input, ctx }) => { diff --git a/packages/trpc/server/document-router/schema.ts b/packages/trpc/server/document-router/schema.ts index 9060ef1db..c95417306 100644 --- a/packages/trpc/server/document-router/schema.ts +++ b/packages/trpc/server/document-router/schema.ts @@ -14,6 +14,13 @@ export const ZGetDocumentByTokenQuerySchema = z.object({ export type TGetDocumentByTokenQuerySchema = z.infer; +export const ZCreateDocumentMutationSchema = z.object({ + title: z.string().min(1), + documentDataId: z.string().min(1), +}); + +export type TCreateDocumentMutationSchema = z.infer; + export const ZSetRecipientsForDocumentMutationSchema = z.object({ documentId: z.number(), recipients: z.array( diff --git a/packages/tsconfig/process-env.d.ts b/packages/tsconfig/process-env.d.ts index b65a2bb20..b0852b4f4 100644 --- a/packages/tsconfig/process-env.d.ts +++ b/packages/tsconfig/process-env.d.ts @@ -13,7 +13,7 @@ declare namespace NodeJS { NEXT_PRIVATE_STRIPE_API_KEY: string; NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET: string; - NEXT_PRIVATE_UPLOAD_TRANSPORT?: 'database' | 's3'; + NEXT_PUBLIC_UPLOAD_TRANSPORT?: 'database' | 's3'; NEXT_PRIVATE_UPLOAD_ENDPOINT?: string; NEXT_PRIVATE_UPLOAD_REGION?: string; NEXT_PRIVATE_UPLOAD_BUCKET?: string; diff --git a/packages/ui/package.json b/packages/ui/package.json index 039687491..5a60f6c07 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -15,6 +15,7 @@ "lint": "eslint \"**/*.ts*\"" }, "devDependencies": { + "@documenso/tailwind-config": "*", "@documenso/tsconfig": "*", "@types/react": "18.2.18", "@types/react-dom": "18.2.7", @@ -22,6 +23,7 @@ "typescript": "^5.1.6" }, "dependencies": { + "@documenso/lib": "*", "@radix-ui/react-accordion": "^1.1.1", "@radix-ui/react-alert-dialog": "^1.0.3", "@radix-ui/react-aspect-ratio": "^1.0.2", @@ -51,7 +53,6 @@ "class-variance-authority": "^0.6.0", "clsx": "^1.2.1", "cmdk": "^0.2.0", - "date-fns": "^2.30.0", "framer-motion": "^10.12.8", "lucide-react": "^0.214.0", "next": "13.4.12", @@ -61,4 +62,4 @@ "tailwind-merge": "^1.12.0", "tailwindcss-animate": "^1.0.5" } -} \ No newline at end of file +} diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 5de43c411..ac938b41a 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -5,12 +5,12 @@ import { useCallback, useEffect, useRef, useState } from 'react'; import { Caveat } from 'next/font/google'; import { Check, ChevronsUpDown, Info } from 'lucide-react'; -import { nanoid } from 'nanoid'; import { useFieldArray, useForm } from 'react-hook-form'; import { getBoundingClientRect } from '@documenso/lib/client-only/get-bounding-client-rect'; import { useDocumentElement } from '@documenso/lib/client-only/hooks/use-document-element'; import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; +import { nanoid } from '@documenso/lib/universal/id'; import { Field, FieldType, Recipient, SendStatus } from '@documenso/prisma/client'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; diff --git a/packages/ui/primitives/document-flow/add-signers.tsx b/packages/ui/primitives/document-flow/add-signers.tsx index fe52627fd..412fbfc19 100644 --- a/packages/ui/primitives/document-flow/add-signers.tsx +++ b/packages/ui/primitives/document-flow/add-signers.tsx @@ -5,9 +5,9 @@ import React, { useId } from 'react'; import { zodResolver } from '@hookform/resolvers/zod'; import { AnimatePresence, motion } from 'framer-motion'; import { Plus, Trash } from 'lucide-react'; -import { nanoid } from 'nanoid'; import { Controller, useFieldArray, useForm } from 'react-hook-form'; +import { nanoid } from '@documenso/lib/universal/id'; import { Field, Recipient, SendStatus } from '@documenso/prisma/client'; import { Button } from '@documenso/ui/primitives/button'; import { FormErrorMessage } from '@documenso/ui/primitives/form/form-error-message'; diff --git a/turbo.json b/turbo.json index f7d3d342c..10a39ddf1 100644 --- a/turbo.json +++ b/turbo.json @@ -33,6 +33,12 @@ "NEXT_PRIVATE_NEXT_AUTH_SECRET", "NEXT_PRIVATE_GOOGLE_CLIENT_ID", "NEXT_PRIVATE_GOOGLE_CLIENT_SECRET", + "NEXT_PUBLIC_UPLOAD_TRANSPORT", + "NEXT_PRIVATE_UPLOAD_ENDPOINT", + "NEXT_PRIVATE_UPLOAD_REGION", + "NEXT_PRIVATE_UPLOAD_BUCKET", + "NEXT_PRIVATE_UPLOAD_ACCESS_KEY_ID", + "NEXT_PRIVATE_UPLOAD_SECRET_ACCESS_KEY", "NEXT_PRIVATE_SMTP_TRANSPORT", "NEXT_PRIVATE_MAILCHANNELS_API_KEY", "NEXT_PRIVATE_MAILCHANNELS_ENDPOINT", From f8534b2c3d04b19bdff698b8a2d8b1fcda5bf4bf Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 12:51:59 +1000 Subject: [PATCH 71/83] fix: add dashboard header border on scroll --- .../app/(dashboard)/settings/billing/page.tsx | 14 ++++++++------ .../components/(dashboard)/layout/header.tsx | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/apps/web/src/app/(dashboard)/settings/billing/page.tsx b/apps/web/src/app/(dashboard)/settings/billing/page.tsx index e9966b9ac..555c645ce 100644 --- a/apps/web/src/app/(dashboard)/settings/billing/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/billing/page.tsx @@ -21,16 +21,18 @@ export default async function BillingSettingsPage() { redirect('/settings/profile'); } - let subscription = await getSubscriptionByUserId({ userId: user.id }); + const subscription = await getSubscriptionByUserId({ userId: user.id }).then(async (sub) => { + if (sub) { + return sub; + } - // If we don't have a customer record, create one as well as an empty subscription. - if (!subscription?.customerId) { - subscription = await createCustomer({ user }); - } + // If we don't have a customer record, create one as well as an empty subscription. + return createCustomer({ user }); + }); let billingPortalUrl = ''; - if (subscription?.customerId) { + if (subscription.customerId) { billingPortalUrl = await getPortalSession({ customerId: subscription.customerId, returnUrl: `${process.env.NEXT_PUBLIC_SITE_URL}/settings/billing`, diff --git a/apps/web/src/components/(dashboard)/layout/header.tsx b/apps/web/src/components/(dashboard)/layout/header.tsx index 88dc5d7a4..bea7f4aee 100644 --- a/apps/web/src/components/(dashboard)/layout/header.tsx +++ b/apps/web/src/components/(dashboard)/layout/header.tsx @@ -1,6 +1,6 @@ 'use client'; -import { HTMLAttributes } from 'react'; +import { HTMLAttributes, useEffect, useState } from 'react'; import Link from 'next/link'; @@ -17,10 +17,23 @@ export type HeaderProps = HTMLAttributes & { }; export const Header = ({ className, user, ...props }: HeaderProps) => { + const [scrollY, setScrollY] = useState(0); + + useEffect(() => { + const onScroll = () => { + setScrollY(window.scrollY); + }; + + window.addEventListener('scroll', onScroll); + + return () => window.removeEventListener('scroll', onScroll); + }, []); + return (
5 && 'border-b-border', className, )} {...props} From 6c12ed4afc34ccb61756a75756c9f3315617626a Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 13:07:55 +1000 Subject: [PATCH 72/83] fix: update migration for timestamp columns --- .../migration.sql | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql index 333386230..371181e80 100644 --- a/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql +++ b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql @@ -1,3 +1,13 @@ -- AlterTable -ALTER TABLE "Document" ADD COLUMN "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, -ADD COLUMN "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP; +ALTER TABLE "Document" ADD COLUMN "createdAt" TIMESTAMP(3); +ALTER TABLE "Document" ADD COLUMN "updatedAt" TIMESTAMP(3); + +-- DefaultValues +UPDATE "Document" +SET + "createdAt" = COALESCE("created"::TIMESTAMP, NOW()), + "updatedAt" = COALESCE("created"::TIMESTAMP, NOW()); + +-- AlterColumn +ALTER TABLE "Document" ALTER COLUMN "createdAt" SET NOT NULL DEFAULT NOW(); +ALTER TABLE "Document" ALTER COLUMN "updatedAt" SET NOT NULL DEFAULT NOW(); From 2356f58e7b5c471432eb6e4d221d0f0f0de67b9a Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 13:21:03 +1000 Subject: [PATCH 73/83] fix: implement feedback --- .../app/(dashboard)/documents/[id]/page.tsx | 2 -- .../documents/data-table-action-dropdown.tsx | 28 ++----------------- .../sign/[token]/complete/download-button.tsx | 9 ++++++ packages/lib/universal/upload/get-file.ts | 10 +++++-- packages/lib/universal/upload/put-file.ts | 8 +++++- packages/lib/universal/upload/update-file.ts | 6 +++- .../migration.sql | 10 +++++-- .../migration.sql | 8 ++++++ packages/prisma/schema.prisma | 1 - 9 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 packages/prisma/migrations/20230914031347_remove_redundant_created_column/migration.sql diff --git a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx index 915547607..3d6dbb954 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx @@ -47,8 +47,6 @@ export default async function DocumentPage({ params }: DocumentPageProps) { .then((buffer) => Buffer.from(buffer).toString('base64')) .then((data) => `data:application/pdf;base64,${data}`); - console.log({ documentDataUrl: documentDataUrl.slice(0, 40) }); - const [recipients, fields] = await Promise.all([ await getRecipientsForDocument({ documentId, diff --git a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx index 02e3ad95c..dd028e0b2 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx @@ -14,15 +14,9 @@ import { XCircle, } from 'lucide-react'; import { useSession } from 'next-auth/react'; -import { match } from 'ts-pattern'; -import { - Document, - DocumentDataType, - DocumentStatus, - Recipient, - User, -} from '@documenso/prisma/client'; +import { getFile } from '@documenso/lib/universal/upload/get-file'; +import { Document, DocumentStatus, Recipient, User } from '@documenso/prisma/client'; import { DocumentWithData } from '@documenso/prisma/types/document-with-data'; import { trpc } from '@documenso/trpc/client'; import { @@ -75,23 +69,7 @@ export const DataTableActionDropdown = ({ row }: DataTableActionDropdownProps) = return; } - const documentBytes = await match(documentData.type) - .with(DocumentDataType.BYTES, () => - Uint8Array.from(documentData.data, (c) => c.charCodeAt(0)), - ) - .with(DocumentDataType.BYTES_64, () => - Uint8Array.from( - atob(documentData.data) - .split('') - .map((c) => c.charCodeAt(0)), - ), - ) - .with(DocumentDataType.S3_PATH, async () => - fetch(documentData.data) - .then(async (res) => res.arrayBuffer()) - .then((buffer) => new Uint8Array(buffer)), - ) - .exhaustive(); + const documentBytes = await getFile(documentData); const blob = new Blob([documentBytes], { type: 'application/pdf', diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx index 088afad33..49b7a8f15 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/download-button.tsx @@ -7,6 +7,7 @@ import { Download } from 'lucide-react'; import { getFile } from '@documenso/lib/universal/upload/get-file'; import { DocumentData } from '@documenso/prisma/client'; import { Button } from '@documenso/ui/primitives/button'; +import { useToast } from '@documenso/ui/primitives/use-toast'; export type DownloadButtonProps = HTMLAttributes & { disabled?: boolean; @@ -21,6 +22,8 @@ export const DownloadButton = ({ disabled, ...props }: DownloadButtonProps) => { + const { toast } = useToast(); + const [isLoading, setIsLoading] = useState(false); const onDownloadClick = async () => { @@ -47,6 +50,12 @@ export const DownloadButton = ({ window.URL.revokeObjectURL(link.href); } catch (err) { console.error(err); + + toast({ + title: 'Error', + description: 'An error occurred while downloading your document.', + variant: 'destructive', + }); } finally { setIsLoading(false); } diff --git a/packages/lib/universal/upload/get-file.ts b/packages/lib/universal/upload/get-file.ts index 2c71c3774..10e624aaf 100644 --- a/packages/lib/universal/upload/get-file.ts +++ b/packages/lib/universal/upload/get-file.ts @@ -35,9 +35,15 @@ const getFileFromBytes64 = (data: string) => { const getFileFromS3 = async (key: string) => { const { url } = await getPresignGetUrl(key); - const buffer = await fetch(url, { + const response = await fetch(url, { method: 'GET', - }).then(async (res) => res.arrayBuffer()); + }); + + if (!response.ok) { + throw new Error(`Failed to get file "${key}", failed with status code ${response.status}`); + } + + const buffer = await response.arrayBuffer(); const binaryData = new Uint8Array(buffer); diff --git a/packages/lib/universal/upload/put-file.ts b/packages/lib/universal/upload/put-file.ts index ccfa96e7b..56ed8eb07 100644 --- a/packages/lib/universal/upload/put-file.ts +++ b/packages/lib/universal/upload/put-file.ts @@ -38,7 +38,7 @@ const putFileInS3 = async (file: File) => { const body = await file.arrayBuffer(); - await fetch(url, { + const reponse = await fetch(url, { method: 'PUT', headers: { 'Content-Type': 'application/octet-stream', @@ -46,6 +46,12 @@ const putFileInS3 = async (file: File) => { body, }); + if (!reponse.ok) { + throw new Error( + `Failed to upload file "${file.name}", failed with status code ${reponse.status}`, + ); + } + return { type: DocumentDataType.S3_PATH, data: key, diff --git a/packages/lib/universal/upload/update-file.ts b/packages/lib/universal/upload/update-file.ts index a7a227bab..e06a8fa5f 100644 --- a/packages/lib/universal/upload/update-file.ts +++ b/packages/lib/universal/upload/update-file.ts @@ -42,11 +42,15 @@ const updateFileWithBytes64 = (data: string) => { const updateFileWithS3 = async (key: string, data: string) => { const { url } = await getAbsolutePresignPostUrl(key); - await fetch(url, { + const response = await fetch(url, { method: 'PUT', body: data, }); + if (!response.ok) { + throw new Error(`Failed to update file "${key}", failed with status code ${response.status}`); + } + return { type: DocumentDataType.S3_PATH, data: key, diff --git a/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql index 371181e80..3d30cb4e1 100644 --- a/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql +++ b/packages/prisma/migrations/20230907080056_add_created_at_and_updated_at_columns/migration.sql @@ -1,5 +1,7 @@ -- AlterTable ALTER TABLE "Document" ADD COLUMN "createdAt" TIMESTAMP(3); + +-- AlterTable ALTER TABLE "Document" ADD COLUMN "updatedAt" TIMESTAMP(3); -- DefaultValues @@ -9,5 +11,9 @@ SET "updatedAt" = COALESCE("created"::TIMESTAMP, NOW()); -- AlterColumn -ALTER TABLE "Document" ALTER COLUMN "createdAt" SET NOT NULL DEFAULT NOW(); -ALTER TABLE "Document" ALTER COLUMN "updatedAt" SET NOT NULL DEFAULT NOW(); +ALTER TABLE "Document" ALTER COLUMN "createdAt" SET DEFAULT NOW(); +ALTER TABLE "Document" ALTER COLUMN "createdAt" SET NOT NULL; + +-- AlterColumn +ALTER TABLE "Document" ALTER COLUMN "updatedAt" SET DEFAULT NOW(); +ALTER TABLE "Document" ALTER COLUMN "updatedAt" SET NOT NULL; diff --git a/packages/prisma/migrations/20230914031347_remove_redundant_created_column/migration.sql b/packages/prisma/migrations/20230914031347_remove_redundant_created_column/migration.sql new file mode 100644 index 000000000..79902a8e7 --- /dev/null +++ b/packages/prisma/migrations/20230914031347_remove_redundant_created_column/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - You are about to drop the column `created` on the `Document` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Document" DROP COLUMN "created"; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 6cdf90661..1ff3d7a75 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -92,7 +92,6 @@ enum DocumentStatus { model Document { id Int @id @default(autoincrement()) - created DateTime @default(now()) userId Int User User @relation(fields: [userId], references: [id], onDelete: Cascade) title String From 425db8fc1fa146e87a8ab239234829dcb6817356 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 13:32:16 +1000 Subject: [PATCH 74/83] fix: remove references to created column --- apps/marketing/src/pages/api/stripe/webhook/index.ts | 1 - apps/web/src/pages/api/stripe/webhook/index.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/apps/marketing/src/pages/api/stripe/webhook/index.ts b/apps/marketing/src/pages/api/stripe/webhook/index.ts index b5feeb870..ad9bfe808 100644 --- a/apps/marketing/src/pages/api/stripe/webhook/index.ts +++ b/apps/marketing/src/pages/api/stripe/webhook/index.ts @@ -103,7 +103,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, - created: now, documentDataId, }, include: { diff --git a/apps/web/src/pages/api/stripe/webhook/index.ts b/apps/web/src/pages/api/stripe/webhook/index.ts index fb7877259..9efab2a78 100644 --- a/apps/web/src/pages/api/stripe/webhook/index.ts +++ b/apps/web/src/pages/api/stripe/webhook/index.ts @@ -101,7 +101,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) title: 'Documenso Supporter Pledge.pdf', status: DocumentStatus.COMPLETED, userId: user.id, - created: now, documentDataId, }, include: { From 0d702e918947eb8357b242fb5569f0dea647abc9 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 13:37:38 +1000 Subject: [PATCH 75/83] fix: remove further references to created column --- apps/web/src/app/(dashboard)/documents/page.tsx | 2 +- packages/lib/server-only/document/find-documents.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx index d1f558806..32ec4f814 100644 --- a/apps/web/src/app/(dashboard)/documents/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/page.tsx @@ -39,7 +39,7 @@ export default async function DocumentsPage({ searchParams = {} }: DocumentsPage userId: user.id, status, orderBy: { - column: 'created', + column: 'createdAt', direction: 'desc', }, page, diff --git a/packages/lib/server-only/document/find-documents.ts b/packages/lib/server-only/document/find-documents.ts index c9c8eaf6c..aa5410c17 100644 --- a/packages/lib/server-only/document/find-documents.ts +++ b/packages/lib/server-only/document/find-documents.ts @@ -32,7 +32,7 @@ export const findDocuments = async ({ }, }); - const orderByColumn = orderBy?.column ?? 'created'; + const orderByColumn = orderBy?.column ?? 'createdAt'; const orderByDirection = orderBy?.direction ?? 'desc'; const termFilters = !term From 8be52e2fa3bddff4d052310c6541ac53a1e32554 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 14 Sep 2023 14:50:17 +1000 Subject: [PATCH 76/83] fix: final reference to created column --- apps/web/src/app/(dashboard)/documents/data-table.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/(dashboard)/documents/data-table.tsx b/apps/web/src/app/(dashboard)/documents/data-table.tsx index b8c735b59..7d2f18a27 100644 --- a/apps/web/src/app/(dashboard)/documents/data-table.tsx +++ b/apps/web/src/app/(dashboard)/documents/data-table.tsx @@ -53,8 +53,8 @@ export const DocumentsDataTable = ({ results }: DocumentsDataTableProps) => { columns={[ { header: 'Created', - accessorKey: 'created', - cell: ({ row }) => , + accessorKey: 'createdAt', + cell: ({ row }) => , }, { header: 'Title', From 9dcab76cd553f1f26ee8dd8839e4345cb874a336 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan <55143799+dephraiim@users.noreply.github.com> Date: Mon, 18 Sep 2023 01:37:17 +0000 Subject: [PATCH 77/83] feat: use description of each blog post in og image (#380) --- apps/marketing/src/app/(marketing)/blog/[post]/page.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 7edf29ec2..757eb8882 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -19,6 +19,7 @@ export const generateMetadata = ({ params }: { params: { post: string } }) => { return { title: `Documenso - ${blogPost.title}`, + description: blogPost.description, }; }; From d4659eee07a3f1b5699ecc630011d5bbb3c4f997 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Mon, 18 Sep 2023 17:58:01 +0000 Subject: [PATCH 78/83] feat: add deploying documenso with vercel, supabase and resend --- .../deploy-with-vercel-supabase-resend.mdx | 198 ++++++++++++++++++ .../public/blog/blog-author-duncan.jpeg | Bin 0 -> 21395 bytes 2 files changed, 198 insertions(+) create mode 100644 apps/marketing/content/blog/deploy-with-vercel-supabase-resend.mdx create mode 100644 apps/marketing/public/blog/blog-author-duncan.jpeg diff --git a/apps/marketing/content/blog/deploy-with-vercel-supabase-resend.mdx b/apps/marketing/content/blog/deploy-with-vercel-supabase-resend.mdx new file mode 100644 index 000000000..fb00f40bf --- /dev/null +++ b/apps/marketing/content/blog/deploy-with-vercel-supabase-resend.mdx @@ -0,0 +1,198 @@ +--- +title: 'Deploying Documenso with Vercel, Supabase and Resend' +description: This is the first part of the new Building Documenso series, where I describe the challenges and design choices that we make while building the world’s most open signing platform. +authorName: 'Ephraim Atta-Duncan' +authorImage: '/blog/blog-author-duncan.jpeg' +authorRole: 'Software Engineer Intern' +date: 2023-09-08 +tags: + - Open Source + - Self Hosting + - Tutorial +--- + +In this article, we'll walk you through how to deploy and self-host Documenso using Vercel, Supabase, and Resend. + +You'll learn: + +- How to set up a Postgres database using Supabase, +- How to install SMTP with Resend, +- How to deploy your project with Vercel. + +If you don't know what [Documenso](https://documenso.com/) is, it's an open-source alternative to DocuSign, with the mission to create an open signing infrastructure while embracing openness, cooperation, and transparency. + +## Prerequisites + +Before we start, make sure you have a [GitHub](https://github.com/signup) account. You also need [Node.js](https://nodejs.org/en) and [npm](https://www.npmjs.com/) installed on your local machine (note: you also have the option to host it on a cloud environment using Gitpod for example; that would be another post). If you need accounts on Vercel, Supabase, and Resend, create them by visiting the [Vercel](https://vercel.com/), [Supabase](https://supabase.com/), and [Resend](https://resend.com/) websites. + +Checklist: + +- [ ] Have a GitHub account +- [ ] Install Node.js +- [ ] Install npm +- [ ] Have a Vercel account +- [ ] Have a Supabase account +- [ ] Have a Resend account + +## Step-by-Step guide to deploying Documenso with Vercel, Supabase, and Resend + +To deploy Documenso, we'll take the following steps: + +1. Fork the Documenso repository +2. Clone the forked repository and install dependencies +3. Create a new project on Supabase +4. Copy the Supabase Postgres database connection URL +5. Create a `.env` file +6. Run the migration on the Supabase Postgres Database +7. Get your SMTP Keys on Resend +8. Create a new project on Vercel +9. Add Environment Variables to your Vercel project + +So, you're ready? Let’s dive in! + +### Step 1: Fork the Documenso repository + +Start by creating a fork of Documenso on GitHub. You can do this by visiting the [Documenso repository](https://github.com/documenso/documenso) and clicking on the 'Fork' button. (Also, star the repo!) + +![Documenso](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wkcujctpf86p56bju3mq.png) + +Choose your GitHub profile as the owner and click on 'Create fork' to create a fork of the repo. + +![Fork the Documenso repository on GitHub](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xf49r2byu9nnd1465niy.png) + +### Step 2: Clone the forked repository and install dependencies + +Clone the forked repository to your local machine in any directory of your choice. Open your terminal and enter the following commands: + +```bash +# Clone the repo using Github CLI +gh repo clone [your_github_username]/documenso + +# Clone the repo using Git +git clone +``` + +You can now navigate into the directory and install the project’s dependencies: + +```bash +cd documenso +npm install +``` + +### Step 3: Create a new project on Supabase + +Now, let's set up the database. + +If you haven't already, create a new project on Supabase. This will automatically create a new Postgres database for you. + +On your Supabase dashboard, click the '**New project**' button and choose your organization. + +On the '**Create a new project**' page, set a database name of **documenso** and a secure password for your database. Choose a region closer to you, a pricing plan, and click on '**Create new project**' to create your project. + +![Create a new project on Supabase](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5lqz771iupjyi1ekfdz.png) + +### Step 4: Copy the Supabase Postgres database connection URL + +In your project, click the '**Settings**' icon at the bottom left. + +Under the '**Project Settings**' section, click '**Database**' and scroll down to the '**Connection string**' section. Copy the '**URI**' and update it with the password you chose in the previous step. + +![Copy the Supabase Postgres database connection URL](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y1ldu3qrg9moednbzjij.png) + +### Step 5: Create a `.env` file + +Create a `.env` file in the root of your project by copying the contents of the `.env.example` file. + +Add the connection string you copied from your Supabase dashboard to the `DATABASE_URL` variable in the `.env` file. + +The `.env` should look like this: + +```bash +DATABASE_URL="postgres://postgres:[YOUR-PASSWORD]@db.[YOUR-PROJECT-REF].supabase.co:5432/postgres" +``` + +### Step 6: Run the migration on the Supabase Postgres Database + +Run the migration on the Supabase Postgres Database using the following command: + +```bash +npx prisma migrate deploy +``` + +### Step 7: Get your SMTP Keys on Resend + +So, you've just cloned Documenso, installed dependencies on your local machine, and set your database using Supabase. Now, SMTP is missing. Emails won't go out! Let's fix it with Resend. + +In the **[Resend](https://resend.com/)** dashboard, click 'Add API Key' to create a key for Resend SMTP. + +![Create a key for Resend SMTP](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh2rztgn09mlvecl34i5.png) + +Next, add and verify your domain in the '**Domains**' section on the sidebar. This will allow you to send emails from any address associated with your domain. + +![Verify your domain on Resend](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nxgie0esz530vq5a494o.png) + +You can update your `.env` file with the following: + +```jsx +SMTP_MAIL_HOST = 'smtp.resend.com'; +SMTP_MAIL_PORT = '25'; +SMTP_MAIL_USER = 'resend'; +SMTP_MAIL_PASSWORD = 'YOUR_RESEND_API_KEY'; +MAIL_FROM = 'noreply@[YOUR_DOMAIN]'; +``` + +### Step 8: Create a new project on Vercel + +You set the database with Supabase and are SMTP-ready with Resend. Almost there! The next step is to deploy the project — we'll use Vercel for that. + +On your Vercel dashboard, create a new project using the forked project from your GitHub repositories. Select the project among the options and click '**Import**' to start running Documenso. + +![Create a new project on Vercel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gdy97tltpnu7vf4fc11f.png) + +### Step 9: Add Environment Variables to your Vercel project + +In the '**Configure Project**' page, adding the required Environmental Variables is essential to ensure the application deploys without any errors. + +Specifically, for the `NEXT_PUBLIC_WEBAPP_URL` and `NEXTAUTH_URL` variables, you must add `.vercel.app` to your Project Name. This will form the deployment URL, which will be in the format: `https://[project_name].vercel.app`. + +For example, in my case, the deployment URL is `https://documenso-supabase-web.vercel.app`. + +![Add Environment Variables to your Vercel project](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aru33fk1i19h0valffow.png) + +This is a sample `.env` to deploy. Copy and paste it to auto-populate the fields and click ‘**Deploy.’** Now, you only need to wait for your project to deploy. You’re going live — enjoy! + +```bash +DATABASE_URL='postgresql://postgres:typeinastrongpassword@db.njuigobjlbteahssqbtw.supabase.co:5432/postgres' + +NEXT_PUBLIC_WEBAPP_URL='https://documenso-supabase-web.vercel.app' +NEXTAUTH_SECRET='something gibrish to encrypt your jwt tokens' +NEXTAUTH_URL='https://documenso-supabase-web.vercel.app' + +# Get a Sendgrid Api key here: +SENDGRID_API_KEY='' + +# Set SMTP credentials to use SMTP instead of the Sendgrid API. +SMTP_MAIL_HOST='smtp.resend.com' +SMTP_MAIL_PORT='25' +SMTP_MAIL_USER='resend' +SMTP_MAIL_PASSWORD='YOUR_RESEND_API_KEY' +MAIL_FROM='noreply@[YOUR_DOMAIN]' + +NEXT_PUBLIC_ALLOW_SIGNUP=true +``` + +## Wrapping up + +![Deploying Documenso](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/secg29j9j40o4u2oa8o8.png) + +Congratulations! 🎉 You've successfully deployed Documenso using Vercel, Supabase, and Resend. You're now ready to create and sign your own documents with your self-hosted Documenso! + +In this step-by-step guide, you learned how to: + +- set up a Postgres database using Supabase, +- install SMTP with Resend, +- deploy your project with Vercel. + +Over to you! How was the tutorial? If you enjoyed it, [please do share](https://twitter.com/documenso/status/1700141802693480482)! And if you have any questions or comments, please reach out to me on [Twitter / X](https://twitter.com/EphraimDuncan_) (DM open) or [Discord](https://documen.so/discord). + +We're building an open-source alternative to DocuSign and welcome every contribution. Head over to the GitHub repository and [leave us a Star](https://github.com/documenso/documenso)! diff --git a/apps/marketing/public/blog/blog-author-duncan.jpeg b/apps/marketing/public/blog/blog-author-duncan.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a4a52711c7f3f60c07e41b7e1c29cf7d22a94b75 GIT binary patch literal 21395 zcmbTdXEdB&^fo+tCm6kVLx?g&ClS4mUZXQa??ew`^v*=o8H^T04HBYDw87{}^e(z+ z$>aBbp7pHv)vP2zxjVlfHwd_e0&0YJVF8j0wN+pVp1R( zDG3QF0~Iv|kcE+rm4%U+nVnmhkDc=|7c(>eQ_y1(Q7{{AA|fIs zA*ClHqZi{~<`Db;JpT0nC<(E?V|~ZL;sjt*V&PC?{p-gn0|2n_u>NNN{?EX|#=*tI zCmK(I!^M60Wcb5104^mS6^H0Ed};$b0!|;GSae1yA=mT9UK+^M zF}JwAZwwJJEgd}rBM&bhKS%&9A^B8FT1NSWimIBrhNhvBv5BdfxrKwHle3E})XmR7 zATTI6BsBI-TztaYL|A54c1~_yegV9!9D%H;tU^^ceQa)NZENrN^tG>lU~p)7WE4F; zGmDv>B9$x=9p#KLR$_G5yxVSjD1pnc| z!VY?vIFz_}9HRJC&kP9ce5g6aq6vY|GfEqKiMYfe$29i7Q^d5~;8mWJ{~-MjqW^b* zV*Y<2`oDnwFP?vk08$*R2Z!NM0u%w~1@1CCuUk;;Yac!5HtTVGbCboZ?$`pwx@^?f9P*TT}{ZnQt+}wlY|OS?>hhgYlu z#&di;H$1qFS128L_tbKq9}Oh_hU|(m1Q5=u$;N5jzY7pwwf7qR^qV}`d$AqvbiG$k zVE8J|Bb~J!6&iq|Q34qGq7KywaKHI=&j6DC;)O%4#ZL-(8R-s z0W37F7^O>afz45nNvvljXniadmMS11+ptkXi3kRAEx|3BQUQQ35S1Bl=&qq%j%U1s z7t;2HXs~-p`)$g3E$%-++O)YghPVB;d{;yBi+?yj3zSNRW6T1(W&l%Hwbq>4-`ELN zv+xFbRInqK#$ypxuILpp&-2q;H`t0ljh=7|z>HhoPxC1r0LB%$EjKP2oDErW?jg$kFo}9e$iFqs<~oTzrN~pTgPu znbsydqLFiCTqW0dk%{sCNTp5ot?u@YARHs{Q^BP9O?o%cWkr4ec-fM*|T z<87)~HlLKT3!?B*s!*#0=YueNw@GG}wOXD72su3)GDIjB>GOL1n>|*2)1V+yg(*d^ z#r@eS%UjzaPNZ(j^I@sCUUIXWm1E(mIT<3z3gQ5|N6pPsnq&ZB{#~uYDJ6VYL^&7$ zdAR=^2qbtBU}2$YphN=q;75P~**GddKyw0;p)876cgA)~iN;fJcs8o|8Y!nvlGREqmv%RKN^afg5CU2es4N;;hZ+L+Au*U!> z$Q24OXV6RGnSo_=^E8-rQOMPBgkc;NARNbn8}R0yv5Ul|LpZb~*v z;!&_|6qTyP(f6tpG}L}a4cW?PjF~y2WrJHJi&T1!iLk)6(FRHhjGFvo0RFOc$RxHt z)U^bEN)yTtKs?YpK8pCkLs%Bu*%C3a_h8KZ#InSLV{Y6T%FW&hUP1X^w)2;0zqWQ; zJg;uN-)ojJE;CzIs(mcCEq4`LVF-c}7N$P?or8^h zvyk6L2w`Q*AYk-9*d{rkvTiX8Q!GZESVku7R2nH|Pg}Cb>|cFY2I_zD)`ymgPF>U_ zp;1GTs`IFkBnHz03Mc0QxTK0rt zboqB=W_g8;JcZDq(*s|NE+(#%Wv6okS;k}&dw!l_3c2wc;=Wz+7PY+zD$lp7NSS_} zuxoYa^CZC1{94Os?VgM$p=e_hTfl&!hvzDi5} z#%`Y=JU(@}ovo{)ed@Anaau0vcI{ioRKZg7YAJRR?xBYCJr$4eV;WBn0G4f}mbH+T z70oi4Ke=+=0q?Fi&iNEBr`g9}xn27Fr zH!mogsI2Exgn-j$t~y9rQd0J`kku?%Anbz-ZqDW;GYB7@<7@b{BN z<{x#Z|`!HB{-# z{J>XaF4oGef#k&JS?(3HpLG#7WRRF=H&j*Cff zq{~6*$0w~C{j)6C2Kx-UH<6*HW^H)hF#|pa-|~EXz6?1md%u`Onp|>@m>00pSE0qG zrk~K%<7b_f1Suiya^M`h+NXYtbr~8k=I5Kr_-dLdbqUCqOFDv(UkSc%TiI3+l5Zp9 zKfEcoMGiB6A9Lq9XklnjzLThiq&UMKlp$hrXS-V4uxUx6T?5IY?zktx(lC1`@MpJ~ZC#dX$>|h2hpp%M51fHP8`J&4 z@fZWWd|`zw8U~p00rX2Z+gI0ZmJvM*0c!5pD#Y2a9PITl(J%sshOLO7`a`I6Iu#n0 zHlBtlY~qj;0UzOXqS1$ZjmRZ!VLmq}g@>TCXa!k=0iJ`D*7AV%QFaWV0s_ZxjDPHK9?V#)Sqjt5V<6R>N^n{FL7D>;c3Uvhgg?g$aC4Lt+M! z7c{E_mmm)&{lr`&SxQl48^TBplo}L&mf#s{Yi=Uy) z2B}33HF+=V9PATXMCSRBDu{&dE<_IjAzxr0IvQr=qC2D+lx{8d`QiwwOd5dFiN30M z$IHUsNrvyp8lRiKs4io$p()E~)mwt_QL4E1B_GVXdf!|5U6w))lA6Q1O;CzFqd+qE z+6}_I^5yw|fL4h6P=qB?$YuU^vL$W7F>S(&iuE6v{5v0&5M`gpeV~3CDga?u{7e|Y z>LCS{V8i%J01&i)Sri?ZSX19e2@A2S1y@!gQ3pZ!v3gEap=G&Iq*HMI61;M7wmuH( zA!89+Xrni#A3}@lL&}FtLjlci3{hl&X99Qejf4X$o?2IA_D}D^F^0?Sj3ZZgLJ|tU zDve7V(j901&<`lnSv2bQXB;vh1>`~ZJ7qm;ty#7bLXt`B3=I(aXjGVingB`qwbrh> z-Am0Pn6$oCt;ZZ1?vXcXT#89HYUel;D`+vCH*y}47gYA(cxhqvR=OY`qh;_83yxU? z5pQKxB#b*Uu_hB99t*E0}vuWV#g{y(z(*HSA2lK{KX&hxcKDi4@O)7ztClahF3u9^DmT| zX0xP>aEpD-5T>%?E%`abIX9p1zn|qVOP<80hFNIh0eEDx9*lsnHa92KJxHqu%Q%oF zlQ?09gjbs)poIzM zojgtUXcogvscl;yju0HF4V_T_T!bfu;RMPs)qHd3*Pas}B6X;d#j$m145G2+S zVYt3LG)(i`&sgm0GoA||({+L$IdFG;74&Ildlm)w2av;e6A=O{QdtvRJBPBSjk69EF20!oqeb)%_0Kkpr(Vig z>`^aVi^Xuh_M~9oA{*jTT(`+uRb)wOO&v1IXE0j>jRU-#hayi{1VIpY`*qo)pmT#C zu;B(IqAZ<6LrX*Zzio>BpU6{rx-60KJWQ9>Zf4ft+)IGTl6Qzu{~#Z zPE}Y*|hp_ z_sT!9a%~Y{S9~8YM$V|<4aefU(E8n0OzUN12IDrvhQCCU8=OPRs$3#E$(Xp)SC{gxWk+jBsL8xpwG)a)7VzKIkA>qb)tk zOm#)$Z};sCRWM(_XOlA_tYKJRX@5RKq01CG@Bv%(plzSW<%$;-S>mDr9IJdG}U%VmE2TOgxoK8pNM!sCIRdTyXkYBQ5-j21T96w}%)s@eja;vu|!B zfS>%*7eT}P(zlR|@D*IRMZxW11BXsMVkie2JTOZW6lL)6ZDChLSrl#ZgQmsfO5Q8m772gDU+RS5n6Q<2h4-|9)`UC#73_BAlxF=&iQ=WEsP*&R0%>)F$sV`{(UW z$P;-TG6J*axM=iu;I!pW3h?@BT>kKIT{C7{%b=aMz!PZHdnt=d%wEY&tPaOVg>Cb! zuQxa5*6Pz{qY4^frMt1#o9`!sXLDjzmtzFu+KbR9W38o+eoj)4L7}EE7Xr7)23Fbp z7F&EiiRl@(5paQ9iYxX+ZInd%f{-ukJ(?wT*U%6&Ycr|EL;R#o&CU)0Vy(0C!8GLj zP@mTERTyqKXVd>$@DEGVvu49D^sjsKaKSYv!7=4Q#mF|%vuDFnZO@4m$W3{Q0 z#!ZMZyhB(-5ZjC9rN#X>8qtekxxYq9>yibH@z29i;49UPmIME_fwlDsz|53u5Zz0$ zl_%R~8Z}@T`N6DvF_rbAlO1lxZ+#@HCM9E<1$2nyc=vs24nM%Qxb?i z8E3|{W_Mf0sq`X_Vyi4^g?`LD3yo&9cuuUW0_+DGXuuyLGoytjz_Iutd9B}bn|y!B zV&I{B&ZerQ#8Qgo%C+*hciA`U^nX5Im`T`($Jfx5vEu>X=#z=ifgjlT5U3DXD)^cI zWy?vdLIXHd`a$3EWd&(!^cbudm_G&1a3N z@E>5PEAqXJyhVs^#P=`ny-G98J&vBOIb6@2+}Bauy;j^d46nD3oFRVMBD(K2ChRDR zo9FP?29BV%q3P+62Ngwx_GxULrSVUHqI@*HXdW~s?ND@4HbrR9svXxjLv1WKamkqB z44R+bCZSfT(r_2vS*{_UorALSwtXUD{@tWoG}xYSij)pupUJp}rWDZshO8kQX5jJ$ zj;0I{LS+4u7blder!HQ3Qe@W2zK^RI)Y)%LJiy;{H)3D}79diA`tqtJsHE7BADUb- za-I%H-in4MHJN`hNrHKIunI?LBY(G)K&=af?t8j05+uzNdEmI|qQQ=&{nc02qxF8v zzf5KuLP%_&k9;wiE&iq*Z#8vDOIJ-9QO!{ZzG53cpz4L0K zh!n|3Acbi4dos6W*Q-)kty}s1@@$eK*@~6OH`cHsyqBGJ79M$Eci9vTw&9fg!H!pf zG&waI+}gcH$KJsb`wC=J18>CC+DJ{a_RTDQ#z!oKa1Fu`MbD&G%vFZ`pnmd{TbGRa z(fV54_*Lkw;j#||}(F#W;#_|z;MxVPw;Mj(8_8oK6 z!m|w?hzWFCvY{%(gAw{TZkQn2wCq#x07Qjka%MKUjlthdjQHiDv}jK?__$zKod_}O zIH8$zYhfQ;<(SwMT&+9!l*Xi;@pzwn$eo$7*^>v<#XKh~X;ho^qosK%gOh%KM#A=q zO5l;I5A3k(iBQ~zqDyzKYj%RDi&pZb6HgvpjFcjXW-?ggbl$L4(fFe@(ceO*UjW21{R7+nUgs2 zA%yavi&0m`js%a|!_(sS*_rrpc{0b@l+M@kV>eE_pV`-H`3`1@u7BY{kTiVu#9;r*8rW;B+lsY5fknBX6k>GOe(u`CSo? z3Qg?$7Z)|V6q)}3kHus}x0DcB7X!jNL2P2~9ylp+3k%nG;foC&~R)WVIToEFex zyC*c|D>1j;Gkq>-P9>f5df-VWxoGdu2h9t4&P7WdY0meY8ouUl)C9AB8)ZzGSeP>c zA*=X6`qes6C=XZF%!_vmOnUQ)Qn zzTMi?IAx2+XMnc-=+%-N%8QUnWUZwAB%qmvUi7k_&S2KM3CDzUOnxTXfmGwXj)uF9 zV|=JYXT6ZQWN2nqS}s6ZPJ}JRcHxij);9igr8>uB|6sgC-uJ(nIlf2U@%puy6Kt!$ zekr}ru9%`-L>bGBE+$k`174R2`+`p#5%>Q9m`XjMW+;53^LTBc{#fG%{=JZJjgJP( z*Kj?Ke61PQqFcmevUf3HG5^zsY^t7aU!|We@U=R*ylWGMYtYGl#+Q?{@ml0g*3p-J z8z+`CoVklSCTsJ_w0CFa*={Z+*R_$bSn2ZFr9s3t>`5iy4?ALuS#_spz zE-$K|wv|n$@2IUBrM6aJ?ihoghhtXv+V%EIG6`+7B&IW zX^b4hUi7R!og?9~yg;l)V&W@b9V0WdQnF8DSkFU%J6yB}2uVUYOiD|G8W%8+c8QyS z84?zkSZVMW#J-KGx<2$0;X1;!z-#)a;5G79>?z#>iH)erm3R`)BKMN}mHS4M+xdF2 zo)Cx!0c_`xJ2?N5+uCrp>R<)v^8^RS%$8*RhZnQ2XK%rWiKeMxw-~a+_Kr7NY*ggW zsxMEQOP$j;+Y_oTYO+Hzj5b0U3(=Usj4GasvIa$wUumIJwKDJMfAF`seYn=BVAP#D4(01>Z<)H^M?%-1S|P;=qH!A+81qP<_S8oIT>>o@CRL0;mtwO%x%{ zF}HCQeq#uS>tTUC3wHsG;#-}WHAH=FaXR^&{Su{$xKegLNIn~QDYpFirRY>WvRQSG z@;c-jY2NN`p`VT@j-VvII(BVs8MtSCSN{XC|>@yBR_HgNX5%94}zv}R&6}g*+K?{)V3kOZl6B(j((FtQx>P(uga_>4XTGE4fHCvN zGsa!)MysL@lz$dU5n}GLTGff|J%Ld(&b`|l9?DFM)ZVLEbiKlzX(GE7=jk>C#Y-oT zW89s(N!-6wQ_%T$r$(}v2c9(p%M_&jmPzM<5>jv>(83ee%5TE+W&Nkpg52>Ll=dhvmX`3XcJlzA6rT zMT{BNaJ+SNn?3%hHsvWMs!M~8o~C@Jmydev;5>w<`*Z^$IwyhVOJJWDD{EP#PyTDG zPiAI9KcFWdSWvi8#Pl{T$1UrR`_``v>u9O{0oA}Py&M8@xmt0WviqC8^ zKUtTwu|JPp0`^ueJyFj)t&g-%O$`jeOs7)*1N?@+_8INTNgS6su}QiV^g;97p?2M| zYa$L+!%<mj^H82p6!4la+24G!X@ufdekYY= zTV3EfpLJ+pGq5GRneq>SC-Ea3{wQ)bZM1N5ppDh+4i(1YspvYP&;+w%ALuH+8nbF| z=n!-A_(`zX`2r>($NAS-w#4-;df;W#3+dL7?A)M6t@g!{s4(J%=I~?eXSf0QpYrt8 z*d2Ctw4``>Gyyu~d3Ir{S7L`wIGcR2izVIBblM*`uhWv`tIN)b*XqCdO`E5{@I78f2vQuT)qyu?(tP? z9B@uq@7U5GW{Yy$%T*a(Yhuxqc9g0~x4~}D%+BcIwp^xnOc!uvp@|auWB(EEzbttQ zV%!n9Yv-GsnQsGo5)iOE$BN|{85UcNwsqvJ%RVDmf`5b-gQ-W3pa^ZG-?ALI=a1*m zqFh8pi=WwN8t=ahP3-3;1ji1R;BlAsJy6G5lq)qyXQAcN$E;*ilCTfougDr3ItDz0 zn-2QydnAe0x(>I$QNw*^b7VYJ)OQry>P4@{^gCzy+J6oE9GVvehM~P^0!7>F`)32C z7$i8{u;cg9&D7HS{q61f2M{CU_X;5g>6?Uig0^am8&UiY3|2HWmgTZEYjZTEu1JIS zV=~*(RA*VgX83X#QwWnB&Uu-RwB{-q5!IS~HNs&A9rC@dLzi&Zly{nk09M~BPPb@M zAlb0%RbOxT?Xfztt>xW!yzF&}I)}VTPV3NMjI7)Jj1mVf4v))mW2{fb`RKENj-1J)&&vH1+ z*ilh5ozKt?oqzA7xOZ2kR^v;{w>-)gv2z2JLIe zck{KA)Wd;n%DVCRXZUMl6QKpb(AhTtNc)UIAc%%*9#4<_DYjI#dTPEn+w}KhG~c623d^CLW{pc59h#rh7g4im$x3?O zG4SVywh}>&DfWbQW$FgDdNwNpzG~f310&LCPCw%qvarieyU28$J9h*)Oh z3dh~1Tu^15%_*1N&`SsXmM`3(>W+7B(w73LG$}jbyN7om4{T;67H1j0#emRi!SCzn1eEi46{;anZyts88PeM91OfzTS`2>b*Q57(=v+O zt~1gEB_0}eDme4?;R7t(!AKIlB`uhpU7QM^W(WgG8p zM3t$k%7)n=1wXUHv9lAna$3& zzZKTP7R-7|)i{j*{u1^4tf$IbNYZO8fbq+>F}pu`{W9Tk@RpepbybMyx2Kb)Tx)Ff zkuC%LZQ-vyWUMhbQNE1~2_xLRA^UGX6D+hNA2 zEcs)tedQ>~D&HZ}q7Z9HBL55}J+hW=&CeEjjI^t8zaEvMACu<3jvlj5ngyH+;LkE| zsLeIXSC`|DWTT(BncA;i7>R-id(XKq?iv(jRz8wr-V$*sO88zrCHTL8<_vGly8Ee*pc| z{9y@U&=H+v3)5MhRY;b`re5+Zc|1oQs2??z!w-TJA;sVh?ba7bch-BBVFjGB3|;-K z-EQG)*utY}~C@L(bq0P<*wTHaoU=Ed#*^SLXW(_x%T-$|CvvdElSkW|OxaCZ23clV&y zI+gB<1nM=WM*_3@-pHY$BAvQHBSYOzOF#OWYaUUYAyQY@vzsC56mG&~ER_r8yBU8B zE>#ZPGs5kIBbI`E0Mb+`mjQ_Oob2E%iPV?^6 zgnM09UCJ!4t}5vyX0RLE>W`8^8S#_6b-!ZBmVB{+QfA&;x+ zM8xA{(M?+ZYYTMAjrD00&bOFboR9r_=jG{ELsJyhs+Cez?@V|gV*(xUQuI%G*>VQDalb25&1+PM?5HYr$#ZiJ% ze{!cr6rmI7j{y`^8y+n@BY$~!{}?!n+icw|4ho%0PdKsYty;y`t&zM#2CtjI6g~d| z3?I5QHOz}l9}l5;n~ofV!fUh<$@e;omKw@bN-Vdg;#^cZ0YMz-MeRd2(4JtHZD^r! z8D9q$w{xiz`vzN`_QI2B9lO*Ss{9745u$6eb#z@gLhH^jW8NM;z{15hvn}*<&iux_}$=gR{I|8ap+H0+j!R>6Am?wvMxWXURoI8 z&Wvc`bo36zWTYe`W#7S7sSa5_T~4f9i$G2?W!5nrf=~-0=ozIwMe z1ud6v$38U|taH{ZEQ4-e*d+pvtWsy+VTpr}pUVBVy14r5|4ri!-71sRYt&W}`PSkx zw(|KM=tr>O2=`VKqjmC0;az2mpf%Qrd{x7dXP;jldy%NAP<>mBajKs7jj2H1&(2rL zMFprV{cVzIDIlCA@8S!Y#lFsERjW!+TK+l3#nn~)vpVN#=hF>b+c`spvPX~2akn#y z`aWD=A-l|4v`n-qM2WO-G7JPuTE63Q4EpJD3z?+(i_=dym|}BPjcg$(iPH7C30gEU zT~2N|)ToEDr&#xZXbkI2vEr4EXwJUW1>>g8pSST4e%w$y32zkXKImXZCFiQTZ;%-Ck)jOsC73 zS0`m&;(C2>J;NgKFFyahCOlU2XN%~S_g!L+&zk1?YWA&@TP7u zG;U#5rGg`WxP1e2*i4*(H|E`X(=`=Eu3qQv5r&hclsd}9{|$ewPNGn^3$|GoFgtu* z2124K;yxvV&ynZwaM)5rYG`nVA7S?{PmrOXPM!=gqVh~#~k;f zrb7M)2CC)o%I_;2Y`+=dTetq)THgCb1r7$^p$=2^ue}h9qsJ>22N{u{I`C^$)>o)( zgL>?@|73Pm@fB*Mz+YN1&pZ@Uy7(mr18=C6T^~>A<_$73F$>nXG+31SRqxUfo7du` zS-12JIf>D5N=$THKC&Lh&ch0?_LQ~yBL5>=uqj2HU>?i(%g6I~IinV0+xJ~Yk1P;g zw|yOnHG9!&+D07;ar|W&li*)kAztTaWYYfM=zBPqna{r&uQSqobNNxFBW=o|r#Sld zOr23ZS4!wXE)awM0UQlkA^piwvc`e$L#f2|zpn?9ILO7qS9m$ve21}!`$Z1-jWNF` z5?e*6D~;uMo?y=2reBh26iJk6SId8$3Jy1DPlyGMGL{kSCAD=OyDVe5e0Rr;>^3hGp z!};+J{`%!U0VbMui$~W@orhy)yIbYS_my2~5+x?p)!GZ1chwEOV=C2cIX=ug!OMga z%m_Uf<^tKzyH!rv-yAl-7%?+CJh9dslgfTXt3q~BeX1FVO|ki-rt7muPG{EDGv&K~ zfI3cXxyRHT97qBhA!8=<1bIJrg^+e#@?WWnd^NAxnr9HWyNloj+# z6ozgp6fTuvetl9Cy%RifQ6C}RIHjtfGD!CFV|Jw1!tdL(H+BcXe^o0q_j=wZ zW0U}7koy94JRS3yy02z}%w9Hr#wE_KMzL1Aa7&2so786dXDleDVBpwy=rW+cW-)6+ zu}{zHs-z+m(r)IJ!$claE?V&q(5Yu@id1FV+N%Bqf{8EYd*~MlXs0&+e20lPOI{#l zHa7QQ&{c6wq$f4#&@<3oYmDFf)@$)LnKkG0lH34BU@2UMX4%9@0Tte9-HupfhB z78-w`M9r#AfrB(oWwxO{&-?3UrnTSEgc|0cPT6tS^63^)qF_DdxKPGUyz|C$#X4ty z3C^dSaL12`R?MchBYZx|(j=MsZa+oY)Lu%r#pK0GZa^B%Gsk#AE4lVNJRdrXl$DLR z&7ASD!1`O=W1DxctI&C*E9wrG8ppm&`J}mvv0MRIbDWJWDMukc6Mk>EWVBL+rMpjp z@6Cnn7gd?bReazT1wN}Q&N>R4hTorMep?QdaQ+dPM1>jvspTViQ)fPT-1dRv9hDS( z;9CpzPPS9{0%5QzOSN1)Sq7`1i`r%4t&ZxC{qsGz>-C^tUgLT;IcYTA=(bU$3RKNY zjQ1)VAdMVl9+d2;)vyc9JrUtC^-KHUg)YCfw|dbenB1mpb$Gwp-C4Br`SA2n<$bz{ zp!^e_He8S_(MF`j4}szM@fgc{Wb~fYHYSrr?NDUIbNdQ4dK+!_!EgIm&*s8tS<5T1 ziS~LZ(xTLA34WmW$W|#w+VD3dWbN;aCONs}!+AxDA74&Dhg8aOPbkh}l5A_tuX^2~ zUoiVuZA4<0%L|{0v_DZrYL2T8_e$8CzphjB%@h+r#5!#FgQ*4_#@OW`qT^&hz_cca zj2#RV0zzz4%hK^Qi0*f8W&(u1+)OFaTKzqSg^W)bwBlsC*}YHL1oyzFuAZN;RaMa! zKTi9aOZIis82GUbOKC(g&QoobEF!$}R?HQm{Kh?#gH+GfQLy-Hbm5)O=dZ3;zO~Ge z0`Uxl!+!%lf2PYMld~Q}?e6ilWxCp_xj<>2diLs@rqqoe&5of+I9Si$Xs6r`-Y_N> zkH4pG%D90XT_>{UkhKQM{$(g}x(J`9#?-2bGQJU(LD5S*7a!?G*>aB+`4#cEr=C7^ zynJ#*uo{WM2c|cKJkm73Y+YmKl;sY7-uPMF7nQVbX56^MxD%;<$84RBWW+*J%08}l z!fcWSY&VJ+EBZQ|U^CC&g1?%PH^cl?qOx08^?}#b5OM*Lc~5AvyDAjGS=*Hed;4fG zz4nC}%=2JoO9K3rMh7fNnXrXirZ*(-)9EFE1z|1WLzhfS#YDiJ-8)!g*b>H>6MTXu zLB$rK?Ui9f3;F1!Pq))ll6<%(tAs0YFF2L%@xUWKqK?n&V75{cC@aAvc_@w(HIn--3an5=2%YxIqc)o`Nyj-;~MZ?iD9j^OD_nzsz+k|QuP*Le2t|z zu-Nr+^+#v5LOD-Sx%WZ5h<(OVs;sHQdR%MwalnSJ-XmF2dgl?L1A!p0oaVOvr#T6& z6xGAFG4YKXtR49pl}GtegMjK*lQNM!Zx`7S9&MWY0LRL75m~2yLTPi2GDz|J3jtU-LFeQw1cX#5VgeO%IS zi8t>&{F1`LycbBdDDO}KGzH(vDL&RqRpoE$2rz#oK&lnZR=pur8V1+@u%|FU!(}qG z$LV3V7J+Av9XxB_pl$-HVqf=6*Ui%-l_z0upN^rU9$QPAGksos9>o7!Lzqz{Tu^sH zy`OT$%`ZH4ti!rbY*cYxx9cAucr|=CI(LPiMbKVrh1lgqIBPJM4QcL`(21}gh;+nr%zkC@pcp;%}dq}Nh zhon|5%=e5rj=_bRQ<$2X+3VC6?daD%$;4o81 zcrl+Q#mGw$OhBOQg&M%*Owj6Ny4ob{^Wxve#}Sr$H?e9H!*k@%?ubfUe{|{5aeuon z50fnT@`tybR*B-}6Rxzf=@K12?HLaVlHXJ$3x}H;U7dm5(X#&3pNMac-P@GQqg<>f4vcf2Qplr18hY_Dex zM+VHbV?btVYVM$?^gF4N#Y3=dFVoS2$qR^zJNIhf`yS$n6H*mV&H`zTNy+dVMu-ZR zyl|0tZ;g-JscHxxO-@Vq&f-I7I}4a`O_9|7x!^ovkjw{{`It9tf9bF-v{PETCOOkus|D+^j$7|) zd~mFSpV9j^nxx#%Y@bsG51+p$Xebu;$_zbz;-6eSm>s<*;SyhEkj#(>H$>Qi5! zz8V9ybGu07H>G#M4MdntOoX>87ejEFZ%t{|YSNnb5RnsL9GWSj9&XtB1>KqFmaoDY zGh@3N#BtQ1jUMq^M>$qkq9wT}6`Dzr2flN3hKK57tIeG0;%rr@^xB3R!K6z_ZmjP= z7yD1ISTLmn-}a;n4;{=4^sG;&w%07?zL);o z69w53b`GWe5t?qlHQB0j=?!c9b%V}S*L1p-OV_6a(l6v_SzkihnNsn+)#Q2R-oDn6 zGilPQ+VdUws%pL|x?NA#q88BFr{j(z(A|IfIE!$>+<~YIZ-6!yZ;u6&{Q@i4?BKfL5oXq@RV;AGC{3W#IMF~uDwB_aPzX@#XmDLK?L z@5(Ve5S;KA$H*h`$;7(h&;6%CmnTayeKbvq`5ZAcDO&4HZ}r7|hNOF{gd#4(SkJNi z^ny8OS+-kKH>rpU)j+n0TBmsLXM<{W?z?k~!{$$F>znU|6+1sk#?!7(vvn)RyR)K2 zB~iFiiru`ADK4X5?i)fyzdkqBcYZYk!KO1N+x(p>iP=|)6`5O_{ zTk5bw*;ETTfz)=s44CrrM&kqvh{4CYQ}WH6XfJn$z^GW$%C3SDu3uWwQ>w#X$?Gjn z!D%mI`tCVrS#im!+%?$3o(}{G;^UApB{#KM;S}{Z>!b#UPoG!W(KDcCyd!cRRdDQx zt=0Mz8c||fQ5qI0G-EkS5->=#c)75mu%Z)0Pjli3SElPccW!^Rr@)`r6d7Fswe0GK z9gnB}K5}dR%oaST{=qn0D3>PvxjJX#(c#m=R|9@w%DRSQj?;mc)hTYKEuo}078zIW zwCh?}X`^m4M|{*-u6gKECqeWlqH}a*oP^53+r5?`?g_2LM;A2>ZkZeacy!%pQ4YzV zA3969;|qR$GXCDDJW)+4dG`#;Hhbv4&ttw=$eQf?D4Z%Vt!I9{CyR{{JGDjnUezz0 zXw5z_0oZoNXM#C4o`zRm27>jg5OM_mstYO|bj8|iRHr9ajuCj0&&rRz*#Et=hRujO zJvP%lbUDjYqjq@p?6+3N*K?E}q*f0xujWqoPWWlqY=?w|>DM9wVdJZ=f1{odvr3)PLY9gA`yA%W%-onpXT395*1}W0(uRC**k*#Z>14ovMB7 z3^uM;XP4sgD^O8_^?ix}9Znc`~RN=(mqfU>k_^PG-#g z{+o|kMP0<(mQoT3N}=V1ZmDxbrAxB$TdZ~9;4erje?+zjm1yBiY-$TB-&Hi=UF41q)2Xng=M(~}1W8uI3nU*}1U*zIX3(-pC z)UJJXDi?nyJe_rw-=!YJ`W~Nvrl$>}&<(PB?9sP6`RVo3#dsvt4!GkO=O}!t9u3B1du z3uN0cO?g)M@BrNT=y>#msJ{GG`L2?I|}q}b3RrLZSPsq#cRcO>ox{? zs65UhGwEkvWDIzJV+7QE21mq3DR?2(_+TynE9(&y?%A6sQko!6cEO00eH8!$@UEC& z->--?Lvwv|G&lA!AxD*poycH3XB|Ux?@SIsE)A{ZS1K~l$RzxZf2C+FvT42{zqOA2 zY-3qug{LT3fQ&`~P*@YRV2aDR`Q&C8A@hUNgIyN6p_`pzOW3b8`0Z|^j^sR-ae@n= zW*c+6A&D5qc%;K)CV#VB&mJ!B?k9G`$vj|iefKdZ>x$p;V!fmW(jsEDmilrd2lyc( z7{T@06^Hx^v7&=Twzp@V`g^(ZLd9trL_X$821otyYoxiJ+g7$qolrmaee0W%d1!`4 zv$`M&Ro6VLFx`$03Xz^cK!$6Ub`W@XNYt-oSCU;T%Cxm!8K2FQGBNCn#~;K<9RaGL z)=vt^XFIW_V6%3`<|D!N$Cy5Xi$4t8>K8~?T7yzV1PCnr(Iy5+8=f$+u6nUJQImtv z)bUoY1;)z@Zz05GeCc6Q5R_eu8hWA(;lGHpH*rj7G^c~~sMKUr*MQ$jYG(inWELQa z%9a3g+?td`qwh#F=sBlExx(P{+Pbd^_#*4X*Dj!oXk!4pk_?ldLEoh=c&)~w+04h3 za1<4;gG14^4OZwSowSn>c_;3Vsjpkoz7}|YPGpvUHu_cR=MWeE`5)Ic*THE8tX^Hb zF~ozSqJTe2##PqH(Nld)tvgPVJvJC_wzSHDSc;{2pd^H{sOGwGGI^%RfOCrGZsxW; z_Uk~AGk_1_Sa(`p);o}o!o5}ER_e7*<4B5i|wV?TJ+_%)UX z3~Gx+M^R9`bnH8wEP9-Bfu1TsIyXaHklv?^ijgj*L)SE#8)sFxj&oASAOPnExyZFf z9Z9PTsRAij4x$->fPq!*aE$HmOw-%WwcHO;NUeoF`K-E{UrU!Xi$SPr$c!?e1dXypa1~$uQc#nVeXxet$LJKCOE>Nsl&sr&I4KNBr%F_0vG%zBJ;$c<|S0fUs_p1l3A+j<~Yq#*6j=mqc*vu3? z(l{T*=2^|b_WjtdAddCgcsax9+Kd45CymF@!E&en07Dem(Sd2IUTNtxF*>v|urfn3 zERnex!7AKmlh09}qPtCLUf%xz5k|4WJ%*udh>8>iiRGCF2Yh*a^{+o-1f-M3>h=jv zlQ^)t)o<3)+S20P%NWa-7gmsxFhA>@q@H^Bsbe^g2wWmtTt-edU)bCnb_pRyKlu|M zjdF6t@W|0P!=c*4(2fmnczV`%hf*=Cm3USN*bWS)Xx&%xMn1}<_NtyIp3>{ZI;{2% zB(#$9SB1d9C|r<#S_E5$+V=CpmTzYS(>101 zs>yphDl0V4w7ER2VBp}62^Gq3Z!D%x)6`cSh8C76Z8v#x2-G+w zopbX7axy3j=q{Pzn@vLTjlQOCY$1wSZX}A_`LP6z-;0$Z8dO^6ORF((7BbM9-s)hs+;7O@VEq+Us;TT2{5(#kub zY-P-2c?t+-JAux5&#pK?k3TvVtcYZjOuh;`wYz{n5-BwOTT{`lT5US^=F(y|v4%pK z9)}%kdh1T{o}CNoUuwRR7?00&YkTH|KkXD^SMjK=wN&vmi>GUhzigSngHzf(#bdx( zf4-!jymD7L$pZutm3`t}Z&87*uC+UvE!cwb2ilH(Sw{r>n#v&JrMQAyYndRLHjY@> zqoWKJU~os^YCQVY0VTX%V{JTVis&7#&Wfoeq1ge= zNW^2MJtM_PQAp;C9Hnj#YGd+!s>wwiDkqHRtpG7`=}K24r7Eu8wJt_DqQF&QwyMtr zcLNLo&0lEqob;%64cG>Y0ngp&F|Z{?W4?lS9m$cOO6_EgvBxzBmdC17y@b)h-f3~h zr}to14aT0VTM8@GXVYVx9l&SlSeJSL1o?l;nvkq{oyLe*k_Bc>qP7nhuSB@hCxr5u zA4;V9W6Q?eX0%fyl=C}{HIU#6&zjMfwky=Gd_IbVo=tPNdNFc#r|DWLiNxVrEOw|K zD(a`v9dbwlvu4xwcB`a_o*KPADOPBe&!uHO z#*ZI1mOphF@#;-RY=D#$l}etcJl8`Hgl{^s1^)nfs@nKL&I>qSr#0K}9Qqg$SzcOO zM|eI+S&D}1pTe}Qnk%KqAUF4GW*-fRv73h=bQt6Et0TjJwmS^#5ea@beSjU!<_MJw@L1$knZJ= zO0K~%!8O`k{6ExHiMNsoLGD{`^sM>(53QmT_C46{j;H$7*qfZV0+5Qkd8OWI@_Bbw z(!}Iv47kXug>nA?*Q7E!2;!a6kn>98A!Eq(%}#q%FZ8KTK}-hL{{V$=Qrh-pmUy8_ z5D;cNQHVcuwhrCPxCZD68NlYSaZdz}nEXWpy^f0i0KyuicM_$gwD(G}iAp4Yy+l0a z&}4!B(8`{~*3`N_rQ#TDlq9iQrHl=7;du=b$cg|YeA`2HAaRmF1dd}%@jkbr$s1T| zcM%Bw;+Ed3eL}WIe+sp(_~XQWBez&JO-e~&U-@Q=v8#KqP&Xg0YDaQ?dsMZvL8oag z89=O!Bn-t-Sb|V7#`ZY*-xzEKTp+>a^G9qG(wvCWFjP`loB#(}0ga%ZwWSw_wTVjX z(=P(IM|fEm>$vgxnzr5*x>*DtZPQxiv$hDY5?5>tsu1p#r9LOBXuxE5^c$R9!|l66asR|@}87j zEMBsm{3~s7e`cyR8)C6E?gROAxFjMBk@AFmo~5|^r0!(48s4Yjy(d^xGqh9OA-a-X zg>X^B861Jtn+HF_YB_JL^zRNS)0A9Jmt0)jMj1)+&Pv99U#9KHza1+!?^C?gye?zB zo?C~4`B`38EPr_!<0sk?NTaL0o-0dRUlyHj{w9t7k8+w~E33`{AjnAyLoVIJ3>fal zbH^>>C~fCUJ!;7o2(N>Akj6Hw6QLW`eF4g_^bd~JZ$;4W@4P#yMJlbdB3LIAUATfV zx6EI>*a!V!;AEV4qf)l8wD2@bZK$p6tEl|V988F$#zO@x0b%l|I1~Y&;~5Rdi6^{m zyRPAa<+1(gAxCfgd5vJ!*NPO!t3w+cvRGNGeSXaqVw$2^ZqFOR_pY|hzjisUPT6tu zXMk&>vy`?gmbyD|k4A0B$*)5AeC(-q0siU7=U#mZHUT4w^e>0$mc05W^{#$~)pk3y zkde}y<-1jXH(|yp{{UzQj8nPFG?&dPm(MjKvK~pPlp*Gx;6T9b%~oj~bgS*K3{`Wt z(w4wRjP5z7`Aj*dr?9C9UTJ{}=lH0VfE)^$*NTEefzp60xFm5XCW zCIxw6ib2YX$+@voPQWu-(;)-pG{u3o~{$`?cRsrLqE92sMp&X@(1U1~>TnqfJGxEaq{1Thrm zrUx0Q6Rk=GFgWiULz!&m^;T2->y$7@Ck~27xXpI{GC*vt&N&hv<8>f)^5K8K-) zvw|WTb)$8GKLLt((kw{JLO%j(b*VG*)(%qcbt-XdV*^&OwTc!oL==IZrm(kU3h8x^ z^%8w6nH>dnP;KsU;vk~*LzbO`NVVJO`hJ^d;fVE1jXDeYrguV@O#2irIRP1YIqpqw zbC}|LQXaL|__IZ^var)N3rLJ6@G~?j#KxG%3%e{jo}||%Y1j_4!2T0&5Zv6{&2IBq z+QjV2r|-xkc2vN@Ios+!yo%0__gJ~qB)8KdOIZmZ$76&51KvT&9_5Ixui+*8!+ES( z`Ek56S_feJyD(f}91ui}kaL_5O5)AZ+Ug5?Ev>!Nylm|p$%Nc;GlVPk$4)w9ijk9E z_M~`rE{VSrpu$EsA z_;oDdl4g<_=5>h+9p+|S@&3$f`BpBvG2$&#{=X;x0MN~Ath3yB5;)%CUn<{Gc+xQ6 zDGw5{$mnoak4?wcfi264ZDnEME3T7%Zeb7TD6?Y`OGk`(+yoEinkaJPlYnqq* zBf7EE{F@bmXeY&_VOdu$pMUS3T{$dITFSE|+1|yt?08Z_zwHT71Nl3Cb?8uNT6Tls z9b)1;f3-Z?cbdZGiBX9oAOO2~&JV90Xc@ujQQzv&>jf6(?&??+F~d8z@1yI~)r~_% zmeKTo56L1Mx#lxUit55MAyth@Qb*lD-$?~eq~BcM={FWKI>&2qcWVp91W6Do%;bZ# z4DtsjHChYjI<~o~tZ^jJ+sWjjugM-=Apu8isN^rE0qsm?e~L8-HBS@jH@1KA=_JHK z+xJWIr~Wz?r||WKyUF(bMO*Aq$g!$7#tP`u)g`{9M?_ai5kya zgGqzrv$0sjNz`t24(@ZoW<7my2S6#4)UV039{Tj@pYu(Hb>143Xe*RvVV7 zHYpt{tZ!Oa-(4*3j(B&H1I$m zVw!`T)7Ve~Op(Z##Zi+_g~m3I%C6ELv;mIVOd#Ya{He)h5a5AY`#~Ivts*FHDO^@E z?sTYSLy#+-zVPxAb|rTaqPJQe-aP% Date: Mon, 18 Sep 2023 20:13:46 -0500 Subject: [PATCH 79/83] feat: security headers --- apps/marketing/next.config.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js index 97f904cf0..2783e4063 100644 --- a/apps/marketing/next.config.js +++ b/apps/marketing/next.config.js @@ -18,6 +18,40 @@ const config = { transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}', }, }, + async headers() { + return [ + { + source: '/:path*', + headers: [ + { + key: 'x-dns-prefetch-control', + value: 'on', + }, + { + key: 'strict-transport-security', + value: 'max-age=31536000; includeSubDomains; preload', + }, + { + key: 'x-frame-options', + value: 'SAMEORIGIN', + }, + { + key: 'x-content-type-options', + value: 'nosniff', + }, + { + key: 'referrer-policy', + value: 'strict-origin-when-cross-origin', + }, + { + key: 'permissions-policy', + value: + 'accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()', + }, + ], + }, + ]; + }, }; module.exports = withContentlayer(config); From 1be0b9e01fc1e0703228bc1431488aa409afedec Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Thu, 14 Sep 2023 15:00:14 +1000 Subject: [PATCH 80/83] feat: add vercel build script --- .env.example | 4 +- .eslintignore | 1 + apps/marketing/next.config.js | 1 + apps/marketing/process-env.d.ts | 3 +- .../src/app/(marketing)/claimed/page.tsx | 2 +- apps/marketing/src/app/layout.tsx | 4 +- .../src/pages/api/claim-plan/index.ts | 6 +- apps/web/next.config.js | 1 + apps/web/process-env.d.ts | 3 +- .../app/(dashboard)/settings/billing/page.tsx | 2 +- apps/web/src/app/layout.tsx | 4 +- apps/web/src/helpers/get-feature-flag.ts | 4 +- apps/web/src/pages/api/claim-plan/index.ts | 6 +- assets/example.pdf | Bin 0 -> 39842 bytes package-lock.json | 36 +++--- .../server-only/document/send-document.tsx | 4 +- packages/lib/universal/get-base-url.ts | 4 +- packages/prisma/helper.ts | 52 +++++++++ packages/prisma/index.ts | 10 +- packages/prisma/package.json | 14 ++- packages/prisma/seed-database.ts | 82 ++++++++++++++ packages/tsconfig/process-env.d.ts | 17 ++- scripts/remap-vercel-env.cjs | 45 ++++++++ scripts/vercel.sh | 107 ++++++++++++++++++ turbo.json | 30 +++-- 25 files changed, 391 insertions(+), 51 deletions(-) create mode 100644 assets/example.pdf create mode 100644 packages/prisma/helper.ts create mode 100644 packages/prisma/seed-database.ts create mode 100644 scripts/remap-vercel-env.cjs create mode 100755 scripts/vercel.sh diff --git a/.env.example b/.env.example index 6f32b5a63..fb22bbedf 100644 --- a/.env.example +++ b/.env.example @@ -7,8 +7,8 @@ NEXT_PRIVATE_GOOGLE_CLIENT_ID="" NEXT_PRIVATE_GOOGLE_CLIENT_SECRET="" # [[APP]] -NEXT_PUBLIC_SITE_URL="http://localhost:3000" -NEXT_PUBLIC_APP_URL="http://localhost:3000" +NEXT_PUBLIC_WEBAPP_URL="http://localhost:3000" +NEXT_PUBLIC_MARKETING_URL="http://localhost:3001" # [[DATABASE]] NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documenso" diff --git a/.eslintignore b/.eslintignore index f80dc7f80..b7f7e638f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,3 +5,4 @@ # Statically hosted javascript files apps/*/public/*.js apps/*/public/*.cjs +scripts/ diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js index 97f904cf0..ce479838f 100644 --- a/apps/marketing/next.config.js +++ b/apps/marketing/next.config.js @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); const { withContentlayer } = require('next-contentlayer'); +const { remapVercelEnv } = require('../../scripts/remap-vercel-env.cjs'); const { parsed: env } = require('dotenv').config({ path: path.join(__dirname, '../../.env.local'), diff --git a/apps/marketing/process-env.d.ts b/apps/marketing/process-env.d.ts index ac170a616..3dfdcb30f 100644 --- a/apps/marketing/process-env.d.ts +++ b/apps/marketing/process-env.d.ts @@ -1,6 +1,7 @@ declare namespace NodeJS { export interface ProcessEnv { - NEXT_PUBLIC_SITE_URL?: string; + NEXT_PUBLIC_WEBAPP_URL?: string; + NEXT_PUBLIC_MARKETING_URL?: string; NEXT_PRIVATE_DATABASE_URL: string; diff --git a/apps/marketing/src/app/(marketing)/claimed/page.tsx b/apps/marketing/src/app/(marketing)/claimed/page.tsx index f56ae2b26..b1636e2be 100644 --- a/apps/marketing/src/app/(marketing)/claimed/page.tsx +++ b/apps/marketing/src/app/(marketing)/claimed/page.tsx @@ -161,7 +161,7 @@ export default async function ClaimedPlanPage({ searchParams = {} }: ClaimedPlan

diff --git a/apps/marketing/src/app/layout.tsx b/apps/marketing/src/app/layout.tsx index ea21ed3c3..46d9a3d32 100644 --- a/apps/marketing/src/app/layout.tsx +++ b/apps/marketing/src/app/layout.tsx @@ -21,12 +21,12 @@ export const metadata = { description: 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.', type: 'website', - images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`], + images: [`${process.env.NEXT_PUBLIC_MARKETING_URL}/opengraph-image.jpg`], }, twitter: { site: '@documenso', card: 'summary_large_image', - images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`], + images: [`${process.env.NEXT_PUBLIC_MARKETING_URL}/opengraph-image.jpg`], description: 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.', }, diff --git a/apps/marketing/src/pages/api/claim-plan/index.ts b/apps/marketing/src/pages/api/claim-plan/index.ts index abad354a8..3d2d8679b 100644 --- a/apps/marketing/src/pages/api/claim-plan/index.ts +++ b/apps/marketing/src/pages/api/claim-plan/index.ts @@ -43,7 +43,7 @@ export default async function handler( if (user && user.Subscription.length > 0) { return res.status(200).json({ - redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`, + redirectUrl: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/login`, }); } @@ -103,8 +103,8 @@ export default async function handler( mode: 'subscription', metadata, allow_promotion_codes: true, - success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, - cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent( + success_url: `${process.env.NEXT_PUBLIC_MARKETING_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, + cancel_url: `${process.env.NEXT_PUBLIC_MARKETING_URL}/pricing?email=${encodeURIComponent( email, )}&name=${encodeURIComponent(name)}&planId=${planId}&cancelled=true`, }); diff --git a/apps/web/next.config.js b/apps/web/next.config.js index be51b51fc..a2657854a 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); const { version } = require('./package.json'); +const { remapVercelEnv } = require('../../scripts/remap-vercel-env.cjs'); const { parsed: env } = require('dotenv').config({ path: path.join(__dirname, '../../.env.local'), diff --git a/apps/web/process-env.d.ts b/apps/web/process-env.d.ts index 1cb0018ac..4149423dd 100644 --- a/apps/web/process-env.d.ts +++ b/apps/web/process-env.d.ts @@ -1,6 +1,7 @@ declare namespace NodeJS { export interface ProcessEnv { - NEXT_PUBLIC_SITE_URL?: string; + NEXT_PUBLIC_WEBAPP_URL?: string; + NEXT_PUBLIC_MARKETING_URL?: string; NEXT_PRIVATE_DATABASE_URL: string; diff --git a/apps/web/src/app/(dashboard)/settings/billing/page.tsx b/apps/web/src/app/(dashboard)/settings/billing/page.tsx index 555c645ce..bd2659e62 100644 --- a/apps/web/src/app/(dashboard)/settings/billing/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/billing/page.tsx @@ -35,7 +35,7 @@ export default async function BillingSettingsPage() { if (subscription.customerId) { billingPortalUrl = await getPortalSession({ customerId: subscription.customerId, - returnUrl: `${process.env.NEXT_PUBLIC_SITE_URL}/settings/billing`, + returnUrl: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/settings/billing`, }); } diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 2ce8744d4..2a1d082f9 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -33,12 +33,12 @@ export const metadata = { description: 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.', type: 'website', - images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`], + images: [`${process.env.NEXT_PUBLIC_WEBAPP_URL}/opengraph-image.jpg`], }, twitter: { site: '@documenso', card: 'summary_large_image', - images: [`${process.env.NEXT_PUBLIC_SITE_URL}/opengraph-image.jpg`], + images: [`${process.env.NEXT_PUBLIC_WEBAPP_URL}/opengraph-image.jpg`], description: 'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.', }, diff --git a/apps/web/src/helpers/get-feature-flag.ts b/apps/web/src/helpers/get-feature-flag.ts index 3b6c66528..d5cd26c33 100644 --- a/apps/web/src/helpers/get-feature-flag.ts +++ b/apps/web/src/helpers/get-feature-flag.ts @@ -21,7 +21,7 @@ export const getFlag = async ( return LOCAL_FEATURE_FLAGS[flag] ?? true; } - const url = new URL(`${process.env.NEXT_PUBLIC_SITE_URL}/api/feature-flag/get`); + const url = new URL(`${process.env.NEXT_PUBLIC_WEBAPP_URL}/api/feature-flag/get`); url.searchParams.set('flag', flag); const response = await fetch(url, { @@ -54,7 +54,7 @@ export const getAllFlags = async ( return LOCAL_FEATURE_FLAGS; } - const url = new URL(`${process.env.NEXT_PUBLIC_SITE_URL}/api/feature-flag/all`); + const url = new URL(`${process.env.NEXT_PUBLIC_WEBAPP_URL}/api/feature-flag/all`); return fetch(url, { headers: { diff --git a/apps/web/src/pages/api/claim-plan/index.ts b/apps/web/src/pages/api/claim-plan/index.ts index abad354a8..3d2d8679b 100644 --- a/apps/web/src/pages/api/claim-plan/index.ts +++ b/apps/web/src/pages/api/claim-plan/index.ts @@ -43,7 +43,7 @@ export default async function handler( if (user && user.Subscription.length > 0) { return res.status(200).json({ - redirectUrl: `${process.env.NEXT_PUBLIC_APP_URL}/login`, + redirectUrl: `${process.env.NEXT_PUBLIC_WEBAPP_URL}/login`, }); } @@ -103,8 +103,8 @@ export default async function handler( mode: 'subscription', metadata, allow_promotion_codes: true, - success_url: `${process.env.NEXT_PUBLIC_SITE_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, - cancel_url: `${process.env.NEXT_PUBLIC_SITE_URL}/pricing?email=${encodeURIComponent( + success_url: `${process.env.NEXT_PUBLIC_MARKETING_URL}/claimed?sessionId={CHECKOUT_SESSION_ID}`, + cancel_url: `${process.env.NEXT_PUBLIC_MARKETING_URL}/pricing?email=${encodeURIComponent( email, )}&name=${encodeURIComponent(name)}&planId=${planId}&cancelled=true`, }); diff --git a/assets/example.pdf b/assets/example.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f908d84e124bc485ffe198f9d5949caa12ed2d17 GIT binary patch literal 39842 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 Za5@759sL7WP9_qM#Gv`*<&6&R{TJLMdWZl3 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 348a046de..f727ea74e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3371,12 +3371,12 @@ } }, "node_modules/@prisma/client": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.0.0.tgz", - "integrity": "sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.3.1.tgz", + "integrity": "sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" + "@prisma/engines-version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" }, "engines": { "node": ">=16.13" @@ -3391,15 +3391,15 @@ } }, "node_modules/@prisma/engines": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.0.0.tgz", - "integrity": "sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz", + "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==", "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz", - "integrity": "sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==" + "version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz", + "integrity": "sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==" }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", @@ -14647,12 +14647,12 @@ "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" }, "node_modules/prisma": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.0.0.tgz", - "integrity": "sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz", + "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==", "hasInstallScript": true, "dependencies": { - "@prisma/engines": "5.0.0" + "@prisma/engines": "5.3.1" }, "bin": { "prisma": "build/index.js" @@ -18198,8 +18198,12 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@prisma/client": "5.0.0", - "prisma": "5.0.0" + "@prisma/client": "5.3.1", + "prisma": "5.3.1" + }, + "devDependencies": { + "ts-node": "^10.9.1", + "typescript": "^5.1.6" } }, "packages/tailwind-config": { diff --git a/packages/lib/server-only/document/send-document.tsx b/packages/lib/server-only/document/send-document.tsx index 37ecc66b7..83a88f24a 100644 --- a/packages/lib/server-only/document/send-document.tsx +++ b/packages/lib/server-only/document/send-document.tsx @@ -48,8 +48,8 @@ export const sendDocument = async ({ documentId, userId }: SendDocumentOptions) return; } - const assetBaseUrl = process.env.NEXT_PUBLIC_SITE_URL || 'http://localhost:3000'; - const signDocumentLink = `${process.env.NEXT_PUBLIC_SITE_URL}/sign/${recipient.token}`; + const assetBaseUrl = process.env.NEXT_PUBLIC_WEBAPP_URL || 'http://localhost:3000'; + const signDocumentLink = `${process.env.NEXT_PUBLIC_WEBAPP_URL}/sign/${recipient.token}`; const template = createElement(DocumentInviteEmailTemplate, { documentName: document.title, diff --git a/packages/lib/universal/get-base-url.ts b/packages/lib/universal/get-base-url.ts index aa8884088..2120c9f54 100644 --- a/packages/lib/universal/get-base-url.ts +++ b/packages/lib/universal/get-base-url.ts @@ -8,8 +8,8 @@ export const getBaseUrl = () => { return `https://${process.env.VERCEL_URL}`; } - if (process.env.NEXT_PUBLIC_SITE_URL) { - return `https://${process.env.NEXT_PUBLIC_SITE_URL}`; + if (process.env.NEXT_PUBLIC_WEBAPP_URL) { + return process.env.NEXT_PUBLIC_WEBAPP_URL; } return `http://localhost:${process.env.PORT ?? 3000}`; diff --git a/packages/prisma/helper.ts b/packages/prisma/helper.ts new file mode 100644 index 000000000..d436771d1 --- /dev/null +++ b/packages/prisma/helper.ts @@ -0,0 +1,52 @@ +/// + +export const getDatabaseUrl = () => { + if (process.env.NEXT_PRIVATE_DATABASE_URL) { + return process.env.NEXT_PRIVATE_DATABASE_URL; + } + + if (process.env.POSTGRES_URL) { + process.env.NEXT_PRIVATE_DATABASE_URL = process.env.POSTGRES_URL; + process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL = process.env.POSTGRES_URL; + } + + if (process.env.DATABASE_URL) { + process.env.NEXT_PRIVATE_DATABASE_URL = process.env.DATABASE_URL; + process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL = process.env.DATABASE_URL; + } + + if (process.env.POSTGRES_PRISMA_URL) { + process.env.NEXT_PRIVATE_DATABASE_URL = process.env.POSTGRES_PRISMA_URL; + } + + if (process.env.POSTGRES_URL_NON_POOLING) { + process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL = process.env.POSTGRES_URL_NON_POOLING; + } + + // We change the protocol from `postgres:` to `https:` so we can construct a easily + // mofifiable URL. + const url = new URL(process.env.NEXT_PRIVATE_DATABASE_URL.replace('postgres://', 'https://')); + + // If we're using a connection pool, we need to let Prisma know that + // we're using PgBouncer. + if (process.env.NEXT_PRIVATE_DATABASE_URL !== process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL) { + url.searchParams.set('pgbouncer', 'true'); + + process.env.NEXT_PRIVATE_DATABASE_URL = url.toString().replace('https://', 'postgres://'); + } + + // Support for neon.tech (Neon Database) + if (url.hostname.endsWith('neon.tech')) { + const [projectId, ...rest] = url.hostname.split('.'); + + if (!projectId.endsWith('-bouncer')) { + url.hostname = `${projectId}-pooler.${rest.join('.')}`; + } + + url.searchParams.set('pgbouncer', 'true'); + + process.env.NEXT_PRIVATE_DATABASE_URL = url.toString().replace('https://', 'postgres://'); + } + + return process.env.NEXT_PRIVATE_DATABASE_URL; +}; diff --git a/packages/prisma/index.ts b/packages/prisma/index.ts index 93a334caa..b9e290add 100644 --- a/packages/prisma/index.ts +++ b/packages/prisma/index.ts @@ -1,5 +1,7 @@ import { PrismaClient } from '@prisma/client'; +import { getDatabaseUrl } from './helper'; + declare global { // We need `var` to declare a global variable in TypeScript // eslint-disable-next-line no-var @@ -7,9 +9,13 @@ declare global { } if (!globalThis.prisma) { - globalThis.prisma = new PrismaClient(); + globalThis.prisma = new PrismaClient({ datasourceUrl: getDatabaseUrl() }); } -export const prisma = globalThis.prisma || new PrismaClient(); +export const prisma = + globalThis.prisma || + new PrismaClient({ + datasourceUrl: getDatabaseUrl(), + }); export const getPrismaClient = () => prisma; diff --git a/packages/prisma/package.json b/packages/prisma/package.json index 3ef12787a..958bcde17 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -9,10 +9,18 @@ "format": "prisma format", "prisma:generate": "prisma generate", "prisma:migrate-dev": "prisma migrate dev", - "prisma:migrate-deploy": "prisma migrate deploy" + "prisma:migrate-deploy": "prisma migrate deploy", + "prisma:seed": "prisma db seed" + }, + "prisma": { + "seed": "ts-node --transpileOnly --skipProject ./seed-database.ts" }, "dependencies": { - "@prisma/client": "5.0.0", - "prisma": "5.0.0" + "@prisma/client": "5.3.1", + "prisma": "5.3.1" + }, + "devDependencies": { + "ts-node": "^10.9.1", + "typescript": "^5.1.6" } } diff --git a/packages/prisma/seed-database.ts b/packages/prisma/seed-database.ts new file mode 100644 index 000000000..65daa357e --- /dev/null +++ b/packages/prisma/seed-database.ts @@ -0,0 +1,82 @@ +import { DocumentDataType, Role } from '@prisma/client'; +import fs from 'node:fs'; +import path from 'node:path'; + +import { hashSync } from '@documenso/lib/server-only/auth/hash'; + +import { prisma } from './index'; + +const seedDatabase = async () => { + const examplePdf = fs + .readFileSync(path.join(__dirname, '../../assets/example.pdf')) + .toString('base64'); + + const exampleUser = await prisma.user.upsert({ + where: { + email: 'example@documenso.com', + }, + create: { + name: 'Example User', + email: 'example@documenso.com', + password: hashSync('password'), + roles: [Role.USER], + }, + update: {}, + }); + + const adminUser = await prisma.user.upsert({ + where: { + email: 'admin@documenso.com', + }, + create: { + name: 'Admin User', + email: 'admin@documenso.com', + password: hashSync('password'), + roles: [Role.USER, Role.ADMIN], + }, + update: {}, + }); + + const examplePdfData = await prisma.documentData.upsert({ + where: { + id: 'clmn0kv5k0000pe04vcqg5zla', + }, + create: { + id: 'clmn0kv5k0000pe04vcqg5zla', + type: DocumentDataType.BYTES_64, + data: examplePdf, + initialData: examplePdf, + }, + update: {}, + }); + + await prisma.document.upsert({ + where: { + id: 1, + }, + create: { + id: 1, + title: 'Example Document', + documentDataId: examplePdfData.id, + userId: exampleUser.id, + Recipient: { + create: { + name: String(adminUser.name), + email: adminUser.email, + token: Math.random().toString(36).slice(2, 9), + }, + }, + }, + update: {}, + }); +}; + +seedDatabase() + .then(() => { + console.log('Database seeded'); + process.exit(0); + }) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/tsconfig/process-env.d.ts b/packages/tsconfig/process-env.d.ts index b0852b4f4..d32b9984a 100644 --- a/packages/tsconfig/process-env.d.ts +++ b/packages/tsconfig/process-env.d.ts @@ -1,6 +1,7 @@ declare namespace NodeJS { export interface ProcessEnv { - NEXT_PUBLIC_SITE_URL?: string; + NEXT_PUBLIC_WEBAPP_URL?: string; + NEXT_PUBLIC_MARKETING_URL?: string; NEXT_PRIVATE_GOOGLE_CLIENT_ID?: string; NEXT_PRIVATE_GOOGLE_CLIENT_SECRET?: string; @@ -40,5 +41,19 @@ declare namespace NodeJS { NEXT_PRIVATE_SMTP_FROM_NAME?: string; NEXT_PRIVATE_SMTP_FROM_ADDRESS?: string; + + /** + * Vercel environment variables + */ + VERCEL?: string; + VERCEL_ENV?: 'production' | 'development' | 'preview'; + VERCEL_URL?: string; + + DEPLOYMENT_TARGET?: 'webapp' | 'marketing'; + + POSTGRES_URL?: string; + DATABASE_URL?: string; + POSTGRES_PRISMA_URL?: string; + POSTGRES_URL_NON_POOLING?: string; } } diff --git a/scripts/remap-vercel-env.cjs b/scripts/remap-vercel-env.cjs new file mode 100644 index 000000000..95e60cde8 --- /dev/null +++ b/scripts/remap-vercel-env.cjs @@ -0,0 +1,45 @@ +/** @typedef {import('@documenso/tsconfig/process-env')} */ + +/** + * Remap Vercel environment variables to our defined Next.js environment variables. + * + * @deprecated This is no longer needed because we can't inject runtime environment variables via next.config.js + * + * @returns {void} + */ +const remapVercelEnv = () => { + if (!process.env.VERCEL || !process.env.DEPLOYMENT_TARGET) { + return; + } + + if (process.env.POSTGRES_URL) { + process.env.NEXT_PRIVATE_DATABASE_URL = process.env.POSTGRES_URL; + } + + if (process.env.POSTGRES_URL_NON_POOLING) { + process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL = process.env.POSTGRES_URL_NON_POOLING; + } + + // If we're using a connection pool, we need to let Prisma know that + // we're using PgBouncer. + if (process.env.NEXT_PRIVATE_DATABASE_URL !== process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL) { + const url = new URL(process.env.NEXT_PRIVATE_DATABASE_URL); + + url.searchParams.set('pgbouncer', 'true'); + + process.env.NEXT_PRIVATE_DATABASE_URL = url.toString(); + } + + if (process.env.VERCEL_ENV !== 'production' && process.env.DEPLOYMENT_TARGET === 'webapp') { + process.env.NEXTAUTH_URL = `https://${process.env.VERCEL_URL}`; + process.env.NEXT_PUBLIC_WEBAPP_URL = `https://${process.env.VERCEL_URL}`; + } + + if (process.env.VERCEL_ENV !== 'production' && process.env.DEPLOYMENT_TARGET === 'marketing') { + process.env.NEXT_PUBLIC_MARKETING_URL = `https://${process.env.VERCEL_URL}`; + } +}; + +module.exports = { + remapVercelEnv, +}; diff --git a/scripts/vercel.sh b/scripts/vercel.sh new file mode 100755 index 000000000..e4ab23622 --- /dev/null +++ b/scripts/vercel.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env bash + +# Exit on error. +set -eo pipefail + +# Get the directory of this script, regardless of where it is called from. +SCRIPT_DIR="$(readlink -f "$(dirname "$0")")" + + +function log() { + echo "[VercelBuild]: $1" +} + +function build_webapp() { + log "Building webapp for $VERCEL_ENV" + + remap_database_integration + + npm run prisma:generate --workspace=@documenso/prisma + npm run prisma:migrate-deploy --workspace=@documenso/prisma + + if [[ "$VERCEL_ENV" != "production" ]]; then + log "Seeding database for $VERCEL_ENV" + + npm run prisma:seed --workspace=@documenso/prisma + fi + + npm run build -- --filter @documenso/web +} + +function remap_webapp_env() { + if [[ "$VERCEL_ENV" != "production" ]]; then + log "Remapping webapp environment variables for $VERCEL_ENV" + + export NEXTAUTH_URL="https://$VERCEL_URL" + export NEXT_PUBLIC_WEBAPP_URL="https://$VERCEL_URL" + fi +} + +function build_marketing() { + log "Building marketing for $VERCEL_ENV" + + remap_database_integration + + npm run prisma:generate --workspace=@documenso/prisma + npm run build -- --filter @documenso/marketing +} + +function remap_marketing_env() { + if [[ "$VERCEL_ENV" != "production" ]]; then + log "Remapping marketing environment variables for $VERCEL_ENV" + + export NEXT_PUBLIC_MARKETING_URL="https://$VERCEL_URL" + fi +} + +function remap_database_integration() { + log "Remapping Supabase integration for $VERCEL_ENV" + + if [[ ! -z "$POSTGRES_URL" ]]; then + export NEXT_PRIVATE_DATABASE_URL="$POSTGRES_URL" + export NEXT_PRIVATE_DIRECT_DATABASE_URL="$POSTGRES_URL" + fi + + if [[ ! -z "$DATABASE_URL" ]]; then + export NEXT_PRIVATE_DATABASE_URL="$DATABASE_URL" + export NEXT_PRIVATE_DIRECT_DATABASE_URL="$DATABASE_URL" + fi + + if [[ ! -z "$POSTGRES_URL_NON_POOLING" ]]; then + export NEXT_PRIVATE_DATABASE_URL="$POSTGRES_URL?pgbouncer=true" + export NEXT_PRIVATE_DIRECT_DATABASE_URL="$POSTGRES_URL_NON_POOLING" + fi + + + if [[ "$NEXT_PRIVATE_DATABASE_URL" == *"neon.tech"* ]]; then + log "Remapping for Neon integration" + + PROJECT_ID="$(echo "$PGHOST" | cut -d'.' -f1)" + PGBOUNCER_HOST="$(echo "$PGHOST" | sed "s/${PROJECT_ID}/${PROJECT_ID}-pooler/")" + + export NEXT_PRIVATE_DATABASE_URL="postgres://${PGUSER}:${PGPASSWORD}@${PGBOUNCER_HOST}/${PGDATABASE}?pgbouncer=true" + fi +} + +# Navigate to the root of the project. +cd "$SCRIPT_DIR/.." + +# Check if the script is running on Vercel. +if [[ -z "$VERCEL" ]]; then + log "ERROR - This script must be run as part of the Vercel build process." + exit 1 +fi + +case "$DEPLOYMENT_TARGET" in + "webapp") + build_webapp + ;; + "marketing") + build_marketing + ;; + *) + log "ERROR - Missing or invalid DEPLOYMENT_TARGET environment variable." + log "ERROR - DEPLOYMENT_TARGET must be either 'webapp' or 'marketing'." + exit 1 + ;; +esac diff --git a/turbo.json b/turbo.json index a5b333c66..01b8bd487 100644 --- a/turbo.json +++ b/turbo.json @@ -2,8 +2,13 @@ "$schema": "https://turbo.build/schema.json", "pipeline": { "build": { - "dependsOn": ["^build"], - "outputs": [".next/**", "!.next/cache/**"] + "dependsOn": [ + "^build" + ], + "outputs": [ + ".next/**", + "!.next/cache/**" + ] }, "lint": {}, "dev": { @@ -11,20 +16,22 @@ "persistent": true } }, - "globalDependencies": ["**/.env.*local"], + "globalDependencies": [ + "**/.env.*local" + ], "globalEnv": [ "APP_VERSION", "NEXTAUTH_URL", "NEXTAUTH_SECRET", - "NEXT_PUBLIC_APP_URL", - "NEXT_PUBLIC_SITE_URL", + "NEXT_PUBLIC_WEBAPP_URL", + "NEXT_PUBLIC_MARKETING_URL", "NEXT_PUBLIC_POSTHOG_KEY", "NEXT_PUBLIC_POSTHOG_HOST", "NEXT_PUBLIC_FEATURE_BILLING_ENABLED", "NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_YEARLY_PRICE_ID", "NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID", "NEXT_PRIVATE_DATABASE_URL", - "NEXT_PRIVATE_NEXT_AUTH_SECRET", + "NEXT_PRIVATE_DIRECT_DATABASE_URL", "NEXT_PRIVATE_GOOGLE_CLIENT_ID", "NEXT_PRIVATE_GOOGLE_CLIENT_SECRET", "NEXT_PUBLIC_UPLOAD_TRANSPORT", @@ -48,6 +55,15 @@ "NEXT_PRIVATE_SMTP_SECURE", "NEXT_PRIVATE_SMTP_FROM_NAME", "NEXT_PRIVATE_SMTP_FROM_ADDRESS", - "NEXT_PRIVATE_STRIPE_API_KEY" + "NEXT_PRIVATE_STRIPE_API_KEY", + + "VERCEL", + "VERCEL_ENV", + "VERCEL_URL", + "DEPLOYMENT_TARGET", + "POSTGRES_URL", + "DATABASE_URL", + "POSTGRES_PRISMA_URL", + "POSTGRES_URL_NON_POOLING" ] } From b411db40dac3311958f741f5cbd0a2c2b435c468 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 19 Sep 2023 02:40:58 +0000 Subject: [PATCH 81/83] chore: tidy unused code --- apps/marketing/next.config.js | 1 - apps/web/next.config.js | 1 - packages/prisma/helper.ts | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js index ce479838f..97f904cf0 100644 --- a/apps/marketing/next.config.js +++ b/apps/marketing/next.config.js @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); const { withContentlayer } = require('next-contentlayer'); -const { remapVercelEnv } = require('../../scripts/remap-vercel-env.cjs'); const { parsed: env } = require('dotenv').config({ path: path.join(__dirname, '../../.env.local'), diff --git a/apps/web/next.config.js b/apps/web/next.config.js index a2657854a..be51b51fc 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); const { version } = require('./package.json'); -const { remapVercelEnv } = require('../../scripts/remap-vercel-env.cjs'); const { parsed: env } = require('dotenv').config({ path: path.join(__dirname, '../../.env.local'), diff --git a/packages/prisma/helper.ts b/packages/prisma/helper.ts index d436771d1..865e16239 100644 --- a/packages/prisma/helper.ts +++ b/packages/prisma/helper.ts @@ -39,7 +39,7 @@ export const getDatabaseUrl = () => { if (url.hostname.endsWith('neon.tech')) { const [projectId, ...rest] = url.hostname.split('.'); - if (!projectId.endsWith('-bouncer')) { + if (!projectId.endsWith('-pooler')) { url.hostname = `${projectId}-pooler.${rest.join('.')}`; } From 60ef9df721cd5e5ce63bff43a38fed9f5d2d97a8 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 19 Sep 2023 13:34:38 +1000 Subject: [PATCH 82/83] chore: update ci --- .github/workflows/ci.yml | 6 ++++++ .github/workflows/codeql-analysis.yml | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c15689123..1a5d4bbcf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,12 +22,18 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 2 + - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 18 cache: npm + - name: Install dependencies run: npm ci + + - name: Copy env + run: cp .env.example .env + - name: Build run: npm run build diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 92a0936a5..c934272a4 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -32,7 +32,10 @@ jobs: - name: Install Dependencies run: npm ci - + + - name: Copy env + run: cp .env.example .env + - name: Build Documenso run: npm run build @@ -42,4 +45,4 @@ jobs: languages: ${{ matrix.language }} - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 \ No newline at end of file + uses: github/codeql-action/analyze@v2 From 09c7f9dde83730600fb2ad049522450ad6999d1b Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 19 Sep 2023 15:07:43 +1000 Subject: [PATCH 83/83] chore: update devcontainer --- .devcontainer/devcontainer.json | 46 +++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 59a318b7f..60b385403 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,20 +1,32 @@ { - "name": "Documenso", - "image": "mcr.microsoft.com/devcontainers/base:bullseye", - "features": { - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "version": "latest", - "enableNonRootDocker": "true", - "moby": "true" - }, - "ghcr.io/devcontainers/features/node:1": {} - }, + "name": "Documenso", + "image": "mcr.microsoft.com/devcontainers/base:bullseye", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "version": "latest", + "enableNonRootDocker": "true", + "moby": "true" + }, + "ghcr.io/devcontainers/features/node:1": {} + }, "onCreateCommand": "./.devcontainer/on-create.sh", - "forwardPorts": [ - 3000, - 54320, - 9000, - 2500, - 1100 - ] + "forwardPorts": [3000, 54320, 9000, 2500, 1100], + "customizations": { + "vscode": { + "extensions": [ + "aaron-bond.better-comments", + "bradlc.vscode-tailwindcss", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "mikestead.dotenv", + "unifiedjs.vscode-mdx", + "GitHub.copilot-chat", + "GitHub.copilot-labs", + "GitHub.copilot", + "GitHub.vscode-pull-request-github", + "Prisma.prisma", + "VisualStudioExptTeam.vscodeintellicode", + ] + } + } }