itrm-tools 1.3.5-beta.1 → 1.3.5-beta.2

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 (158) hide show
  1. package/README.md +2 -2
  2. package/dist/api/APIService.js +8 -2
  3. package/dist/api/APIService.js.map +1 -1
  4. package/dist/api/express/ExpressStandardConfiguration.d.ts +1 -1
  5. package/dist/api/express/ExpressStandardConfiguration.js +9 -1
  6. package/dist/api/express/ExpressStandardConfiguration.js.map +1 -1
  7. package/dist/api/external/ExternalApiConnection.d.ts +13 -0
  8. package/dist/api/external/ExternalApiConnection.js +24 -0
  9. package/dist/api/external/ExternalApiConnection.js.map +1 -0
  10. package/dist/api/external/cetus/CetusStrategyApiManager.d.ts +4 -3
  11. package/dist/api/external/cetus/CetusStrategyApiManager.js +4 -4
  12. package/dist/api/external/cetus/CetusStrategyApiManager.js.map +1 -1
  13. package/dist/api/request/RequestAxiosCall.d.ts +4 -4
  14. package/dist/api/request/RequestAxiosCall.js.map +1 -1
  15. package/dist/api/request/crud/CrudManager.d.ts +2 -2
  16. package/dist/api/request/crud/CrudServiceManager.d.ts +5 -5
  17. package/dist/api/request/crud/CrudServiceManager.js.map +1 -1
  18. package/dist/api/request/crud/common/ActivityHistoryManager.d.ts +40 -0
  19. package/dist/api/request/crud/common/ActivityHistoryManager.js +69 -0
  20. package/dist/api/request/crud/common/ActivityHistoryManager.js.map +1 -0
  21. package/dist/api/request/crud/common/ApplicationManager.d.ts +39 -0
  22. package/dist/api/request/crud/common/ApplicationManager.js +57 -0
  23. package/dist/api/request/crud/common/ApplicationManager.js.map +1 -0
  24. package/dist/api/request/crud/common/AvailablePlatformManager.d.ts +39 -0
  25. package/dist/api/request/crud/common/AvailablePlatformManager.js +69 -0
  26. package/dist/api/request/crud/common/AvailablePlatformManager.js.map +1 -0
  27. package/dist/api/request/crud/common/ComponentManager.d.ts +56 -0
  28. package/dist/api/request/crud/common/ComponentManager.js +63 -0
  29. package/dist/api/request/crud/common/ComponentManager.js.map +1 -0
  30. package/dist/api/request/crud/common/KeyManager.d.ts +42 -0
  31. package/dist/api/request/crud/common/KeyManager.js +70 -0
  32. package/dist/api/request/crud/common/KeyManager.js.map +1 -0
  33. package/dist/api/request/crud/common/PlatformManager.d.ts +44 -0
  34. package/dist/api/request/crud/common/PlatformManager.js +60 -0
  35. package/dist/api/request/crud/common/PlatformManager.js.map +1 -0
  36. package/dist/api/request/crud/common/RoleManager.d.ts +51 -0
  37. package/dist/api/request/crud/common/RoleManager.js +57 -0
  38. package/dist/api/request/crud/common/RoleManager.js.map +1 -0
  39. package/dist/api/request/crud/common/StatusManager.d.ts +34 -0
  40. package/dist/api/request/crud/common/StatusManager.js +57 -0
  41. package/dist/api/request/crud/common/StatusManager.js.map +1 -0
  42. package/dist/api/request/crud/common/TypeManager.d.ts +33 -0
  43. package/dist/api/request/crud/common/TypeManager.js +57 -0
  44. package/dist/api/request/crud/common/TypeManager.js.map +1 -0
  45. package/dist/api/request/crud/common/UserCredentialsManager.d.ts +39 -0
  46. package/dist/api/request/crud/common/UserCredentialsManager.js +67 -0
  47. package/dist/api/request/crud/common/UserCredentialsManager.js.map +1 -0
  48. package/dist/api/request/crud/common/UserManager.d.ts +35 -0
  49. package/dist/api/request/crud/common/UserManager.js +63 -0
  50. package/dist/api/request/crud/common/UserManager.js.map +1 -0
  51. package/dist/api/request/docs/DocumentationModels.d.ts +4 -4
  52. package/dist/api/request/docs/DocumentationModels.js.map +1 -1
  53. package/dist/cryptography/CipheringAlgorithm.d.ts +4 -0
  54. package/dist/cryptography/CipheringAlgorithm.js +3 -0
  55. package/dist/cryptography/CipheringAlgorithm.js.map +1 -0
  56. package/dist/cryptography/EncryptionAlgorithm.js.map +1 -0
  57. package/dist/cryptography/KeyGenerator.d.ts +3 -0
  58. package/dist/cryptography/KeyGenerator.js +3 -0
  59. package/dist/cryptography/KeyGenerator.js.map +1 -0
  60. package/dist/cryptography/Signer.d.ts +4 -0
  61. package/dist/cryptography/Signer.js +3 -0
  62. package/dist/cryptography/Signer.js.map +1 -0
  63. package/dist/cryptography/algorithm/AesCipheringAlgorithm.d.ts +6 -0
  64. package/dist/cryptography/algorithm/AesCipheringAlgorithm.js +28 -0
  65. package/dist/cryptography/algorithm/AesCipheringAlgorithm.js.map +1 -0
  66. package/dist/cryptography/generate/StandardApiKeyGenerator.d.ts +9 -0
  67. package/dist/cryptography/generate/StandardApiKeyGenerator.js +18 -0
  68. package/dist/cryptography/generate/StandardApiKeyGenerator.js.map +1 -0
  69. package/dist/cryptography/sign/ApiKeySigner.d.ts +14 -0
  70. package/dist/cryptography/sign/ApiKeySigner.js +35 -0
  71. package/dist/cryptography/sign/ApiKeySigner.js.map +1 -0
  72. package/dist/database/mongoose/MongooseModelManager.d.ts +40 -8
  73. package/dist/index.d.ts +17 -2
  74. package/dist/index.js +32 -3
  75. package/dist/index.js.map +1 -1
  76. package/package.json +75 -68
  77. package/.github/workflows/node.js.yml +0 -30
  78. package/dist/algorithm/encryption/EncryptionAlgorithm.js.map +0 -1
  79. package/dist/api/external/ExternalApiSigner.d.ts +0 -15
  80. package/dist/api/external/ExternalApiSigner.js +0 -25
  81. package/dist/api/external/ExternalApiSigner.js.map +0 -1
  82. package/jest.config.js +0 -7
  83. package/sequelize.sqlite +0 -0
  84. package/src/algorithm/encryption/EncryptionAlgorithm.ts +0 -4
  85. package/src/api/APIRequest.ts +0 -176
  86. package/src/api/APIRequestBuilder.ts +0 -28
  87. package/src/api/APIRouter.ts +0 -26
  88. package/src/api/APIService.ts +0 -117
  89. package/src/api/ExpressConfiguration.ts +0 -5
  90. package/src/api/HttpsAPIService.ts +0 -35
  91. package/src/api/alegra/AlegraConnectionManager.ts +0 -54
  92. package/src/api/alegra/AlegraTypes.ts +0 -150
  93. package/src/api/builder/StandardGetRequestBuilder.ts +0 -34
  94. package/src/api/channel/ServerSentEventsManager.ts +0 -28
  95. package/src/api/check/APIChecker.ts +0 -50
  96. package/src/api/check/CheckableAPIRequest.ts +0 -33
  97. package/src/api/check/CheckableAPIRouter.ts +0 -39
  98. package/src/api/check/request/CheckableDeleteRequest.ts +0 -17
  99. package/src/api/check/request/CheckableFileUploadingPostRequest.ts +0 -26
  100. package/src/api/check/request/CheckableGetRequest.ts +0 -17
  101. package/src/api/check/request/CheckablePostRequest.ts +0 -17
  102. package/src/api/check/request/CheckablePutRequest.ts +0 -17
  103. package/src/api/check/route/CorsCheckApiRouter.ts +0 -22
  104. package/src/api/check/route/SimpleCheckableAPIRouter.ts +0 -14
  105. package/src/api/express/ExpressFileUploadingConfiguration.ts +0 -22
  106. package/src/api/express/ExpressLogableConfig.ts +0 -11
  107. package/src/api/express/ExpressStandardConfiguration.ts +0 -25
  108. package/src/api/external/ExternalApiSigner.ts +0 -29
  109. package/src/api/external/cetus/CetusStrategyApiManager.ts +0 -48
  110. package/src/api/request/DeleteRequest.ts +0 -16
  111. package/src/api/request/GetRequest.ts +0 -16
  112. package/src/api/request/PostRequest.ts +0 -16
  113. package/src/api/request/PutRequest.ts +0 -16
  114. package/src/api/request/RequestAxiosCall.ts +0 -38
  115. package/src/api/request/crud/CrudManager.ts +0 -11
  116. package/src/api/request/crud/CrudServiceManager.ts +0 -117
  117. package/src/api/request/docs/DocumentationModels.ts +0 -121
  118. package/src/api/request/docs/DocumentationRequest.ts +0 -132
  119. package/src/api/route/SimpleAPIRouter.ts +0 -12
  120. package/src/database/mongoose/MongooseModelManager.ts +0 -65
  121. package/src/database/redis/RedisConnection.ts +0 -18
  122. package/src/database/redis/RedisModelManager.ts +0 -23
  123. package/src/database/sequelize/SequelizeConnection.ts +0 -45
  124. package/src/database/sequelize/SequelizeModelManager.ts +0 -71
  125. package/src/index.ts +0 -51
  126. package/src/log/Logger.ts +0 -27
  127. package/src/log/LoggerManager.ts +0 -50
  128. package/src/log/LoggerWebSocket.ts +0 -13
  129. package/src/math/Utils.ts +0 -4
  130. package/src/types/payments.ts +0 -811
  131. package/src/web3/Coin.ts +0 -18
  132. package/src/web3/coingecko/CoingeckoPriceFinder.ts +0 -75
  133. package/test/api/APIRouter.test.ts +0 -78
  134. package/test/api/APIService.test.ts +0 -50
  135. package/test/api/APITestDefinitions.ts +0 -7
  136. package/test/api/CORS.test.ts +0 -56
  137. package/test/api/alegra/AlegraConnectionManager.test.ts +0 -32
  138. package/test/api/check/CheckDefinitions.ts +0 -47
  139. package/test/api/check/CheckableAPIRouter.test.ts +0 -67
  140. package/test/api/check/CheckableDeleteRequest.test.ts +0 -92
  141. package/test/api/check/CheckableGetRequest.test.ts +0 -99
  142. package/test/api/check/CheckablePostRequest.test.ts +0 -108
  143. package/test/api/check/CheckablePutRequest.test.ts +0 -99
  144. package/test/api/docs/DocumentationRequest.test.ts +0 -192
  145. package/test/api/request/DeleteRequest.test.ts +0 -117
  146. package/test/api/request/GetRequest.test.ts +0 -140
  147. package/test/api/request/PostRequest.test.ts +0 -237
  148. package/test/api/request/PutRequest.test.ts +0 -166
  149. package/test/database/mongoose/MongooseModelManager.test.ts +0 -139
  150. package/test/database/redis/RedisConnection.test.ts +0 -7
  151. package/test/database/sequelize/SequealizeDefinitions.ts +0 -6
  152. package/test/database/sequelize/SequelizeConnection.test.ts +0 -30
  153. package/test/database/sequelize/SequelizeModelManager.test.ts +0 -206
  154. package/test/log/Logger.test.ts +0 -44
  155. package/test/web3/coingecko/CoingeckoPriceFinder.test.ts +0 -72
  156. package/tsconfig.json +0 -23
  157. /package/dist/{algorithm/encryption → cryptography}/EncryptionAlgorithm.d.ts +0 -0
  158. /package/dist/{algorithm/encryption → cryptography}/EncryptionAlgorithm.js +0 -0
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { EncryptionAlgorithm } from './algorithm/encryption/EncryptionAlgorithm';
1
+ export { EncryptionAlgorithm } from './cryptography/EncryptionAlgorithm';
2
2
  export { AlegraConnectionManager as AlegraConnectionManager } from './api/alegra/AlegraConnectionManager';
