@misterhomer1992/miit-bot-payment 1.1.7 → 2.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 (248) hide show
  1. package/dist/config/ConfigurationManager.d.ts +64 -0
  2. package/dist/config/ConfigurationManager.d.ts.map +1 -0
  3. package/dist/config/ConfigurationManager.js +144 -0
  4. package/dist/config/ConfigurationManager.js.map +1 -0
  5. package/dist/config/defaults.d.ts +18 -0
  6. package/dist/config/defaults.d.ts.map +1 -0
  7. package/dist/config/defaults.js +26 -0
  8. package/dist/config/defaults.js.map +1 -0
  9. package/dist/config/environment.d.ts +38 -0
  10. package/dist/config/environment.d.ts.map +1 -0
  11. package/dist/config/environment.js +91 -0
  12. package/dist/config/environment.js.map +1 -0
  13. package/dist/config/index.d.ts +5 -0
  14. package/dist/config/index.d.ts.map +1 -0
  15. package/dist/config/index.js +18 -0
  16. package/dist/config/index.js.map +1 -0
  17. package/dist/config/types.d.ts +53 -0
  18. package/dist/config/types.d.ts.map +1 -0
  19. package/dist/config/types.js +3 -0
  20. package/dist/config/types.js.map +1 -0
  21. package/dist/index.d.ts +21 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +23 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/modules/cache/InMemoryCache.d.ts +17 -0
  26. package/dist/modules/cache/InMemoryCache.d.ts.map +1 -0
  27. package/dist/modules/cache/InMemoryCache.js +77 -0
  28. package/dist/modules/cache/InMemoryCache.js.map +1 -0
  29. package/dist/modules/cache/index.d.ts +3 -0
  30. package/dist/modules/cache/index.d.ts.map +1 -0
  31. package/dist/modules/cache/index.js +19 -0
  32. package/dist/modules/cache/index.js.map +1 -0
  33. package/dist/modules/cache/types.d.ts +52 -0
  34. package/dist/modules/cache/types.d.ts.map +1 -0
  35. package/dist/modules/cache/types.js +3 -0
  36. package/dist/modules/cache/types.js.map +1 -0
  37. package/dist/modules/errors/index.d.ts +2 -0
  38. package/dist/modules/errors/index.d.ts.map +1 -0
  39. package/dist/modules/errors/index.js +19 -0
  40. package/dist/modules/errors/index.js.map +1 -0
  41. package/dist/modules/errors/types.d.ts +112 -0
  42. package/dist/modules/errors/types.d.ts.map +1 -0
  43. package/dist/modules/errors/types.js +174 -0
  44. package/dist/modules/errors/types.js.map +1 -0
  45. package/dist/modules/payments/api.d.ts +63 -1
  46. package/dist/modules/payments/api.d.ts.map +1 -1
  47. package/dist/modules/payments/api.js +103 -1
  48. package/dist/modules/payments/api.js.map +1 -1
  49. package/dist/modules/payments/const.d.ts.map +1 -1
  50. package/dist/modules/payments/const.js +1 -0
  51. package/dist/modules/payments/const.js.map +1 -1
  52. package/dist/modules/payments/index.d.ts +8 -0
  53. package/dist/modules/payments/index.d.ts.map +1 -1
  54. package/dist/modules/payments/index.js +8 -0
  55. package/dist/modules/payments/index.js.map +1 -1
  56. package/dist/modules/payments/service.d.ts +42 -2
  57. package/dist/modules/payments/service.d.ts.map +1 -1
  58. package/dist/modules/payments/service.js +132 -3
  59. package/dist/modules/payments/service.js.map +1 -1
  60. package/dist/modules/payments/subscription-check-webhook.handler.d.ts +85 -0
  61. package/dist/modules/payments/subscription-check-webhook.handler.d.ts.map +1 -0
  62. package/dist/modules/payments/subscription-check-webhook.handler.js +155 -0
  63. package/dist/modules/payments/subscription-check-webhook.handler.js.map +1 -0
  64. package/dist/modules/payments/subscription-check-webhook.service.d.ts +59 -0
  65. package/dist/modules/payments/subscription-check-webhook.service.d.ts.map +1 -0
  66. package/dist/modules/payments/subscription-check-webhook.service.js +330 -0
  67. package/dist/modules/payments/subscription-check-webhook.service.js.map +1 -0
  68. package/dist/modules/payments/subscription-check-webhook.types.d.ts +25 -0
  69. package/dist/modules/payments/subscription-check-webhook.types.d.ts.map +1 -0
  70. package/dist/modules/payments/subscription-check-webhook.types.js +3 -0
  71. package/dist/modules/payments/subscription-check-webhook.types.js.map +1 -0
  72. package/dist/modules/payments/types.d.ts +69 -2
  73. package/dist/modules/payments/types.d.ts.map +1 -1
  74. package/dist/modules/payments/utils.d.ts +151 -5
  75. package/dist/modules/payments/utils.d.ts.map +1 -1
  76. package/dist/modules/payments/utils.js +253 -9
  77. package/dist/modules/payments/utils.js.map +1 -1
  78. package/dist/modules/payments/wayforpay.service.d.ts +39 -0
  79. package/dist/modules/payments/wayforpay.service.d.ts.map +1 -0
  80. package/dist/modules/payments/wayforpay.service.js +217 -0
  81. package/dist/modules/payments/wayforpay.service.js.map +1 -0
  82. package/dist/modules/payments/wayforpay.types.d.ts +115 -0
  83. package/dist/modules/payments/wayforpay.types.d.ts.map +1 -0
  84. package/dist/modules/payments/wayforpay.types.js +3 -0
  85. package/dist/modules/payments/wayforpay.types.js.map +1 -0
  86. package/dist/modules/payments/webhook.handler.d.ts +98 -0
  87. package/dist/modules/payments/webhook.handler.d.ts.map +1 -0
  88. package/dist/modules/payments/webhook.handler.js +153 -0
  89. package/dist/modules/payments/webhook.handler.js.map +1 -0
  90. package/dist/modules/payments/webhook.service.d.ts +99 -0
  91. package/dist/modules/payments/webhook.service.d.ts.map +1 -0
  92. package/dist/modules/payments/webhook.service.js +672 -0
  93. package/dist/modules/payments/webhook.service.js.map +1 -0
  94. package/dist/modules/payments/webhook.types.d.ts +35 -0
  95. package/dist/modules/payments/webhook.types.d.ts.map +1 -0
  96. package/dist/modules/payments/webhook.types.js +3 -0
  97. package/dist/modules/payments/webhook.types.js.map +1 -0
  98. package/dist/modules/subscription/change.service.d.ts +80 -0
  99. package/dist/modules/subscription/change.service.d.ts.map +1 -0
  100. package/dist/modules/subscription/change.service.js +226 -0
  101. package/dist/modules/subscription/change.service.js.map +1 -0
  102. package/dist/modules/subscription/index.d.ts +2 -0
  103. package/dist/modules/subscription/index.d.ts.map +1 -1
  104. package/dist/modules/subscription/index.js +2 -0
  105. package/dist/modules/subscription/index.js.map +1 -1
  106. package/dist/modules/subscription/service.d.ts +8 -1
  107. package/dist/modules/subscription/service.d.ts.map +1 -1
  108. package/dist/modules/subscription/service.js +58 -1
  109. package/dist/modules/subscription/service.js.map +1 -1
  110. package/dist/modules/subscription/status-check.handler.d.ts +117 -0
  111. package/dist/modules/subscription/status-check.handler.d.ts.map +1 -0
  112. package/dist/modules/subscription/status-check.handler.js +164 -0
  113. package/dist/modules/subscription/status-check.handler.js.map +1 -0
  114. package/dist/modules/subscription/types.d.ts +37 -1
  115. package/dist/modules/subscription/types.d.ts.map +1 -1
  116. package/dist/modules/subscriptionPlan/const.d.ts +5 -0
  117. package/dist/modules/subscriptionPlan/const.d.ts.map +1 -0
  118. package/dist/modules/subscriptionPlan/const.js +106 -0
  119. package/dist/modules/subscriptionPlan/const.js.map +1 -0
  120. package/dist/modules/subscriptionPlan/index.d.ts +5 -0
  121. package/dist/modules/subscriptionPlan/index.d.ts.map +1 -0
  122. package/dist/modules/subscriptionPlan/index.js +21 -0
  123. package/dist/modules/subscriptionPlan/index.js.map +1 -0
  124. package/dist/modules/subscriptionPlan/repository.d.ts +22 -0
  125. package/dist/modules/subscriptionPlan/repository.d.ts.map +1 -0
  126. package/dist/modules/subscriptionPlan/repository.js +95 -0
  127. package/dist/modules/subscriptionPlan/repository.js.map +1 -0
  128. package/dist/modules/subscriptionPlan/service.d.ts +21 -0
  129. package/dist/modules/subscriptionPlan/service.d.ts.map +1 -0
  130. package/dist/modules/subscriptionPlan/service.js +128 -0
  131. package/dist/modules/subscriptionPlan/service.js.map +1 -0
  132. package/dist/modules/subscriptionPlan/types.d.ts +40 -0
  133. package/dist/modules/subscriptionPlan/types.d.ts.map +1 -0
  134. package/dist/modules/subscriptionPlan/types.js +3 -0
  135. package/dist/modules/subscriptionPlan/types.js.map +1 -0
  136. package/dist/modules/token/const.d.ts +7 -0
  137. package/dist/modules/token/const.d.ts.map +1 -0
  138. package/dist/modules/token/const.js +66 -0
  139. package/dist/modules/token/const.js.map +1 -0
  140. package/dist/modules/token/index.d.ts +4 -0
  141. package/dist/modules/token/index.d.ts.map +1 -0
  142. package/dist/modules/token/index.js +20 -0
  143. package/dist/modules/token/index.js.map +1 -0
  144. package/dist/modules/token/service.d.ts +46 -0
  145. package/dist/modules/token/service.d.ts.map +1 -0
  146. package/dist/modules/token/service.js +249 -0
  147. package/dist/modules/token/service.js.map +1 -0
  148. package/dist/modules/token/types.d.ts +109 -0
  149. package/dist/modules/token/types.d.ts.map +1 -0
  150. package/dist/modules/token/types.js +3 -0
  151. package/dist/modules/token/types.js.map +1 -0
  152. package/dist/modules/tokenPack/const.d.ts +4 -0
  153. package/dist/modules/tokenPack/const.d.ts.map +1 -0
  154. package/dist/modules/tokenPack/const.js +10 -0
  155. package/dist/modules/tokenPack/const.js.map +1 -0
  156. package/dist/modules/tokenPack/index.d.ts +5 -0
  157. package/dist/modules/tokenPack/index.d.ts.map +1 -0
  158. package/dist/modules/tokenPack/index.js +21 -0
  159. package/dist/modules/tokenPack/index.js.map +1 -0
  160. package/dist/modules/tokenPack/repository.d.ts +32 -0
  161. package/dist/modules/tokenPack/repository.d.ts.map +1 -0
  162. package/dist/modules/tokenPack/repository.js +103 -0
  163. package/dist/modules/tokenPack/repository.js.map +1 -0
  164. package/dist/modules/tokenPack/service.d.ts +28 -0
  165. package/dist/modules/tokenPack/service.d.ts.map +1 -0
  166. package/dist/modules/tokenPack/service.js +106 -0
  167. package/dist/modules/tokenPack/service.js.map +1 -0
  168. package/dist/modules/tokenPack/types.d.ts +124 -0
  169. package/dist/modules/tokenPack/types.d.ts.map +1 -0
  170. package/dist/modules/tokenPack/types.js +3 -0
  171. package/dist/modules/tokenPack/types.js.map +1 -0
  172. package/package.json +9 -5
  173. package/src/config/ConfigurationManager.ts +159 -0
  174. package/src/config/defaults.ts +27 -0
  175. package/src/config/environment.ts +94 -0
  176. package/src/config/index.ts +22 -0
  177. package/src/config/types.ts +56 -0
  178. package/src/index.ts +29 -0
  179. package/src/modules/cache/InMemoryCache.ts +98 -0
  180. package/src/modules/cache/index.ts +2 -0
  181. package/src/modules/cache/types.ts +60 -0
  182. package/src/modules/cancellableAPI/utils.ts +60 -0
  183. package/src/modules/errors/index.ts +16 -0
  184. package/src/modules/errors/types.ts +201 -0
  185. package/src/modules/invoice/const.ts +7 -0
  186. package/src/modules/invoice/index.ts +4 -0
  187. package/src/modules/invoice/repository.ts +52 -0
  188. package/src/modules/invoice/service.ts +44 -0
  189. package/src/modules/invoice/types.ts +47 -0
  190. package/src/modules/logger/types.ts +8 -0
  191. package/src/modules/network/utils.ts +24 -0
  192. package/src/modules/payments/api.ts +289 -0
  193. package/src/modules/payments/const.ts +11 -0
  194. package/src/modules/payments/index.ts +14 -0
  195. package/src/modules/payments/repository.ts +125 -0
  196. package/src/modules/payments/service.test.ts +400 -0
  197. package/src/modules/payments/service.ts +365 -0
  198. package/src/modules/payments/subscription-check-webhook.handler.integration.test.ts +935 -0
  199. package/src/modules/payments/subscription-check-webhook.handler.ts +211 -0
  200. package/src/modules/payments/subscription-check-webhook.service.ts +398 -0
  201. package/src/modules/payments/subscription-check-webhook.types.ts +29 -0
  202. package/src/modules/payments/types.ts +193 -0
  203. package/src/modules/payments/utils.ts +428 -0
  204. package/src/modules/payments/wayforpay.service.test.ts +375 -0
  205. package/src/modules/payments/wayforpay.service.ts +284 -0
  206. package/src/modules/payments/wayforpay.types.ts +138 -0
  207. package/src/modules/payments/webhook.handler.integration.test.ts +975 -0
  208. package/src/modules/payments/webhook.handler.ts +219 -0
  209. package/src/modules/payments/webhook.service.ts +812 -0
  210. package/src/modules/payments/webhook.types.ts +38 -0
  211. package/src/modules/subscription/change.service.ts +317 -0
  212. package/src/modules/subscription/const.ts +9 -0
  213. package/src/modules/subscription/index.ts +5 -0
  214. package/src/modules/subscription/repository.ts +277 -0
  215. package/src/modules/subscription/service.test.ts +665 -0
  216. package/src/modules/subscription/service.ts +328 -0
  217. package/src/modules/subscription/status-check.handler.ts +254 -0
  218. package/src/modules/subscription/types.ts +267 -0
  219. package/src/modules/subscription/utils.ts +5 -0
  220. package/src/modules/subscriptionPlan/const.ts +106 -0
  221. package/src/modules/subscriptionPlan/index.ts +4 -0
  222. package/src/modules/subscriptionPlan/repository.ts +129 -0
  223. package/src/modules/subscriptionPlan/service.test.ts +401 -0
  224. package/src/modules/subscriptionPlan/service.ts +148 -0
  225. package/src/modules/subscriptionPlan/types.ts +67 -0
  226. package/src/modules/token/const.ts +64 -0
  227. package/src/modules/token/index.ts +3 -0
  228. package/src/modules/token/service.test.ts +499 -0
  229. package/src/modules/token/service.ts +297 -0
  230. package/src/modules/token/types.ts +124 -0
  231. package/src/modules/tokenPack/const.ts +9 -0
  232. package/src/modules/tokenPack/index.ts +4 -0
  233. package/src/modules/tokenPack/repository.ts +144 -0
  234. package/src/modules/tokenPack/service.ts +119 -0
  235. package/src/modules/tokenPack/types.ts +131 -0
  236. package/src/modules/user/index.ts +3 -0
  237. package/src/modules/user/types.ts +143 -0
  238. package/src/modules/user/userRepository.ts +64 -0
  239. package/src/modules/user/userService.ts +68 -0
  240. package/src/types/extend-express.d.ts +16 -0
  241. package/src/types/function.ts +5 -0
  242. package/src/types/utilities.ts +22 -0
  243. package/src/utils.ts +53 -0
  244. package/tsconfig.json +29 -0
  245. package/dist/modules/subscription/subscriptionPlan.d.ts +0 -4
  246. package/dist/modules/subscription/subscriptionPlan.d.ts.map +0 -1
  247. package/dist/modules/subscription/subscriptionPlan.js +0 -67
  248. package/dist/modules/subscription/subscriptionPlan.js.map +0 -1
