aws-service-stack 0.10.92

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 (140) hide show
  1. package/README.md +20 -0
  2. package/dist/_examples/model/user.model.d.ts +6 -0
  3. package/dist/_examples/model/user.model.js +3 -0
  4. package/dist/_examples/model/user.model.js.map +1 -0
  5. package/dist/controller/base-controller.d.ts +34 -0
  6. package/dist/controller/base-controller.js +151 -0
  7. package/dist/controller/base-controller.js.map +1 -0
  8. package/dist/controller/index.d.ts +1 -0
  9. package/dist/controller/index.js +18 -0
  10. package/dist/controller/index.js.map +1 -0
  11. package/dist/exception/errors.d.ts +32 -0
  12. package/dist/exception/errors.js +46 -0
  13. package/dist/exception/errors.js.map +1 -0
  14. package/dist/exception/exception-handler.d.ts +238 -0
  15. package/dist/exception/exception-handler.js +112 -0
  16. package/dist/exception/exception-handler.js.map +1 -0
  17. package/dist/index.d.ts +6 -0
  18. package/dist/index.js +23 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/model/base.model.d.ts +64 -0
  21. package/dist/model/base.model.js +20 -0
  22. package/dist/model/base.model.js.map +1 -0
  23. package/dist/model/cognito-user.model.d.ts +12 -0
  24. package/dist/model/cognito-user.model.js +3 -0
  25. package/dist/model/cognito-user.model.js.map +1 -0
  26. package/dist/model/filter.model.d.ts +46 -0
  27. package/dist/model/filter.model.js +22 -0
  28. package/dist/model/filter.model.js.map +1 -0
  29. package/dist/model/http.model.d.ts +7 -0
  30. package/dist/model/http.model.js +12 -0
  31. package/dist/model/http.model.js.map +1 -0
  32. package/dist/model/index.d.ts +4 -0
  33. package/dist/model/index.js +21 -0
  34. package/dist/model/index.js.map +1 -0
  35. package/dist/model/schema-validation.d.ts +20 -0
  36. package/dist/model/schema-validation.js +91 -0
  37. package/dist/model/schema-validation.js.map +1 -0
  38. package/dist/provider/apigateway.d.ts +4 -0
  39. package/dist/provider/apigateway.js +28 -0
  40. package/dist/provider/apigateway.js.map +1 -0
  41. package/dist/provider/dynamodb.d.ts +3 -0
  42. package/dist/provider/dynamodb.js +18 -0
  43. package/dist/provider/dynamodb.js.map +1 -0
  44. package/dist/provider/index.d.ts +3 -0
  45. package/dist/provider/index.js +20 -0
  46. package/dist/provider/index.js.map +1 -0
  47. package/dist/provider/opensearch.d.ts +4 -0
  48. package/dist/provider/opensearch.js +34 -0
  49. package/dist/provider/opensearch.js.map +1 -0
  50. package/dist/repositories/base-core.repo.interface.d.ts +129 -0
  51. package/dist/repositories/base-core.repo.interface.js +3 -0
  52. package/dist/repositories/base-core.repo.interface.js.map +1 -0
  53. package/dist/repositories/base-db.repo.d.ts +78 -0
  54. package/dist/repositories/base-db.repo.interface.d.ts +61 -0
  55. package/dist/repositories/base-db.repo.interface.js +3 -0
  56. package/dist/repositories/base-db.repo.interface.js.map +1 -0
  57. package/dist/repositories/base-db.repo.js +471 -0
  58. package/dist/repositories/base-db.repo.js.map +1 -0
  59. package/dist/repositories/base-es.repo.d.ts +31 -0
  60. package/dist/repositories/base-es.repo.interface.d.ts +13 -0
  61. package/dist/repositories/base-es.repo.interface.js +3 -0
  62. package/dist/repositories/base-es.repo.interface.js.map +1 -0
  63. package/dist/repositories/base-es.repo.js +148 -0
  64. package/dist/repositories/base-es.repo.js.map +1 -0
  65. package/dist/repositories/index.d.ts +4 -0
  66. package/dist/repositories/index.js +21 -0
  67. package/dist/repositories/index.js.map +1 -0
  68. package/dist/service/api.services/api.service.d.ts +11 -0
  69. package/dist/service/api.services/api.service.interface.d.ts +8 -0
  70. package/dist/service/api.services/api.service.interface.js +3 -0
  71. package/dist/service/api.services/api.service.interface.js.map +1 -0
  72. package/dist/service/api.services/api.service.js +103 -0
  73. package/dist/service/api.services/api.service.js.map +1 -0
  74. package/dist/service/api.services/index.d.ts +2 -0
  75. package/dist/service/api.services/index.js +19 -0
  76. package/dist/service/api.services/index.js.map +1 -0
  77. package/dist/service/auth.service.d.ts +8 -0
  78. package/dist/service/auth.service.interface.d.ts +6 -0
  79. package/dist/service/auth.service.interface.js +3 -0
  80. package/dist/service/auth.service.interface.js.map +1 -0
  81. package/dist/service/auth.service.js +90 -0
  82. package/dist/service/auth.service.js.map +1 -0
  83. package/dist/service/base.service.d.ts +39 -0
  84. package/dist/service/base.service.interface.d.ts +106 -0
  85. package/dist/service/base.service.interface.js +3 -0
  86. package/dist/service/base.service.interface.js.map +1 -0
  87. package/dist/service/base.service.js +167 -0
  88. package/dist/service/base.service.js.map +1 -0
  89. package/dist/service/index.d.ts +5 -0
  90. package/dist/service/index.js +22 -0
  91. package/dist/service/index.js.map +1 -0
  92. package/dist/service/key-aws.services.d.ts +6 -0
  93. package/dist/service/key-aws.services.js +48 -0
  94. package/dist/service/key-aws.services.js.map +1 -0
  95. package/dist/service/key.services.interface.d.ts +3 -0
  96. package/dist/service/key.services.interface.js +3 -0
  97. package/dist/service/key.services.interface.js.map +1 -0
  98. package/dist/service/socket.service.d.ts +6 -0
  99. package/dist/service/socket.service.interface.d.ts +3 -0
  100. package/dist/service/socket.service.interface.js +3 -0
  101. package/dist/service/socket.service.interface.js.map +1 -0
  102. package/dist/service/socket.service.js +33 -0
  103. package/dist/service/socket.service.js.map +1 -0
  104. package/dist/service/validation.service.interface.d.ts +2 -0
  105. package/dist/service/validation.service.interface.js +3 -0
  106. package/dist/service/validation.service.interface.js.map +1 -0
  107. package/dist/utils/auth.util.d.ts +13 -0
  108. package/dist/utils/auth.util.js +17 -0
  109. package/dist/utils/auth.util.js.map +1 -0
  110. package/dist/utils/dynamodb.utils.d.ts +43 -0
  111. package/dist/utils/dynamodb.utils.js +303 -0
  112. package/dist/utils/dynamodb.utils.js.map +1 -0
  113. package/dist/utils/env.util.d.ts +1 -0
  114. package/dist/utils/env.util.js +14 -0
  115. package/dist/utils/env.util.js.map +1 -0
  116. package/dist/utils/error.util.d.ts +1 -0
  117. package/dist/utils/error.util.js +5 -0
  118. package/dist/utils/error.util.js.map +1 -0
  119. package/dist/utils/file-handler.d.ts +14 -0
  120. package/dist/utils/file-handler.js +216 -0
  121. package/dist/utils/file-handler.js.map +1 -0
  122. package/dist/utils/http.util.d.ts +27 -0
  123. package/dist/utils/http.util.js +133 -0
  124. package/dist/utils/http.util.js.map +1 -0
  125. package/dist/utils/index.d.ts +8 -0
  126. package/dist/utils/index.js +25 -0
  127. package/dist/utils/index.js.map +1 -0
  128. package/dist/utils/json.util.d.ts +1 -0
  129. package/dist/utils/json.util.js +20 -0
  130. package/dist/utils/json.util.js.map +1 -0
  131. package/dist/utils/opensearch.utils.d.ts +40 -0
  132. package/dist/utils/opensearch.utils.js +293 -0
  133. package/dist/utils/opensearch.utils.js.map +1 -0
  134. package/dist/utils/reflection.util.d.ts +20 -0
  135. package/dist/utils/reflection.util.js +154 -0
  136. package/dist/utils/reflection.util.js.map +1 -0
  137. package/dist/utils/validation.util.d.ts +13 -0
  138. package/dist/utils/validation.util.js +90 -0
  139. package/dist/utils/validation.util.js.map +1 -0
  140. package/package.json +106 -0
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BaseServiceImpl = void 0;
13
+ const index_1 = require("../index");
14
+ const socket_service_1 = require("./socket.service");
15
+ const errors_1 = require("../exception/errors");
16
+ class BaseServiceImpl extends socket_service_1.BaseSocketServiceIml {
17
+ constructor(repoDB, repoES, validationSchemaMap) {
18
+ super();
19
+ this.schemaMap = new Map();
20
+ if (repoDB != null && !(repoDB instanceof index_1.BaseRepoDBImpl))
21
+ console.error("repoDB is not an instance of BaseRepoDBImpl");
22
+ if (repoES != null && !(repoES instanceof index_1.BaseRepoESImpl))
23
+ console.error("repoES is not an instance of BaseRepoESImpl");
24
+ if (repoDB == null && repoES == null)
25
+ console.error("repo initialization is required");
26
+ this.repoDB = repoDB;
27
+ this.repoES = repoES;
28
+ this.schemaMap = validationSchemaMap;
29
+ }
30
+ incrementValueByField(entityId, fieldName, value) {
31
+ return this.repoDB.incrementValueByField(entityId, fieldName, value);
32
+ }
33
+ decrementValueByField(entityId, fieldName, value) {
34
+ return this.repoDB.decrementValueByField(entityId, fieldName, value);
35
+ }
36
+ find(filter) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const parsedFilter = (0, index_1.parseIndexFilter)(filter, this.getIndexMapDB());
39
+ return this.repoDB.find(parsedFilter);
40
+ });
41
+ }
42
+ search(filter) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return (yield this.repoES.find(filter)).items;
45
+ });
46
+ }
47
+ save(userId, entity) {
48
+ this.validate(entity);
49
+ (0, index_1.addDatesAndId)(entity);
50
+ entity.createdBy = userId;
51
+ return this.repoDB.save(entity);
52
+ }
53
+ saveAll(userId, entities) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ entities.forEach(index_1.addDatesAndId);
56
+ this.validateMany(entities);
57
+ return this.repoDB.saveMany(entities);
58
+ });
59
+ }
60
+ update(userId, entity, fields) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ entity.updatedBy = userId;
63
+ (0, index_1.addDates)(entity);
64
+ this.validate(entity, fields);
65
+ // if (!hasPermission(entity, userId, Permission.UPDATE)) throw new Error("Unauthorized access");
66
+ return (yield this.repoDB.update(entity, fields)); //todo remove as T
67
+ });
68
+ }
69
+ updateAll(userId, entities, fields) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ entities.forEach((entity) => { });
72
+ return yield this.repoDB.updateMany(entities, fields);
73
+ });
74
+ }
75
+ remove(userId, entityId) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const entity = yield this.repoDB.findById(entityId);
78
+ if (!entity)
79
+ throw new Error("Entity not found");
80
+ // if (!hasPermission(entity, userId, Permission.DELETE)) throw new Error("Unauthorized access");
81
+ return this.repoDB.delete(entityId);
82
+ });
83
+ }
84
+ removeAll(userId, entityIds) {
85
+ //todo check permission
86
+ return this.repoDB.deleteMany(entityIds);
87
+ }
88
+ findById(userId, entityId) {
89
+ return this.repoDB.findById(entityId);
90
+ }
91
+ findByIds(userId, entityIds) {
92
+ return this.repoDB.findByIds(entityIds);
93
+ }
94
+ changeOwner(userId, ownerId, entityId) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const entity = yield this.repoDB.findById(entityId);
97
+ entity.ownerId = ownerId;
98
+ return this.repoDB.update(entity, ["owner"]);
99
+ });
100
+ }
101
+ setTable(tableName, dynamoIndexMap) {
102
+ this.repoDB.setTableName(tableName);
103
+ this.repoDB.setIndexMap(dynamoIndexMap);
104
+ return true;
105
+ }
106
+ setOpensearch(indexName, opensearchEndpoint) {
107
+ this.repoES.setIndexName(indexName);
108
+ this.repoES.setEndpoint(opensearchEndpoint);
109
+ return true;
110
+ }
111
+ setValidationSchemaMap(validationSchemaMap) {
112
+ this.schemaMap = validationSchemaMap;
113
+ return true;
114
+ }
115
+ getIndexES() {
116
+ return this.repoES.getIndexName();
117
+ }
118
+ getIndexMapDB() {
119
+ return this.repoDB.getIndexMap();
120
+ }
121
+ findAll() {
122
+ return Promise.resolve(undefined);
123
+ }
124
+ findByField(fieldName, fieldValue) {
125
+ return Promise.resolve(undefined);
126
+ }
127
+ findFirst(fieldName, fieldValue) {
128
+ return Promise.resolve(undefined);
129
+ }
130
+ throwErrorHttp(error, message, errorContent) {
131
+ throw new errors_1.ErrorHttp({ code: error.code, error: error.message }, message, errorContent);
132
+ }
133
+ throwErrorDatabase(tableName, command, errorContent) {
134
+ throw new errors_1.ErrorDynamoDB(tableName, command, errorContent);
135
+ }
136
+ throwErrorValidation(entityName, validation, errorContent) {
137
+ throw new errors_1.ErrorValidation(entityName, validation, errorContent);
138
+ }
139
+ throwError(code, message, errorContent) {
140
+ throw new errors_1.ErrorBase(code, message, errorContent);
141
+ }
142
+ validate(entity, fields) {
143
+ if (!this.schemaMap)
144
+ return true;
145
+ const schema = this.schemaMap.get(entity.__typename);
146
+ if (!schema) {
147
+ console.warn(`Validation schema not defined for entity:${entity.__typename}`);
148
+ return true;
149
+ }
150
+ schema.validate(entity, fields);
151
+ return true;
152
+ }
153
+ validateMany(entities, fields) {
154
+ var _a;
155
+ const entityName = entities[0].__typename;
156
+ const schema = (_a = this.schemaMap) === null || _a === void 0 ? void 0 : _a.get(entityName);
157
+ if (!schema) {
158
+ console.warn("no validation schema defined for entity: " + entityName);
159
+ return true;
160
+ }
161
+ entities.forEach((entity) => {
162
+ this.validate(entity, fields);
163
+ });
164
+ }
165
+ }
166
+ exports.BaseServiceImpl = BaseServiceImpl;
167
+ //# sourceMappingURL=base.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../src/service/base.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './api.services';
2
+ export * from './base.service';
3
+ export * from './base.service.interface';
4
+ export * from './socket.service';
5
+ export * from './socket.service.interface';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./api.services"), exports);
18
+ __exportStar(require("./base.service"), exports);
19
+ __exportStar(require("./base.service.interface"), exports);
20
+ __exportStar(require("./socket.service"), exports);
21
+ __exportStar(require("./socket.service.interface"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,2DAAyC;AACzC,mDAAiC;AACjC,6DAA2C"}
@@ -0,0 +1,6 @@
1
+ import { KeyService } from "./key.services.interface";
2
+ export declare class KeyServiceImpl implements KeyService {
3
+ private readonly client;
4
+ constructor(region: string);
5
+ get(keyId: string): Promise<string>;
6
+ }
@@ -0,0 +1,48 @@
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.KeyServiceImpl = void 0;
22
+ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
23
+ const typedi_1 = require("typedi");
24
+ let KeyServiceImpl = class KeyServiceImpl {
25
+ constructor(region) {
26
+ this.client = new client_secrets_manager_1.SecretsManagerClient({ region: region }); // Change to your region
27
+ }
28
+ get(keyId) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ try {
31
+ const command = new client_secrets_manager_1.GetSecretValueCommand({
32
+ SecretId: keyId,
33
+ });
34
+ const response = yield this.client.send(command);
35
+ return response.SecretString;
36
+ }
37
+ catch (error) {
38
+ console.error("Error fetching key details:", error);
39
+ }
40
+ });
41
+ }
42
+ };
43
+ exports.KeyServiceImpl = KeyServiceImpl;
44
+ exports.KeyServiceImpl = KeyServiceImpl = __decorate([
45
+ (0, typedi_1.Service)("KeyService"),
46
+ __metadata("design:paramtypes", [String])
47
+ ], KeyServiceImpl);
48
+ //# sourceMappingURL=key-aws.services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-aws.services.js","sourceRoot":"","sources":["../../src/service/key-aws.services.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8F;AAE9F,mCAAiC;AAI1B,IAAM,cAAc,GAApB,MAAM,cAAc;IAGzB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,6CAAoB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB;IACtF,CAAC;IAEK,GAAG,CAAC,KAAa;;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,8CAAqB,CAAC;oBACxC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,QAAQ,CAAC,YAAY,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AAlBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,gBAAO,EAAC,YAAY,CAAC;;GACT,cAAc,CAkB1B"}
@@ -0,0 +1,3 @@
1
+ export interface KeyService {
2
+ get(key: string): Promise<string>;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=key.services.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.services.interface.js","sourceRoot":"","sources":["../../src/service/key.services.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import "../provider/apigateway";
2
+ import { BaseSocketService } from "./socket.service.interface";
3
+ export declare class BaseSocketServiceIml<T> implements BaseSocketService<T> {
4
+ private readonly apiGatewayManagement;
5
+ sendSocketMessage(connectionId: string, data: T): Promise<any>;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface BaseSocketService<T> {
2
+ sendSocketMessage(connectionId: string, data: T): Promise<any>;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=socket.service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.service.interface.js","sourceRoot":"","sources":["../../src/service/socket.service.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BaseSocketServiceIml = void 0;
13
+ const typedi_1 = require("typedi");
14
+ const provider_1 = require("../provider");
15
+ require("../provider/apigateway");
16
+ const client_apigatewaymanagementapi_1 = require("@aws-sdk/client-apigatewaymanagementapi");
17
+ let BaseSocketServiceIml = class BaseSocketServiceIml {
18
+ sendSocketMessage(connectionId, data) {
19
+ return this.apiGatewayManagement.send(new client_apigatewaymanagementapi_1.PostToConnectionCommand({
20
+ ConnectionId: connectionId,
21
+ Data: JSON.stringify(data),
22
+ }));
23
+ }
24
+ };
25
+ exports.BaseSocketServiceIml = BaseSocketServiceIml;
26
+ __decorate([
27
+ (0, typedi_1.Inject)("ApiGatewayManagement"),
28
+ __metadata("design:type", provider_1.ApiGatewayManagement)
29
+ ], BaseSocketServiceIml.prototype, "apiGatewayManagement", void 0);
30
+ exports.BaseSocketServiceIml = BaseSocketServiceIml = __decorate([
31
+ (0, typedi_1.Service)("BaseSocketService")
32
+ ], BaseSocketServiceIml);
33
+ //# sourceMappingURL=socket.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.service.js","sourceRoot":"","sources":["../../src/service/socket.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAyC;AACzC,0CAAmD;AACnD,kCAAgC;AAEhC,4FAAkF;AAG3E,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,iBAAiB,CAAC,YAAoB,EAAE,IAAO;QAC7C,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CACnC,IAAI,wDAAuB,CAAC;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,oDAAoB;AACkB;IAAhD,IAAA,eAAM,EAAC,sBAAsB,CAAC;8BAAwC,+BAAoB;kEAAC;+BADjF,oBAAoB;IADhC,IAAA,gBAAO,EAAC,mBAAmB,CAAC;GAChB,oBAAoB,CAWhC"}
@@ -0,0 +1,2 @@
1
+ export interface ValidationService {
2
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=validation.service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.service.interface.js","sourceRoot":"","sources":["../../src/service/validation.service.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { BaseEntity, Permission } from "../index";
2
+ export declare const getAWSCredentials: () => {
3
+ accessKeyId: string;
4
+ secretAccessKey: string;
5
+ };
6
+ export interface AuthConfig {
7
+ region?: string;
8
+ credentials?: {
9
+ accessKeyId: string;
10
+ secretAccessKey: string;
11
+ };
12
+ }
13
+ export declare function hasPermission(entity: BaseEntity, userId: string, permission: Permission): boolean;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAWSCredentials = void 0;
4
+ exports.hasPermission = hasPermission;
5
+ const index_1 = require("../index");
6
+ const getAWSCredentials = () => {
7
+ const accessKey = (0, index_1.getEnvVariable)("IAM_ACCESS_KEY", new Error("IAM_ACCESS_KEY_NOT_FOUND"));
8
+ const secretAccessKey = (0, index_1.getEnvVariable)("IAM_SECRET_ACCESS_KEY", new Error("IAM_SECRET_ACCESS_KEY_NOT_FOUND"));
9
+ return { accessKeyId: accessKey, secretAccessKey: secretAccessKey };
10
+ };
11
+ exports.getAWSCredentials = getAWSCredentials;
12
+ function hasPermission(entity, userId, permission) {
13
+ var _a, _b;
14
+ const perms = (_b = (_a = entity.permission) === null || _a === void 0 ? void 0 : _a.get(userId)) !== null && _b !== void 0 ? _b : [];
15
+ return perms.includes(permission);
16
+ }
17
+ //# sourceMappingURL=auth.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.util.js","sourceRoot":"","sources":["../../src/utils/auth.util.ts"],"names":[],"mappings":";;;AAmBA,sCAGC;AAtBD,oCAAkE;AAE3D,MAAM,iBAAiB,GAAG,GAG/B,EAAE;IACF,MAAM,SAAS,GAAG,IAAA,sBAAc,EAAC,gBAAgB,EAAE,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC1F,MAAM,eAAe,GAAG,IAAA,sBAAc,EAAC,uBAAuB,EAAE,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC9G,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AACtE,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B;AAUF,SAAgB,aAAa,CAAC,MAAkB,EAAE,MAAc,EAAE,UAAsB;;IACtF,MAAM,KAAK,GAAG,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IACnD,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { AttributeValue, QueryCommandInput, ScanCommandInput } from "@aws-sdk/client-dynamodb";
2
+ import { FilterAndSort } from "../model/base.model";
3
+ import { DynamoIndexMap } from "../model/filter.model";
4
+ export declare const generateUUID: () => string;
5
+ export declare const buildDynamoDBFilterConditions: (filter: FilterAndSort, indexMap: DynamoIndexMap) => FilterExpression;
6
+ export declare const buildQueryDB: (tableName: string, filter: FilterAndSort, indexMap: DynamoIndexMap) => QueryCommandInput | ScanCommandInput;
7
+ export declare const buildDynamoDBScanCommand: ({ tableName, filter, expression, }: {
8
+ tableName: string;
9
+ filter?: FilterAndSort;
10
+ expression?: FilterExpression;
11
+ }) => ScanCommandInput;
12
+ export declare const buildDynamoDBQueryCommand: ({ filter, tableName, filterCondition, indexMap, }: {
13
+ filterCondition: FilterExpression;
14
+ tableName: string;
15
+ filter?: FilterAndSort;
16
+ indexMap: DynamoIndexMap;
17
+ }) => QueryCommandInput;
18
+ export declare const generateIndexValues: (input: Record<string, any>, indexMap: DynamoIndexMap) => Record<string, string>;
19
+ export declare const addIndexValue: (entity: Record<string, any>, indexMap: DynamoIndexMap) => Record<string, any>;
20
+ export declare function unMarshall<T>(dataRecords: Record<string, AttributeValue>[]): Array<T>;
21
+ export declare const isEmptyExpression: ({ expression, }: {
22
+ expression?: {
23
+ FilterExpression?: string;
24
+ ExpressionAttributeNames?: Record<string, string>;
25
+ ExpressionAttributeValues?: Record<string, any>;
26
+ };
27
+ }) => boolean;
28
+ export declare function isEmptyExpressions(exp: FilterExpression): boolean;
29
+ export interface FilterExpression {
30
+ filter?: string;
31
+ attributeNames?: Record<string, string>;
32
+ attributeValues?: Record<string, any>;
33
+ }
34
+ export declare const checkFieldType: (key: string, value: string, indexMap: DynamoIndexMap) => number | string;
35
+ export interface UpdateExpression {
36
+ UpdateExpression: string;
37
+ ExpressionAttributeNames: Record<string, string>;
38
+ ExpressionAttributeValues: Record<string, any>;
39
+ }
40
+ export declare function buildUpdateExpressions(data: Record<string, any>, excludeKeys?: string[]): UpdateExpression;
41
+ export declare const parseLastEvaluatedKey: <T>(lastKey: string) => T | undefined;
42
+ export declare function generateLastEvaluatedKey<T>(item: any, indexField?: string, sortField?: string): string;
43
+ export declare function toBase64(inputStr: any): string;