@my-devkit/firebase 1.0.98 → 1.0.102

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 (146) hide show
  1. package/package.json +10 -11
  2. package/dist/aggregate.d.ts +0 -13
  3. package/dist/aggregate.js +0 -85
  4. package/dist/aggregate.js.map +0 -1
  5. package/dist/app-factory.d.ts +0 -31
  6. package/dist/app-factory.js +0 -331
  7. package/dist/app-factory.js.map +0 -1
  8. package/dist/bus.d.ts +0 -17
  9. package/dist/bus.js +0 -128
  10. package/dist/bus.js.map +0 -1
  11. package/dist/constants.d.ts +0 -5
  12. package/dist/constants.js +0 -9
  13. package/dist/constants.js.map +0 -1
  14. package/dist/context.d.ts +0 -28
  15. package/dist/context.js +0 -102
  16. package/dist/context.js.map +0 -1
  17. package/dist/decorators/controller/body.d.ts +0 -1
  18. package/dist/decorators/controller/body.js +0 -17
  19. package/dist/decorators/controller/body.js.map +0 -1
  20. package/dist/decorators/controller/body.spec.d.ts +0 -1
  21. package/dist/decorators/controller/body.spec.js +0 -120
  22. package/dist/decorators/controller/body.spec.js.map +0 -1
  23. package/dist/decorators/controller/controller.d.ts +0 -1
  24. package/dist/decorators/controller/controller.js +0 -14
  25. package/dist/decorators/controller/controller.js.map +0 -1
  26. package/dist/decorators/controller/controller.spec.d.ts +0 -1
  27. package/dist/decorators/controller/controller.spec.js +0 -68
  28. package/dist/decorators/controller/controller.spec.js.map +0 -1
  29. package/dist/decorators/controller/get.d.ts +0 -1
  30. package/dist/decorators/controller/get.js +0 -12
  31. package/dist/decorators/controller/get.js.map +0 -1
  32. package/dist/decorators/controller/get.spec.d.ts +0 -1
  33. package/dist/decorators/controller/get.spec.js +0 -87
  34. package/dist/decorators/controller/get.spec.js.map +0 -1
  35. package/dist/decorators/controller/index.d.ts +0 -6
  36. package/dist/decorators/controller/index.js +0 -19
  37. package/dist/decorators/controller/index.js.map +0 -1
  38. package/dist/decorators/controller/param.d.ts +0 -1
  39. package/dist/decorators/controller/param.js +0 -21
  40. package/dist/decorators/controller/param.js.map +0 -1
  41. package/dist/decorators/controller/param.spec.d.ts +0 -1
  42. package/dist/decorators/controller/param.spec.js +0 -113
  43. package/dist/decorators/controller/param.spec.js.map +0 -1
  44. package/dist/decorators/controller/post.d.ts +0 -1
  45. package/dist/decorators/controller/post.js +0 -12
  46. package/dist/decorators/controller/post.js.map +0 -1
  47. package/dist/decorators/controller/post.spec.d.ts +0 -1
  48. package/dist/decorators/controller/post.spec.js +0 -133
  49. package/dist/decorators/controller/post.spec.js.map +0 -1
  50. package/dist/decorators/controller/query.d.ts +0 -1
  51. package/dist/decorators/controller/query.js +0 -21
  52. package/dist/decorators/controller/query.js.map +0 -1
  53. package/dist/decorators/controller/query.spec.d.ts +0 -1
  54. package/dist/decorators/controller/query.spec.js +0 -113
  55. package/dist/decorators/controller/query.spec.js.map +0 -1
  56. package/dist/decorators/handler/command-handler.d.ts +0 -1
  57. package/dist/decorators/handler/command-handler.js +0 -22
  58. package/dist/decorators/handler/command-handler.js.map +0 -1
  59. package/dist/decorators/handler/command-handler.spec.d.ts +0 -1
  60. package/dist/decorators/handler/command-handler.spec.js +0 -211
  61. package/dist/decorators/handler/command-handler.spec.js.map +0 -1
  62. package/dist/decorators/handler/event-handler.d.ts +0 -2
  63. package/dist/decorators/handler/event-handler.js +0 -22
  64. package/dist/decorators/handler/event-handler.js.map +0 -1
  65. package/dist/decorators/handler/event-handler.spec.d.ts +0 -1
  66. package/dist/decorators/handler/event-handler.spec.js +0 -214
  67. package/dist/decorators/handler/event-handler.spec.js.map +0 -1
  68. package/dist/decorators/handler/index.d.ts +0 -2
  69. package/dist/decorators/handler/index.js +0 -15
  70. package/dist/decorators/handler/index.js.map +0 -1
  71. package/dist/decorators/index.d.ts +0 -5
  72. package/dist/decorators/index.js +0 -18
  73. package/dist/decorators/index.js.map +0 -1
  74. package/dist/decorators/injectable.d.ts +0 -1
  75. package/dist/decorators/injectable.js +0 -11
  76. package/dist/decorators/injectable.js.map +0 -1
  77. package/dist/decorators/module.d.ts +0 -18
  78. package/dist/decorators/module.js +0 -14
  79. package/dist/decorators/module.js.map +0 -1
  80. package/dist/decorators/transactional-client.d.ts +0 -1
  81. package/dist/decorators/transactional-client.js +0 -11
  82. package/dist/decorators/transactional-client.js.map +0 -1
  83. package/dist/execution-mode-enum.d.ts +0 -4
  84. package/dist/execution-mode-enum.js +0 -9
  85. package/dist/execution-mode-enum.js.map +0 -1
  86. package/dist/firestore-client.d.ts +0 -29
  87. package/dist/firestore-client.js +0 -236
  88. package/dist/firestore-client.js.map +0 -1
  89. package/dist/handler-helper.d.ts +0 -9
  90. package/dist/handler-helper.js +0 -159
  91. package/dist/handler-helper.js.map +0 -1
  92. package/dist/index.d.ts +0 -7
  93. package/dist/index.js +0 -20
  94. package/dist/index.js.map +0 -1
  95. package/dist/injector.d.ts +0 -7
  96. package/dist/injector.js +0 -42
  97. package/dist/injector.js.map +0 -1
  98. package/dist/interfaces/app-config.d.ts +0 -0
  99. package/dist/interfaces/app-config.js +0 -1
  100. package/dist/interfaces/app-config.js.map +0 -1
  101. package/dist/interfaces/from-array.d.ts +0 -1
  102. package/dist/interfaces/from-array.js +0 -3
  103. package/dist/interfaces/from-array.js.map +0 -1
  104. package/dist/interfaces/index.d.ts +0 -4
  105. package/dist/interfaces/index.js +0 -17
  106. package/dist/interfaces/index.js.map +0 -1
  107. package/dist/interfaces/newable.d.ts +0 -1
  108. package/dist/interfaces/newable.js +0 -3
  109. package/dist/interfaces/newable.js.map +0 -1
  110. package/dist/interfaces/transactional-client.d.ts +0 -3
  111. package/dist/interfaces/transactional-client.js +0 -3
  112. package/dist/interfaces/transactional-client.js.map +0 -1
  113. package/dist/interfaces/type.d.ts +0 -3
  114. package/dist/interfaces/type.js +0 -3
  115. package/dist/interfaces/type.js.map +0 -1
  116. package/dist/reflect.d.ts +0 -62
  117. package/dist/reflect.js +0 -113
  118. package/dist/reflect.js.map +0 -1
  119. package/dist/request-method.enum.d.ts +0 -4
  120. package/dist/request-method.enum.js +0 -9
  121. package/dist/request-method.enum.js.map +0 -1
  122. package/dist/server/index.d.ts +0 -1
  123. package/dist/server/index.js +0 -14
  124. package/dist/server/index.js.map +0 -1
  125. package/dist/server/middlewares/authentication-middleware.d.ts +0 -3
  126. package/dist/server/middlewares/authentication-middleware.js +0 -110
  127. package/dist/server/middlewares/authentication-middleware.js.map +0 -1
  128. package/dist/server/middlewares/create-context-middleware.d.ts +0 -3
  129. package/dist/server/middlewares/create-context-middleware.js +0 -55
  130. package/dist/server/middlewares/create-context-middleware.js.map +0 -1
  131. package/dist/server/middlewares/error-middleware.d.ts +0 -2
  132. package/dist/server/middlewares/error-middleware.js +0 -78
  133. package/dist/server/middlewares/error-middleware.js.map +0 -1
  134. package/dist/server/middlewares/headers-middleware.d.ts +0 -2
  135. package/dist/server/middlewares/headers-middleware.js +0 -58
  136. package/dist/server/middlewares/headers-middleware.js.map +0 -1
  137. package/dist/server/middlewares/index.d.ts +0 -5
  138. package/dist/server/middlewares/index.js +0 -18
  139. package/dist/server/middlewares/index.js.map +0 -1
  140. package/dist/server/middlewares/not-found-middleware.d.ts +0 -2
  141. package/dist/server/middlewares/not-found-middleware.js +0 -50
  142. package/dist/server/middlewares/not-found-middleware.js.map +0 -1
  143. package/dist/server/server.d.ts +0 -33
  144. package/dist/server/server.js +0 -139
  145. package/dist/server/server.js.map +0 -1
  146. package/dist/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/firebase",