@@ -0,0 +1,64 @@
1
+ import type { PackageConfig, PartialPackageConfig, WayForPayConfig, CacheConfig, GracePeriodConfig } from './types';
2
+ /**
3
+ * ConfigurationManager provides centralized configuration management for the package.
4
+ * Supports environment-based configuration with programmatic overrides.
5
+ */
6
+ export declare class ConfigurationManager {
7
+ private static instance;
8
+ private config;
9
+ private initialized;
10
+ private constructor();
11
+ /**
12
+ * Gets the singleton instance of ConfigurationManager.
13
+ */
14
+ static getInstance(): ConfigurationManager;
15
+ /**
16
+ * Resets the singleton instance (useful for testing).
17
+ */
18
+ static resetInstance(): void;
19
+ /**
20
+ * Initializes the configuration with optional overrides.
21
+ * Should be called once at application startup.
22
+ */
23
+ initialize(overrides?: PartialPackageConfig): void;
24
+ /**
25
+ * Checks if the configuration has been explicitly initialized.
26
+ */
27
+ isInitialized(): boolean;
28
+ /**
29
+ * Gets the complete configuration.
30
+ */
31
+ getConfig(): PackageConfig;
32
+ /**
33
+ * Gets WayForPay configuration.
34
+ */
35
+ getWayForPayConfig(): WayForPayConfig;
36
+ /**
37
+ * Gets cache configuration.
38
+ */
39
+ getCacheConfig(): CacheConfig;
40
+ /**
41
+ * Gets grace period configuration.
42
+ */
43
+ getGracePeriodConfig(): GracePeriodConfig;
44
+ /**
45
+ * Updates configuration at runtime.
46
+ */
47
+ updateConfig(overrides: PartialPackageConfig): void;
48
+ /**
49
+ * Validates that required WayForPay credentials are present.
50
+ */
51
+ validateWayForPayConfig(): {
52
+ valid: boolean;
53
+ missingFields: string[];
54
+ };
55
+ /**
56
+ * Loads default configuration from environment and defaults.
57
+ */
58
+ private loadDefaultConfig;
59
+ /**
60
+ * Merges configuration with overrides.
61
+ */
62
+ private mergeConfig;
63
+ }
64
+ //# sourceMappingURL=ConfigurationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIpH;;;GAGG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,oBAAoB;IAOjD;;OAEG;WACW,aAAa,IAAI,IAAI;IAInC;;;OAGG;IACI,UAAU,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAKzD;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;IACI,SAAS,IAAI,aAAa;IAIjC;;OAEG;IACI,kBAAkB,IAAI,eAAe;IAI5C;;OAEG;IACI,cAAc,IAAI,WAAW;IAIpC;;OAEG;IACI,oBAAoB,IAAI,iBAAiB;IAIhD;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAI1D;;OAEG;IACI,uBAAuB,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE;IAoB7E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,WAAW;CAoBtB"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigurationManager = void 0;
4
+ const defaults_1 = require("./defaults");
5
+ const environment_1 = require("./environment");
6
+ /**
7
+ * ConfigurationManager provides centralized configuration management for the package.
8
+ * Supports environment-based configuration with programmatic overrides.
9
+ */
10
+ class ConfigurationManager {
11
+ constructor() {
12
+ this.initialized = false;
13
+ this.config = this.loadDefaultConfig();
14
+ }
15
+ /**
16
+ * Gets the singleton instance of ConfigurationManager.
17
+ */
18
+ static getInstance() {
19
+ if (!ConfigurationManager.instance) {
20
+ ConfigurationManager.instance = new ConfigurationManager();
21
+ }
22
+ return ConfigurationManager.instance;
23
+ }
24
+ /**
25
+ * Resets the singleton instance (useful for testing).
26
+ */
27
+ static resetInstance() {
28
+ ConfigurationManager.instance = null;
29
+ }
30
+ /**
31
+ * Initializes the configuration with optional overrides.
32
+ * Should be called once at application startup.
33
+ */
34
+ initialize(overrides) {
35
+ this.config = this.mergeConfig(this.loadDefaultConfig(), overrides);
36
+ this.initialized = true;
37
+ }
38
+ /**
39
+ * Checks if the configuration has been explicitly initialized.
40
+ */
41
+ isInitialized() {
42
+ return this.initialized;
43
+ }
44
+ /**
45
+ * Gets the complete configuration.
46
+ */
47
+ getConfig() {
48
+ return { ...this.config };
49
+ }
50
+ /**
51
+ * Gets WayForPay configuration.
52
+ */
53
+ getWayForPayConfig() {
54
+ return { ...this.config.wayforpay };
55
+ }
56
+ /**
57
+ * Gets cache configuration.
58
+ */
59
+ getCacheConfig() {
60
+ return { ...this.config.cache };
61
+ }
62
+ /**
63
+ * Gets grace period configuration.
64
+ */
65
+ getGracePeriodConfig() {
66
+ return { ...this.config.gracePeriod };
67
+ }
68
+ /**
69
+ * Updates configuration at runtime.
70
+ */
71
+ updateConfig(overrides) {
72
+ this.config = this.mergeConfig(this.config, overrides);
73
+ }
74
+ /**
75
+ * Validates that required WayForPay credentials are present.
76
+ */
77
+ validateWayForPayConfig() {
78
+ const missingFields = [];
79
+ const { wayforpay } = this.config;
80
+ if (!wayforpay.merchantAccount) {
81
+ missingFields.push('merchantAccount');
82
+ }
83
+ if (!wayforpay.merchantSecretKey) {
84
+ missingFields.push('merchantSecretKey');
85
+ }
86
+ if (!wayforpay.merchantDomainName) {
87
+ missingFields.push('merchantDomainName');
88
+ }
89
+ return {
90
+ valid: missingFields.length === 0,
91
+ missingFields,
92
+ };
93
+ }
94
+ /**
95
+ * Loads default configuration from environment and defaults.
96
+ */
97
+ loadDefaultConfig() {
98
+ const envWayForPay = (0, environment_1.loadWayForPayConfigFromEnv)();
99
+ const envCache = (0, environment_1.loadCacheConfigFromEnv)();
100
+ const envGracePeriod = (0, environment_1.loadGracePeriodConfigFromEnv)();
101
+ return {
102
+ wayforpay: {
103
+ merchantAccount: envWayForPay.merchantAccount ?? '',
104
+ merchantSecretKey: envWayForPay.merchantSecretKey ?? '',
105
+ merchantDomainName: envWayForPay.merchantDomainName ?? '',
106
+ serviceUrl: envWayForPay.serviceUrl,
107
+ merchantPassword: envWayForPay.merchantPassword,
108
+ },
109
+ cache: {
110
+ ttlMs: envCache.ttlMs ?? defaults_1.DEFAULT_CACHE_CONFIG.ttlMs,
111
+ maxSize: envCache.maxSize ?? defaults_1.DEFAULT_CACHE_CONFIG.maxSize,
112
+ },
113
+ gracePeriod: {
114
+ durationMs: envGracePeriod.durationMs ?? defaults_1.DEFAULT_GRACE_PERIOD_CONFIG.durationMs,
115
+ enabled: envGracePeriod.enabled ?? defaults_1.DEFAULT_GRACE_PERIOD_CONFIG.enabled,
116
+ },
117
+ };
118
+ }
119
+ /**
120
+ * Merges configuration with overrides.
121
+ */
122
+ mergeConfig(base, overrides) {
123
+ if (!overrides) {
124
+ return base;
125
+ }
126
+ return {
127
+ wayforpay: {
128
+ ...base.wayforpay,
129
+ ...overrides.wayforpay,
130
+ },
131
+ cache: {
132
+ ...base.cache,
133
+ ...overrides.cache,
134
+ },
135
+ gracePeriod: {
136
+ ...base.gracePeriod,
137
+ ...overrides.gracePeriod,
138
+ },
139
+ };
140
+ }
141
+ }
142
+ exports.ConfigurationManager = ConfigurationManager;
143
+ ConfigurationManager.instance = null;
144
+ //# sourceMappingURL=ConfigurationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationManager.js","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":";;;AACA,yCAA+E;AAC/E,+CAAiH;AAEjH;;;GAGG;AACH,MAAa,oBAAoB;IAK7B;QAFQ,gBAAW,GAAY,KAAK,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACjC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa;QACvB,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,SAAgC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,kBAAkB;QACrB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,oBAAoB;QACvB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,SAA+B;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,uBAAuB;QAC1B,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC/B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACH,KAAK,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;YACjC,aAAa;SAChB,CAAC;IACN,CAAC;IAED;;OAEG;IACK,iBAAiB;QACrB,MAAM,YAAY,GAAG,IAAA,wCAA0B,GAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAA,oCAAsB,GAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAA,0CAA4B,GAAE,CAAC;QAEtD,OAAO;YACH,SAAS,EAAE;gBACP,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,EAAE;gBACnD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,IAAI,EAAE;gBACvD,kBAAkB,EAAE,YAAY,CAAC,kBAAkB,IAAI,EAAE;gBACzD,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;aAClD;YACD,KAAK,EAAE;gBACH,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,+BAAoB,CAAC,KAAK;gBACnD,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,+BAAoB,CAAC,OAAO;aAC5D;YACD,WAAW,EAAE;gBACT,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,sCAA2B,CAAC,UAAU;gBAC/E,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,sCAA2B,CAAC,OAAO;aACzE;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAmB,EAAE,SAAgC;QACrE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO;YACH,SAAS,EAAE;gBACP,GAAG,IAAI,CAAC,SAAS;gBACjB,GAAG,SAAS,CAAC,SAAS;aACzB;YACD,KAAK,EAAE;gBACH,GAAG,IAAI,CAAC,KAAK;gBACb,GAAG,SAAS,CAAC,KAAK;aACrB;YACD,WAAW,EAAE;gBACT,GAAG,IAAI,CAAC,WAAW;gBACnB,GAAG,SAAS,CAAC,WAAW;aAC3B;SACJ,CAAC;IACN,CAAC;;AArJL,oDAsJC;AArJkB,6BAAQ,GAAgC,IAAI,AAApC,CAAqC"}
@@ -0,0 +1,18 @@
1
+ import type { CacheConfig, GracePeriodConfig } from './types';
2
+ /**
3
+ * Default cache TTL: 20 hours in milliseconds.
4
+ */
5
+ export declare const DEFAULT_CACHE_TTL_MS: number;
6
+ /**
7
+ * Default cache configuration.
8
+ */
9
+ export declare const DEFAULT_CACHE_CONFIG: CacheConfig;
10
+ /**
11
+ * Default grace period: 3 days in milliseconds.
12
+ */
13
+ export declare const DEFAULT_GRACE_PERIOD_MS: number;
14
+ /**
15
+ * Default grace period configuration.
16
+ */
17
+ export declare const DEFAULT_GRACE_PERIOD_CONFIG: GracePeriodConfig;
18
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAsB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAA0B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAGzC,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_GRACE_PERIOD_CONFIG = exports.DEFAULT_GRACE_PERIOD_MS = exports.DEFAULT_CACHE_CONFIG = exports.DEFAULT_CACHE_TTL_MS = void 0;
4
+ /**
5
+ * Default cache TTL: 20 hours in milliseconds.
6
+ */
7
+ exports.DEFAULT_CACHE_TTL_MS = 20 * 60 * 60 * 1000;
8
+ /**
9
+ * Default cache configuration.
10
+ */
11
+ exports.DEFAULT_CACHE_CONFIG = {
12
+ ttlMs: exports.DEFAULT_CACHE_TTL_MS,
13
+ maxSize: undefined,
14
+ };
15
+ /**
16
+ * Default grace period: 3 days in milliseconds.
17
+ */
18
+ exports.DEFAULT_GRACE_PERIOD_MS = 3 * 24 * 60 * 60 * 1000;
19
+ /**
20
+ * Default grace period configuration.
21
+ */
22
+ exports.DEFAULT_GRACE_PERIOD_CONFIG = {
23
+ durationMs: exports.DEFAULT_GRACE_PERIOD_MS,
24
+ enabled: true,
25
+ };
26
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD;;GAEG;AACU,QAAA,oBAAoB,GAAgB;IAC7C,KAAK,EAAE,4BAAoB;IAC3B,OAAO,EAAE,SAAS;CACrB,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/D;;GAEG;AACU,QAAA,2BAA2B,GAAsB;IAC1D,UAAU,EAAE,+BAAuB;IACnC,OAAO,EAAE,IAAI;CAChB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { WayForPayConfig, CacheConfig, GracePeriodConfig } from './types';
2
+ /**
3
+ * Environment variable names for WayForPay configuration.
4
+ */
5
+ export declare const WAYFORPAY_ENV_VARS: {
6
+ readonly MERCHANT_ACCOUNT: "WAYFORPAY_MERCHANT_ACCOUNT";
7
+ readonly MERCHANT_SECRET_KEY: "WAYFORPAY_MERCHANT_SECRET_KEY";
8
+ readonly MERCHANT_DOMAIN: "WAYFORPAY_MERCHANT_DOMAIN";
9
+ readonly SERVICE_URL: "WAYFORPAY_SERVICE_URL";
10
+ readonly MERCHANT_PASSWORD: "WAYFORPAY_MERCHANT_PASSWORD";
11
+ };
12
+ /**
13
+ * Environment variable names for cache configuration.
14
+ */
15
+ export declare const CACHE_ENV_VARS: {
16
+ readonly TTL_MS: "CACHE_TTL_MS";
17
+ readonly MAX_SIZE: "CACHE_MAX_SIZE";
18
+ };
19
+ /**
20
+ * Environment variable names for grace period configuration.
21
+ */
22
+ export declare const GRACE_PERIOD_ENV_VARS: {
23
+ readonly DURATION_MS: "GRACE_PERIOD_DURATION_MS";
24
+ readonly ENABLED: "GRACE_PERIOD_ENABLED";
25
+ };
26
+ /**
27
+ * Loads WayForPay configuration from environment variables.
28
+ */
29
+ export declare function loadWayForPayConfigFromEnv(): Partial<WayForPayConfig>;
30
+ /**
31
+ * Loads cache configuration from environment variables.
32
+ */
33
+ export declare function loadCacheConfigFromEnv(): Partial<CacheConfig>;
34
+ /**
35
+ * Loads grace period configuration from environment variables.
36
+ */
37
+ export declare function loadGracePeriodConfigFromEnv(): Partial<GracePeriodConfig>;
38
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG/E;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAiCX;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,eAAe,CAAC,CAQrE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,CAK7D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAMzE"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GRACE_PERIOD_ENV_VARS = exports.CACHE_ENV_VARS = exports.WAYFORPAY_ENV_VARS = void 0;
4
+ exports.loadWayForPayConfigFromEnv = loadWayForPayConfigFromEnv;
5
+ exports.loadCacheConfigFromEnv = loadCacheConfigFromEnv;
6
+ exports.loadGracePeriodConfigFromEnv = loadGracePeriodConfigFromEnv;
7
+ const defaults_1 = require("./defaults");
8
+ /**
9
+ * Environment variable names for WayForPay configuration.
10
+ */
11
+ exports.WAYFORPAY_ENV_VARS = {
12
+ MERCHANT_ACCOUNT: 'WAYFORPAY_MERCHANT_ACCOUNT',
13
+ MERCHANT_SECRET_KEY: 'WAYFORPAY_MERCHANT_SECRET_KEY',
14
+ MERCHANT_DOMAIN: 'WAYFORPAY_MERCHANT_DOMAIN',
15
+ SERVICE_URL: 'WAYFORPAY_SERVICE_URL',
16
+ MERCHANT_PASSWORD: 'WAYFORPAY_MERCHANT_PASSWORD',
17
+ };
18
+ /**
19
+ * Environment variable names for cache configuration.
20
+ */
21
+ exports.CACHE_ENV_VARS = {
22
+ TTL_MS: 'CACHE_TTL_MS',
23
+ MAX_SIZE: 'CACHE_MAX_SIZE',
24
+ };
25
+ /**
26
+ * Environment variable names for grace period configuration.
27
+ */
28
+ exports.GRACE_PERIOD_ENV_VARS = {
29
+ DURATION_MS: 'GRACE_PERIOD_DURATION_MS',
30
+ ENABLED: 'GRACE_PERIOD_ENABLED',
31
+ };
32
+ /**
33
+ * Gets a string environment variable value.
34
+ */
35
+ function getEnvString(name) {
36
+ return process.env[name];
37
+ }
38
+ /**
39
+ * Gets a numeric environment variable value.
40
+ */
41
+ function getEnvNumber(name) {
42
+ const value = process.env[name];
43
+ if (value === undefined || value === '') {
44
+ return undefined;
45
+ }
46
+ const parsed = parseInt(value, 10);
47
+ return isNaN(parsed) ? undefined : parsed;
48
+ }
49
+ /**
50
+ * Gets a boolean environment variable value.
51
+ * Accepts 'true', '1', 'yes' as truthy values.
52
+ */
53
+ function getEnvBoolean(name) {
54
+ const value = process.env[name];
55
+ if (value === undefined || value === '') {
56
+ return undefined;
57
+ }
58
+ return ['true', '1', 'yes'].includes(value.toLowerCase());
59
+ }
60
+ /**
61
+ * Loads WayForPay configuration from environment variables.
62
+ */
63
+ function loadWayForPayConfigFromEnv() {
64
+ return {
65
+ merchantAccount: getEnvString(exports.WAYFORPAY_ENV_VARS.MERCHANT_ACCOUNT),
66
+ merchantSecretKey: getEnvString(exports.WAYFORPAY_ENV_VARS.MERCHANT_SECRET_KEY),
67
+ merchantDomainName: getEnvString(exports.WAYFORPAY_ENV_VARS.MERCHANT_DOMAIN),
68
+ serviceUrl: getEnvString(exports.WAYFORPAY_ENV_VARS.SERVICE_URL),
69
+ merchantPassword: getEnvString(exports.WAYFORPAY_ENV_VARS.MERCHANT_PASSWORD),
70
+ };
71
+ }
72
+ /**
73
+ * Loads cache configuration from environment variables.
74
+ */
75
+ function loadCacheConfigFromEnv() {
76
+ return {
77
+ ttlMs: getEnvNumber(exports.CACHE_ENV_VARS.TTL_MS) ?? defaults_1.DEFAULT_CACHE_TTL_MS,
78
+ maxSize: getEnvNumber(exports.CACHE_ENV_VARS.MAX_SIZE),
79
+ };
80
+ }
81
+ /**
82
+ * Loads grace period configuration from environment variables.
83
+ */
84
+ function loadGracePeriodConfigFromEnv() {
85
+ const enabled = getEnvBoolean(exports.GRACE_PERIOD_ENV_VARS.ENABLED);
86
+ return {
87
+ durationMs: getEnvNumber(exports.GRACE_PERIOD_ENV_VARS.DURATION_MS) ?? defaults_1.DEFAULT_GRACE_PERIOD_MS,
88
+ enabled: enabled ?? true,
89
+ };
90
+ }
91
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":";;;AAgEA,gEAQC;AAKD,wDAKC;AAKD,oEAMC;AA5FD,yCAA2E;AAE3E;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAC9B,gBAAgB,EAAE,4BAA4B;IAC9C,mBAAmB,EAAE,+BAA+B;IACpD,eAAe,EAAE,2BAA2B;IAC5C,WAAW,EAAE,uBAAuB;IACpC,iBAAiB,EAAE,6BAA6B;CAC1C,CAAC;AAEX;;GAEG;AACU,QAAA,cAAc,GAAG;IAC1B,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,gBAAgB;CACpB,CAAC;AAEX;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACjC,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,sBAAsB;CACzB,CAAC;AAEX;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B;IACtC,OAAO;QACH,eAAe,EAAE,YAAY,CAAC,0BAAkB,CAAC,gBAAgB,CAAC;QAClE,iBAAiB,EAAE,YAAY,CAAC,0BAAkB,CAAC,mBAAmB,CAAC;QACvE,kBAAkB,EAAE,YAAY,CAAC,0BAAkB,CAAC,eAAe,CAAC;QACpE,UAAU,EAAE,YAAY,CAAC,0BAAkB,CAAC,WAAW,CAAC;QACxD,gBAAgB,EAAE,YAAY,CAAC,0BAAkB,CAAC,iBAAiB,CAAC;KACvE,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IAClC,OAAO;QACH,KAAK,EAAE,YAAY,CAAC,sBAAc,CAAC,MAAM,CAAC,IAAI,+BAAoB;QAClE,OAAO,EAAE,YAAY,CAAC,sBAAc,CAAC,QAAQ,CAAC;KACjD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B;IACxC,MAAM,OAAO,GAAG,aAAa,CAAC,6BAAqB,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO;QACH,UAAU,EAAE,YAAY,CAAC,6BAAqB,CAAC,WAAW,CAAC,IAAI,kCAAuB;QACtF,OAAO,EAAE,OAAO,IAAI,IAAI;KAC3B,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { ConfigurationManager } from './ConfigurationManager';
2
+ export type { PackageConfig, PartialPackageConfig, WayForPayConfig, CacheConfig, GracePeriodConfig, } from './types';
3
+ export { DEFAULT_CACHE_TTL_MS, DEFAULT_CACHE_CONFIG, DEFAULT_GRACE_PERIOD_MS, DEFAULT_GRACE_PERIOD_CONFIG, } from './defaults';
4
+ export { WAYFORPAY_ENV_VARS, CACHE_ENV_VARS, GRACE_PERIOD_ENV_VARS, loadWayForPayConfigFromEnv, loadCacheConfigFromEnv, loadGracePeriodConfigFromEnv, } from './environment';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACR,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,GACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,GAC/B,MAAM,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadGracePeriodConfigFromEnv = exports.loadCacheConfigFromEnv = exports.loadWayForPayConfigFromEnv = exports.GRACE_PERIOD_ENV_VARS = exports.CACHE_ENV_VARS = exports.WAYFORPAY_ENV_VARS = exports.DEFAULT_GRACE_PERIOD_CONFIG = exports.DEFAULT_GRACE_PERIOD_MS = exports.DEFAULT_CACHE_CONFIG = exports.DEFAULT_CACHE_TTL_MS = exports.ConfigurationManager = void 0;
4
+ var ConfigurationManager_1 = require("./ConfigurationManager");
5
+ Object.defineProperty(exports, "ConfigurationManager", { enumerable: true, get: function () { return ConfigurationManager_1.ConfigurationManager; } });
6
+ var defaults_1 = require("./defaults");
7
+ Object.defineProperty(exports, "DEFAULT_CACHE_TTL_MS", { enumerable: true, get: function () { return defaults_1.DEFAULT_CACHE_TTL_MS; } });
8
+ Object.defineProperty(exports, "DEFAULT_CACHE_CONFIG", { enumerable: true, get: function () { return defaults_1.DEFAULT_CACHE_CONFIG; } });
9
+ Object.defineProperty(exports, "DEFAULT_GRACE_PERIOD_MS", { enumerable: true, get: function () { return defaults_1.DEFAULT_GRACE_PERIOD_MS; } });
10
+ Object.defineProperty(exports, "DEFAULT_GRACE_PERIOD_CONFIG", { enumerable: true, get: function () { return defaults_1.DEFAULT_GRACE_PERIOD_CONFIG; } });
11
+ var environment_1 = require("./environment");
12
+ Object.defineProperty(exports, "WAYFORPAY_ENV_VARS", { enumerable: true, get: function () { return environment_1.WAYFORPAY_ENV_VARS; } });
13
+ Object.defineProperty(exports, "CACHE_ENV_VARS", { enumerable: true, get: function () { return environment_1.CACHE_ENV_VARS; } });
14
+ Object.defineProperty(exports, "GRACE_PERIOD_ENV_VARS", { enumerable: true, get: function () { return environment_1.GRACE_PERIOD_ENV_VARS; } });
15
+ Object.defineProperty(exports, "loadWayForPayConfigFromEnv", { enumerable: true, get: function () { return environment_1.loadWayForPayConfigFromEnv; } });
16
+ Object.defineProperty(exports, "loadCacheConfigFromEnv", { enumerable: true, get: function () { return environment_1.loadCacheConfigFromEnv; } });
17
+ Object.defineProperty(exports, "loadGracePeriodConfigFromEnv", { enumerable: true, get: function () { return environment_1.loadGracePeriodConfigFromEnv; } });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAQ7B,uCAKoB;AAJhB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,mHAAA,uBAAuB,OAAA;AACvB,uHAAA,2BAA2B,OAAA;AAE/B,6CAOuB;AANnB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,oHAAA,qBAAqB,OAAA;AACrB,yHAAA,0BAA0B,OAAA;AAC1B,qHAAA,sBAAsB,OAAA;AACtB,2HAAA,4BAA4B,OAAA"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * WayForPay payment provider credentials configuration.
3
+ */
4
+ export interface WayForPayConfig {
5
+ /** Merchant account identifier from WayForPay dashboard */
6
+ merchantAccount: string;
7
+ /** Secret key for signing requests */
8
+ merchantSecretKey: string;
9
+ /** Merchant domain name registered with WayForPay */
10
+ merchantDomainName: string;
11
+ /** Optional service URL for webhook callbacks */
12
+ serviceUrl?: string;
13
+ /** Optional merchant password for edit operations */
14
+ merchantPassword?: string;
15
+ }
16
+ /**
17
+ * Cache configuration settings.
18
+ */
19
+ export interface CacheConfig {
20
+ /** Default cache TTL in milliseconds */
21
+ ttlMs: number;
22
+ /** Optional maximum cache size (number of entries) */
23
+ maxSize?: number;
24
+ }
25
+ /**
26
+ * Subscription grace period configuration.
27
+ */
28
+ export interface GracePeriodConfig {
29
+ /** Grace period duration in milliseconds after subscription expires */
30
+ durationMs: number;
31
+ /** Whether grace period is enabled */
32
+ enabled: boolean;
33
+ }
34
+ /**
35
+ * Complete package configuration.
36
+ */
37
+ export interface PackageConfig {
38
+ /** WayForPay payment provider configuration */
39
+ wayforpay: WayForPayConfig;
40
+ /** Cache settings */
41
+ cache: CacheConfig;
42
+ /** Grace period settings for subscriptions */
43
+ gracePeriod: GracePeriodConfig;
44
+ }
45
+ /**
46
+ * Partial configuration for overriding defaults.
47
+ */
48
+ export type PartialPackageConfig = {
49
+ wayforpay?: Partial<WayForPayConfig>;
50
+ cache?: Partial<CacheConfig>;
51
+ gracePeriod?: Partial<GracePeriodConfig>;
52
+ };
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,+CAA+C;IAC/C,SAAS,EAAE,eAAe,CAAC;IAC3B,qBAAqB;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,8CAA8C;IAC9C,WAAW,EAAE,iBAAiB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC5C,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,26 @@
1
1
  export * from './modules/payments';
