@digitaldefiance/express-suite-starter 2.3.4 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/src/generate-monorepo.d.ts.map +1 -1
  2. package/dist/src/generate-monorepo.js +7 -2
  3. package/dist/src/generate-monorepo.js.map +1 -1
  4. package/package.json +2 -1
  5. package/scaffolding/api/.env.example.mustache +52 -0
  6. package/scaffolding/api/src/assets/.gitkeep +0 -0
  7. package/scaffolding/api/src/main.ts.mustache +19 -0
  8. package/scaffolding/api/src/views/index.ejs +34 -0
  9. package/scaffolding/api-lib/src/index.ts +9 -0
  10. package/scaffolding/api-lib/src/lib/application.ts +35 -0
  11. package/scaffolding/api-lib/src/lib/constants.ts.mustache +10 -0
  12. package/scaffolding/api-lib/src/lib/documents/index.ts +1 -0
  13. package/scaffolding/api-lib/src/lib/documents/user.ts +17 -0
  14. package/scaffolding/api-lib/src/lib/environment.ts +52 -0
  15. package/scaffolding/api-lib/src/lib/interfaces/constants.ts +9 -0
  16. package/scaffolding/api-lib/src/lib/interfaces/environment-aws.ts +7 -0
  17. package/scaffolding/api-lib/src/lib/interfaces/environment.ts +9 -0
  18. package/scaffolding/api-lib/src/lib/middlewares.ts.mustache +113 -0
  19. package/scaffolding/api-lib/src/lib/models/email-token.ts +12 -0
  20. package/scaffolding/api-lib/src/lib/models/mnemonic.ts +12 -0
  21. package/scaffolding/api-lib/src/lib/models/role.ts +12 -0
  22. package/scaffolding/api-lib/src/lib/models/used-direct-login-token.ts +12 -0
  23. package/scaffolding/api-lib/src/lib/models/user-role.ts +12 -0
  24. package/scaffolding/api-lib/src/lib/models/user.ts +14 -0
  25. package/scaffolding/api-lib/src/lib/routers/api.ts +23 -0
  26. package/scaffolding/api-lib/src/lib/routers/app.ts +31 -0
  27. package/scaffolding/api-lib/src/lib/routers/index.ts +2 -0
  28. package/scaffolding/api-lib/src/lib/schemas/index.ts +2 -0
  29. package/scaffolding/api-lib/src/lib/schemas/schema.ts +53 -0
  30. package/scaffolding/api-lib/src/lib/schemas/user.ts +13 -0
  31. package/scaffolding/api-lib/src/lib/services/email.ts +109 -0
  32. package/scaffolding/api-lib/src/lib/services/index.ts +1 -0
  33. package/scaffolding/api-lib/src/lib/shared-types.ts +172 -0
  34. package/scaffolding/devcontainer-mongodb/.devcontainer/.env.example +3 -0
  35. package/scaffolding/devcontainer-mongodb/.devcontainer/Dockerfile +6 -0
  36. package/scaffolding/devcontainer-mongodb/.devcontainer/devcontainer.json.mustache +31 -0
  37. package/scaffolding/devcontainer-mongodb/.devcontainer/docker-compose.yml +31 -0
  38. package/scaffolding/devcontainer-mongodb/.devcontainer/load-env.sh +20 -0
  39. package/scaffolding/devcontainer-mongodb/.devcontainer/post-create.sh.hbs +54 -0
  40. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/.env.example +14 -0
  41. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/Dockerfile +38 -0
  42. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/Mongo.Dockerfile +24 -0
  43. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/devcontainer.json +69 -0
  44. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/docker-compose.yml +66 -0
  45. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/entrypoint.sh +29 -0
  46. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/load-env.sh +20 -0
  47. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/mongodb_entrypoint.sh +124 -0
  48. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/mongodb_healthcheck.sh +36 -0
  49. package/scaffolding/devcontainer-mongodb-replicaset/.devcontainer/post-create.sh.hbs +54 -0
  50. package/scaffolding/devcontainer-simple/.devcontainer/.env.example +4 -0
  51. package/scaffolding/devcontainer-simple/.devcontainer/devcontainer.json.mustache +60 -0
  52. package/scaffolding/devcontainer-simple/.devcontainer/post-create.sh.hbs +72 -0
  53. package/scaffolding/inituserdb/.env.example.mustache +9 -0
  54. package/scaffolding/inituserdb/src/main.ts.mustache +178 -0
  55. package/scaffolding/lib/src/index.ts.mustache +6 -0
  56. package/scaffolding/lib/src/lib/constants.ts.mustache +15 -0
  57. package/scaffolding/lib/src/lib/ecies-config.ts +10 -0
  58. package/scaffolding/lib/src/lib/enumerations/{{workspaceName}}-string-key.ts.mustache +5 -0
  59. package/scaffolding/lib/src/lib/i18n-setup.ts.mustache +99 -0
  60. package/scaffolding/lib/src/lib/interfaces/constants.ts +13 -0
  61. package/scaffolding/lib/src/lib/strings-collection.ts.mustache +45 -0
  62. package/scaffolding/react/src/app/app.tsx.mustache +170 -0
  63. package/scaffolding/react/src/app/menus/extraMenu.tsx +20 -0
  64. package/scaffolding/react/src/app/menus/index.ts +5 -0
  65. package/scaffolding/react/src/app/pages/SplashPage.tsx +60 -0
  66. package/scaffolding/react/src/app/theme.tsx.mustache +91 -0
  67. package/scaffolding/react/src/assets/albatross.ico +0 -0
  68. package/scaffolding/react/src/assets/albatross.png +0 -0
  69. package/scaffolding/react/src/assets/albatross.svg +108 -0
  70. package/scaffolding/react/src/assets/fonts/allroundgothic-xlig.otf +0 -0
  71. package/scaffolding/react/src/assets/fonts/allroundgothic-xlig.ttf +0 -0
  72. package/scaffolding/react/src/assets/fonts/allroundgothic-xlig.woff +0 -0
  73. package/scaffolding/react/src/assets/fonts/allroundgothic-xlig.woff2 +0 -0
  74. package/scaffolding/react/src/assets/gen-by-albatross.png +0 -0
  75. package/scaffolding/react/src/assets/gen-by-albatross.svg +124 -0
  76. package/scaffolding/react/src/config/ecies.ts +10 -0
  77. package/scaffolding/react/src/config/runtime-config.ts +25 -0
  78. package/scaffolding/react/src/environments/environment.prod.ts.mustache +16 -0
  79. package/scaffolding/react/src/environments/environment.ts +15 -0
  80. package/scaffolding/react/src/interfaces/environment.ts +5 -0
  81. package/scaffolding/react/src/main.tsx +22 -0
  82. package/scaffolding/react/src/styles.scss +103 -0
  83. package/scaffolding/react/src/test-setup.ts +1 -0
  84. package/scaffolding/react-lib/src/index.ts +6 -0
  85. package/scaffolding/react-lib/src/theme/theme.tsx +67 -0
  86. package/scaffolding/root/.github/dependabot.yml +11 -0
  87. package/scaffolding/root/.github/workflows/ci.yml +44 -0
  88. package/scaffolding/root/.vscode/extensions.json +9 -0
  89. package/scaffolding/root/DEPLOYMENT.md +104 -0
  90. package/scaffolding/root/do-yarn.sh +148 -0
  91. package/scaffolding/root/ensure-git-globals.sh +30 -0
  92. package/scaffolding/root/eslint.config.mjs +70 -0
  93. package/scaffolding/root/list-scripts.sh +12 -0
  94. package/scaffolding/root/npm-install-globals.sh +5 -0
  95. package/scaffolding/root/nuke-node-modules.sh +23 -0
  96. package/scaffolding/root/recover-yarn.sh +37 -0
  97. package/scaffolding/root/reset.sh.mustache +25 -0
  98. package/scaffolding/root/setup-nvm.sh +15 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generate-monorepo.d.ts","sourceRoot":"","sources":["../../src/generate-monorepo.ts"],"names":[],"mappings":"AA8BA,iBAAe,IAAI,kBA0rDlB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"generate-monorepo.d.ts","sourceRoot":"","sources":["../../src/generate-monorepo.ts"],"names":[],"mappings":"AA8BA,iBAAe,IAAI,kBAisDlB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1124,8 +1124,13 @@ export {};