3
- "version": "1.0.98",
3
+ "version": "1.0.102",
4
4
  "description": "My Devkit: firebase tools for CQRS implementation",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -12,9 +12,8 @@
12
12
  "url": "https://github.com/BUONJG/my-devkit.git"
13
13
  },
14
14
  "scripts": {
15
- "clean": "npx ts-cleaner -d ./dist -s ./src || true",
16
- "build": "npm run clean && tsc",
17
- "watch": "npm run clean && tsc -w",
15
+ "build": "mdk build",
16
+ "watch": "mdk watch",
18
17
  "test": "mocha ./dist/**/**.spec.js --async-only"
19
18
  },
20
19
  "dependencies": {
@@ -24,12 +23,13 @@
24
23
  "reflect-metadata": "^0.1.13"
25
24
  },
26
25
  "peerDependencies": {
27
- "@my-devkit/core": "1.0.63",
28
- "firebase-admin": "10.0.0",
26
+ "@my-devkit/core": "1.0.64",
27
+ "firebase-admin": "10.0.1",
29
28
  "firebase-functions": "3.16.0"
30
29
  },
31
30
  "devDependencies": {
32
- "@my-devkit/core": "1.0.63",
31
+ "@my-devkit/cli": "1.0.5",
32
+ "@my-devkit/core": "1.0.64",
33
33
  "@types/cors": "2.8.10",
34
34
  "@types/express": "4.17.8",
35
35
  "@types/node": "^14.14.19",
@@ -41,13 +41,12 @@
41
41
  "chai": "4.3.4",
42
42
  "cpx": "1.5.0",
43
43
  "eslint": "7.26.0",
44
- "firebase-admin": "10.0.0",
44
+ "firebase-admin": "10.0.1",
45
45
  "firebase-functions": "3.16.0",
46
46
  "mocha": "9.1.3",
47
- "rimraf": "3.0.2",
48
47
  "sinon": "12.0.1",
49
48
  "sinon-chai": "3.7.0",
50
- "ts-cleaner": "1.0.5",
51
- "typescript": "^4.5.2"
49
+ "typescript": "^4.5.2",
50
+ "google-gax": "2.28.1"
52
51
  }
