@ask-ell/back-end 0.0.12 → 0.1.0

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 (88) hide show
  1. package/.spec.swcrc +22 -0
  2. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  3. package/eslint.config.mjs +22 -0
  4. package/jest.config.ts +21 -0
  5. package/package.json +16 -17
  6. package/project.json +29 -0
  7. package/src/add-ons/add-on.interface.ts +5 -0
  8. package/src/add-ons/add-on.wrapper.ts +36 -0
  9. package/src/add-ons/implementations/security/security.add-on.ts +18 -0
  10. package/src/add-ons/implementations/sentry/{sentry.add-on.interface.d.ts → sentry.add-on.interface.ts} +5 -3
  11. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.ts +5 -0
  12. package/src/add-ons/implementations/sentry/sentry.add-on.ts +25 -0
  13. package/src/add-ons/implementations/swagger/{swagger.add-on.interface.d.ts → swagger.add-on.interface.ts} +4 -3
  14. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.ts +6 -0
  15. package/src/add-ons/implementations/swagger/swagger.add-on.ts +43 -0
  16. package/src/add-ons/implementations/swagger/types.ts +1 -0
  17. package/src/add-ons/index.ts +1 -0
  18. package/src/add-ons/{types.d.ts → types.ts} +2 -2
  19. package/src/application.base.ts +15 -0
  20. package/src/{index.d.ts → index.ts} +3 -1
  21. package/src/keyv.store.adapter.factory.ts +37 -0
  22. package/src/requirement.module.ts +57 -0
  23. package/src/scripts/{index.d.ts → index.ts} +0 -1
  24. package/src/scripts/{move-keyv-data.script.js → move-keyv-data.script.ts} +32 -22
  25. package/src/secrets/docker.secret.getter.ts +8 -0
  26. package/src/secrets/file.secret.getter.ts +24 -0
  27. package/src/secrets/index.ts +2 -0
  28. package/src/secrets/local.secret.getter.ts +8 -0
  29. package/src/secrets/types.ts +1 -0
  30. package/src/utils/index.ts +1 -0
  31. package/src/utils/tmp.ts +16 -0
  32. package/tsconfig.json +16 -0
  33. package/tsconfig.lib.json +18 -0
  34. package/tsconfig.spec.json +23 -0
  35. package/src/add-ons/add-on.interface.d.ts +0 -5
  36. package/src/add-ons/add-on.interface.d.ts.map +0 -1
  37. package/src/add-ons/add-on.interface.js +0 -2
  38. package/src/add-ons/add-on.wrapper.d.ts +0 -11
  39. package/src/add-ons/add-on.wrapper.d.ts.map +0 -1
  40. package/src/add-ons/add-on.wrapper.js +0 -31
  41. package/src/add-ons/implementations/security/security.add-on.d.ts +0 -6
  42. package/src/add-ons/implementations/security/security.add-on.d.ts.map +0 -1
  43. package/src/add-ons/implementations/security/security.add-on.js +0 -17
  44. package/src/add-ons/implementations/sentry/sentry.add-on.d.ts +0 -8
  45. package/src/add-ons/implementations/sentry/sentry.add-on.d.ts.map +0 -1
  46. package/src/add-ons/implementations/sentry/sentry.add-on.interface.d.ts.map +0 -1
  47. package/src/add-ons/implementations/sentry/sentry.add-on.interface.js +0 -2
  48. package/src/add-ons/implementations/sentry/sentry.add-on.js +0 -19
  49. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.d.ts +0 -6
  50. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.d.ts.map +0 -1
  51. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.js +0 -2
  52. package/src/add-ons/implementations/swagger/swagger.add-on.d.ts +0 -9
  53. package/src/add-ons/implementations/swagger/swagger.add-on.d.ts.map +0 -1
  54. package/src/add-ons/implementations/swagger/swagger.add-on.interface.d.ts.map +0 -1
  55. package/src/add-ons/implementations/swagger/swagger.add-on.interface.js +0 -2
  56. package/src/add-ons/implementations/swagger/swagger.add-on.js +0 -26
  57. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.d.ts +0 -6
  58. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.d.ts.map +0 -1
  59. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.js +0 -2
  60. package/src/add-ons/implementations/swagger/types.d.ts +0 -2
  61. package/src/add-ons/implementations/swagger/types.d.ts.map +0 -1
  62. package/src/add-ons/implementations/swagger/types.js +0 -2
  63. package/src/add-ons/index.d.ts +0 -2
  64. package/src/add-ons/index.d.ts.map +0 -1
  65. package/src/add-ons/index.js +0 -4
  66. package/src/add-ons/types.d.ts.map +0 -1
  67. package/src/add-ons/types.js +0 -2
  68. package/src/application.base.d.ts +0 -5
  69. package/src/application.base.d.ts.map +0 -1
  70. package/src/application.base.js +0 -16
  71. package/src/index.d.ts.map +0 -1
  72. package/src/index.js +0 -7
  73. package/src/keyv.store.adapter.factory.d.ts +0 -12
  74. package/src/keyv.store.adapter.factory.d.ts.map +0 -1
  75. package/src/keyv.store.adapter.factory.js +0 -44
  76. package/src/requirement.module.d.ts +0 -3
  77. package/src/requirement.module.d.ts.map +0 -1
  78. package/src/requirement.module.js +0 -71
  79. package/src/scripts/index.d.ts.map +0 -1
  80. package/src/scripts/index.js +0 -4
  81. package/src/scripts/move-keyv-data.script.d.ts +0 -6
  82. package/src/scripts/move-keyv-data.script.d.ts.map +0 -1
  83. package/src/utils/index.d.ts +0 -2
  84. package/src/utils/index.d.ts.map +0 -1
  85. package/src/utils/index.js +0 -4
  86. package/src/utils/tmp.d.ts +0 -4
  87. package/src/utils/tmp.d.ts.map +0 -1
  88. package/src/utils/tmp.js +0 -16