1124
1124
  else if (devcontainerChoice === 'simple') {
1125
1125
  const devcontainerEnvExamplePath = path.join(monorepoPath, '.devcontainer', '.env.example');
1126
1126
  const devcontainerEnvPath = path.join(monorepoPath, '.devcontainer', '.env');
1127
- fs.copyFileSync(devcontainerEnvExamplePath, devcontainerEnvPath);
1128
- logger_1.Logger.info((0, i18n_1.getStarterTranslation)(i18n_1.StarterStringKey.ENV_CREATED_DEVCONTAINER_FROM_EXAMPLE));
1127
+ if (fs.existsSync(devcontainerEnvExamplePath)) {
1128
+ fs.copyFileSync(devcontainerEnvExamplePath, devcontainerEnvPath);
1129
+ logger_1.Logger.info((0, i18n_1.getStarterTranslation)(i18n_1.StarterStringKey.ENV_CREATED_DEVCONTAINER_FROM_EXAMPLE));
1130
+ }
1131
+ else {
1132
+ logger_1.Logger.warning(`Devcontainer .env.example not found, skipping .env creation for simple devcontainer`);
1133
+ }
1129
1134
  }
1130
1135
  },
1131
1136
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generate-monorepo.js","sourceRoot":"","sources":["../../src/generate-monorepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-monorepo.js","sourceRoot":"","sources":["../../src/generate-monorepo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/express-suite-starter",
3
- "version": "2.3.4",
3
+ "version": "2.3.6",
4
4
  "license": "MIT",