53
52
  }
@@ -1,13 +0,0 @@
1
- import { Document, Event } from '@my-devkit/core';
2
- export declare abstract class Aggregate implements Document {
3
- id: string;
4
- _type: string;
5
- private _events;
6
- constructor();
7
- get _path(): string;
8
- get hash(): string;
9
- protected assert(value: boolean, errorMessage: string): void;
10
- protected apply<E extends Event>(event: E): void;
11
- get events(): Event[];
12
- clearEvents(): void;
13
- }
package/dist/aggregate.js DELETED
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
12
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
13
- if (ar || !(i in from)) {
14
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
15
- ar[i] = from[i];
16
- }
17
- }
18
- return to.concat(ar || Array.prototype.slice.call(from));
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.Aggregate = void 0;
22
- var core_1 = require("@my-devkit/core");
23
- var context_1 = require("./context");
24
- var Aggregate = /** @class */ (function () {
25
- function Aggregate() {
26
- this.id = null;
27
- this._type = null;
28
- this._events = [];
29
- this.id = (0, core_1.guid)();
30
- this._type = this.constructor.name;
31
- }
32
- Object.defineProperty(Aggregate.prototype, "_path", {
33
- get: function () {
34
- return "/aggregates/".concat(this.id);
35
- },
36
- enumerable: false,
37
- configurable: true
38
- });
39
- Object.defineProperty(Aggregate.prototype, "hash", {
40
- get: function () {
41
- return JSON.stringify((0, core_1.serialize)(this));
42
- },
43
- enumerable: false,
44
- configurable: true
45
- });
46
- Aggregate.prototype.assert = function (value, errorMessage) {
47
- if (!value) {
48
- throw new core_1.DomainError(errorMessage);
49
- }
50
- };
51
- Aggregate.prototype.apply = function (event) {
52
- var methodName = "apply".concat(event._type);
53
- if (!(methodName in this)) {
54
- throw new Error("".concat(this._type, ".").concat(methodName, " method is missing!"));
55
- }
56
- event._aggregateId = this.id;
57
- event._aggregateType = this._type;
58
- event._correlationId = context_1.Context.correlationId;
59
- event._publishedBy = context_1.Context.user ? context_1.Context.user.uid : null;
60
- event.publishedAt = new Date();
61
- this[methodName](event);
62
- this._events.push(event);
63
- };
64
- Object.defineProperty(Aggregate.prototype, "events", {
65
- get: function () {
66
- return __spreadArray([], this._events, true);
67
- },
68
- enumerable: false,
69
- configurable: true
70
- });
71
- Aggregate.prototype.clearEvents = function () {
72
- this._events = [];
73
- };
74
- __decorate([
75
- (0, core_1.autoserializeAs)(String),
76
- __metadata("design:type", String)
77
- ], Aggregate.prototype, "id", void 0);
78
- __decorate([
79
- (0, core_1.autoserializeAs)(String),
80
- __metadata("design:type", String)
81
- ], Aggregate.prototype, "_type", void 0);
82
- return Aggregate;
83
- }());
84
- exports.Aggregate = Aggregate;
85
- //# sourceMappingURL=aggregate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../src/aggregate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,wCAAiG;AAEjG,qCAAoC;AAEpC;IAKI;QAJgC,OAAE,GAAW,IAAI,CAAC;QAClB,UAAK,GAAW,IAAI,CAAC;QAC7C,YAAO,GAAY,EAAE,CAAC;QAG1B,IAAI,CAAC,EAAE,GAAG,IAAA,WAAI,GAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,sBAAW,4BAAK;aAAhB;YACI,OAAO,sBAAe,IAAI,CAAC,EAAE,CAAE,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAW,2BAAI;aAAf;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;;;OAAA;IAES,0BAAM,GAAhB,UAAiB,KAAc,EAAE,YAAoB;QACjD,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,kBAAW,CAAC,YAAY,CAAC,CAAC;SACvC;IACL,CAAC;IAES,yBAAK,GAAf,UAAiC,KAAQ;QACrC,IAAM,UAAU,GAAG,eAAQ,KAAK,CAAC,KAAK,CAAE,CAAC;QACzC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,UAAG,IAAI,CAAC,KAAK,cAAI,UAAU,wBAAqB,CAAC,CAAC;SACrE;QAED,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QAElC,KAAK,CAAC,cAAc,GAAG,iBAAO,CAAC,aAAa,CAAC;QAC7C,KAAK,CAAC,YAAY,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,sBAAW,6BAAM;aAAjB;YACI,yBAAW,IAAI,CAAC,OAAO,QAAE;QAC7B,CAAC;;;OAAA;IAEM,+BAAW,GAAlB;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IA/CwB;QAAxB,IAAA,sBAAe,EAAC,MAAM,CAAC;;yCAA0B;IACzB;QAAxB,IAAA,sBAAe,EAAC,MAAM,CAAC;;4CAA6B;IA+CzD,gBAAC;CAAA,AAjDD,IAiDC;AAjDqB,8BAAS"}
@@ -1,31 +0,0 @@
1
- import { DocumentSnapshot } from 'firebase-admin/firestore';
2
- import { CloudFunction, HttpsFunction, SUPPORTED_REGIONS, VALID_MEMORY_OPTIONS } from 'firebase-functions';
3
- import { Bus } from './bus';
4
- import { ExecutionMode } from './execution-mode-enum';
5
- import { Type } from './interfaces';
6
- export declare class AppFactory {
7
- private static functionInRegion;
8
- private static firestore;
9
- private static auth;
10
- private static publicPaths;
11
- private static instanceId;
12
- static isActive(name: string): boolean;
13
- static initializeApp(options: AppFactory.Options): void;
14
- static createHttpFunction(name: string, module: Type): HttpsFunction;
15
- static createEventListener(name: string, module: Type, mode?: ExecutionMode): CloudFunction<DocumentSnapshot>;
16
- private static registerEventPersisterHandler;
17
- private static registerControllers;
18
- private static registerController;
19
- private static registerHandlers;
20
- private static registerLogger;
21
- static getFunctionEventHandler(bus: Bus, mode: ExecutionMode): (snapshot: DocumentSnapshot) => any;
22
- private static get isEmulator();
23
- }
24
- export declare namespace AppFactory {
25
- interface Options {
26
- region: typeof SUPPORTED_REGIONS[number];
27
- timeoutSeconds: number;
28
- memory: typeof VALID_MEMORY_OPTIONS[number];
29
- publicPaths?: string[];
30
- }
31
- }
@@ -1,331 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.AppFactory = void 0;
51
- var core_1 = require("@my-devkit/core");
52
- var app_1 = require("firebase-admin/app");
53
- var auth_1 = require("firebase-admin/auth");
54
- var firestore_1 = require("firebase-admin/firestore");
55
- var firebase_functions_1 = require("firebase-functions");
56
- var bus_1 = require("./bus");
57
- var constants_1 = require("./constants");
58
- var context_1 = require("./context");
59
- var execution_mode_enum_1 = require("./execution-mode-enum");
60
- var firestore_client_1 = require("./firestore-client");
61
- var reflect_1 = require("./reflect");
62
- var server_1 = require("./server");
63
- var AppFactory = /** @class */ (function () {
64
- function AppFactory() {
65
- }
66
- AppFactory.isActive = function (name) {
67
- var functionName = process.env.FUNCTION_NAME || process.env.K_SERVICE;
68
- return !functionName || functionName === name;
69
- };
70
- AppFactory.initializeApp = function (options) {
71
- this.instanceId = (0, core_1.guid)();
72
- context_1.Context.init();
73
- this.registerLogger();
74
- this.publicPaths = options.publicPaths || [];
75
- var app = (0, app_1.initializeApp)((0, firebase_functions_1.config)().firebase);
76
- this.firestore = (0, firestore_1.getFirestore)(app);
77
- this.firestore.settings({});
78
- this.auth = (0, auth_1.getAuth)(app);
79
- var runtimeOptions = {
80
- timeoutSeconds: options.timeoutSeconds,
81
- memory: options.memory
82
- };
83
- this.functionInRegion = (0, firebase_functions_1.region)(this.isEmulator ? 'functions' : options.region).runWith(runtimeOptions);
84
- };
85
- AppFactory.createHttpFunction = function (name, module) {
86
- if (!this.isActive(name)) {
87
- return null;
88
- }
89
- core_1.Logger.info("Cold Start Http function ".concat(name));
90
- var bus = new bus_1.Bus();
91
- var server = new server_1.Server({
92
- bus: bus,
93
- firebaseAuth: this.auth,
94
- firestore: this.firestore,
95
- publicPaths: this.publicPaths
96
- });
97
- this.registerControllers(server, module);
98
- this.registerEventPersisterHandler(bus);
99
- this.registerHandlers(bus, module);
100
- return this.functionInRegion.https.onRequest(server.app);
101
- };
102
- AppFactory.createEventListener = function (name, module, mode) {
103
- if (mode === void 0) { mode = execution_mode_enum_1.ExecutionMode.Asynchronous; }
104
- if (!this.isActive(name)) {
105
- return null;
106
- }
107
- core_1.Logger.info("Cold Start Event Listener ".concat(mode));
108
- var bus = new bus_1.Bus();
109
- this.registerEventPersisterHandler(bus);
110
- this.registerHandlers(bus, module);
111
- return this.functionInRegion
112
- .firestore
113
- .document('events/{eventId}')
114
- .onCreate(this.getFunctionEventHandler(bus, execution_mode_enum_1.ExecutionMode.Asynchronous));
115
- };
116
- AppFactory.registerEventPersisterHandler = function (bus) {
117
- var _this = this;
118
- bus.onEachEvent(function (event) { return __awaiter(_this, void 0, void 0, function () {
119
- return __generator(this, function (_a) {
120
- context_1.Context.resolve(firestore_client_1.FirestoreClient).createDocument(event);
121
- return [2 /*return*/];
122
- });
123
- }); }, execution_mode_enum_1.ExecutionMode.Synchronous);
124
- };
125
- AppFactory.registerControllers = function (server, module) {
126
- var controllers = Reflect.getMetadata(constants_1.MODULE_METADATA.CONTROLLERS, module) || [];
127
- for (var _i = 0, controllers_1 = controllers; _i < controllers_1.length; _i++) {
128
- var controller = controllers_1[_i];
129
- this.registerController(server, controller);
130
- }
131
- var imports = Reflect.getMetadata(constants_1.MODULE_METADATA.IMPORTS, module) || [];
132
- for (var _a = 0, imports_1 = imports; _a < imports_1.length; _a++) {
133
- var importedModule = imports_1[_a];
134
- this.registerControllers(server, importedModule);
135
- }
136
- };
137
- AppFactory.registerController = function (server, controller) {
138
- var _this = this;
139
- var router = new server_1.Server.Router();
140
- var config = (0, reflect_1.reflect)(controller).getControllerConfiguration();
141
- var _loop_1 = function (route) {
142
- router.registerRoute(route.requestMethod, "/".concat(route.path), function (request, response) { return __awaiter(_this, void 0, void 0, function () {
143
- var controllerInstance, args, result, _i, _a, client;
144
- return __generator(this, function (_b) {
145
- switch (_b.label) {
146
- case 0:
147
- core_1.Logger.info("".concat(route.requestMethod, "/").concat(route.path, ": executing handler method ").concat(controller.name, ".").concat(route.methodName));
148
- controllerInstance = context_1.Context.resolve(controller);
149
- args = route.argumentInjectors.map(function (injector) { return injector(request); });
150
- return [4 /*yield*/, controllerInstance[route.methodName].apply(controllerInstance, args)];
151
- case 1:
152
- result = _b.sent();
153
- _i = 0, _a = context_1.Context.getTransactionalClients();
154
- _b.label = 2;
155
- case 2:
156
- if (!(_i < _a.length)) return [3 /*break*/, 5];
157
- client = _a[_i];
158
- core_1.Logger.info("Saving transactions...");
159
- return [4 /*yield*/, client.save()];
160
- case 3:
161
- _b.sent();
162
- _b.label = 4;
163
- case 4:
164
- _i++;
165
- return [3 /*break*/, 2];
166
- case 5:
167
- context_1.Context.destroy();
168
- response.status(server_1.Server.statusCodes.OK).send({ result: result });
169
- return [2 /*return*/];
170
- }
171
- });
172
- }); });
173
- };
174
- for (var _i = 0, _a = config.routes; _i < _a.length; _i++) {
175
- var route = _a[_i];
176
- _loop_1(route);
177
- }
178
- router.registerOnServer("/".concat(config.basePath), server);
179
- };
180
- AppFactory.registerHandlers = function (bus, module) {
181
- var _this = this;
182
- var handlers = Reflect.getMetadata(constants_1.MODULE_METADATA.HANDLERS, module) || [];
183
- var _loop_2 = function (handler) {
184
- var handlerConfiguration = (0, reflect_1.reflect)(handler).getHandlerConfiguration();
185
- var instance = new handler();
186
- var _loop_3 = function (commandHandler) {
187
- core_1.Logger.debug("onCommand ".concat(commandHandler.command.constructor.name, " => ").concat(handler.name, ".").concat(commandHandler.methodName));
188
- bus.onCommand(commandHandler.command, function (command) {
189
- var startDate = new Date();
190
- core_1.Logger.info("".concat(handler.name, ".").concat(commandHandler.methodName, " handle ").concat(command._type));
191
- var result = instance[commandHandler.methodName](command);
192
- core_1.Logger.infoWithElapesedTime("".concat(command._type, " handled by ").concat(handler.name, ".").concat(commandHandler.methodName), startDate);
193
- return result;
194
- });
195
- };
196
- for (var _b = 0, _c = Array.from(handlerConfiguration.commandHandlers.values()); _b < _c.length; _b++) {
197
- var commandHandler = _c[_b];
198
- _loop_3(commandHandler);
199
- }
200
- var _loop_4 = function (eventHandler) {
201
- core_1.Logger.debug("onEvent ".concat(eventHandler.event.constructor.name, " => ").concat(handler.name, ".").concat(eventHandler.methodName, " (mode: ").concat(eventHandler.executionMode, ")"));
202
- bus.onEvent(eventHandler.event, function (event) { return __awaiter(_this, void 0, void 0, function () {
203
- var startDate;
204
- return __generator(this, function (_a) {
205
- switch (_a.label) {
206
- case 0:
207
- startDate = new Date();
208
- core_1.Logger.info("".concat(handler.name, ".").concat(eventHandler.methodName, " handle ").concat(event._type));
209
- return [4 /*yield*/, instance[eventHandler.methodName](event)];
210
- case 1:
211
- _a.sent();
212
- core_1.Logger.infoWithElapesedTime("".concat(event._type, " handled by ").concat(handler.name, ".").concat(eventHandler.methodName), startDate);
213
- return [2 /*return*/];
214
- }
215
- });
216
- }); }, eventHandler.executionMode);
217
- };
218
- for (var _d = 0, _e = Array.from(handlerConfiguration.eventHandlers.values()); _d < _e.length; _d++) {
219
- var eventHandler = _e[_d];
220
- _loop_4(eventHandler);
221
- }
222
- };
223
- for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {
224
- var handler = handlers_1[_i];
225
- _loop_2(handler);
226
- }
227
- var imports = Reflect.getMetadata(constants_1.MODULE_METADATA.IMPORTS, module) || [];
228
- for (var _a = 0, imports_2 = imports; _a < imports_2.length; _a++) {
229
- var importedModule = imports_2[_a];
230
- this.registerHandlers(bus, importedModule);
231
- }
232
- };
233
- AppFactory.registerLogger = function () {
234
- var _this = this;
235
- if (this.isEmulator) {
236
- core_1.Logger.registerLogger(new core_1.Logger.ConsoleImplementation());
237
- return;
238
- }
239
- var completeMetaData = function (data) {
240
- var _a, _b;
241
- return __assign({ instanceId: _this.instanceId, correlationId: context_1.Context.correlationId, eventId: context_1.Context.eventId, userId: (_a = context_1.Context.user) === null || _a === void 0 ? void 0 : _a.uid, userEmail: (_b = context_1.Context.user) === null || _b === void 0 ? void 0 : _b.email }, data);
242
- };
243
- core_1.Logger.registerLogger({
244
- debug: function (message, data) {
245
- firebase_functions_1.logger.debug(message, completeMetaData(data));
246
- },
247
- info: function (message, data) {
248
- firebase_functions_1.logger.info(message, completeMetaData(data));
249
- },
250
- warn: function (message, data) {
251
- firebase_functions_1.logger.warn(message, completeMetaData(data));
252
- },
253
- error: function (message, data) {
254
- firebase_functions_1.logger.error(message, completeMetaData(data));
255
- }
256
- });
257
- };
258
- AppFactory.getFunctionEventHandler = function (bus, mode) {
259
- var _this = this;
260
- return function (snapshot) { return __awaiter(_this, void 0, void 0, function () {
261
- var startDate, unserializedEvent, event, error_1;
262
- var _this = this;
263
- return __generator(this, function (_a) {
264
- switch (_a.label) {
265
- case 0:
266
- startDate = new Date();
267
- unserializedEvent = snapshot.data();
268
- event = (0, core_1.deserialize)(unserializedEvent);
269
- context_1.Context.create(bus);
270
- context_1.Context.correlationId = event._correlationId;
271
- context_1.Context.eventId = event.id;
272
- if (unserializedEvent['_restored'] === true) {
273
- core_1.Logger.debug("Event ".concat(event._type, " is ignored as it is restored from backup."));
274
- return [2 /*return*/];
275
- }
276
- _a.label = 1;
277
- case 1:
278
- _a.trys.push([1, 3, 4, 5]);
279
- return [4 /*yield*/, (0, core_1.retry)(function () { return __awaiter(_this, void 0, void 0, function () {
280
- var _i, _a, client;
281
- return __generator(this, function (_b) {
282
- switch (_b.label) {
283
- case 0:
284
- core_1.Logger.info("".concat('-'.repeat(5), " handling ").concat(event._type, " ").concat('-'.repeat(5)));
285
- return [4 /*yield*/, bus.publish(event, mode)];
286
- case 1:
287
- _b.sent();
288
- _i = 0, _a = context_1.Context.getTransactionalClients();
289
- _b.label = 2;
290
- case 2:
291
- if (!(_i < _a.length)) return [3 /*break*/, 5];
292
- client = _a[_i];
293
- return [4 /*yield*/, client.save()];
294
- case 3:
295
- _b.sent();
296
- _b.label = 4;
297
- case 4:
298
- _i++;
299
- return [3 /*break*/, 2];
300
- case 5:
301
- core_1.Logger.infoWithElapesedTime("".concat('-'.repeat(5), " ").concat(event._type, " handled successfully ").concat('-'.repeat(5)), startDate);
302
- return [2 /*return*/];
303
- }
304
- });
305
- }); })];
306
- case 2:
307
- _a.sent();
308
- return [3 /*break*/, 5];
309
- case 3:
310
- error_1 = _a.sent();
311
- core_1.Logger.error("".concat('-'.repeat(5), " ").concat(event._type, " couldn't be handled correctly ").concat('-'.repeat(5)), { error: error_1 });
312
- return [3 /*break*/, 5];
313
- case 4:
314
- context_1.Context.destroy();
315
- return [7 /*endfinally*/];
316
- case 5: return [2 /*return*/];
317
- }
318
- });
319
- }); };
320
- };
321
- Object.defineProperty(AppFactory, "isEmulator", {
322
- get: function () {
323
- return !!process.env.FUNCTIONS_EMULATOR;
324
- },
325
- enumerable: false,
326
- configurable: true
327
- });
328
- return AppFactory;
329
- }());
330
- exports.AppFactory = AppFactory;
331
- //# sourceMappingURL=app-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-factory.js","sourceRoot":"","sources":["../src/app-factory.ts"],"names":[],"mappings":"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"}
package/dist/bus.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { Command, Event } from '@my-devkit/core';
2
- import { ExecutionMode } from './execution-mode-enum';
3
- export declare class Bus {
4
- private commandHandlers;
5
- private eventHandlers;
6
- send<T, C extends Command>(command: C): Promise<T>;
7
- publish<E extends Event>(event: E, mode?: ExecutionMode): Promise<void>;
8
- onCommand<C extends Command, R>(commandType: new () => C, handler: Bus.Handler<C, R>): void;
9
- onEvent<E extends Event>(eventType: new () => E, handler: Bus.Handler<E, void>, mode: ExecutionMode): void;
10
- onEachEvent<E extends Event>(handler: Bus.Handler<E, void>, mode: ExecutionMode): void;
11
- private getDictionaryKey;
12
- private registerEventHandler;
13
- private getEventHandlers;
14
- }
15
- export declare namespace Bus {
16
- type Handler<T, R> = (arg: T) => Promise<R>;
17
- }