2
2
  export * from './modules/invoice';
3
3
  export * from './modules/subscription';
4
+ export * from './modules/subscriptionPlan';
4
5
  export * from './modules/user';
6
+ export * from './modules/tokenPack';
7
+ export * from './modules/token';
8
+ export * from './modules/cache';
9
+ export * from './modules/errors';
10
+ export * from './config';
11
+ export declare const SUBSCRIPTION_STATUS: {
12
+ readonly ACTIVE: "active";
13
+ readonly EXPIRED: "expired";
14
+ readonly CANCELLED: "cancelled";
15
+ };
16
+ export declare const PAYMENT_STATUS: {
17
+ readonly PENDING: "pending";
18
+ readonly COMPLETED: "completed";
19
+ readonly FAILED: "failed";
20
+ readonly EXPIRED: "expired";
21
+ };
22
+ export declare const PAYMENT_TYPE: {
23
+ readonly SUBSCRIPTION: "subscription";
24
+ readonly TOKEN_PACK: "token_pack";
25
+ };
5
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AAGzB,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGf,CAAC"}
package/dist/index.js CHANGED
@@ -14,8 +14,31 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PAYMENT_TYPE = exports.PAYMENT_STATUS = exports.SUBSCRIPTION_STATUS = void 0;
17
18
  __exportStar(require("./modules/payments"), exports);