@@ -0,0 +1,18 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "rootDir": "src",
6
+ "outDir": "dist",
7
+ "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
8
+ "emitDeclarationOnly": false,
9
+ "module": "nodenext",
10
+ "moduleResolution": "nodenext",
11
+ "forceConsistentCasingInFileNames": true,
12
+ "types": ["node"],
13
+ "ignoreDeprecations": "6.0"
14
+ },
15
+ "include": ["src/**/*.ts"],
16
+ "references": [],
17
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
18
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "./out-tsc/jest",
5
+ "types": ["jest", "node"],
6
+ "module": "nodenext",
7
+ "moduleResolution": "nodenext",
8
+ "forceConsistentCasingInFileNames": true,
9
+ "ignoreDeprecations": "6.0",
10
+ "rootDir": "."
11
+ },
12
+ "include": [
13
+ "jest.config.ts",
14
+ "src/**/*.test.ts",
15
+ "src/**/*.spec.ts",
16
+ "src/**/*.d.ts"
17
+ ],
18
+ "references": [
19
+ {
20
+ "path": "./tsconfig.lib.json"
21
+ }
22
+ ]
23
+ }
@@ -1,5 +0,0 @@
1
- import { INestApplication } from "@nestjs/common";
2
- export interface IAddOn<T> {
3
- apply(application: INestApplication<T>): void;
4
- }
5
- //# sourceMappingURL=add-on.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-on.interface.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/add-on.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,MAAM,CAAC,CAAC;IACjB,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACrD"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +0,0 @@
1
- import { INestApplication } from "@nestjs/common";
2
- import { IAddOn } from "./add-on.interface";
3
- import { AddOnWrapperParams } from "./types";
4
- export declare class AddOnWrapper<T> implements IAddOn<T> {
5
- private params;
6
- private implementations;
7
- constructor(params: AddOnWrapperParams);
8
- apply(application: INestApplication<T>): void;
9
- private appendImplementations;
10
- }
11
- //# sourceMappingURL=add-on.wrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-on.wrapper.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/add-on.wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAK7C,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAMzC,OAAO,CAAC,MAAM;IALlB,OAAO,CAAC,eAAe,CAErB;gBAGU,MAAM,EAAE,kBAAkB;IAKtC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAM7C,OAAO,CAAC,qBAAqB;CAShC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddOnWrapper = void 0;
4
- const security_add_on_1 = require("./implementations/security/security.add-on");
5
- const swagger_add_on_1 = require("./implementations/swagger/swagger.add-on");
6
- const sentry_add_on_1 = require("./implementations/sentry/sentry.add-on");
7
- class AddOnWrapper {
8
- params;
9
- implementations = [
10
- new security_add_on_1.SecurityAddOn()
11
- ];
12
- constructor(params) {
13
- this.params = params;
14
- this.appendImplementations();
15
- }
16
- apply(application) {
17
- this.implementations.forEach((addOn) => {
18
- addOn.apply(application);
19
- });
20
- }
21
- appendImplementations() {
22
- const { sentry, swagger } = this.params;
23
- if (swagger) {
24
- this.implementations.push(new swagger_add_on_1.SwaggerAddon(swagger));
25
- }
26
- if (sentry) {
27
- this.implementations.push(new sentry_add_on_1.SentryAddon(sentry));
28
- }
29
- }
30
- }
31
- exports.AddOnWrapper = AddOnWrapper;
@@ -1,6 +0,0 @@
1
- import { INestApplication } from "@nestjs/common";
2
- import { IAddOn } from "../../add-on.interface";
3
- export declare class SecurityAddOn<T> implements IAddOn<T> {
4
- apply(application: INestApplication<T>): void;
5
- }
6
- //# sourceMappingURL=security.add-on.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.add-on.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/security/security.add-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;CAU9C"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SecurityAddOn = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const helmet_1 = tslib_1.__importDefault(require("helmet"));
7
- class SecurityAddOn {
8
- apply(application) {
9
- application.enableCors();
10
- application.use((0, helmet_1.default)());
11
- application.useGlobalPipes(new common_1.ValidationPipe({
12
- transform: true,
13
- whitelist: false
14
- }));
15
- }
16
- }
17
- exports.SecurityAddOn = SecurityAddOn;
@@ -1,8 +0,0 @@
1
- import { Entity, type IResult } from "@ask-ell/core";
2
- import { ISentryAddOnState } from "./sentry.add-on.state.interface";
3
- import { ISentryAddOn } from "./sentry.add-on.interface";
4
- export declare class SentryAddon<T> extends Entity<ISentryAddOnState> implements ISentryAddOn<T> {
5
- checkStateValidity(_newState: ISentryAddOnState): IResult<void>;
6
- apply(): void;
7
- }
8
- //# sourceMappingURL=sentry.add-on.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentry.add-on.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/sentry/sentry.add-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAM,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,WAAW,CAAC,CAAC,CACxB,SAAQ,MAAM,CAAC,iBAAiB,CAChC,YAAW,YAAY,CAAC,CAAC,CAAC;IAE1B,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,IAAI,IAAI;CASd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentry.add-on.interface.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/sentry/sentry.add-on.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,MAAM,WAAW,YAAY,CAAC,CAAC,CAC7B,SAAQ,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAAI"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SentryAddon = void 0;
4
- const core_1 = require("@ask-ell/core");
5
- const nest_1 = require("@ask-ell/nest");
6
- class SentryAddon extends core_1.Entity {
7
- checkStateValidity(_newState) {
8
- return (0, core_1.ok)();
9
- }
10
- apply() {
11
- const { host, projectId, publicKey } = this.getSnapshot();
12
- new nest_1.NestSentryConfiguration({
13
- publicKey,
14
- host,
15
- projectId
16
- }).init();
17
- }
18
- }
19
- exports.SentryAddon = SentryAddon;
@@ -1,6 +0,0 @@
1
- export interface ISentryAddOnState {
2
- publicKey: string;
3
- host: string;
4
- projectId: string;
5
- }
6
- //# sourceMappingURL=sentry.add-on.state.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sentry.add-on.state.interface.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/sentry/sentry.add-on.state.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +0,0 @@
1
- import { Entity, type IResult } from "@ask-ell/core";
2
- import { type INestApplication } from "@nestjs/common";
3
- import { ISwaggerAddOnState } from "./swagger.add-on.state.interface";
4
- import { ISwaggerAddOn } from "./swagger.add-on.interface";
5
- export declare class SwaggerAddon<T> extends Entity<ISwaggerAddOnState> implements ISwaggerAddOn<T> {
6
- checkStateValidity(_newState: ISwaggerAddOnState): IResult<void>;
7
- apply(application: INestApplication<T>): void;
8
- }
9
- //# sourceMappingURL=swagger.add-on.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swagger.add-on.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/swagger/swagger.add-on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAM,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,qBAAa,YAAY,CAAC,CAAC,CACzB,SAAQ,MAAM,CAAC,kBAAkB,CACjC,YAAW,aAAa,CAAC,CAAC,CAAC;IAE3B,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;CAqB9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"swagger.add-on.interface.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/swagger/swagger.add-on.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,WAAW,aAAa,CAAC,CAAC,CAC9B,SAAQ,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAAI"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SwaggerAddon = void 0;
4
- const core_1 = require("@ask-ell/core");
5
- const swagger_1 = require("@nestjs/swagger");
6
- class SwaggerAddon extends core_1.Entity {
7
- checkStateValidity(_newState) {
8
- return (0, core_1.ok)();
9
- }
10
- apply(application) {
11
- const { title, auths } = this.getSnapshot();
12
- const documentBuilder = new swagger_1.DocumentBuilder().setTitle(title);
13
- auths?.forEach((auth) => {
14
- if (auth === 'bearer') {
15
- documentBuilder.addBearerAuth();
16
- }
17
- });
18
- const documentBuild = documentBuilder.build();
19
- const documentFactory = () => swagger_1.SwaggerModule.createDocument(application, documentBuild);
20
- swagger_1.SwaggerModule.setup("/swagger", application, documentFactory, {
21
- customSiteTitle: title,
22
- jsonDocumentUrl: "/swagger/json",
23
- });
24
- }
25
- }
26
- exports.SwaggerAddon = SwaggerAddon;
@@ -1,6 +0,0 @@
1
- import { AuthMethod } from "./types";
2
- export interface ISwaggerAddOnState {
3
- title: string;
4
- auths?: AuthMethod[];
5
- }
6
- //# sourceMappingURL=swagger.add-on.state.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swagger.add-on.state.interface.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/swagger/swagger.add-on.state.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- export type AuthMethod = 'bearer' | 'cookie';
2
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../packages/back-end/src/add-ons/implementations/swagger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- export * from './add-on.wrapper';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./add-on.wrapper"), exports);
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAE9F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC7B,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +0,0 @@
1
- import { DynamicModule, Provider } from "@nestjs/common";
2
- export declare class ApplicationBase {
3
- static withProviders(providers: Provider[]): DynamicModule;
4
- }
5
- //# sourceMappingURL=application.base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.base.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/application.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIzD,qBAAa,eAAe;IACxB,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa;CAS7D"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationBase = void 0;
4
- const requirement_module_1 = require("./requirement.module");
5
- class ApplicationBase {
6
- static withProviders(providers) {
7
- const providersAndExports = [...providers];
8
- return {
9
- module: this,
10
- imports: [requirement_module_1.RequirementModule],
11
- providers: providersAndExports,
12
- exports: [...providersAndExports]
13
- };
14
- }
15
- }
16
- exports.ApplicationBase = ApplicationBase;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC"}
package/src/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./add-ons"), exports);
5
- tslib_1.__exportStar(require("./scripts"), exports);
6
- tslib_1.__exportStar(require("./keyv.store.adapter.factory"), exports);
7
- tslib_1.__exportStar(require("./application.base"), exports);
@@ -1,12 +0,0 @@
1
- import { KeyvStoreAdapter } from "keyv";
2
- import { MaybeUndefined } from "@ask-ell/core";
3
- type CreateKeyvStoreAdapterOptions = {
4
- postgresUri: MaybeUndefined<string>;
5
- };
6
- export declare class KeyvStoreAdapterFactory {
7
- private logger;
8
- create(options: CreateKeyvStoreAdapterOptions): KeyvStoreAdapter;
9
- private getKeyvStoreAdapter;
10
- }
11
- export {};
12
- //# sourceMappingURL=keyv.store.adapter.factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyv.store.adapter.factory.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/keyv.store.adapter.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAGxC,OAAO,EAAW,cAAc,EAAE,MAAM,eAAe,CAAC;AAOxD,KAAK,6BAA6B,GAAG;IACjC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,qBACa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAA0D;IAExE,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,gBAAgB;IAMhE,OAAO,CAAC,mBAAmB;CAW9B"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyvStoreAdapterFactory = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const sqlite_1 = tslib_1.__importDefault(require("@keyv/sqlite"));
7
- const postgres_1 = tslib_1.__importDefault(require("@keyv/postgres"));
8
- const nest_1 = require("@ask-ell/nest");
9
- const node_path_1 = require("node:path");
10
- const utils_1 = require("./utils");
11
- let KeyvStoreAdapterFactory = (() => {
12
- let _classDecorators = [(0, common_1.Injectable)()];
13
- let _classDescriptor;
14
- let _classExtraInitializers = [];
15
- let _classThis;
16
- var KeyvStoreAdapterFactory = class {
17
- static { _classThis = this; }
18
- static {
19
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
20
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
21
- KeyvStoreAdapterFactory = _classThis = _classDescriptor.value;
22
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
23
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
24
- }
25
- logger = nest_1.NestLogger.fromClass(KeyvStoreAdapterFactory);
26
- create(options) {
27
- const adapter = this.getKeyvStoreAdapter(options);
28
- this.logger.log(`Connected to database with adapter "${adapter.constructor.name}"`);
29
- return adapter;
30
- }
31
- getKeyvStoreAdapter({ postgresUri }) {
32
- if (!postgresUri) {
33
- (0, utils_1.createTmpFolder)(this.logger);
34
- const localDatabaseFilePath = (0, node_path_1.join)(utils_1.TMP_FOLDER_PATH, 'database.sqlite');
35
- return new sqlite_1.default(localDatabaseFilePath);
36
- }
37
- return new postgres_1.default({
38
- uri: postgresUri,
39
- });
40
- }
41
- };
42
- return KeyvStoreAdapterFactory = _classThis;
43
- })();
44
- exports.KeyvStoreAdapterFactory = KeyvStoreAdapterFactory;
@@ -1,3 +0,0 @@
1
- export declare class RequirementModule {
2
- }
3
- //# sourceMappingURL=requirement.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirement.module.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/requirement.module.ts"],"names":[],"mappings":"AAcA,qBA0Ca,iBAAiB;CAAI"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequirementModule = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const config_1 = require("@nestjs/config");
7
- const core_1 = require("@nestjs/core");
8
- const throttler_1 = require("@nestjs/throttler");
9
- const ask_1 = require("@ask-ell/ask");
10
- const nest_1 = require("@ask-ell/nest");
11
- const setup_1 = require("@sentry/nestjs/setup");
12
- const keyv_store_adapter_factory_1 = require("./keyv.store.adapter.factory");
13
- const logger = new nest_1.NestLogger("Requirements");
14
- let RequirementModule = (() => {
15
- let _classDecorators = [(0, common_1.Global)(), (0, common_1.Module)({
16
- imports: [
17
- nest_1.HealthModule,
18
- setup_1.SentryModule.forRoot(),
19
- throttler_1.ThrottlerModule.forRoot([{
20
- ttl: 60000,
21
- limit: 30,
22
- }]),
23
- config_1.ConfigModule.forRoot({
24
- isGlobal: true,
25
- load: [
26
- (0, ask_1.askDockerSecretsFactory)(logger),
27
- (0, ask_1.askLocalSecretsFactory)(logger)
28
- ]
29
- })
30
- ],
31
- providers: [
32
- keyv_store_adapter_factory_1.KeyvStoreAdapterFactory,
33
- {
34
- provide: core_1.APP_GUARD,
35
- useClass: throttler_1.ThrottlerGuard
36
- },
37
- {
38
- provide: core_1.APP_INTERCEPTOR,
39
- useClass: nest_1.ResponseFormatInterceptor
40
- },
41
- {
42
- provide: core_1.APP_FILTER,
43
- useClass: nest_1.HttpExceptionFilter
44
- },
45
- {
46
- provide: core_1.APP_FILTER,
47
- useClass: setup_1.SentryGlobalFilter
48
- }
49
- ],
50
- exports: [
51
- config_1.ConfigModule,
52
- setup_1.SentryModule,
53
- keyv_store_adapter_factory_1.KeyvStoreAdapterFactory
54
- ]
55
- })];
56
- let _classDescriptor;
57
- let _classExtraInitializers = [];
58
- let _classThis;
59
- var RequirementModule = class {
60
- static { _classThis = this; }
61
- static {
62
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
63
- tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
64
- RequirementModule = _classThis = _classDescriptor.value;
65
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
66
- tslib_1.__runInitializers(_classThis, _classExtraInitializers);
67
- }
68
- };
69
- return RequirementModule = _classThis;
70
- })();
71
- exports.RequirementModule = RequirementModule;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/scripts/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./move-keyv-data.script"), exports);
@@ -1,6 +0,0 @@
1
- import { Script, ExecuteOptions } from '@ask-ell/node';
2
- export declare class MoveKeyvDataScript extends Script {
3
- constructor();
4
- execute({ logger, arguments: { origin, target }, prompts: { confirm } }: ExecuteOptions): Promise<void>;
5
- }
6
- //# sourceMappingURL=move-keyv-data.script.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-keyv-data.script.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/scripts/move-keyv-data.script.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AASvD,qBAAa,kBAAmB,SAAQ,MAAM;;IAWpC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA4ChH"}
@@ -1,2 +0,0 @@
1
- export * from './tmp';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./tmp"), exports);
@@ -1,4 +0,0 @@
1
- import { ILogger } from "@ask-ell/core";
2
- export declare const TMP_FOLDER_PATH: string;
3
- export declare const createTmpFolder: (logger: ILogger) => void;
4
- //# sourceMappingURL=tmp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tmp.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/utils/tmp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,eAAO,MAAM,eAAe,EAAE,MAAmC,CAAC;AAElE,eAAO,MAAM,eAAe,GAAI,QAAQ,OAAO,KAAG,IAQjD,CAAA"}
package/src/utils/tmp.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTmpFolder = exports.TMP_FOLDER_PATH = void 0;
4
- const node_fs_1 = require("node:fs");
5
- const node_path_1 = require("node:path");
6
- exports.TMP_FOLDER_PATH = (0, node_path_1.join)(process.cwd(), 'tmp');
7
- const createTmpFolder = (logger) => {
8
- const isTmpFolderExists = (0, node_fs_1.existsSync)(exports.TMP_FOLDER_PATH);
9
- if (isTmpFolderExists) {
10
- logger.info(`"${exports.TMP_FOLDER_PATH}" folder already exists.`);
11
- return;
12
- }
13
- (0, node_fs_1.mkdirSync)(exports.TMP_FOLDER_PATH);
14
- logger.info(`"${exports.TMP_FOLDER_PATH}" folder created.`);
15
- };
16
- exports.createTmpFolder = createTmpFolder;