@bwi-mentorspaces/application-utils-npm 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 (163) hide show
  1. package/chat/index.d.ts +36 -0
  2. package/chat/index.js +59 -0
  3. package/chat/index.js.map +1 -0
  4. package/chat/stream/enum/index.d.ts +27 -0
  5. package/chat/stream/enum/index.js +35 -0
  6. package/chat/stream/enum/index.js.map +1 -0
  7. package/chat/stream/index.d.ts +9 -0
  8. package/chat/stream/index.js +18 -0
  9. package/chat/stream/index.js.map +1 -0
  10. package/chat/stream/models/_/channel.data.d.ts +19 -0
  11. package/chat/stream/models/_/channel.data.js +3 -0
  12. package/chat/stream/models/_/channel.data.js.map +1 -0
  13. package/chat/stream/models/_/channel.member.d.ts +14 -0
  14. package/chat/stream/models/_/channel.member.js +12 -0
  15. package/chat/stream/models/_/channel.member.js.map +1 -0
  16. package/chat/stream/models/_/channel.response.d.ts +8 -0
  17. package/chat/stream/models/_/channel.response.js +3 -0
  18. package/chat/stream/models/_/channel.response.js.map +1 -0
  19. package/chat/stream/models/_/message.response.d.ts +8 -0
  20. package/chat/stream/models/_/message.response.js +3 -0
  21. package/chat/stream/models/_/message.response.js.map +1 -0
  22. package/chat/stream/models/_/stream.config.d.ts +22 -0
  23. package/chat/stream/models/_/stream.config.js +3 -0
  24. package/chat/stream/models/_/stream.config.js.map +1 -0
  25. package/chat/stream/models/_/user.response.d.ts +8 -0
  26. package/chat/stream/models/_/user.response.js +3 -0
  27. package/chat/stream/models/_/user.response.js.map +1 -0
  28. package/chat/stream/models/index.d.ts +7 -0
  29. package/chat/stream/models/index.js +6 -0
  30. package/chat/stream/models/index.js.map +1 -0
  31. package/chat/stream/stream.api.d.ts +63 -0
  32. package/chat/stream/stream.api.js +77 -0
  33. package/chat/stream/stream.api.js.map +1 -0
  34. package/chat/stream/stream.auth.d.ts +70 -0
  35. package/chat/stream/stream.auth.js +81 -0
  36. package/chat/stream/stream.auth.js.map +1 -0
  37. package/chat/stream/stream.base.d.ts +56 -0
  38. package/chat/stream/stream.base.js +94 -0
  39. package/chat/stream/stream.base.js.map +1 -0
  40. package/chat/stream/stream.channel.d.ts +118 -0
  41. package/chat/stream/stream.channel.js +275 -0
  42. package/chat/stream/stream.channel.js.map +1 -0
  43. package/chat/stream/stream.error.d.ts +19 -0
  44. package/chat/stream/stream.error.js +18 -0
  45. package/chat/stream/stream.error.js.map +1 -0
  46. package/chat/stream/stream.media.d.ts +0 -0
  47. package/chat/stream/stream.media.js +1 -0
  48. package/chat/stream/stream.media.js.map +1 -0
  49. package/chat/stream/stream.member.d.ts +75 -0
  50. package/chat/stream/stream.member.js +176 -0
  51. package/chat/stream/stream.member.js.map +1 -0
  52. package/chat/stream/stream.message.d.ts +59 -0
  53. package/chat/stream/stream.message.js +113 -0
  54. package/chat/stream/stream.message.js.map +1 -0
  55. package/chat/stream/stream.user.d.ts +49 -0
  56. package/chat/stream/stream.user.js +91 -0
  57. package/chat/stream/stream.user.js.map +1 -0
  58. package/core/_/api-error.d.ts +24 -0
  59. package/core/_/api-error.js +22 -0
  60. package/core/_/api-error.js.map +1 -0
  61. package/core/_/api-response.d.ts +25 -0
  62. package/core/_/api-response.js +22 -0
  63. package/core/_/api-response.js.map +1 -0
  64. package/core/_/cors-headers.d.ts +16 -0
  65. package/core/_/cors-headers.js +33 -0
  66. package/core/_/cors-headers.js.map +1 -0
  67. package/core/_/model.d.ts +31 -0
  68. package/core/_/model.js +3 -0
  69. package/core/_/model.js.map +1 -0
  70. package/core/_/service-request.d.ts +66 -0
  71. package/core/_/service-request.js +105 -0
  72. package/core/_/service-request.js.map +1 -0
  73. package/core/index.d.ts +10 -0
  74. package/core/index.js +12 -0
  75. package/core/index.js.map +1 -0
  76. package/deployment/_/serverless.d.ts +26 -0
  77. package/deployment/_/serverless.js +44 -0
  78. package/deployment/_/serverless.js.map +1 -0
  79. package/deployment/index.d.ts +2 -0
  80. package/deployment/index.js +6 -0
  81. package/deployment/index.js.map +1 -0
  82. package/endpoint-test-factory/_/test-factory.d.ts +45 -0
  83. package/endpoint-test-factory/_/test-factory.js +92 -0
  84. package/endpoint-test-factory/_/test-factory.js.map +1 -0
  85. package/endpoint-test-factory/index.d.ts +2 -0
  86. package/endpoint-test-factory/index.js +6 -0
  87. package/endpoint-test-factory/index.js.map +1 -0
  88. package/enums/index.d.ts +92 -0
  89. package/enums/index.js +3 -0
  90. package/enums/index.js.map +1 -0
  91. package/meet/index.d.ts +36 -0
  92. package/meet/index.js +59 -0
  93. package/meet/index.js.map +1 -0
  94. package/meet/twilio/enum/index.d.ts +6 -0
  95. package/meet/twilio/enum/index.js +11 -0
  96. package/meet/twilio/enum/index.js.map +1 -0
  97. package/meet/twilio/index.d.ts +5 -0
  98. package/meet/twilio/index.js +12 -0
  99. package/meet/twilio/index.js.map +1 -0
  100. package/meet/twilio/models/_/room.data.d.ts +6 -0
  101. package/meet/twilio/models/_/room.data.js +3 -0
  102. package/meet/twilio/models/_/room.data.js.map +1 -0
  103. package/meet/twilio/models/_/twilio.config.d.ts +29 -0
  104. package/meet/twilio/models/_/twilio.config.js +3 -0
  105. package/meet/twilio/models/_/twilio.config.js.map +1 -0
  106. package/meet/twilio/models/index.d.ts +3 -0
  107. package/meet/twilio/models/index.js +3 -0
  108. package/meet/twilio/models/index.js.map +1 -0
  109. package/meet/twilio/twilio.api.d.ts +28 -0
  110. package/meet/twilio/twilio.api.js +46 -0
  111. package/meet/twilio/twilio.api.js.map +1 -0
  112. package/meet/twilio/twilio.auth.d.ts +55 -0
  113. package/meet/twilio/twilio.auth.js +84 -0
  114. package/meet/twilio/twilio.auth.js.map +1 -0
  115. package/meet/twilio/twilio.base.d.ts +41 -0
  116. package/meet/twilio/twilio.base.js +54 -0
  117. package/meet/twilio/twilio.base.js.map +1 -0
  118. package/meet/twilio/twilio.room.d.ts +46 -0
  119. package/meet/twilio/twilio.room.js +125 -0
  120. package/meet/twilio/twilio.room.js.map +1 -0
  121. package/package.json +57 -0
  122. package/swagger/_/swagger.config.d.ts +21 -0
  123. package/swagger/_/swagger.config.js +3 -0
  124. package/swagger/_/swagger.config.js.map +1 -0
  125. package/swagger/_/swagger.d.ts +37 -0
  126. package/swagger/_/swagger.js +79 -0
  127. package/swagger/_/swagger.js.map +1 -0
  128. package/swagger/index.d.ts +3 -0
  129. package/swagger/index.js +6 -0
  130. package/swagger/index.js.map +1 -0
  131. package/types/index.d.ts +19 -0
  132. package/types/index.js +3 -0
  133. package/types/index.js.map +1 -0
  134. package/utils/_/encoder.d.ts +19 -0
  135. package/utils/_/encoder.js +28 -0
  136. package/utils/_/encoder.js.map +1 -0
  137. package/utils/_/encryptor.d.ts +26 -0
  138. package/utils/_/encryptor.js +68 -0
  139. package/utils/_/encryptor.js.map +1 -0
  140. package/utils/_/hasher.d.ts +25 -0
  141. package/utils/_/hasher.js +64 -0
  142. package/utils/_/hasher.js.map +1 -0
  143. package/utils/_/object-mapper.d.ts +12 -0
  144. package/utils/_/object-mapper.js +23 -0
  145. package/utils/_/object-mapper.js.map +1 -0
  146. package/utils/_/string-formatter.d.ts +34 -0
  147. package/utils/_/string-formatter.js +50 -0
  148. package/utils/_/string-formatter.js.map +1 -0
  149. package/utils/_/utc-date.d.ts +35 -0
  150. package/utils/_/utc-date.js +85 -0
  151. package/utils/_/utc-date.js.map +1 -0
  152. package/utils/index.d.ts +7 -0
  153. package/utils/index.js +16 -0
  154. package/utils/index.js.map +1 -0
  155. package/validators/_/checker.d.ts +62 -0
  156. package/validators/_/checker.js +99 -0
  157. package/validators/_/checker.js.map +1 -0
  158. package/validators/_/regex.d.ts +98 -0
  159. package/validators/_/regex.js +143 -0
  160. package/validators/_/regex.js.map +1 -0
  161. package/validators/index.d.ts +3 -0
  162. package/validators/index.js +8 -0
  163. package/validators/index.js.map +1 -0