18
19
  __exportStar(require("./modules/invoice"), exports);
19
20
  __exportStar(require("./modules/subscription"), exports);
21
+ __exportStar(require("./modules/subscriptionPlan"), exports);
20
22
  __exportStar(require("./modules/user"), exports);
23
+ __exportStar(require("./modules/tokenPack"), exports);
24
+ __exportStar(require("./modules/token"), exports);
25
+ __exportStar(require("./modules/cache"), exports);
26
+ __exportStar(require("./modules/errors"), exports);
27
+ __exportStar(require("./config"), exports);
28
+ // Status constants for common use cases
29
+ exports.SUBSCRIPTION_STATUS = {
30
+ ACTIVE: 'active',
31
+ EXPIRED: 'expired',
32
+ CANCELLED: 'cancelled',
33
+ };
34
+ exports.PAYMENT_STATUS = {
35
+ PENDING: 'pending',
36
+ COMPLETED: 'completed',
37
+ FAILED: 'failed',
38
+ EXPIRED: 'expired',
39
+ };
40
+ exports.PAYMENT_TYPE = {
41
+ SUBSCRIPTION: 'subscription',
42
+ TOKEN_PACK: 'token_pack',
43
+ };
21
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,yDAAuC;AACvC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AAEzB,wCAAwC;AAC3B,QAAA,mBAAmB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CAChB,CAAC;AAEE,QAAA,cAAc,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACZ,CAAC;AAEE,QAAA,YAAY,GAAG;IACxB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;CAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ICacheOptions, ICache } from './types';
2
+ export declare class InMemoryCache<T> implements ICache<T> {
3
+ private readonly cache;
4
+ private readonly defaultTtl;
5
+ private readonly maxSize;
6
+ constructor(options: ICacheOptions);
7
+ get(key: string): T | undefined;
8
+ set(key: string, value: T, ttl?: number): void;
9
+ has(key: string): boolean;
10
+ delete(key: string): boolean;
11
+ clear(): void;
12
+ size(): number;
13
+ cleanup(): void;
14
+ private isExpired;
15
+ private evictOldest;
16
+ }
17
+ //# sourceMappingURL=InMemoryCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCache.d.ts","sourceRoot":"","sources":["../../../src/modules/cache/InMemoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5D,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,aAAa;IAM3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAe/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAa9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAezB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,MAAM;IAId,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;CAetB"}