@ask-ell/back-end 0.0.3 → 0.0.4

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 (40) hide show
  1. package/package.json +1 -1
  2. package/src/add-ons/add-on.interface.d.ts +5 -0
  3. package/src/add-ons/add-on.interface.d.ts.map +1 -0
  4. package/src/add-ons/add-on.interface.js +2 -0
  5. package/src/add-ons/add-on.wrapper.d.ts +10 -0
  6. package/src/add-ons/add-on.wrapper.d.ts.map +1 -0
  7. package/src/add-ons/add-on.wrapper.js +22 -0
  8. package/src/add-ons/implementations/security/security.add-on.d.ts +6 -0
  9. package/src/add-ons/implementations/security/security.add-on.d.ts.map +1 -0
  10. package/src/add-ons/implementations/security/security.add-on.js +17 -0
  11. package/src/add-ons/implementations/sentry/sentry.add-on.d.ts +8 -0
  12. package/src/add-ons/implementations/sentry/sentry.add-on.d.ts.map +1 -0
  13. package/src/add-ons/implementations/sentry/sentry.add-on.interface.d.ts +6 -0
  14. package/src/add-ons/implementations/sentry/sentry.add-on.interface.d.ts.map +1 -0
  15. package/src/add-ons/implementations/sentry/sentry.add-on.interface.js +2 -0
  16. package/src/add-ons/implementations/sentry/sentry.add-on.js +19 -0
  17. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.d.ts +6 -0
  18. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.d.ts.map +1 -0
  19. package/src/add-ons/implementations/sentry/sentry.add-on.state.interface.js +2 -0
  20. package/src/add-ons/implementations/swagger/swagger.add-on.d.ts +9 -0
  21. package/src/add-ons/implementations/swagger/swagger.add-on.d.ts.map +1 -0
  22. package/src/add-ons/implementations/swagger/swagger.add-on.interface.d.ts +6 -0
  23. package/src/add-ons/implementations/swagger/swagger.add-on.interface.d.ts.map +1 -0
  24. package/src/add-ons/implementations/swagger/swagger.add-on.interface.js +2 -0
  25. package/src/add-ons/implementations/swagger/swagger.add-on.js +26 -0
  26. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.d.ts +6 -0
  27. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.d.ts.map +1 -0
  28. package/src/add-ons/implementations/swagger/swagger.add-on.state.interface.js +2 -0
  29. package/src/add-ons/implementations/swagger/types.d.ts +2 -0
  30. package/src/add-ons/implementations/swagger/types.d.ts.map +1 -0
  31. package/src/add-ons/implementations/swagger/types.js +2 -0
  32. package/src/add-ons/index.d.ts +2 -0
  33. package/src/add-ons/index.d.ts.map +1 -0
  34. package/src/add-ons/index.js +4 -0
  35. package/src/add-ons/types.d.ts +5 -0
  36. package/src/add-ons/types.d.ts.map +1 -0
  37. package/src/add-ons/types.js +2 -0
  38. package/src/index.d.ts +1 -0
  39. package/src/index.d.ts.map +1 -1
  40. package/src/index.js +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ask-ell/back-end",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
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
+ }
10
+ //# sourceMappingURL=add-on.wrapper.d.ts.map
@@ -0,0 +1 @@
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;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAIzC,OAAO,CAAC,MAAM;IAHlB,OAAO,CAAC,eAAe,CAAc;gBAGzB,MAAM,EAAE,kBAAkB;IAQtC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;CAKhD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddOnWrapper = void 0;
4
+ const swagger_add_on_1 = require("./implementations/swagger/swagger.add-on");
5
+ const security_add_on_1 = require("./implementations/security/security.add-on");
6
+ class AddOnWrapper {
7
+ params;
8
+ implementations;
9
+ constructor(params) {
10
+ this.params = params;
11
+ this.implementations = [
12
+ new swagger_add_on_1.SwaggerAddon(this.params.swagger),
13
+ new security_add_on_1.SecurityAddOn()
14
+ ];
15
+ }
16
+ apply(application) {
17
+ this.implementations.forEach((addOn) => {
18
+ addOn.apply(application);
19
+ });
20
+ }
21
+ }
22
+ exports.AddOnWrapper = AddOnWrapper;
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,17 @@
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;
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ import { IEntity } from "@ask-ell/core";
2
+ import { ISentryAddOnState } from "./sentry.add-on.state.interface";
3
+ import { IAddOn } from "../../add-on.interface";
4
+ export interface ISentryAddOn<T> extends IEntity<ISentryAddOnState>, IAddOn<T> {
5
+ }
6
+ //# sourceMappingURL=sentry.add-on.interface.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
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;
@@ -0,0 +1,6 @@
1
+ export interface ISentryAddOnState {
2
+ publicKey: string;
3
+ host: string;
4
+ projectId: string;
5
+ }
6
+ //# sourceMappingURL=sentry.add-on.state.interface.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ import { IEntity } from "@ask-ell/core";
2
+ import { ISwaggerAddOnState } from "./swagger.add-on.state.interface";
3
+ import { IAddOn } from "../../add-on.interface";
4
+ export interface ISwaggerAddOn<T> extends IEntity<ISwaggerAddOnState>, IAddOn<T> {
5
+ }
6
+ //# sourceMappingURL=swagger.add-on.interface.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,26 @@
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;
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export type AuthMethod = 'bearer' | 'cookie';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './add-on.wrapper';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
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);
@@ -0,0 +1,5 @@
1
+ import { ISwaggerAddOnState } from "./implementations/swagger/swagger.add-on.state.interface";
2
+ export type AddOnWrapperParams = {
3
+ swagger: ISwaggerAddOnState;
4
+ };
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/back-end/src/add-ons/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAE7F,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,kBAAkB,CAAC;CAC/B,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './add-ons';
1
2
  export * from './keyv.store.adapter.factory';
2
3
  export * from "./application.base";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/back-end/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAA"}
package/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./add-ons"), exports);
4
5
  tslib_1.__exportStar(require("./keyv.store.adapter.factory"), exports);
5
6
  tslib_1.__exportStar(require("./application.base"), exports);