Path Lines of Code apps/newsletters-api/open-api.yaml 407 apps/newsletters-api/src/apiDeploymentSettings.ts 88 apps/newsletters-api/src/app/authorisation.ts 39 apps/newsletters-api/src/app/get-user-profile.ts 50 apps/newsletters-api/src/app/headers.ts 35 apps/newsletters-api/src/app/responses.ts 47 apps/newsletters-api/src/app/routes/currentStep.ts 124 apps/newsletters-api/src/app/routes/drafts.ts 69 apps/newsletters-api/src/app/routes/health.ts 6 apps/newsletters-api/src/app/routes/layouts.ts 78 apps/newsletters-api/src/app/routes/newsletters.ts 180 apps/newsletters-api/src/app/routes/notifications.ts 133 apps/newsletters-api/src/app/routes/rendering-templates.ts 73 apps/newsletters-api/src/app/routes/user.ts 18 apps/newsletters-api/src/app/safeStringify.ts 10 apps/newsletters-api/src/main.ts 57 apps/newsletters-api/src/register-ui-server.ts 25 apps/newsletters-api/src/services/aws/aws-config-service.ts 11 apps/newsletters-api/src/services/image/image-signer.ts 59 apps/newsletters-api/src/services/notifications/email-env.ts 21 apps/newsletters-api/src/services/notifications/email-service.ts 6 apps/newsletters-api/src/services/permissions/LocalPermissions.ts 20 apps/newsletters-api/src/services/permissions/ParamPermissions.ts 41 apps/newsletters-api/src/services/permissions/abstract-class.ts 7 apps/newsletters-api/src/services/permissions/developer-profile-service.ts 13 apps/newsletters-api/src/services/permissions/index.ts 8 apps/newsletters-api/src/services/storage/inMemoryStorageInstance.ts 136 apps/newsletters-api/src/services/storage/index.ts 63 apps/newsletters-api/src/services/storage/s3-client-factory.ts 16 apps/newsletters-api/src/services/storage/s3ParamsFromEnv.ts 16 apps/newsletters-api/src/services/storage/s3StorageInstance.ts 25 apps/newsletters-ui/index.html 29 apps/newsletters-ui/src/app-theme.ts 47 apps/newsletters-ui/src/app/ContentWrapper.tsx 16 apps/newsletters-ui/src/app/DefaultError.tsx 20 apps/newsletters-ui/src/app/ErrorPage.tsx 31 apps/newsletters-ui/src/app/Layout.tsx 31 apps/newsletters-ui/src/app/api-requests/fetch-api-data.ts 30 apps/newsletters-ui/src/app/api-requests/make-wizard-step-request.ts 17 apps/newsletters-ui/src/app/api-requests/replace-newsletter.ts 18 apps/newsletters-ui/src/app/api-requests/request-newsletter-edit.ts 18 apps/newsletters-ui/src/app/api-requests/request-notification.ts 17 apps/newsletters-ui/src/app/api-requests/requestDraftDeletion.ts 33 apps/newsletters-ui/src/app/components/Cell.tsx 47 apps/newsletters-ui/src/app/components/CircularProgressWithLabel.tsx 31 apps/newsletters-ui/src/app/components/ColumnData.tsx 6 apps/newsletters-ui/src/app/components/ColumnHeader.tsx 14 apps/newsletters-ui/src/app/components/ColumnVisibility.tsx 12 apps/newsletters-ui/src/app/components/DefaultStyles.tsx 28 apps/newsletters-ui/src/app/components/DeleteDraftButton.tsx 89 apps/newsletters-ui/src/app/components/DetailAccordian.tsx 29 apps/newsletters-ui/src/app/components/DraftDetails.tsx 129 apps/newsletters-ui/src/app/components/DraftsTable.tsx 158 apps/newsletters-ui/src/app/components/EditDraftDialog.tsx 27 apps/newsletters-ui/src/app/components/EditDraftNavigateButtons.tsx 20 apps/newsletters-ui/src/app/components/EditNewsletterForm.tsx 130 apps/newsletters-ui/src/app/components/ExternalLinkButton.tsx 15 apps/newsletters-ui/src/app/components/FooterContents.tsx 9 apps/newsletters-ui/src/app/components/GeneratedCodeDataPoint.tsx 122 apps/newsletters-ui/src/app/components/GeneratedDataPoint.tsx 79 apps/newsletters-ui/src/app/components/GlobalFilter.tsx 19 apps/newsletters-ui/src/app/components/HealthCheck.tsx 31 apps/newsletters-ui/src/app/components/HomeMenu.tsx 124 apps/newsletters-ui/src/app/components/Illustration.tsx 42 apps/newsletters-ui/src/app/components/JsonEditor.tsx 196 apps/newsletters-ui/src/app/components/MainNav.tsx 143 apps/newsletters-ui/src/app/components/MarkdownView.tsx 46 apps/newsletters-ui/src/app/components/NavigateButton.tsx 28 apps/newsletters-ui/src/app/components/NavigateFab.tsx 28 apps/newsletters-ui/src/app/components/NewsletterDataDetails.tsx 157 apps/newsletters-ui/src/app/components/NewsletterJsonEdit.tsx 56 apps/newsletters-ui/src/app/components/NewslettersBrandHeading.tsx 29 apps/newsletters-ui/src/app/components/NewslettersTable.tsx 81 apps/newsletters-ui/src/app/components/RawDataDialog.tsx 110 apps/newsletters-ui/src/app/components/RenderingOptionsForm.tsx 296 apps/newsletters-ui/src/app/components/RenderingPreviewPage.tsx 37 apps/newsletters-ui/src/app/components/SchemaForm/ArrayInput.tsx 89 apps/newsletters-ui/src/app/components/SchemaForm/BooleanInput.tsx 27 apps/newsletters-ui/src/app/components/SchemaForm/DateInput.tsx 33 apps/newsletters-ui/src/app/components/SchemaForm/FieldWrapper.tsx 19 apps/newsletters-ui/src/app/components/SchemaForm/NumberInput.tsx 35 apps/newsletters-ui/src/app/components/SchemaForm/OptionalNumberInput.tsx 63 apps/newsletters-ui/src/app/components/SchemaForm/RadioSelectInput.tsx 55 apps/newsletters-ui/src/app/components/SchemaForm/RecordInput.tsx 35 apps/newsletters-ui/src/app/components/SchemaForm/SchemaArrayInput.tsx 19 apps/newsletters-ui/src/app/components/SchemaForm/SchemaField.tsx 251 apps/newsletters-ui/src/app/components/SchemaForm/SchemaRecordArrayInput.tsx 125 apps/newsletters-ui/src/app/components/SchemaForm/SchemaRecordInput.tsx 85 apps/newsletters-ui/src/app/components/SchemaForm/SelectInput.tsx 40 apps/newsletters-ui/src/app/components/SchemaForm/StringInput.tsx 30 apps/newsletters-ui/src/app/components/SchemaForm/index.tsx 73 apps/newsletters-ui/src/app/components/SchemaForm/util.ts 128 apps/newsletters-ui/src/app/components/ScrollingMenuButton.tsx 77 apps/newsletters-ui/src/app/components/SimpleForm.tsx 134 apps/newsletters-ui/src/app/components/SkipConfirmationDialog.tsx 47 apps/newsletters-ui/src/app/components/StateEditForm.tsx 42 apps/newsletters-ui/src/app/components/StepNav.tsx 182 apps/newsletters-ui/src/app/components/Table.tsx 64 apps/newsletters-ui/src/app/components/TemplateList.tsx 69 apps/newsletters-ui/src/app/components/TemplatePreview.tsx 80 apps/newsletters-ui/src/app/components/TemplatePreviewLoader.tsx 95 apps/newsletters-ui/src/app/components/Wizard.tsx 255 apps/newsletters-ui/src/app/components/WizardActionButton.tsx 21 apps/newsletters-ui/src/app/components/WizardContainer.tsx 15 apps/newsletters-ui/src/app/components/ZodIssuesReport.tsx 54 apps/newsletters-ui/src/app/components/edition-layouts/GroupControl.tsx 73 apps/newsletters-ui/src/app/components/edition-layouts/LayoutDisplay.tsx 36 apps/newsletters-ui/src/app/components/edition-layouts/LayoutEditor.tsx 89 apps/newsletters-ui/src/app/components/edition-layouts/LayoutsMapDisplay.tsx 99 apps/newsletters-ui/src/app/components/edition-layouts/MissingLayoutContent.tsx 20 apps/newsletters-ui/src/app/components/edition-layouts/NewsletterCard.tsx 118 apps/newsletters-ui/src/app/components/edition-layouts/NewsletterPicker.tsx 48 apps/newsletters-ui/src/app/components/higher-level-data-point.tsx 47 apps/newsletters-ui/src/app/components/views/DraftDetailView.tsx 18 apps/newsletters-ui/src/app/components/views/DraftListView.tsx 43 apps/newsletters-ui/src/app/components/views/EditLayoutJsonView.tsx 33 apps/newsletters-ui/src/app/components/views/EditLayoutView.tsx 31 apps/newsletters-ui/src/app/components/views/LayoutMapView.tsx 21 apps/newsletters-ui/src/app/components/views/LayoutView.tsx 39 apps/newsletters-ui/src/app/components/views/NewsletterDetailView.tsx 26 apps/newsletters-ui/src/app/components/views/NewsletterEditView.tsx 22 apps/newsletters-ui/src/app/components/views/NewsletterJsonEditView.tsx 18 apps/newsletters-ui/src/app/components/views/NewslettersListView.tsx 17 apps/newsletters-ui/src/app/components/views/PreviewView.tsx 25 apps/newsletters-ui/src/app/components/views/RenderingOptionsView.tsx 22 apps/newsletters-ui/src/app/components/views/TemplateListView.tsx 10 apps/newsletters-ui/src/app/get-draft-edit-wizard-links.ts 25 apps/newsletters-ui/src/app/hooks/user-hooks.ts 36 apps/newsletters-ui/src/app/lib/modify-layout.ts 66 apps/newsletters-ui/src/app/loaders/layouts.ts 33 apps/newsletters-ui/src/app/loaders/newsletters.ts 36 apps/newsletters-ui/src/app/loaders/rendering-templates.ts 14 apps/newsletters-ui/src/app/render-newsletter-properties.tsx 50 apps/newsletters-ui/src/app/routes/drafts.tsx 41 apps/newsletters-ui/src/app/routes/home.tsx 29 apps/newsletters-ui/src/app/routes/launched.tsx 43 apps/newsletters-ui/src/app/routes/layouts.tsx 30 apps/newsletters-ui/src/app/services/authorisation.ts 11 apps/newsletters-ui/src/app/styles.ts 11 apps/newsletters-ui/src/app/util.ts 12 apps/newsletters-ui/src/fonts.ts 171 apps/newsletters-ui/src/main.tsx 30 apps/newsletters-ui/vite.config.ts 33 cdk/lib/newsletters-tool.ts 269 libs/email-builder/src/fixtures/sample-newsletters.ts 39 libs/email-builder/src/index.ts 2 libs/email-builder/src/lib/build-send-email-command.ts 28 libs/email-builder/src/lib/components/MessageFormat.tsx 23 libs/email-builder/src/lib/components/NewDraftMessage.tsx 40 libs/email-builder/src/lib/components/NewLaunchMessage.tsx 37 libs/email-builder/src/lib/components/NewsletterPropertyTable.tsx 55 libs/email-builder/src/lib/components/RenderTagAndSignUpPageCreationMessage.tsx 127 libs/email-builder/src/lib/components/RequestBrazeSetUpMessage.tsx 69 libs/email-builder/src/lib/components/RequestBrazeUpdateMessage.tsx 63 libs/email-builder/src/lib/components/UserDescription.tsx 15 libs/email-builder/src/lib/message-config.ts 64 libs/email-builder/src/lib/messages/index.ts 4 libs/email-builder/src/lib/messages/new-draft-message.ts 25 libs/email-builder/src/lib/messages/newsletter-launched-message.ts 25 libs/email-builder/src/lib/messages/request-braze-setup-message.ts 24 libs/email-builder/src/lib/messages/request-braze-update-message.ts 24 libs/email-builder/src/lib/messages/request-tags-and-signup-page-message.ts 30 libs/email-builder/src/lib/service.ts 71 libs/email-builder/src/lib/types.ts 38 libs/email-builder/src/lib/util.ts 10 libs/newsletter-workflow/src/index.ts 1 libs/newsletter-workflow/src/lib/check-input-is-unique.ts 61 libs/newsletter-workflow/src/lib/executeCreate.ts 81 libs/newsletter-workflow/src/lib/executeLaunch.ts 92 libs/newsletter-workflow/src/lib/executeModify.ts 92 libs/newsletter-workflow/src/lib/executeSkip.ts 46 libs/newsletter-workflow/src/lib/getDraftFromStorage.ts 33 libs/newsletter-workflow/src/lib/getInitialStateForLaunch.ts 115 libs/newsletter-workflow/src/lib/getValuesFromRecord.ts 13 libs/newsletter-workflow/src/lib/markdown-util.ts 18 libs/newsletter-workflow/src/lib/newsletter-workflow.ts 59 libs/newsletter-workflow/src/lib/regExPatterns.ts 16 libs/newsletter-workflow/src/lib/steps/launchNewsletter/brazeLayout.ts 77 libs/newsletter-workflow/src/lib/steps/launchNewsletter/cancelLayout.ts 11 libs/newsletter-workflow/src/lib/steps/launchNewsletter/doLaunchLayout.ts 37 libs/newsletter-workflow/src/lib/steps/launchNewsletter/editBrazeLayout.ts 48 libs/newsletter-workflow/src/lib/steps/launchNewsletter/editIdentityNameLayout.ts 46 libs/newsletter-workflow/src/lib/steps/launchNewsletter/emailCentralProductionLayout.ts 46 libs/newsletter-workflow/src/lib/steps/launchNewsletter/finishLayout.ts 34 libs/newsletter-workflow/src/lib/steps/launchNewsletter/identityNameLayout.ts 50 libs/newsletter-workflow/src/lib/steps/launchNewsletter/index.ts 24 libs/newsletter-workflow/src/lib/steps/launchNewsletter/isDataCompleteLayout.ts 85 libs/newsletter-workflow/src/lib/steps/launchNewsletter/launchNewsletterLayout.ts 39 libs/newsletter-workflow/src/lib/steps/launchNewsletter/noItem.ts 17 libs/newsletter-workflow/src/lib/steps/newsletterData/cancelLayout.ts 11 libs/newsletter-workflow/src/lib/steps/newsletterData/createDraftNewsletterLayout.ts 28 libs/newsletter-workflow/src/lib/steps/newsletterData/dateLayout.ts 54 libs/newsletter-workflow/src/lib/steps/newsletterData/editDraftNewsletterLayout.ts 31 libs/newsletter-workflow/src/lib/steps/newsletterData/finishLayout.ts 35 libs/newsletter-workflow/src/lib/steps/newsletterData/formSchemas.ts 124 libs/newsletter-workflow/src/lib/steps/newsletterData/index.ts 26 libs/newsletter-workflow/src/lib/steps/newsletterData/introLayout.ts 23 libs/newsletter-workflow/src/lib/steps/newsletterData/productionDetailsLayout.ts 66 libs/newsletter-workflow/src/lib/steps/newsletterData/promotionContentLayout.ts 66 libs/newsletter-workflow/src/lib/steps/newsletterData/tagsLayout.ts 81 libs/newsletter-workflow/src/lib/steps/newsletterData/targetingLayout.ts 54 libs/newsletter-workflow/src/lib/steps/newsletterData/thrashersLayout.ts 58 libs/newsletter-workflow/src/lib/steps/renderingOptions/cancelLayout.ts 11 libs/newsletter-workflow/src/lib/steps/renderingOptions/darkSectionLayout.ts 49 libs/newsletter-workflow/src/lib/steps/renderingOptions/finishLayout.ts 39 libs/newsletter-workflow/src/lib/steps/renderingOptions/footerLayout.ts 48 libs/newsletter-workflow/src/lib/steps/renderingOptions/imageLayout.ts 47 libs/newsletter-workflow/src/lib/steps/renderingOptions/index.ts 26 libs/newsletter-workflow/src/lib/steps/renderingOptions/linkListLayout.ts 50 libs/newsletter-workflow/src/lib/steps/renderingOptions/newsletterHeaderLayout.ts 55 libs/newsletter-workflow/src/lib/steps/renderingOptions/paletteOverrideLayout.ts 46 libs/newsletter-workflow/src/lib/steps/renderingOptions/podcastLayout.ts 50 libs/newsletter-workflow/src/lib/steps/renderingOptions/readMoreLayout.ts 51 libs/newsletter-workflow/src/lib/steps/renderingOptions/startLayout.ts 26 libs/newsletter-workflow/src/lib/util.ts 7 libs/newsletters-data-client/src/fixtures/newsletter-fixtures.ts 93 libs/newsletters-data-client/src/index.ts 26 libs/newsletters-data-client/src/lib/api-response-type.ts 10 libs/newsletters-data-client/src/lib/derive-newsletter-fields.ts 55 libs/newsletters-data-client/src/lib/draft-service/index.ts 21 libs/newsletters-data-client/src/lib/draft-storage/DraftStorage.ts 68 libs/newsletters-data-client/src/lib/draft-storage/InMemoryDraftStorage.ts 136 libs/newsletters-data-client/src/lib/draft-storage/S3DraftStorage/errorToResponse.ts 39 libs/newsletters-data-client/src/lib/draft-storage/S3DraftStorage/index.ts 246 libs/newsletters-data-client/src/lib/draft-storage/S3DraftStorage/objectToDraftWithId.ts 26 libs/newsletters-data-client/src/lib/draft-storage/S3DraftStorage/s3Functions.ts 54 libs/newsletters-data-client/src/lib/draft-storage/index.ts 3 libs/newsletters-data-client/src/lib/draft-to-newsletter.ts 102 libs/newsletters-data-client/src/lib/generate-braze-template.ts 38 libs/newsletters-data-client/src/lib/generic-s3-functions.ts 113 libs/newsletters-data-client/src/lib/json-undefined-null-conversions.ts 83 libs/newsletters-data-client/src/lib/launch-service/index.ts 84 libs/newsletters-data-client/src/lib/layout-storage/InMemoryLayoutStorage.ts 71 libs/newsletters-data-client/src/lib/layout-storage/LayoutStorage.ts 24 libs/newsletters-data-client/src/lib/layout-storage/S3LayoutStorage.ts 195 libs/newsletters-data-client/src/lib/layout-storage/index.ts 4 libs/newsletters-data-client/src/lib/layout-storage/objectToLayout.ts 25 libs/newsletters-data-client/src/lib/layout-storage/types.ts 19 libs/newsletters-data-client/src/lib/newsletter-storage/InMemoryNewsletterStorage.ts 202 libs/newsletters-data-client/src/lib/newsletter-storage/NewsletterStorage.ts 132 libs/newsletters-data-client/src/lib/newsletter-storage/index.ts 3 libs/newsletters-data-client/src/lib/newsletter-storage/objectToNewsletter.ts 23 libs/newsletters-data-client/src/lib/newsletter-storage/s3-functions.ts 109 libs/newsletters-data-client/src/lib/newsletter-storage/s3-newsletter-storage.ts 356 libs/newsletters-data-client/src/lib/newsletter-value-generators.ts 69 libs/newsletters-data-client/src/lib/schemas/data-collection-schema.ts 76 libs/newsletters-data-client/src/lib/schemas/draft-newsletter-data-type.ts 21 libs/newsletters-data-client/src/lib/schemas/email-embed-data-type.ts 11 libs/newsletters-data-client/src/lib/schemas/legacy-newsletter-type.ts 122 libs/newsletters-data-client/src/lib/schemas/meta-data-type.ts 55 libs/newsletters-data-client/src/lib/schemas/newsletter-data-type.ts 167 libs/newsletters-data-client/src/lib/schemas/rendering-options-data-type.ts 74 libs/newsletters-data-client/src/lib/schemas/theme-enum-data-type.ts 5 libs/newsletters-data-client/src/lib/storage-response-types.ts 16 libs/newsletters-data-client/src/lib/transformDataToLegacyNewsletter.ts 101 libs/newsletters-data-client/src/lib/transformWizardData.ts 177 libs/newsletters-data-client/src/lib/types.ts 12 libs/newsletters-data-client/src/lib/user-profile.ts 72 libs/newsletters-data-client/src/lib/wizard-button-type.ts 7 libs/newsletters-data-client/src/lib/zod-helpers/getEmptySchemaData.ts 66 libs/newsletters-data-client/src/lib/zod-helpers/getFieldKeyNames.ts 11 libs/newsletters-data-client/src/lib/zod-helpers/index.ts 6 libs/newsletters-data-client/src/lib/zod-helpers/isRecord.ts 4 libs/newsletters-data-client/src/lib/zod-helpers/recursiveUnwrap.ts 12 libs/newsletters-data-client/src/lib/zod-helpers/schema-helpers.ts 43 libs/newsletters-data-client/src/lib/zod-helpers/user-data-schema.ts 56 libs/newsletters-data-client/src/lib/zod-helpers/validation.ts 18 libs/state-machine/src/index.ts 8 libs/state-machine/src/lib/StateMachineError.ts 21 libs/state-machine/src/lib/getStartStep.ts 15 libs/state-machine/src/lib/getStepList.ts 52 libs/state-machine/src/lib/handleWizardRequest.ts 72 libs/state-machine/src/lib/makeResponse.ts 47 libs/state-machine/src/lib/resolve-step-status.ts 68 libs/state-machine/src/lib/setupInitialState.ts 48 libs/state-machine/src/lib/stateMachineButtonPressed.ts 108 libs/state-machine/src/lib/stateMachineSkipPressed.ts 73 libs/state-machine/src/lib/step-find-functions.ts 81 libs/state-machine/src/lib/types.ts 121 libs/state-machine/src/lib/utility.ts 39 libs/util/src/index.ts 2 libs/util/src/lib/config-service.ts 53 libs/util/src/lib/ssm-client-factory.ts 14 riff-raff.yaml 36 tools/scripts/deno/fetch-sample-data-fixtures.js 14 tools/scripts/deno/generate-newsletters.js 168