3
3
  export { IAlegraContact as IAlegraContact, IAlegraPayment as IAlegraPayment, IAlegraCategory as IAlegraCategory, IAlegraJournal as IAlegraJournal, IAlegraEntry as IAlegraEntry, IAlegraResult as IAlegraResult } from './api/alegra/AlegraTypes';
4
4
  export { APIServiceConfig as APIServiceConfig, APIService as APIService, APIServiceResponse as APIServiceResponse, ITRMAPIServiceGlobal as ITRMAPIServiceGlobal } from './api/APIService';
@@ -8,7 +8,7 @@ export { StandardGetRequestBuilder as StandardGetRequestBuilder } from './api/bu
8
8
  export { ExpressLogableConfig as ExpressLogableConfig } from './api/express/ExpressLogableConfig';
9
9
  export { ExpressStandardConfiguration as ExpressStandardConfiguration } from './api/express/ExpressStandardConfiguration';
10
10
  export { ExpressFileUploadingConfiguration as ExpressFileUploadingConfiguration } from './api/express/ExpressFileUploadingConfiguration';
11
- export { ExternalApiSigner as ExternalApiSigner, ApiKeyPair as ApiKeyPair } from './api/external/ExternalApiSigner';
11
+ export { ExternalApiConnection as ExternalApiConnection } from './api/external/ExternalApiConnection';
12
12
  export { CetusStrategyApiManager as CetusStrategyApiManager, CetusPair as CetusPair, CetusRate as CetusRate, CetusStrategy as CetusStrategy } from './api/external/cetus/CetusStrategyApiManager';