@@ -0,0 +1,46 @@
1
+ import { TwilioAuth } from "./twilio.auth";
2
+ import { Twilio } from "twilio";
3
+ import { TwilioBase } from "./twilio.base";
4
+ import { IRoomData } from "./models";
5
+ /**
6
+ * Twilio Room API declarations
7
+ */
8
+ interface ITwilioRoom {
9
+ /**
10
+ * Create a new room in Twilio
11
+ */
12
+ findOrCreateRoom(roomName: string): Promise<IRoomData>;
13
+ /**
14
+ * Find an existing room un Twilio
15
+ */
16
+ findRoom(roomName: string): Promise<IRoomData>;
17
+ }
18
+ /**
19
+ * Twilio Room API implementation
20
+ */
21
+ export declare class TwilioRoom extends TwilioBase implements ITwilioRoom {
22
+ private _expMinutes;
23
+ /**
24
+ * Twilio room constructor
25
+ *
26
+ * @param {TwilioAuth} auth Twilio auth
27
+ * @param {Twilio} server Twilio API Server
28
+ * @param {number} expMins expiration time for the timeout room, in minutes.
29
+ */
30
+ constructor(auth: TwilioAuth, server: Twilio, expMins: number);
31
+ /**
32
+ * This will find or Create a new room in Twilio
33
+ *
34
+ * @param {string} roomName room name
35
+ * @returns {Promise<IRoomData>} promise of the result to create or get a room
36
+ */
37
+ findOrCreateRoom(roomName: string): Promise<IRoomData>;
38
+ /**
39
+ * Find an existing room un Twilio
40
+ *
41
+ * @param {string} roomName room name
42
+ * @returns {Promise<IRoomData>} promise of the result to get a room
43
+ */
44
+ findRoom(roomName: string): Promise<IRoomData>;
45
+ }
46
+ export {};
@@ -0,0 +1,125 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.TwilioRoom = void 0;
22
+ const twilio_auth_1 = require("./twilio.auth");
23
+ const tsyringe_1 = require("tsyringe");
24
+ const twilio_1 = require("twilio");
25
+ const twilio_base_1 = require("./twilio.base");
26
+ /**
27
+ * Twilio Room API implementation
28
+ */
29
+ let TwilioRoom = class TwilioRoom extends twilio_base_1.TwilioBase {
30
+ /**
31
+ * Twilio room constructor
32
+ *
33
+ * @param {TwilioAuth} auth Twilio auth
34
+ * @param {Twilio} server Twilio API Server
35
+ * @param {number} expMins expiration time for the timeout room, in minutes.
36
+ */
37
+ constructor(auth, server, expMins) {
38
+ super();
39
+ super.auth = auth;
40
+ super.server = server;
41
+ this._expMinutes = expMins;
42
+ }
43
+ /**
44
+ * This will find or Create a new room in Twilio
45
+ *
46
+ * @param {string} roomName room name
47
+ * @returns {Promise<IRoomData>} promise of the result to create or get a room
48
+ */
49
+ findOrCreateRoom(roomName) {
50
+ const _super = Object.create(null, {
51
+ server: { get: () => super.server }
52
+ });
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ try {
55
+ // see if the room exists already. If it doesn't, this will throw
56
+ // error 20404.
57
+ const r = yield _super.server.video.rooms(roomName).fetch();
58
+ return {
59
+ sid: r.sid,
60
+ exist: true,
61
+ status: r.status
62
+ };
63
+ }
64
+ catch (error) {
65
+ // the room was not found, so create it
66
+ if (error.code == 20404) {
67
+ //Create the room in Twilio
68
+ const r = yield _super.server.video.rooms.create({
69
+ uniqueName: roomName,
70
+ unusedRoomTimeout: this._expMinutes
71
+ });
72
+ //Check the result of the request
73
+ if (r) {
74
+ //Return the sid for the new room
75
+ return { sid: r.sid, exist: false };
76
+ }
77
+ else {
78
+ //Return null
79
+ return null;
80
+ }
81
+ }
82
+ else {
83
+ // let other errors bubble up
84
+ throw error;
85
+ }
86
+ }
87
+ });
88
+ }
89
+ /**
90
+ * Find an existing room un Twilio
91
+ *
92
+ * @param {string} roomName room name
93
+ * @returns {Promise<IRoomData>} promise of the result to get a room
94
+ */
95
+ findRoom(roomName) {
96
+ const _super = Object.create(null, {
97
+ server: { get: () => super.server }
98
+ });
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ // see if the room exists already. If it doesn't, this will return undefined
101
+ try {
102
+ const r = yield _super.server.video.rooms(roomName).fetch();
103
+ return {
104
+ sid: r.sid,
105
+ exist: true,
106
+ status: r.status
107
+ };
108
+ }
109
+ catch (error) {
110
+ // the room was not found, so create it
111
+ if (error.code == 20404)
112
+ return undefined;
113
+ // let other errors bubble up
114
+ else
115
+ throw error;
116
+ }
117
+ });
118
+ }
119
+ };
120
+ TwilioRoom = __decorate([
121
+ (0, tsyringe_1.injectable)(),
122
+ __metadata("design:paramtypes", [twilio_auth_1.TwilioAuth, twilio_1.Twilio, Number])
123
+ ], TwilioRoom);
124
+ exports.TwilioRoom = TwilioRoom;
125
+ //# sourceMappingURL=twilio.room.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio.room.js","sourceRoot":"","sources":["../../../meet/twilio/twilio.room.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,uCAAsC;AACtC,mCAAgC;AAChC,+CAA2C;AAmB3C;;GAEG;AAEH,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,wBAAU;IAGtC;;;;;;OAMG;IACH,YAAY,IAAgB,EAAE,MAAc,EAAE,OAAe;QACzD,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,QAAgB;;;;;YACnC,IAAI;gBACA,iEAAiE;gBACjE,eAAe;gBACf,MAAM,CAAC,GAAiB,MAAM,OAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzE,OAAO;oBACH,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,CAAC,CAAC,MAAM;iBACN,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACZ,uCAAuC;gBACvC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE;oBACrB,2BAA2B;oBAC3B,MAAM,CAAC,GAAiB,MAAM,OAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;wBAC1D,UAAU,EAAE,QAAQ;wBACpB,iBAAiB,EAAE,IAAI,CAAC,WAAW;qBACtC,CAAC,CAAC;oBACH,iCAAiC;oBACjC,IAAI,CAAC,EAAE;wBACH,iCAAiC;wBACjC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAe,CAAC;qBACpD;yBAAM;wBACH,aAAa;wBACb,OAAO,IAAI,CAAC;qBACf;iBACJ;qBAAM;oBACH,6BAA6B;oBAC7B,MAAM,KAAK,CAAC;iBACf;aACJ;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACG,QAAQ,CAAC,QAAgB;;;;;YAC3B,4EAA4E;YAC5E,IAAI;gBACA,MAAM,CAAC,GAAiB,MAAM,OAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzE,OAAO;oBACH,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,CAAC,CAAC,MAAM;iBACN,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACZ,uCAAuC;gBACvC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK;oBAAE,OAAO,SAAS,CAAC;gBAC1C,6BAA6B;;oBACxB,MAAM,KAAK,CAAC;aACpB;QACL,CAAC;KAAA;CACJ,CAAA;AA9EY,UAAU;IADtB,IAAA,qBAAU,GAAE;qCAWS,wBAAU,EAAU,eAAM;GAVnC,UAAU,CA8EtB;AA9EY,gCAAU"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@bwi-mentorspaces/application-utils-npm",
3
+ "version": "0.0.4",
4
+ "description": "Mentor Spaces npm packages for reusable models, utils, and abstracted, commonly used processes for DB Repo, Logging, etc.",
5
+ "author": {
6
+ "name": "Mentor Spaces",
7
+ "url": "https://www.mentorspaces.com"
8
+ },
9
+ "scripts": {
10
+ "clean": "rimraf .dist",
11
+ "patch": "npm version patch",
12
+ "lint": "eslint ./ --fix --max-warnings 0 --ext .js,.ts",
13
+ "compile": "tsc --build",
14
+ "build:local": "npm-run-all clean lint compile",
15
+ "build": "npm-run-all clean lint patch compile",
16
+ "deploy": "npm publish .dist --access public"
17
+ },
18
+ "devDependencies": {
19
+ "@types/aws-lambda": "^8.10.92",
20
+ "@types/crypto-js": "^4.1.0",
21
+ "@types/express": "^4.17.13",
22
+ "@types/node": "^17.0.8",
23
+ "@types/supertest": "^2.0.11",
24
+ "@types/uuid": "^8.3.4",
25
+ "@typescript-eslint/eslint-plugin": "^5.9.0",
26
+ "@typescript-eslint/parser": "^5.9.0",
27
+ "eslint": "^7.32.0",
28
+ "eslint-config-prettier": "^8.3.0",
29
+ "eslint-config-standard": "^16.0.3",
30
+ "eslint-plugin-import": "^2.25.4",
31
+ "eslint-plugin-jsdoc": "^37.6.1",
32
+ "eslint-plugin-node": "^11.1.0",
33
+ "eslint-plugin-prettier": "^4.0.0",
34
+ "eslint-plugin-promise": "^5.2.0",
35
+ "npm-run-all": "^4.1.5",
36
+ "prettier": "^2.5.1",
37
+ "rimraf": "^3.0.2",
38
+ "shx": "^0.3.4",
39
+ "typescript": "^4.5.5"
40
+ },
41
+ "dependencies": {
42
+ "aws-lambda": "^1.0.7",
43
+ "axios": "^0.24.0",
44
+ "crypto-js": "^4.1.1",
45
+ "express": "^4.17.2",
46
+ "guid-typescript": "^1.0.9",
47
+ "reflect-metadata": "^0.1.13",
48
+ "serverless-http": "^2.7.0",
49
+ "stream-chat": "^6.6.0",
50
+ "supertest": "^6.2.2",
51
+ "swagger-jsdoc": "^6.1.0",
52
+ "swagger-ui-express": "^4.3.0",
53
+ "tsyringe": "^4.6.0",
54
+ "twilio": "^3.76.0",
55
+ "uuid": "^8.3.2"
56
+ }
57
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Swagger Config declaration
3
+ */
4
+ export interface ISwaggerConfig {
5
+ swaggerVersion: string;
6
+ contact: {
7
+ name: string;
8
+ url: string;
9
+ };
10
+ service: {
11
+ version: string;
12
+ title: string;
13
+ description: string;
14
+ routes: string;
15
+ docsUrl: string;
16
+ };
17
+ tags: object[];
18
+ basePath: string;
19
+ paths: object;
20
+ definitions: object;
21
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=swagger.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.config.js","sourceRoot":"","sources":["../../../swagger/_/swagger.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import Express from "express";
2
+ import { ISwaggerConfig } from "./swagger.config";
3
+ /**
4
+ * Swagger declarations
5
+ */
6
+ interface ISwagger {
7
+ config: ISwaggerConfig;
8
+ /**
9
+ * Setup method declaration
10
+ */
11
+ setup(): void;
12
+ }
13
+ /**
14
+ * Swagger implemenation
15
+ */
16
+ export declare class Swagger implements ISwagger {
17
+ private _app;
18
+ private _config;
19
+ /**
20
+ * Swagger constructor
21
+ *
22
+ * @param {Express.Application} app express instance
23
+ * @param {ISwaggerConfig} config swagger configuration
24
+ */
25
+ constructor(app: Express.Application, config: ISwaggerConfig);
26
+ /**
27
+ * getter for swagger config
28
+ *
29
+ * @returns {ISwaggerConfig} swagger config
30
+ */
31
+ get config(): ISwaggerConfig;
32
+ /**
33
+ * Setup method
34
+ */
35
+ setup(): void;
36
+ }
37
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.Swagger = void 0;
26
+ const SwaggerUI = __importStar(require("swagger-ui-express"));
27
+ const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
28
+ /**
29
+ * Swagger implemenation
30
+ */
31
+ class Swagger {
32
+ /**
33
+ * Swagger constructor
34
+ *
35
+ * @param {Express.Application} app express instance
36
+ * @param {ISwaggerConfig} config swagger configuration
37
+ */
38
+ constructor(app, config) {
39
+ this._app = app;
40
+ this._config = config;
41
+ }
42
+ // getters / setters
43
+ /**
44
+ * getter for swagger config
45
+ *
46
+ * @returns {ISwaggerConfig} swagger config
47
+ */
48
+ get config() {
49
+ return this._config;
50
+ }
51
+ /**
52
+ * Setup method
53
+ */
54
+ setup() {
55
+ const options = {
56
+ definition: {
57
+ swagger: this._config.swaggerVersion,
58
+ info: {
59
+ version: this._config.service.version,
60
+ title: this._config.service.title,
61
+ description: this._config.service.description,
62
+ contact: {
63
+ name: this._config.contact.name,
64
+ url: this._config.contact.url
65
+ }
66
+ },
67
+ tags: this._config.tags,
68
+ basePath: this._config.basePath,
69
+ paths: this._config.paths,
70
+ definitions: this._config.definitions
71
+ },
72
+ apis: [this._config.service.routes]
73
+ };
74
+ const specs = (0, swagger_jsdoc_1.default)(options);
75
+ this._app.use(this._config.service.docsUrl, SwaggerUI.serveFiles(specs), SwaggerUI.setup(specs));
76
+ }
77
+ }
78
+ exports.Swagger = Swagger;
79
+ //# sourceMappingURL=swagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../../swagger/_/swagger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,8DAAgD;AAChD,kEAAyC;AAgBzC;;GAEG;AACH,MAAa,OAAO;IAIhB;;;;;OAKG;IACH,YAAY,GAAwB,EAAE,MAAsB;QACxD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,oBAAoB;IACpB;;;;OAIG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,MAAM,OAAO,GAAW;YACpB,UAAU,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;gBACpC,IAAI,EAAE;oBACF,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;oBACrC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;oBACjC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;oBAC7C,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;wBAC/B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;qBAChC;iBACJ;gBACD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;aACxC;YACD,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;SACtC,CAAC;QAEF,MAAM,KAAK,GAAW,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACrG,CAAC;CACJ;AApDD,0BAoDC"}
@@ -0,0 +1,3 @@
1
+ import { ISwaggerConfig } from "./_/swagger.config";
2
+ import { Swagger } from "./_/swagger";
3
+ export { ISwaggerConfig, Swagger };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Swagger = void 0;
4
+ const swagger_1 = require("./_/swagger");
5
+ Object.defineProperty(exports, "Swagger", { enumerable: true, get: function () { return swagger_1.Swagger; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../swagger/index.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAEb,wFAFhB,iBAAO,OAEgB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A union type composed of all primitive types.
3
+ */
4
+ export declare type Primitive = string | boolean | number | bigint | symbol | null | undefined;
5
+ /**
6
+ * Like `any` this type can represent any type. Unlike `any`, this type
7
+ * does not give the TS compiler a blank check skip any type checking. A variable
8
+ * typed as `Any`, can only be passed around and compared for equality. Members
9
+ * are not accessible.
10
+ */
11
+ export declare type Any = object | Primitive;
12
+ /**
13
+ * Type of callback function of type T
14
+ */
15
+ export declare type Callback<T> = (res: T) => void;
16
+ /**
17
+ * Type of callback function for Test Factory (test server status + service response as IApiResponse<T>)
18
+ */
19
+ export declare type ServerCallback<T> = (status: number, res: T) => void;
package/types/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Class that provides encoding/decoding methods
3
+ */
4
+ export declare abstract class Encoder {
5
+ /**
6
+ * Method to encode value to Base64
7
+ *
8
+ * @param {string} value value to be encoded
9
+ * @returns {string} base64 encoded value
10
+ */
11
+ static toBase64(value: string): string;
12
+ /**
13
+ * Method to decode base64 value
14
+ *
15
+ * @param {string} encodedValue encoded base64 value
16
+ * @returns {string} decoded value
17
+ */
18
+ static fromBase64(encodedValue: string): string;
19
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Encoder = void 0;
4
+ /**
5
+ * Class that provides encoding/decoding methods
6
+ */
7
+ class Encoder {
8
+ /**
9
+ * Method to encode value to Base64
10
+ *
11
+ * @param {string} value value to be encoded
12
+ * @returns {string} base64 encoded value
13
+ */
14
+ static toBase64(value) {
15
+ return Buffer.from(value).toString("base64");
16
+ }
17
+ /**
18
+ * Method to decode base64 value
19
+ *
20
+ * @param {string} encodedValue encoded base64 value
21
+ * @returns {string} decoded value
22
+ */
23
+ static fromBase64(encodedValue) {
24
+ return Buffer.from(encodedValue, "base64").toString();
25
+ }
26
+ }
27
+ exports.Encoder = Encoder;
28
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../utils/_/encoder.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,OAAO;IACzB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAa;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,YAAoB;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;CACJ;AApBD,0BAoBC"}
@@ -0,0 +1,26 @@
1
+ import { EncryptionType } from "../../enums";
2
+ /**
3
+
4
+ /**
5
+ * Class that provides encryption/decryption methods
6
+ */
7
+ export declare abstract class Encryptor {
8
+ /**
9
+ * Method that encrypts a value
10
+ *
11
+ * @param {EncryptionType} type encryption type
12
+ * @param {string} value a value to encrypt
13
+ * @param {string} key encryption key
14
+ * @returns {string} encrypted value
15
+ */
16
+ static encrypt(type: EncryptionType, value: string, key: string): string;
17
+ /**
18
+ * Method that decrypts a value
19
+ *
20
+ * @param {EncryptionType} type encryption type
21
+ * @param {string} cipher encrypted value / cipher
22
+ * @param {string} key decryption key
23
+ * @returns {string} decrypted value
24
+ */
25
+ static decrypt(type: EncryptionType, cipher: string, key: string): string;
26
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Encryptor = void 0;
23
+ const Crypto = __importStar(require("crypto-js"));
24
+ /**
25
+
26
+ /**
27
+ * Class that provides encryption/decryption methods
28
+ */
29
+ class Encryptor {
30
+ /**
31
+ * Method that encrypts a value
32
+ *
33
+ * @param {EncryptionType} type encryption type
34
+ * @param {string} value a value to encrypt
35
+ * @param {string} key encryption key
36
+ * @returns {string} encrypted value
37
+ */
38
+ static encrypt(type, value, key) {
39
+ switch (type) {
40
+ case 0 /* AES */:
41
+ return Crypto.AES.encrypt(value, key).toString();
42
+ break;
43
+ default:
44
+ return Crypto.AES.encrypt(value, key).toString();
45
+ break;
46
+ }
47
+ }
48
+ /**
49
+ * Method that decrypts a value
50
+ *
51
+ * @param {EncryptionType} type encryption type
52
+ * @param {string} cipher encrypted value / cipher
53
+ * @param {string} key decryption key
54
+ * @returns {string} decrypted value
55
+ */
56
+ static decrypt(type, cipher, key) {
57
+ switch (type) {
58
+ case 0 /* AES */:
59
+ return Crypto.AES.decrypt(cipher, key).toString(Crypto.enc.Utf8);
60
+ break;
61
+ default:
62
+ return Crypto.AES.decrypt(cipher, key).toString(Crypto.enc.Utf8);
63
+ break;
64
+ }
65
+ }
66
+ }
67
+ exports.Encryptor = Encryptor;
68
+ //# sourceMappingURL=encryptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryptor.js","sourceRoot":"","sources":["../../../utils/_/encryptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AAGpC;;;;GAIG;AACH,MAAsB,SAAS;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,IAAoB,EAAE,KAAa,EAAE,GAAW;QAC3D,QAAQ,IAAI,EAAE;YACV;gBACI,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM;YACV;gBACI,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM;SACb;IACL,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,IAAoB,EAAE,MAAc,EAAE,GAAW;QAC5D,QAAQ,IAAI,EAAE;YACV;gBACI,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM;YACV;gBACI,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM;SACb;IACL,CAAC;CACJ;AAtCD,8BAsCC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Utility methods for Hash
3
+ */
4
+ export declare abstract class Hasher {
5
+ /**
6
+ * Generate hash with/without base64 encoding
7
+ *
8
+ * @param {boolean?} encoded optional flag for encoded hash
9
+ * @returns {string} randomly generated hash value
10
+ */
11
+ static generate(encoded?: boolean): string;
12
+ /**
13
+ * Generate guid type
14
+ *
15
+ * @returns {string} Guid as string
16
+ */
17
+ static guid(): string;
18
+ /**
19
+ * Validate if string is a guid type
20
+ *
21
+ * @param {string} value optional flag for encoded hash
22
+ * @returns {boolean} is Guid
23
+ */
24
+ static isGuid(value: string): boolean;
25
+ }