5
5
  "bin": {
6
6
  "create-express-suite": "./dist/src/cli.js"
@@ -8,6 +8,7 @@
8
8
  "files": [
9
9
  "dist",
10
10
  "templates",
11
+ "scaffolding",
11
12
  "config",
12
13
  "README.md"
13
14
  ],
@@ -0,0 +1,52 @@
1
+ # set to test db name to use an in-memory database for development, supercedes MONGO_URI if set
2
+ # leave empty to use MONGO_URI instead
3
+ DEV_DATABASE={{devDatabase}}
4
+ # mongo-uri to connect to (.devcontainer mongo, or production mongo uri)
5
+ MONGO_URI=mongodb://admin:{{password}}@db:27017/{{prefix}}?authSource=admin&directConnection=true
6
+ # requires a running mongo replica set for transactions to work
7
+ MONGO_USE_TRANSACTIONS=false
8
+ # SES credentials for email sending
9
+ AWS_ACCESS_KEY_ID=
10
+ AWS_SECRET_ACCESS_KEY=
11
+ AWS_REGION=us-west-2
12
+ # 64 character hex string
13
+ JWT_SECRET={{jwtSecret}}
14
+ # /workspaces presumes .devcontainer setup, change as needed
15
+ API_DIST_DIR=/workspaces/{{workspaceName}}/dist/{{prefix}}-api
16
+ REACT_DIST_DIR=/workspaces/{{workspaceName}}/dist/{{prefix}}-react
17
+ DEBUG=true
18
+ DETAILED_DEBUG=true
19
+ # Admin and test credentials
20
+ ADMIN_ID=""
21
+ ADMIN_MNEMONIC=""
22
+ ADMIN_ROLE_ID=""
23
+ ADMIN_USER_ROLE_ID=""
24
+ ADMIN_PASSWORD=""
25
+ MEMBER_ID=""
26
+ MEMBER_MNEMONIC=""
27
+ MEMBER_ROLE_ID=""
28
+ MEMBER_PASSWORD=""
29
+ MEMBER_USER_ROLE_ID=""
30
+ # System credentials used to sign system messages
31
+ SYSTEM_ID=""
32
+ SYSTEM_MNEMONIC=""
33
+ SYSTEM_PUBLIC_KEY=""
34
+ SYSTEM_ROLE_ID=""
35
+ SYSTEM_PASSWORD=""
36
+ SYSTEM_USER_ROLE_ID=""
37
+ # 64 character hex string
38
+ MNEMONIC_ENCRYPTION_KEY={{mnemonicEncryptionKey}}
39
+ # 64 character hex string
40
+ MNEMONIC_HMAC_SECRET={{mnemonicHmacSecret}}
41
+ HTTPS_DEV_CERT_DIR=/workspaces/{{workspaceName}}
42
+ HTTPS_DEV_PORT=3443
43
+ MONGO_TRANSACTION_RETRY_BASE_DELAY=75
44
+ MONGO_TRANSACTION_TIMEOUT=60000
45
+ MONGO_TRANSACTION_LOCK_REQUEST_TIMEOUT=30000
46
+ MONGO_MAX_POOL_SIZE=10
47
+ MONGO_MIN_POOL_SIZE=2
48
+ MONGO_MAX_IDLE_TIME_MS=30000
49
+ MONGO_SERVER_SELECTION_TIMEOUT_MS=5000
50
+ MONGO_SOCKET_TIMEOUT_MS=45000
51
+ MONGO_RETRY_WRITES=true
52
+ MONGO_RETRY_READS=true
File without changes
@@ -0,0 +1,19 @@
1
+ import { App, Environment, Constants } from '{{namespace}}/api-lib';
2
+ import { DatabaseInitializationService } from '@digitaldefiance/node-express-suite';
3
+ import { GlobalActiveContext, CoreLanguageCode, IActiveContext } from '@digitaldefiance/i18n-lib';
4
+ import { join } from 'path';
5
+
6
+ const env: Environment = new Environment(
7
+ join(App.distDir, '{{prefix}}-api', '.env'),
8
+ );
9
+ const app: App = new App(
10
+ env,
11
+ DatabaseInitializationService.initUserDb.bind(DatabaseInitializationService),
12
+ DatabaseInitializationService.serverInitResultHash.bind(DatabaseInitializationService),
13
+ Constants,
14
+ );
15
+ const context = GlobalActiveContext.getInstance<CoreLanguageCode, IActiveContext<CoreLanguageCode>>();
16
+ context.languageContextSpace = 'admin';
17
+ (async () => {
18
+ await app.start();
19
+ })();
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><%= title %></title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <link rel="icon" type="image/x-icon" href="/assets/favicon.ico" />
8
+ <script nonce="<%= cspNonce %>"></script>
9
+ <base href="<%= baseHref %>" />
10
+
11
+ <script nonce="<%= cspNonce %>">
12
+ window.APP_CONFIG = {
13
+ hostname: '<%= hostname %>',
14
+ siteTitle: '<%= title %>',
15
+ server: '<%= server %>',
16
+ };
17
+ </script>
18
+ <% if (cssFile) { %>
19
+ <link rel="stylesheet" href="<%= cssFile %>" />
20
+ <% } %>
21
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
22
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap"
25
+ rel="stylesheet"
26
+ />
27
+ </head>
28
+ <body>
29
+ <div id="root"></div>
30
+ <% if (jsFile) { %>
31
+ <script nonce="<%= cspNonce %>" type="module" src="<%= jsFile %>"></script>
32
+ <% } %>
33
+ </body>
34
+ </html>
@@ -0,0 +1,9 @@
1
+ export * from './lib/application';
2
+ export * from './lib/constants';
3
+ export * from './lib/environment';
4
+ export * from './lib/interfaces/constants';
5
+ export * from './lib/interfaces/environment';
6
+ export * from './lib/documents';
7
+ export * from './lib/routers';
8
+ export * from './lib/schemas';
9
+ export * from './lib/services';
@@ -0,0 +1,35 @@
1
+ import { Application, BaseApplication, IFailableResult, IServerInitResult, DummyEmailService, emailServiceRegistry, BaseRouter, IApplication } from '@digitaldefiance/node-express-suite';
2
+ import { Environment } from './environment';
3
+ import { IConstants } from './interfaces/constants';
4
+ import { Constants } from './constants';
5
+ import { ApiRouter } from './routers/api';
6
+ import { AppRouter } from './routers/app';
7
+ import { getSchemaMap } from './schemas/schema';
8
+ import { initMiddleware } from './middlewares';
9
+ import { EmailService } from './services/email';
10
+
11
+ export class App<TInitResults extends IServerInitResult = IServerInitResult, TConstants extends IConstants = IConstants> extends Application<TInitResults, any, Environment, TConstants, any> {
12
+ constructor(
13
+ environment: Environment,
14
+ databaseInitFunction: (application: BaseApplication<any, TInitResults>) => Promise<IFailableResult<TInitResults>>,
15
+ initResultHashFunction: (initResults: TInitResults) => string,
16
+ constants: TConstants = Constants as TConstants,
17
+ ) {
18
+ super(
19
+ environment,
20
+ (app: IApplication): BaseRouter<IApplication> => new ApiRouter(app),
21
+ getSchemaMap,
22
+ databaseInitFunction,
23
+ initResultHashFunction,
24
+ undefined, // Default CSP config
25
+ constants,
26
+ (apiRouter: BaseRouter<IApplication>): AppRouter => new AppRouter(apiRouter),
27
+ initMiddleware,
28
+ );
29
+
30
+ // Register the DummyEmailService - users should replace this with their own email service
31
+ const emailService = new DummyEmailService(this);
32
+ //const emailService = new EmailService(this);
33
+ emailServiceRegistry.setService(emailService);
34
+ }
35
+ }
@@ -0,0 +1,10 @@
1
+ import { IConstants } from './interfaces/constants';
2
+ import { createExpressConstants } from '@digitaldefiance/node-express-suite';
3
+
4
+ export const Constants: IConstants = {
5
+ ...createExpressConstants('{{hostname}}', '{{hostname}}'),
6
+ Site: '{{workspaceName}}' as const,
7
+ SiteTagline: 'Your tagline here' as const,
8
+ SiteDescription: 'Your description here' as const,
9
+ PasswordRegex: /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/,
10
+ };
@@ -0,0 +1 @@
1
+ export type { IUserDocument } from './user';
@@ -0,0 +1,17 @@
1
+ import { Types } from '@digitaldefiance/mongoose-types';
2
+ import { AccountStatus, IUserBase } from '@digitaldefiance/suite-core-lib';
3
+ import { IBaseDocument } from '@digitaldefiance/node-express-suite';
4
+ import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
5
+
6
+ /**
7
+ * Composite interface for user collection documents
8
+ */
9
+ export interface IUserDocument<I = Types.ObjectId, D extends Date = Date, S extends string = CoreLanguageCode, A extends AccountStatus = AccountStatus> extends IBaseDocument<
10
+ IUserBase<
11
+ I,
12
+ D,
13
+ S,
14
+ A
15
+ >
16
+ > {
17
+ }
@@ -0,0 +1,52 @@
1
+ import { SecureString } from '@digitaldefiance/ecies-lib';
2
+ import { Environment as BaseEnvironment, emailServiceRegistry } from '@digitaldefiance/node-express-suite';
3
+ import { IEnvironment } from './interfaces/environment';
4
+ import { IEnvironmentAws } from './interfaces/environment-aws';
5
+ import { Constants } from './constants';
6
+ import { getSuiteCoreTranslation, SuiteCoreStringKey } from '@digitaldefiance/suite-core-lib';
7
+ import { EmailService } from './services/email';
8
+
9
+ export class Environment extends BaseEnvironment implements IEnvironment {
10
+ private _aws: IEnvironmentAws;
11
+
12
+ constructor(path?: string, initialization = false, override = true) {
13
+ super(path, initialization, override, Constants);
14
+ const envObj = this.getObject();
15
+
16
+ this._aws = {
17
+ accessKeyId: new SecureString((envObj as any)['AWS_ACCESS_KEY_ID'] ?? ''),
18
+ secretAccessKey: new SecureString((envObj as any)['AWS_SECRET_ACCESS_KEY'] ?? ''),
19
+ region: (envObj as any)['AWS_REGION'] ?? 'us-west-2',
20
+ };
21
+
22
+ if (process.env['NODE_ENV'] !== 'test' &&
23
+ process.env['NODE_ENV'] !== 'development' &&
24
+ emailServiceRegistry.isServiceType(EmailService) && // only enforce if real EmailService is used
25
+ this._aws.accessKeyId.length === 0) {
26
+ throw new Error(
27
+ getSuiteCoreTranslation(SuiteCoreStringKey.Admin_EnvNotSetTemplate, {
28
+ variable: 'AWS_ACCESS_KEY_ID',
29
+ }),
30
+ );
31
+ }
32
+ if (process.env['NODE_ENV'] !== 'test' &&
33
+ process.env['NODE_ENV'] !== 'development' &&
34
+ emailServiceRegistry.isServiceType(EmailService) && // only enforce if real EmailService is used
35
+ this._aws.secretAccessKey.length === 0) {
36
+ throw new Error(
37
+ getSuiteCoreTranslation(SuiteCoreStringKey.Admin_EnvNotSetTemplate, {
38
+ variable: 'AWS_SECRET_ACCESS_KEY',
39
+ }),
40
+ );
41
+ }
42
+ if (!this._aws.region) {
43
+ throw new Error(
44
+ getSuiteCoreTranslation(SuiteCoreStringKey.Admin_EnvNotSetTemplate, { variable: 'AWS_REGION' }),
45
+ );
46
+ }
47
+ }
48
+
49
+ public get aws(): IEnvironmentAws {
50
+ return this._aws;
51
+ }
52
+ }
@@ -0,0 +1,9 @@
1
+ import { IConstants as IBaseConstants } from '@digitaldefiance/node-express-suite';
2
+
3
+ export interface IConstants extends IBaseConstants {
4
+ readonly Site: string;
5
+ readonly SiteTagline: string;
6
+ readonly SiteDescription: string;
7
+ readonly SiteHostname: string;
8
+ readonly PasswordRegex: RegExp;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { SecureString } from '@digitaldefiance/ecies-lib';
2
+
3
+ export interface IEnvironmentAws {
4
+ accessKeyId: SecureString;
5
+ secretAccessKey: SecureString;
6
+ region: string;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { IEnvironment as IBaseEnvironment } from '@digitaldefiance/node-express-suite';
2
+ import { IEnvironmentAws } from './environment-aws';
3
+
4
+ export interface IEnvironment extends IBaseEnvironment {
5
+ /**
6
+ * AWS configuration
7
+ */
8
+ aws: IEnvironmentAws;
9
+ }
@@ -0,0 +1,113 @@
1
+ import { AppConstants } from '{{namespace}}/lib';
2
+ import cors from 'cors';
3
+ import { randomBytes } from 'crypto';
4
+ import {
5
+ Application,
6
+ json,
7
+ NextFunction,
8
+ Request,
9
+ Response,
10
+ urlencoded,
11
+ } from 'express';
12
+ import helmet from 'helmet';
13
+ import { IncomingMessage, ServerResponse } from 'http';
14
+
15
+ /**
16
+ * CORS whitelist
17
+ */
18
+ const corsWhitelist = [
19
+ /^https?:\/\/localhost:(3000|3443|4200)$/,
20
+ new RegExp(
21
+ `^https?:\\/\\/${AppConstants.SiteHostname.replace(
22
+ /[.*+?^${}()|[\]\\]/g,
23
+ '\\$&'
24
+ )}$`
25
+ ),
26
+ ];
27
+
28
+ /**
29
+ * CORS options delegate
30
+ * @param req - CORS request
31
+ * @param callback - Callback function
32
+ */
33
+ const corsOptionsDelegate = (
34
+ req: cors.CorsRequest,
35
+ callback: (
36
+ error: Error | null,
37
+ options: cors.CorsOptions | undefined,
38
+ ) => void,
39
+ ) => {
40
+ let corsOptions: cors.CorsOptions;
41
+ const origin = req.headers.origin;
42
+ if (
43
+ origin &&
44
+ corsWhitelist.find((w) => {
45
+ if (w instanceof RegExp) {
46
+ return w.test(origin);
47
+ } else {
48
+ return w === origin;
49
+ }
50
+ })
51
+ ) {
52
+ corsOptions = { origin: true };
53
+ } else {
54
+ corsOptions = { origin: false };
55
+ }
56
+ callback(null, corsOptions);
57
+ };
58
+
59
+ /**
60
+ * Initialize the middleware
61
+ * @param app - Express application
62
+ */
63
+ export const initMiddleware = (app: Application): void => {
64
+ // Helmet helps you secure your Express apps by setting various HTTP headers
65
+ // CSP nonce
66
+ app.use((req: Request, res: Response, next: NextFunction) => {
67
+ res.locals['cspNonce'] = randomBytes(32).toString('hex');
68
+ next();
69
+ });
70
+ app.use(
71
+ helmet({
72
+ contentSecurityPolicy: {
73
+ directives: {
74
+ defaultSrc: ["'self'"],
75
+ imgSrc: ["'self'", 'https://flagcdn.com', 'data:', 'blob:'],
76
+ connectSrc: [
77
+ "'self'",
78
+ 'http://localhost:3000',
79
+ 'https://localhost:3000',
80
+ 'http://localhost:4200',
81
+ 'https://localhost:4200',
82
+ 'https://localhost:3443',
83
+ `http://${AppConstants.SiteHostname}`,
84
+ `https://${AppConstants.SiteHostname}`,
85
+ ],
86
+ scriptSrc: [
87
+ "'self'",
88
+ //"'unsafe-inline'",
89
+ "'strict-dynamic'",
90
+ (req: IncomingMessage, res: ServerResponse) =>
91
+ `'nonce-${(res as Response).locals['cspNonce']}'`,
92
+ ],
93
+ styleSrc: [
94
+ "'self'",
95
+ "'unsafe-inline'",
96
+ 'https://fonts.googleapis.com',
97
+ ],
98
+ fontSrc: [
99
+ "'self'",
100
+ 'https://fonts.gstatic.com',
101
+ ],
102
+ frameSrc: ["'self'"],
103
+ },
104
+ },
105
+ }),
106
+ );
107
+ // Enable CORS
108
+ app.use(cors(corsOptionsDelegate));
109
+ // Parse incoming requests with JSON payloads
110
+ app.use(json());
111
+ // Parse incoming requests with urlencoded payloads
112
+ app.use(urlencoded({ extended: true }));
113
+ }
@@ -0,0 +1,12 @@
1
+ import { BaseModelName, SchemaCollection, IEmailTokenDocument, EmailTokenSchema } from '@digitaldefiance/node-express-suite';
2
+ import { Connection } from '@digitaldefiance/mongoose-types';
3
+
4
+ export function EmailTokenModel(connection: Connection) {
5
+ return connection.model<IEmailTokenDocument>(
6
+ BaseModelName.EmailToken,
7
+ EmailTokenSchema,
8
+ SchemaCollection.EmailToken,
9
+ );
10
+ }
11
+
12
+ export default EmailTokenModel;