13
13
  export { APIRequest as APIRequest, RequestMethod as RequestMethod, RequestContext as RequestContext, GroupedParameters as GroupedParameters, APIRequestConfig as APIRequestConfig, RequestParameterType as RequestParameterType } from './api/APIRequest';
14
14
  export { APIRequestBuilder as APIRequestBuilder, DocDetails as DocDetails, ISamples as ISamples } from './api/APIRequestBuilder';
@@ -29,8 +29,23 @@ export { CheckableFileUploadingPostRequest as CheckableFileUploadingPostRequest
29
29
  export { CheckableAPIRouter as CheckableAPIRouter } from './api/check/CheckableAPIRouter';
30
30
  export { CorsCheckApiRouter as CorsCheckApiRouter } from './api/check/route/CorsCheckApiRouter';
31
31
  export { SimpleCheckableAPIRouter as SimpleCheckableAPIRouter } from './api/check/route/SimpleCheckableAPIRouter';
32
+ export { ActivityHistoryManager as ActivityHistoryManager, IActivityHistory as IActivityHistory, IActivityHistoryDetails as IActivityHistoryDetails } from "./api/request/crud/common/ActivityHistoryManager";
33
+ export { ApplicationManager as ApplicationManager, IApplication as IApplication, IApplicationSearchDetails as IApplicationSearchDetails, IApplicationDetails as IApplicationDetails } from './api/request/crud/common/ApplicationManager';
34
+ export { AvailablePlatformManager as AvailablePlatformManager, IAvailablePlatform as IAvailablePlatform, IAvailablePlatformSearchDetails as IAvailablePlatformSearchDetails } from './api/request/crud/common/AvailablePlatformManager';
35
+ export { ComponentManager as ComponentManager, IComponent as IComponent, IComponentSearchDetails as IComponentSearchDetails, IComponentDetails as IComponentDetails, IComponentServiceDetails as IComponentServiceDetails } from './api/request/crud/common/ComponentManager';
36
+ export { KeyManager as KeyManager, IKey as IKey, IKeyDetails as IKeyDetails } from "./api/request/crud/common/KeyManager";
37
+ export { PlatformManager as PlatformManager, IPlatform as IPlatform, IPlatformSearchDetails as IPlatformSearchDetails, IPlatformDetails as IPlatformDetails } from "./api/request/crud/common/PlatformManager";
38
+ export { RoleManager as RoleManager, IRole as IRole, IRoleSearchDetails as IRoleSearchDetails } from "./api/request/crud/common/RoleManager";
39
+ export { StatusManager as StatusManager, IStatus as IStatus, IStatusSearchDetails as IStatusSearchDetails } from "./api/request/crud/common/StatusManager";
40
+ export { TypeManager as TypeManager, IType as IType, ITypeSearchDetails as ITypeSearchDetails } from "./api/request/crud/common/TypeManager";
41
+ export { UserCredentialsManager as UserCredentialsManager, IUserCredentials as IUserCredentials, IUserCredentialsSearchDetails as IUserCredentialsSearchDetails } from "./api/request/crud/common/UserCredentialsManager";
42
+ export { UserManager as UserManager, IUser as IUser, IUserSearchDetails as IUserSearchDetails } from "./api/request/crud/common/UserManager";
32
43
  export { CrudManager as CrudManager } from './api/request/crud/CrudManager';
33
44
  export { CrudServiceManager as CrudServiceManager, StandardIdRequestDefinition as StandardIdRequestDefinition } from './api/request/crud/CrudServiceManager';
45
+ export { CipheringAlgorithm as CipheringAlgorithm } from './cryptography/CipheringAlgorithm';
46
+ export { AesCipheringAlgorithm as AesCipheringAlgorithm } from './cryptography/algorithm/AesCipheringAlgorithm';
47
+ export { StandardKeyGroup as StandardKeyGroup, StandardApiKeyGenerator as StandardApiKeyGenerator } from './cryptography/generate/StandardApiKeyGenerator';
48
+ export { ApiKeySigner as ApiKeySigner } from './cryptography/sign/ApiKeySigner';
34
49
  export { MongooseModelManager as MongooseModelManager } from './database/mongoose/MongooseModelManager';
35
50
  export { SequelizeConnection as SequelizeConnection } from './database/sequelize/SequelizeConnection';
36
51
  export { SequelizeModelManager as SequelizeModelManager } from './database/sequelize/SequelizeModelManager';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.CrudServiceManager = exports.SimpleCheckableAPIRouter = exports.CorsCheckApiRouter = exports.CheckableAPIRouter = exports.CheckableFileUploadingPostRequest = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.APIChecker = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.RequestAxiosCall = exports.SimpleAPIRouter = exports.APIRouter = exports.APIRequestBuilder = exports.RequestParameterType = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.CetusPair = exports.CetusStrategyApiManager = exports.ExternalApiSigner = exports.ExpressFileUploadingConfiguration = exports.ExpressStandardConfiguration = exports.ExpressLogableConfig = exports.StandardGetRequestBuilder = exports.HttpsAPIService = exports.ITRMAPIServiceGlobal = exports.APIService = exports.AlegraConnectionManager = void 0;
3
+ exports.SequelizeConnection = exports.MongooseModelManager = exports.ApiKeySigner = exports.StandardApiKeyGenerator = exports.AesCipheringAlgorithm = exports.CrudServiceManager = exports.UserManager = exports.UserCredentialsManager = exports.TypeManager = exports.StatusManager = exports.RoleManager = exports.PlatformManager = exports.KeyManager = exports.ComponentManager = exports.AvailablePlatformManager = exports.ApplicationManager = exports.ActivityHistoryManager = exports.SimpleCheckableAPIRouter = exports.CorsCheckApiRouter = exports.CheckableAPIRouter = exports.CheckableFileUploadingPostRequest = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.APIChecker = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.RequestAxiosCall = exports.SimpleAPIRouter = exports.APIRouter = exports.APIRequestBuilder = exports.RequestParameterType = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.CetusPair = exports.CetusStrategyApiManager = exports.ExternalApiConnection = exports.ExpressFileUploadingConfiguration = exports.ExpressStandardConfiguration = exports.ExpressLogableConfig = exports.StandardGetRequestBuilder = exports.HttpsAPIService = exports.ITRMAPIServiceGlobal = exports.APIService = exports.AlegraConnectionManager = void 0;
4
+ exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = void 0;
4
5
  var AlegraConnectionManager_1 = require("./api/alegra/AlegraConnectionManager");
5
6
  Object.defineProperty(exports, "AlegraConnectionManager", { enumerable: true, get: function () { return AlegraConnectionManager_1.AlegraConnectionManager; } });
6
7
  var APIService_1 = require("./api/APIService");
@@ -16,8 +17,8 @@ var ExpressStandardConfiguration_1 = require("./api/express/ExpressStandardConfi
16
17
  Object.defineProperty(exports, "ExpressStandardConfiguration", { enumerable: true, get: function () { return ExpressStandardConfiguration_1.ExpressStandardConfiguration; } });
17
18
  var ExpressFileUploadingConfiguration_1 = require("./api/express/ExpressFileUploadingConfiguration");
18
19
  Object.defineProperty(exports, "ExpressFileUploadingConfiguration", { enumerable: true, get: function () { return ExpressFileUploadingConfiguration_1.ExpressFileUploadingConfiguration; } });
19
- var ExternalApiSigner_1 = require("./api/external/ExternalApiSigner");
20
- Object.defineProperty(exports, "ExternalApiSigner", { enumerable: true, get: function () { return ExternalApiSigner_1.ExternalApiSigner; } });
20
+ var ExternalApiConnection_1 = require("./api/external/ExternalApiConnection");
21
+ Object.defineProperty(exports, "ExternalApiConnection", { enumerable: true, get: function () { return ExternalApiConnection_1.ExternalApiConnection; } });
21
22
  var CetusStrategyApiManager_1 = require("./api/external/cetus/CetusStrategyApiManager");
22
23
  Object.defineProperty(exports, "CetusStrategyApiManager", { enumerable: true, get: function () { return CetusStrategyApiManager_1.CetusStrategyApiManager; } });
23
24
  Object.defineProperty(exports, "CetusPair", { enumerable: true, get: function () { return CetusStrategyApiManager_1.CetusPair; } });
@@ -62,8 +63,36 @@ var CorsCheckApiRouter_1 = require("./api/check/route/CorsCheckApiRouter");
62
63
  Object.defineProperty(exports, "CorsCheckApiRouter", { enumerable: true, get: function () { return CorsCheckApiRouter_1.CorsCheckApiRouter; } });
63
64
  var SimpleCheckableAPIRouter_1 = require("./api/check/route/SimpleCheckableAPIRouter");
64
65
  Object.defineProperty(exports, "SimpleCheckableAPIRouter", { enumerable: true, get: function () { return SimpleCheckableAPIRouter_1.SimpleCheckableAPIRouter; } });
66
+ var ActivityHistoryManager_1 = require("./api/request/crud/common/ActivityHistoryManager");
67
+ Object.defineProperty(exports, "ActivityHistoryManager", { enumerable: true, get: function () { return ActivityHistoryManager_1.ActivityHistoryManager; } });
68
+ var ApplicationManager_1 = require("./api/request/crud/common/ApplicationManager");
69
+ Object.defineProperty(exports, "ApplicationManager", { enumerable: true, get: function () { return ApplicationManager_1.ApplicationManager; } });
70
+ var AvailablePlatformManager_1 = require("./api/request/crud/common/AvailablePlatformManager");
71
+ Object.defineProperty(exports, "AvailablePlatformManager", { enumerable: true, get: function () { return AvailablePlatformManager_1.AvailablePlatformManager; } });
72
+ var ComponentManager_1 = require("./api/request/crud/common/ComponentManager");
73
+ Object.defineProperty(exports, "ComponentManager", { enumerable: true, get: function () { return ComponentManager_1.ComponentManager; } });
74
+ var KeyManager_1 = require("./api/request/crud/common/KeyManager");
75
+ Object.defineProperty(exports, "KeyManager", { enumerable: true, get: function () { return KeyManager_1.KeyManager; } });
76
+ var PlatformManager_1 = require("./api/request/crud/common/PlatformManager");
77
+ Object.defineProperty(exports, "PlatformManager", { enumerable: true, get: function () { return PlatformManager_1.PlatformManager; } });
78
+ var RoleManager_1 = require("./api/request/crud/common/RoleManager");
79
+ Object.defineProperty(exports, "RoleManager", { enumerable: true, get: function () { return RoleManager_1.RoleManager; } });
80
+ var StatusManager_1 = require("./api/request/crud/common/StatusManager");
81
+ Object.defineProperty(exports, "StatusManager", { enumerable: true, get: function () { return StatusManager_1.StatusManager; } });
82
+ var TypeManager_1 = require("./api/request/crud/common/TypeManager");
83
+ Object.defineProperty(exports, "TypeManager", { enumerable: true, get: function () { return TypeManager_1.TypeManager; } });
84
+ var UserCredentialsManager_1 = require("./api/request/crud/common/UserCredentialsManager");
85
+ Object.defineProperty(exports, "UserCredentialsManager", { enumerable: true, get: function () { return UserCredentialsManager_1.UserCredentialsManager; } });
86
+ var UserManager_1 = require("./api/request/crud/common/UserManager");
87
+ Object.defineProperty(exports, "UserManager", { enumerable: true, get: function () { return UserManager_1.UserManager; } });
65
88
  var CrudServiceManager_1 = require("./api/request/crud/CrudServiceManager");
66
89
  Object.defineProperty(exports, "CrudServiceManager", { enumerable: true, get: function () { return CrudServiceManager_1.CrudServiceManager; } });
90
+ var AesCipheringAlgorithm_1 = require("./cryptography/algorithm/AesCipheringAlgorithm");
91
+ Object.defineProperty(exports, "AesCipheringAlgorithm", { enumerable: true, get: function () { return AesCipheringAlgorithm_1.AesCipheringAlgorithm; } });
92
+ var StandardApiKeyGenerator_1 = require("./cryptography/generate/StandardApiKeyGenerator");
93
+ Object.defineProperty(exports, "StandardApiKeyGenerator", { enumerable: true, get: function () { return StandardApiKeyGenerator_1.StandardApiKeyGenerator; } });
94
+ var ApiKeySigner_1 = require("./cryptography/sign/ApiKeySigner");
95
+ Object.defineProperty(exports, "ApiKeySigner", { enumerable: true, get: function () { return ApiKeySigner_1.ApiKeySigner; } });
67
96
  var MongooseModelManager_1 = require("./database/mongoose/MongooseModelManager");
68
97
  Object.defineProperty(exports, "MongooseModelManager", { enumerable: true, get: function () { return MongooseModelManager_1.MongooseModelManager; } });
69
98
  var SequelizeConnection_1 = require("./database/sequelize/SequelizeConnection");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,gFAA0G;AAAjG,kIAAA,uBAAuB,OAA2B;AAG3D,+CAA0L;AAA3I,wGAAA,UAAU,OAAc;AAA4C,kHAAA,oBAAoB,OAAwB;AAC/J,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,qFAAiH;AAAxG,sIAAA,yBAAyB,OAA6B;AAC/D,2EAAkG;AAAzF,4HAAA,oBAAoB,OAAwB;AACrD,2FAA0H;AAAjH,4IAAA,4BAA4B,OAAgC;AACrE,qGAAyI;AAAhI,sJAAA,iCAAiC,OAAqC;AAC/E,sEAAoH;AAA3G,sHAAA,iBAAiB,OAAqB;AAC/C,wFAAkM;AAAzL,kIAAA,uBAAuB,OAA2B;AAAE,oHAAA,SAAS,OAAa;AACnF,+CAA0P;AAAjP,wGAAA,UAAU,OAAc;AAAE,2GAAA,aAAa,OAAiB;AAAE,4GAAA,cAAc,OAAkB;AAAgF,kHAAA,oBAAoB,OAAwB;AAC/N,6DAAiI;AAAxH,sHAAA,iBAAiB,OAAqB;AAC/C,6CAAyD;AAAhD,sGAAA,SAAS,OAAa;AAC/B,+DAAgF;AAAvE,kHAAA,eAAe,OAAmB;AAC3C,mEAAsF;AAA7E,oHAAA,gBAAgB,OAAoB;AAC7C,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,yDAAuE;AAA9D,0GAAA,WAAW,OAAe;AACnC,uDAAoE;AAA3D,wGAAA,UAAU,OAAc;AACjC,6DAA6E;AAApE,8GAAA,aAAa,OAAiB;AACvC,uEAA6F;AAApF,0HAAA,mBAAmB,OAAuB;AACnD,qDAAoL;AAA3F,wGAAA,UAAU,OAAc;AACjH,qFAA8G;AAArG,gIAAA,sBAAsB,OAA0B;AACzD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,+EAAqG;AAA5F,0HAAA,mBAAmB,OAAuB;AACnD,2GAA+I;AAAtI,sJAAA,iCAAiC,OAAqC;AAC/E,qEAA0F;AAAjF,wHAAA,kBAAkB,OAAsB;AACjD,2EAAgG;AAAvF,wHAAA,kBAAkB,OAAsB;AACjD,uFAAkH;AAAzG,oIAAA,wBAAwB,OAA4B;AAG7D,4EAA6J;AAApJ,wHAAA,kBAAkB,OAAsB;AAEjD,iFAAwG;AAA/F,4HAAA,oBAAoB,OAAwB;AACrD,gFAAsG;AAA7F,0HAAA,mBAAmB,OAAuB;AACnD,oFAA4G;AAAnG,8HAAA,qBAAqB,OAAyB;AAEvD,uCAAgD;AAAvC,gGAAA,MAAM,OAAU;AACzB,qDAAqE;AAA5D,8GAAA,aAAa,OAAiB;AACvC,yDAA2E;AAAlE,kHAAA,eAAe,OAAmB;AAE3C,oCAA2C;AAAlC,4FAAA,IAAI,OAAQ;AACrB,8EAAqG;AAA5F,4HAAA,oBAAoB,OAAwB;AAErD,sCAA8C;AAArC,8FAAA,KAAK,OAAS;AAEvB,6CAAoH;AAA3G,iGAAA,KAAK,OAAS;AAAE,0GAAA,cAAc,OAAkB;AAAE,yGAAA,aAAa,OAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,68 +1,75 @@
1
- {
2
- "name": "itrm-tools",
3
- "version": "1.3.5-beta.1",
4
- "main": "dist/index.js",
5
- "types": "dist/index.d.ts",
6
-
7
- "scripts": {
8
- "build": "rimraf ./dist && tsc",
9
- "publish-lib": "npm run build && npm publish",
10
- "publish-beta": "npm run build && npm publish --tag beta",
11
- "publish-dryrun": "npm run build && npm publish --dry-run",
12
- "link": "npm run build && npm link",
13
- "test": "npm run build && jest --runInBand --detectOpenHandles",
14
- "test-silent": "npm run build && jest --runInBand --detectOpenHandles --silent",
15
- "test-watch": "npm run build && jest --watch --runInBand --detectOpenHandles",
16
- "test-watch-start": "jest --watch --runInBand --detectOpenHandles",
17
- "test-coverage": "npm run build && jest --runInBand --detectOpenHandles --silent --coverage"
18
- },
19
-
20
- "dependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/cors": "^2.8.19",
23
- "@types/multer": "^2.0.0",
24
- "@types/ws": "^8.18.1",
25
-
26
- "express": "^5.1.0",
27
- "cors": "^2.8.5",
28
- "multer": "^2.0.1",
29
- "ws": "^8.18.3",
30
-
31
- "@sequelize/core": "^7.0.0-alpha.43",
32
- "axios": "^1.11.0",
33
- "axios-retry": "^4.5.0",
34
- "crypto-js": "^4.2.0",
35
- "https": "^1.0.0",
36
- "mongoose": "^8.18.0",
37
- "morgan": "^1.10.0",
38
- "pg": "^8.16.3",
39
- "pg-hstore": "^2.3.4",
40
- "sequelize": "^6.37.7",
41
- "swagger-ui-express": "^5.0.1"
42
- },
43
-
44
- "devDependencies": {
45
- "@sequelize/sqlite3": "^7.0.0-alpha.43",
46
- "@types/crypto-js": "^4.2.2",
47
- "@types/jest": "^30.0.0",
48
- "@types/morgan": "^1.9.10",
49
- "@types/node": "^24.3.0",
50
- "@types/swagger-ui-express": "^4.1.8",
51
- "@types/uuid": "^10.0.0",
52
- "axios-mock-adapter": "^2.1.0",
53
- "jest": "^30.1.2",
54
- "jest-puppeteer": "^11.0.0",
55
- "mongodb-memory-server": "^10.2.0",
56
- "puppeteer": "^24.18.0",
57
- "redis": "^5.8.2",
58
- "rimraf": "^6.0.1",
59
- "sqlite3": "^5.1.7",
60
- "ts-jest": "^29.4.1",
61
- "typescript": "^5.9.2",
62
- "uuid": "^11.1.0"
63
- },
64
-
65
- "engines": {
66
- "node": ">=18"
67
- }
68
- }
1
+ {
2
+ "name": "itrm-tools",
3
+ "version": "1.3.5-beta.2",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "rimraf ./dist && tsc --skipLibCheck",
12
+ "publish-lib": "npm run build && npm publish",
13
+ "publish-beta": "npm run build && npm publish --tag beta",
14
+ "publish-dryrun": "npm run build && npm publish --dry-run",
15
+ "link": "npm run build && npm link",
16
+ "test": "npm run build && jest --runInBand --detectOpenHandles",
17
+ "test-silent": "npm run build && jest --runInBand --detectOpenHandles --silent",
18
+ "test-watch": "npm run build && jest --watch --runInBand --detectOpenHandles",
19
+ "test-watch-start": "jest --watch --runInBand --detectOpenHandles",
20
+ "test-coverage": "npm run build && jest --runInBand --detectOpenHandles --silent --coverage"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/ITRMachines/itrm-tools.git"
25
+ },
26
+ "keywords": [],
27
+ "author": "",
28
+ "license": "ISC",
29
+ "bugs": {
30
+ "url": "https://github.com/ITRMachines/itrm-tools/issues"
31
+ },
32
+ "homepage": "https://github.com/ITRMachines/itrm-tools#readme",
33
+ "devDependencies": {
34
+ "@sequelize/sqlite3": "^7.0.0-alpha.43",
35
+ "@types/cors": "^2.8.19",
36
+ "@types/crypto-js": "^4.2.2",
37
+ "@types/express": "^5.0.3",
38
+ "@types/jest": "^30.0.0",
39
+ "@types/morgan": "^1.9.10",
40
+ "@types/multer": "^2.0.0",
41
+ "@types/node": "^24.4.0",
42
+ "@types/swagger-ui-express": "^4.1.8",
43
+ "@types/uuid": "^10.0.0",
44
+ "@types/ws": "^8.18.1",
45
+ "axios-mock-adapter": "^2.1.0",
46
+ "jest": "^30.1.3",
47
+ "jest-puppeteer": "^11.0.0",
48
+ "mongodb-memory-server": "^10.2.0",
49
+ "puppeteer": "^24.21.0",
50
+ "redis": "^5.8.2",
51
+ "rimraf": "^6.0.1",
52
+ "sqlite3": "^5.1.7",
53
+ "ts-jest": "^29.4.1",
54
+ "typescript": "^5.9.2",
55
+ "uuid": "^11.1.0"
56
+ },
57
+ "dependencies": {
58
+ "@scalar/express-api-reference": "^0.8.18",
59
+ "@sequelize/core": "^7.0.0-alpha.43",
60
+ "axios": "^1.12.2",
61
+ "axios-retry": "^4.5.0",
62
+ "cors": "^2.8.5",
63
+ "crypto-js": "^4.2.0",
64
+ "express": "^5.1.0",
65
+ "https": "^1.0.0",
66
+ "mongoose": "^8.18.1",
67
+ "morgan": "^1.10.0",
68
+ "multer": "^2.0.1",
69
+ "pg": "^8.16.3",
70
+ "pg-hstore": "^2.3.4",
71
+ "sequelize": "^6.37.7",
72
+ "swagger-ui-express": "^5.0.1",
73
+ "ws": "^8.18.3"
74
+ }
75
+ }
@@ -1,30 +0,0 @@
1
- # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2
- # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3
-
4
- name: Node.js CI
5
-
6
- on:
7
- push:
8
- branches: [ "main" ]
9
- pull_request:
10
- branches: [ "main" ]
11
-
12
- jobs:
13
- build-test:
14
-
15
- runs-on: ubuntu-latest
16
-
17
- strategy:
18
- matrix:
19
- node-version: [18.x]
20
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21
-
22
- steps:
23
- - uses: actions/checkout@v3
24
- - name: Use Node.js ${{ matrix.node-version }}
25
- uses: actions/setup-node@v3
26
- with:
27
- node-version: ${{ matrix.node-version }}
28
- cache: 'npm'
29
- - run: npm ci
30
- - run: npm run test-silent --if-present
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncryptionAlgorithm.js","sourceRoot":"","sources":["../../../src/algorithm/encryption/EncryptionAlgorithm.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { RequestMethod } from "../APIRequest";
2
- export interface ApiKeyPair {
3
- publicKey: string;
4
- secretKey: string;
5
- }
6
- export declare class ExternalApiSigner {
7
- private keys;
8
- private service;
9
- constructor(service: string, keys: ApiKeyPair);
10
- sign(method: RequestMethod, path: string, body?: any): {
11
- headers: {
12
- Authorization: string;
13
- };
14
- };
15
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExternalApiSigner = void 0;
4
- const crypto_js_1 = require("crypto-js");
5
- class ExternalApiSigner {
6
- keys;
7
- service;
8
- constructor(service, keys) {
9
- this.service = service;
10
- this.keys = keys;
11
- }
12
- sign(method, path, body) {
13
- let nonce = Date.now();
14
- let message = nonce + method + path.replace(/ /g, '%20') + (body ? JSON.stringify(body) : "{}");
15
- const hash = (0, crypto_js_1.HmacSHA256)(message, this.keys.secretKey);
16
- let signature = crypto_js_1.enc.Hex.stringify(hash);
17
- return {
18
- headers: {
19
- Authorization: `${this.service} ${this.keys.publicKey}:${nonce}:${signature}`
20
- }
21
- };
22
- }
23
- }
24
- exports.ExternalApiSigner = ExternalApiSigner;
25
- //# sourceMappingURL=ExternalApiSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExternalApiSigner.js","sourceRoot":"","sources":["../../../src/api/external/ExternalApiSigner.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAO5C,MAAa,iBAAiB;IAClB,IAAI,CAAa;IACjB,OAAO,CAAS;IAExB,YAAY,OAAe,EAAE,IAAgB;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,IAAI,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAU;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,eAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;YACH,OAAO,EAAE;gBACL,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,SAAS,EAAE;aAChF;SACJ,CAAC;IACN,CAAC;CACJ;AApBD,8CAoBC"}
package/jest.config.js DELETED
@@ -1,7 +0,0 @@
1
- module.exports = {
2
- preset: "jest-puppeteer",
3
- transform: {'^.+\\.ts?$': 'ts-jest'},
4
- // testEnvironment: 'node',
5
- testRegex: '/test/.*\\.(test|spec)?\\.(ts|tsx)$',
6
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
7
- };
package/sequelize.sqlite DELETED
Binary file
@@ -1,4 +0,0 @@
1
- export interface EncryptionAlgorithm<I, O, C> {
2
- encrypt(payload: I): Promise<C>;
3
- decrypt(coding: C): Promise<O>;
4
- }
@@ -1,176 +0,0 @@
1
- import { Express, Request, Response, Router } from 'express';
2
- import { ITRMAPIServiceGlobal } from './APIService';
3
- import { ServerSentEventsManager } from './channel/ServerSentEventsManager';
4
- import { DocDetails } from './APIRequestBuilder';
5
-
6
- export enum RequestMethod {
7
- GET = "GET",
8
- POST = "POST",
9
- PUT = "PUT",
10
- DELETE = "DELETE"
11
- }
12
-
13
- export enum RequestContext {
14
- BODY = 'body',
15
- HEADERS = 'headers',
16
- PARAMS = 'params',
17
- QUERY = 'query'
18
- }
19
-
20
- export enum RequestParameterType {
21
- STRING = 'string',
22
- NUMBER = 'number',
23
- BOOLEAN = 'boolean',
24
- OBJECT = 'object'
25
- }
26
-
27
- export declare interface IProperties {
28
- name: string,
29
- type: RequestParameterType,
30
- }
31
-
32
- export declare interface IMissing {
33
- missing: string[],
34
- wrongType: string[]
35
- }
36
-
37
- export declare interface GroupedParameters {
38
- context: RequestContext,
39
- properties: IProperties[]
40
- }
41
-
42
- export declare interface APIRequestConfig {
43
- path: string,
44
- params: GroupedParameters[],
45
- details?: DocDetails
46
- }
47
-
48
- export abstract class APIRequest {
49
- public method: RequestMethod;
50
- public path: string;
51
- public details?: DocDetails;
52
- protected params: GroupedParameters[];
53
- protected bodyParams: GroupedParameters[];
54
-
55
- constructor(method: RequestMethod, config: APIRequestConfig) {
56
- this.method = method;
57
- this.path = config.path;
58
- this.params = config.params;
59
- this.details = config.details;
60
- this.bodyParams = config.params.filter(param => { return param.context === RequestContext.BODY; });
61
- }
62
-
63
- public abstract addToApp(app: Express): void;
64
- public abstract addToRouter(router: Router): void;
65
- public abstract apply(req: Request, res: Response): Promise<any>;
66
-
67
- public getRequestDetails() {
68
- return {
69
- path: this.path,
70
- method: this.method,
71
- params: this.params,
72
- details: this.details,
73
- bodyParams: this.bodyParams
74
- }
75
- }
76
-
77
- public async process(req: Request, res: Response): Promise<any> {
78
- try {
79
- let request: APIRequest = ITRMAPIServiceGlobal.requests[APIRequest.buildKey(req)];
80
- let check: any = request.checkParameters(req);
81
- for (let key of Object.keys(check))
82
- if (check[key].status !== 'OK')
83
- return await res.status(400).json(check[key]);
84
- return await request.apply(req, res);
85
- } catch (error: any) {
86
- console.log(">>> error:", error);
87
- return await res.status(error?.response?.status ?? 500).json({
88
- type: 'InternalRequestError',
89
- error: 'An error has ocurred when procesing the request',
90
- payload: error?.response?.data ?? error
91
- });
92
- }
93
- }
94
-
95
- public static buildKey(req: Request) {
96
- if (req.route.path.includes(req.baseUrl))
97
- return req.method + "_" + req.route.path;
98
- return req.method + "_" + req.baseUrl + req.route.path;
99
- }
100
-
101
- private checkParameters(req: Request): any {
102
- let result: any = this.checkItem(req, this.params);
103
- if (this.hasValidValuesProperty(req.body))
104
- result = this.checkValuesPropertyParameters(req);
105
- return result;
106
- }
107
-
108
- private checkValuesPropertyParameters(req: Request): any {
109
- let result: any = {};
110
- for (let i = 0; i < req.body.values.length; i++) {
111
- result = this.checkItem({ body: req.body.values[i] }, this.bodyParams);
112
- if (result[RequestContext.BODY].status === 'Error') {
113
- result[RequestContext.BODY].message += ', item ' + (i + 1);
114
- return result;
115
- }
116
- }
117
- return result;
118
- }
119
-
120
- private hasValidValuesProperty(context: any) {
121
- return context && context.values && Array.isArray(context.values);
122
- }
123
-
124
- private checkItem(item: any, params: GroupedParameters[]) {
125
- let result: any = {};
126
- for (let group of params) {
127
- if (item[group.context])
128
- result[group.context] = this.buildResponseMessage(result[group.context], group, this.findMissingParameters(item[group.context], group.properties));
129
- else
130
- return { status: 'Error', message: group.context + " was not found, check your express configuration" };
131
- }
132
- return result;
133
- }
134
-
135
- private buildResponseMessage(response: any, group: GroupedParameters, failures: IMissing): any {
136
- if (failures.missing.length > 0 || failures.wrongType.length > 0)
137
- return (response && response.blocked) ? response : { status: 'Error', message: this.buildMissingParametersMessage(group.context, failures.missing, failures.wrongType), blocked: group.properties.length > failures.missing.length };
138
- return { status: 'OK', blocked: true };
139
- }
140
-
141
- private buildMissingParametersMessage(context: RequestContext, missing: string[], wrongType: string[]) {
142
- let message = "Parameters";
143
- if (missing.length > 0) {
144
- message += this.buildMessage(missing)
145
- message += " were not found in " + context;
146
- }
147
- if (wrongType.length > 0) {
148
- message += missing.length > 0 ? " and" : "";
149
- message += this.buildMessage(wrongType)
150
- message += " have invalid type ";
151
- }
152
- return message;
153
- }
154
-
155
- private buildMessage(array: string[]) {
156
- let message = "";
157
- for (let i = 0; i < array.length; i++)
158
- message += (i > 0 ? ", " : " ") + "'" + array[i] + "'";
159
- return message;
160
- }
161
-
162
- private findMissingParameters(context: any, properties: IProperties[]) {
163
- let missing: string[] = [];
164
- let wrongType: string[] = [];
165
- for (let property of properties)
166
- if (context[property.name] === undefined || context[property.name] === null)
167
- missing.push(property.name);
168
- else if (typeof context[property.name] !== property.type)
169
- wrongType.push(property.name);
170
- return { missing, wrongType };
171
- }
172
-
173
- protected openSentServerEvents(res: Response) {
174
- return new ServerSentEventsManager(res);
175
- }
176
- }
@@ -1,28 +0,0 @@
1
- import { GroupedParameters } from "./APIRequest"
2
-
3
- export declare interface ISamples {
4
- status: number,
5
- input: any,
6
- output: any
7
- }
8
-
9
- export declare interface DocDetails {
10
- description: string,
11
- samples: ISamples[]
12
- }
13
-
14
- export abstract class APIRequestBuilder {
15
-
16
- constructor() { }
17
-
18
- public abstract buildParams(): GroupedParameters[];
19
- public abstract buildDocDetails(): DocDetails;
20
-
21
- public buildApiRequestConfig(path: string) {
22
- return {
23
- path: path,
24
- params: this.buildParams(),
25
- details: this.buildDocDetails()
26
- }
27
- }
28
- }
@@ -1,26 +0,0 @@
1
- import { NextFunction, Router, RouterOptions,Request, Response } from 'express';
2
- import { APIRequest } from './APIRequest';
3
- import { ITRMAPIServiceGlobal } from './APIService';
4
-
5
- export abstract class APIRouter {
6
- public path: string;
7
- public router: Router;
8
- public linkedRequest: string[] = [];
9
-
10
- constructor(path: string, options?: RouterOptions) {
11
- this.path = path;
12
- this.router = Router(options);
13
- }
14
-
15
- public init() {
16
- this.router.use(this.runMiddleware);
17
- }
18
-
19
- public addRequest(request: APIRequest) {
20
- ITRMAPIServiceGlobal.requests[request.method + "_" + this.path + request.path] = request;
21
- request.addToRouter(this.router);
22
- this.linkedRequest.push(request.method + "_" + this.path + request.path);
23
- }
24
-
25
- protected abstract runMiddleware(req: Request, res: Response, next: NextFunction): Promise<void | Response | any>;
26
- }