mvc-common-toolkit 1.43.9 → 1.43.11

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 (201) hide show
  1. package/dist/src/constants.d.ts +42 -0
  2. package/dist/src/constants.js +50 -0
  3. package/dist/src/constants.js.map +1 -0
  4. package/dist/src/gateways/alibaba-cloud-gateway.d.ts +30 -0
  5. package/dist/src/gateways/alibaba-cloud-gateway.js +120 -0
  6. package/dist/src/gateways/alibaba-cloud-gateway.js.map +1 -0
  7. package/dist/src/gateways/http-audit-gateway.d.ts +20 -0
  8. package/dist/src/gateways/http-audit-gateway.js +76 -0
  9. package/dist/src/gateways/http-audit-gateway.js.map +1 -0
  10. package/dist/src/gateways/index.d.ts +5 -0
  11. package/dist/src/gateways/index.js +22 -0
  12. package/dist/src/gateways/index.js.map +1 -0
  13. package/dist/src/gateways/internal-auth-gateway.d.ts +8 -0
  14. package/dist/src/gateways/internal-auth-gateway.js +40 -0
  15. package/dist/src/gateways/internal-auth-gateway.js.map +1 -0
  16. package/dist/src/gateways/stdout-audit-gateway.d.ts +7 -0
  17. package/dist/src/gateways/stdout-audit-gateway.js +25 -0
  18. package/dist/src/gateways/stdout-audit-gateway.js.map +1 -0
  19. package/dist/src/gateways/webhook-audit-gateway.d.ts +14 -0
  20. package/dist/src/gateways/webhook-audit-gateway.js +27 -0
  21. package/dist/src/gateways/webhook-audit-gateway.js.map +1 -0
  22. package/dist/src/interfaces.d.ts +218 -0
  23. package/dist/src/interfaces.js +3 -0
  24. package/dist/src/interfaces.js.map +1 -0
  25. package/dist/src/models/audit-log.d.ts +77 -0
  26. package/dist/src/models/audit-log.js +92 -0
  27. package/dist/src/models/audit-log.js.map +1 -0
  28. package/dist/src/models/index.d.ts +1 -0
  29. package/dist/src/models/index.js +18 -0
  30. package/dist/src/models/index.js.map +1 -0
  31. package/dist/src/pkg/array-helper.d.ts +1 -0
  32. package/dist/src/pkg/array-helper.js +12 -0
  33. package/dist/src/pkg/array-helper.js.map +1 -0
  34. package/dist/src/pkg/bcrypt-helper.d.ts +2 -0
  35. package/dist/src/pkg/bcrypt-helper.js +36 -0
  36. package/dist/src/pkg/bcrypt-helper.js.map +1 -0
  37. package/dist/src/pkg/crypto-helper.d.ts +2 -0
  38. package/dist/src/pkg/crypto-helper.js +16 -0
  39. package/dist/src/pkg/crypto-helper.js.map +1 -0
  40. package/dist/src/pkg/encryption-helper.d.ts +18 -0
  41. package/dist/src/pkg/encryption-helper.js +89 -0
  42. package/dist/src/pkg/encryption-helper.js.map +1 -0
  43. package/dist/src/pkg/encryption-helper.spec.d.ts +1 -0
  44. package/dist/src/pkg/encryption-helper.spec.js +238 -0
  45. package/dist/src/pkg/encryption-helper.spec.js.map +1 -0
  46. package/dist/src/pkg/filter-helper.d.ts +2 -0
  47. package/dist/src/pkg/filter-helper.js +102 -0
  48. package/dist/src/pkg/filter-helper.js.map +1 -0
  49. package/dist/src/pkg/filter-helper.spec.d.ts +1 -0
  50. package/dist/src/pkg/filter-helper.spec.js +94 -0
  51. package/dist/src/pkg/filter-helper.spec.js.map +1 -0
  52. package/dist/src/pkg/geoip-helper.d.ts +2 -0
  53. package/dist/src/pkg/geoip-helper.js +32 -0
  54. package/dist/src/pkg/geoip-helper.js.map +1 -0
  55. package/dist/src/pkg/hash-helper.d.ts +1 -0
  56. package/dist/src/pkg/hash-helper.js +37 -0
  57. package/dist/src/pkg/hash-helper.js.map +1 -0
  58. package/dist/src/pkg/http-request-utils.d.ts +4 -0
  59. package/dist/src/pkg/http-request-utils.js +55 -0
  60. package/dist/src/pkg/http-request-utils.js.map +1 -0
  61. package/dist/src/pkg/index.d.ts +18 -0
  62. package/dist/src/pkg/index.js +45 -0
  63. package/dist/src/pkg/index.js.map +1 -0
  64. package/dist/src/pkg/key-helper.d.ts +2 -0
  65. package/dist/src/pkg/key-helper.js +20 -0
  66. package/dist/src/pkg/key-helper.js.map +1 -0
  67. package/dist/src/pkg/logger.d.ts +9 -0
  68. package/dist/src/pkg/logger.js +23 -0
  69. package/dist/src/pkg/logger.js.map +1 -0
  70. package/dist/src/pkg/object-helper.d.ts +2 -0
  71. package/dist/src/pkg/object-helper.js +37 -0
  72. package/dist/src/pkg/object-helper.js.map +1 -0
  73. package/dist/src/pkg/paginated-cache-registry.d.ts +8 -0
  74. package/dist/src/pkg/paginated-cache-registry.js +23 -0
  75. package/dist/src/pkg/paginated-cache-registry.js.map +1 -0
  76. package/dist/src/pkg/query-helper.d.ts +3 -0
  77. package/dist/src/pkg/query-helper.js +60 -0
  78. package/dist/src/pkg/query-helper.js.map +1 -0
  79. package/dist/src/pkg/referral-tree-utils.d.ts +33 -0
  80. package/dist/src/pkg/referral-tree-utils.js +71 -0
  81. package/dist/src/pkg/referral-tree-utils.js.map +1 -0
  82. package/dist/src/pkg/scripts/index.d.ts +1 -0
  83. package/dist/src/pkg/scripts/index.js +28 -0
  84. package/dist/src/pkg/scripts/index.js.map +1 -0
  85. package/dist/src/pkg/scripts/lua.d.ts +10 -0
  86. package/dist/src/pkg/scripts/lua.js +109 -0
  87. package/dist/src/pkg/scripts/lua.js.map +1 -0
  88. package/dist/src/pkg/sort-helper.d.ts +3 -0
  89. package/dist/src/pkg/sort-helper.js +18 -0
  90. package/dist/src/pkg/sort-helper.js.map +1 -0
  91. package/dist/src/pkg/string-utils.d.ts +10 -0
  92. package/dist/src/pkg/string-utils.js +79 -0
  93. package/dist/src/pkg/string-utils.js.map +1 -0
  94. package/dist/src/pkg/task-helper.d.ts +2 -0
  95. package/dist/src/pkg/task-helper.js +30 -0
  96. package/dist/src/pkg/task-helper.js.map +1 -0
  97. package/dist/src/pkg/workflow/delayed-task-registry.d.ts +10 -0
  98. package/dist/src/pkg/workflow/delayed-task-registry.js +67 -0
  99. package/dist/src/pkg/workflow/delayed-task-registry.js.map +1 -0
  100. package/dist/src/pkg/workflow/delayed-task.d.ts +18 -0
  101. package/dist/src/pkg/workflow/delayed-task.js +95 -0
  102. package/dist/src/pkg/workflow/delayed-task.js.map +1 -0
  103. package/dist/src/pkg/workflow/index.d.ts +5 -0
  104. package/dist/src/pkg/workflow/index.js +22 -0
  105. package/dist/src/pkg/workflow/index.js.map +1 -0
  106. package/dist/src/pkg/workflow/processing-milestone.d.ts +18 -0
  107. package/dist/src/pkg/workflow/processing-milestone.js +39 -0
  108. package/dist/src/pkg/workflow/processing-milestone.js.map +1 -0
  109. package/dist/src/pkg/workflow/retry-task.d.ts +24 -0
  110. package/dist/src/pkg/workflow/retry-task.js +89 -0
  111. package/dist/src/pkg/workflow/retry-task.js.map +1 -0
  112. package/dist/src/pkg/workflow/retry-task.spec.d.ts +1 -0
  113. package/dist/src/pkg/workflow/retry-task.spec.js +145 -0
  114. package/dist/src/pkg/workflow/retry-task.spec.js.map +1 -0
  115. package/dist/src/pkg/workflow/sync-taskqueue.d.ts +32 -0
  116. package/dist/src/pkg/workflow/sync-taskqueue.js +108 -0
  117. package/dist/src/pkg/workflow/sync-taskqueue.js.map +1 -0
  118. package/dist/src/pkg/worksheet.utils.d.ts +27 -0
  119. package/dist/src/pkg/worksheet.utils.js +116 -0
  120. package/dist/src/pkg/worksheet.utils.js.map +1 -0
  121. package/dist/src/services/audit-service.d.ts +7 -0
  122. package/dist/src/services/audit-service.js +32 -0
  123. package/dist/src/services/audit-service.js.map +1 -0
  124. package/dist/src/services/excel.service.d.ts +25 -0
  125. package/dist/src/services/excel.service.js +95 -0
  126. package/dist/src/services/excel.service.js.map +1 -0
  127. package/dist/src/services/http-service.d.ts +7 -0
  128. package/dist/src/services/http-service.js +67 -0
  129. package/dist/src/services/http-service.js.map +1 -0
  130. package/dist/src/services/index.d.ts +8 -0
  131. package/dist/src/services/index.js +25 -0
  132. package/dist/src/services/index.js.map +1 -0
  133. package/dist/src/services/kafka-service.d.ts +15 -0
  134. package/dist/src/services/kafka-service.js +68 -0
  135. package/dist/src/services/kafka-service.js.map +1 -0
  136. package/dist/src/services/mailer-service.d.ts +15 -0
  137. package/dist/src/services/mailer-service.js +44 -0
  138. package/dist/src/services/mailer-service.js.map +1 -0
  139. package/dist/src/services/paginated-cache.d.ts +16 -0
  140. package/dist/src/services/paginated-cache.js +115 -0
  141. package/dist/src/services/paginated-cache.js.map +1 -0
  142. package/dist/src/services/paginated-cache.spec.d.ts +1 -0
  143. package/dist/src/services/paginated-cache.spec.js +284 -0
  144. package/dist/src/services/paginated-cache.spec.js.map +1 -0
  145. package/dist/src/services/redis-service.d.ts +33 -0
  146. package/dist/src/services/redis-service.js +230 -0
  147. package/dist/src/services/redis-service.js.map +1 -0
  148. package/dist/src/services/security-service.d.ts +11 -0
  149. package/dist/src/services/security-service.js +68 -0
  150. package/dist/src/services/security-service.js.map +1 -0
  151. package/package.json +1 -1
  152. package/src/constants.ts +47 -0
  153. package/src/gateways/alibaba-cloud-gateway.ts +127 -0
  154. package/src/gateways/http-audit-gateway.ts +104 -0
  155. package/src/gateways/index.ts +5 -0
  156. package/src/gateways/internal-auth-gateway.ts +42 -0
  157. package/src/gateways/stdout-audit-gateway.ts +23 -0
  158. package/src/gateways/webhook-audit-gateway.ts +33 -0
  159. package/src/interfaces.ts +304 -0
  160. package/src/models/audit-log.ts +126 -0
  161. package/src/models/index.ts +1 -0
  162. package/src/pkg/array-helper.ts +7 -0
  163. package/src/pkg/bcrypt-helper.ts +9 -0
  164. package/src/pkg/crypto-helper.ts +18 -0
  165. package/src/pkg/encryption-helper.spec.ts +423 -0
  166. package/src/pkg/encryption-helper.ts +155 -0
  167. package/src/pkg/filter-helper.spec.ts +105 -0
  168. package/src/pkg/filter-helper.ts +139 -0
  169. package/src/pkg/geoip-helper.ts +5 -0
  170. package/src/pkg/hash-helper.ts +12 -0
  171. package/src/pkg/http-request-utils.ts +75 -0
  172. package/src/pkg/index.ts +18 -0
  173. package/src/pkg/key-helper.ts +20 -0
  174. package/src/pkg/logger.ts +23 -0
  175. package/src/pkg/object-helper.ts +42 -0
  176. package/src/pkg/paginated-cache-registry.ts +25 -0
  177. package/src/pkg/query-helper.ts +79 -0
  178. package/src/pkg/referral-tree-utils.ts +165 -0
  179. package/src/pkg/scripts/index.ts +1 -0
  180. package/src/pkg/scripts/lua.ts +112 -0
  181. package/src/pkg/sort-helper.ts +19 -0
  182. package/src/pkg/string-utils.ts +104 -0
  183. package/src/pkg/task-helper.ts +25 -0
  184. package/src/pkg/workflow/delayed-task-registry.ts +54 -0
  185. package/src/pkg/workflow/delayed-task.ts +106 -0
  186. package/src/pkg/workflow/index.ts +5 -0
  187. package/src/pkg/workflow/processing-milestone.ts +54 -0
  188. package/src/pkg/workflow/retry-task.spec.ts +194 -0
  189. package/src/pkg/workflow/retry-task.ts +119 -0
  190. package/src/pkg/workflow/sync-taskqueue.ts +118 -0
  191. package/src/pkg/worksheet.utils.ts +178 -0
  192. package/src/services/audit-service.ts +22 -0
  193. package/src/services/excel.service.ts +103 -0
  194. package/src/services/http-service.ts +71 -0
  195. package/src/services/index.ts +8 -0
  196. package/src/services/kafka-service.ts +81 -0
  197. package/src/services/mailer-service.ts +43 -0
  198. package/src/services/paginated-cache.spec.ts +519 -0
  199. package/src/services/paginated-cache.ts +122 -0
  200. package/src/services/redis-service.ts +238 -0
  201. package/src/services/security-service.ts +80 -0
@@ -0,0 +1,218 @@
1
+ /// <reference types="node" />
2
+ import { Borders, CellValue, Style } from "exceljs";
3
+ import { Consumer, ConsumerConfig, ConsumerRunConfig, ConsumerSubscribeTopics, Producer, ProducerConfig, ProducerRecord, TopicPartitionOffsetAndMetadata } from "kafkajs";
4
+ import { FILTER_OPERATOR, HttpMethod, LOG_LEVEL, SET_CACHE_POLICY } from "./constants";
5
+ import { AxiosRequestConfig } from "axios";
6
+ export interface Subscription {
7
+ unsubscribe(): Promise<void>;
8
+ }
9
+ export interface DelayedTaskOps {
10
+ callback: () => void;
11
+ startOnCreate?: boolean;
12
+ timeout: number;
13
+ }
14
+ export interface TaskRescheduleOps {
15
+ msFromNow?: number;
16
+ runTime?: Date;
17
+ }
18
+ export interface TaskQueue {
19
+ push<T = any>(queueName: string, name: string, handler: any): Promise<T>;
20
+ }
21
+ export type DelayFn = (callback: () => void, timeout: number) => Subscription;
22
+ export type TaskFn = () => any | Promise<any>;
23
+ export interface ITask {
24
+ id: string;
25
+ isRunning: boolean;
26
+ isCancelled: boolean;
27
+ isCron: boolean;
28
+ start(): Promise<void>;
29
+ cancel(): Promise<void>;
30
+ lastRun(): Promise<Date>;
31
+ nextRun(): Promise<Date>;
32
+ reschedule(options: TaskRescheduleOps): Promise<void>;
33
+ }
34
+ export interface TaskRegistry {
35
+ register(options: DelayedTaskOps): Promise<ITask>;
36
+ count(): Promise<number>;
37
+ getTasks(): Promise<ITask[]>;
38
+ getTaskById(id: string): Promise<ITask>;
39
+ cancelTaskById(id: string): Promise<void>;
40
+ startTaskById(id: string): Promise<void>;
41
+ }
42
+ export interface SQLRunner {
43
+ query<T = any>(sql: string, ...args: any[]): Promise<T>;
44
+ }
45
+ export interface HttpRequestOption extends AxiosRequestConfig {
46
+ serviceName?: string;
47
+ body?: any;
48
+ query?: any;
49
+ headers?: Record<string, string>;
50
+ reqId?: string;
51
+ }
52
+ export interface Logger {
53
+ info(message: string, ...args: any[]): void;
54
+ error(message: string, ...args: any[]): void;
55
+ warn(message: string, ...args: any[]): void;
56
+ }
57
+ export interface HttpService {
58
+ send<T = any>(method: HttpMethod, url: string, options: HttpRequestOption): Promise<OperationResult<T>>;
59
+ }
60
+ export interface InternalAuthGatewayOptions {
61
+ endpointURL: string;
62
+ secret: string;
63
+ serviceName?: string;
64
+ }
65
+ export interface InternalAuthLoginResult {
66
+ accessToken?: string;
67
+ code?: string;
68
+ }
69
+ export interface InternalServiceAuthResult {
70
+ name: string;
71
+ type: "internal" | "external";
72
+ }
73
+ export interface DeleteByPatternOptions {
74
+ includePrefixInScanPattern: boolean;
75
+ }
76
+ export interface CacheService {
77
+ ttl(key: string): Promise<number>;
78
+ get(key: string): Promise<any>;
79
+ set(key: string, value: any, option?: SetCacheOption): Promise<any>;
80
+ del(...keys: string[]): Promise<void>;
81
+ incrBy(key: string, value?: number): Promise<number>;
82
+ incrByFloat(key: string, value: number): Promise<number>;
83
+ decrBy(key: string, value: number): Promise<number>;
84
+ deleteByPattern(pattern: string): Promise<void>;
85
+ getNumber(key: string): Promise<number | undefined>;
86
+ expire(key: string, ttl: number): Promise<number>;
87
+ }
88
+ export interface IPaginatedDataCache<T = any> {
89
+ generateCacheKey(filter?: Record<string, any>, limit?: number, offset?: number): string;
90
+ getCurrentVersion(): Promise<number>;
91
+ getCachedPaginatedData(filter: Record<string, any>, limit: number, offset: number): Promise<PaginationResult<T>>;
92
+ setCachedPaginatedData(filter: Record<string, any>, limit: number, offset: number, data: PaginationResult<T>, ttlInSecs?: number): Promise<any>;
93
+ incrementCacheVersion(ttl?: number): Promise<number>;
94
+ }
95
+ export interface PaginationResult<T = any> {
96
+ rows: T[];
97
+ total: number;
98
+ limit: number;
99
+ offset: number;
100
+ }
101
+ export interface HashCacheService {
102
+ hset(key: string, field: string, value: any): Promise<void>;
103
+ hget(key: string, field: string): Promise<string>;
104
+ hlen(key: string): Promise<number>;
105
+ hincrbyfloat(key: string, field: string, value?: number): Promise<string>;
106
+ hincrby(key: string, field: string, value?: number): Promise<number>;
107
+ hkeys(key: string): Promise<string[]>;
108
+ }
109
+ export interface ListCacheService {
110
+ lpush(key: string, value: any): Promise<void>;
111
+ lset(key: string, index: number, value: any): Promise<void>;
112
+ lrem(key: string, count: string | number, element: string | Buffer | number): Promise<number>;
113
+ rpush(key: string, value: any): Promise<void>;
114
+ lrange(key: string, start: number, end: number): Promise<string[]>;
115
+ lindex(key: string, index: number): Promise<string>;
116
+ llen(key: string): Promise<number>;
117
+ }
118
+ export type LuaCall = [script: string, numberOfKeys: number, ...args: any[]];
119
+ export interface CacheScriptEvaluator {
120
+ eval(script: string, numberOfKeys: number, ...args: any[]): Promise<any>;
121
+ multiEval(calls: LuaCall[]): Promise<any[]>;
122
+ }
123
+ export interface LockResult {
124
+ isLocked: boolean;
125
+ attemptsLeft: number;
126
+ }
127
+ export interface CRUDService<T = any> {
128
+ findById(userId: any, ...options: any[]): Promise<T>;
129
+ }
130
+ export interface SetCacheOption<Policy = SET_CACHE_POLICY> {
131
+ policy: Policy;
132
+ value?: any;
133
+ }
134
+ export interface IMessageQueueService {
135
+ initProducer(config?: any): Promise<void>;
136
+ initConsumer(config?: any): Promise<void>;
137
+ listen(subscribeConfig: any, runConfig: any): Promise<void>;
138
+ publish(record: any): Promise<void>;
139
+ commitOffsets(data: TopicPartitionOffsetAndMetadata[]): Promise<void>;
140
+ producer: Producer;
141
+ consumer: Consumer;
142
+ }
143
+ export interface HttpResponse<T = any> {
144
+ success?: boolean;
145
+ code?: string;
146
+ httpCode?: number;
147
+ message?: string;
148
+ data?: T;
149
+ }
150
+ export interface IKafkaService extends IMessageQueueService {
151
+ initProducer(config?: ProducerConfig): Promise<void>;
152
+ initConsumer(config?: ConsumerConfig): Promise<void>;
153
+ listen(subscribeConfig: ConsumerSubscribeTopics, runConfig: ConsumerRunConfig): Promise<void>;
154
+ publish(record: ProducerRecord): Promise<void>;
155
+ }
156
+ export interface PutObjectOption {
157
+ domain: string;
158
+ timeout?: number;
159
+ }
160
+ export interface CloudStorageClient {
161
+ generateTmpCredentials(sessionId: string): Promise<any>;
162
+ getObjectReadStream(fileName: string): Promise<any>;
163
+ deleteObject(filePath: string): Promise<void>;
164
+ uploadLocalToBucket(fileName: string, fileData: Buffer, options?: PutObjectOption): Promise<string>;
165
+ uploadRemoteObjectToBucket(fileName: string, remoteUrl: string, options?: PutObjectOption): Promise<string>;
166
+ }
167
+ export interface IFilter {
168
+ field: string;
169
+ operator: FILTER_OPERATOR;
170
+ value: any;
171
+ }
172
+ export type SORT_DIRECTION = "ASC" | "DESC";
173
+ export interface ISort {
174
+ columnName: string;
175
+ direction: SORT_DIRECTION;
176
+ }
177
+ export interface EmailSender {
178
+ send(mailOptions: SendMailOptions): Promise<void>;
179
+ }
180
+ export interface SendMailOptions {
181
+ from?: string;
182
+ to?: string | string[];
183
+ cc?: string | string[];
184
+ bcc?: string | string[];
185
+ subject: string;
186
+ text?: string;
187
+ html?: string;
188
+ }
189
+ export interface ICellOptions {
190
+ style?: Partial<Style>;
191
+ border?: Partial<Borders>;
192
+ }
193
+ export interface ICellData {
194
+ value: CellValue;
195
+ options?: ICellOptions;
196
+ }
197
+ export interface STSResponse {
198
+ RequestId: string;
199
+ AssumedRoleUser: any;
200
+ Credentials: {
201
+ SecurityToken: string;
202
+ AccessKeyId: string;
203
+ AccessKeySecret: string;
204
+ Expiration: string;
205
+ };
206
+ }
207
+ export interface AuditGateway {
208
+ publish(logId: string, level: LOG_LEVEL, content: any): Promise<any>;
209
+ }
210
+ export interface OperationResult<T = any> {
211
+ success: boolean;
212
+ data?: T;
213
+ message?: string;
214
+ code?: string;
215
+ httpCode?: number;
216
+ metadata?: any;
217
+ action?: string;
218
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import { LOG_LEVEL } from "../constants";
2
+ export type LogObject = ErrorLog | InfoLog | DebugLog;
3
+ export interface LogObjectData {
4
+ logId: string;
5
+ userId?: string;
6
+ level: LOG_LEVEL;
7
+ action: string;
8
+ message?: any;
9
+ payload?: any;
10
+ metadata?: any;
11
+ }
12
+ export declare abstract class BaseLog {
13
+ logId: string;
14
+ userId: string;
15
+ level: LOG_LEVEL;
16
+ action: string;
17
+ message?: any;
18
+ payload?: any;
19
+ metadata?: any;
20
+ constructor(data: Omit<LogObjectData, "level">);
21
+ abstract toJSON(): Record<string, any>;
22
+ }
23
+ export declare class ErrorLog extends BaseLog {
24
+ constructor(data: Omit<LogObjectData, "level">);
25
+ toJSON(): {
26
+ logId: string;
27
+ userId: string;
28
+ level: LOG_LEVEL;
29
+ action: string;
30
+ message: any;
31
+ metadata: any;
32
+ payload: any;
33
+ };
34
+ }
35
+ export declare class FatalLog extends BaseLog {
36
+ constructor(data: Omit<LogObjectData, "level">);
37
+ toJSON(): {
38
+ logId: string;
39
+ userId: string;
40
+ level: LOG_LEVEL;
41
+ action: string;
42
+ message: any;
43
+ metadata: any;
44
+ payload: any;
45
+ };
46
+ }
47
+ export declare class InfoLog extends BaseLog {
48
+ constructor(data: Omit<LogObjectData, "level">);
49
+ toJSON(): {
50
+ logId: string;
51
+ userId: string;
52
+ level: LOG_LEVEL;
53
+ action: string;
54
+ message: any;
55
+ metadata: any;
56
+ payload: any;
57
+ };
58
+ }
59
+ export declare class DebugLog extends BaseLog {
60
+ parentLogId?: string;
61
+ parentLogType?: LOG_LEVEL;
62
+ constructor(data: Omit<LogObjectData, "level"> & {
63
+ parentLogId?: string;
64
+ parentLogType?: LOG_LEVEL;
65
+ });
66
+ toJSON(): {
67
+ logId: string;
68
+ userId: string;
69
+ level: LOG_LEVEL;
70
+ action: string;
71
+ message: any;
72
+ metadata: any;
73
+ payload: any;
74
+ parentLogId: string;
75
+ parentLogType: LOG_LEVEL;
76
+ };
77
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DebugLog = exports.InfoLog = exports.FatalLog = exports.ErrorLog = exports.BaseLog = void 0;
4
+ const constants_1 = require("../constants");
5
+ class BaseLog {
6
+ constructor(data) {
7
+ this.logId = data.logId;
8
+ this.userId = data.userId;
9
+ this.action = data.action;
10
+ this.message = data.message;
11
+ this.metadata = data.metadata;
12
+ this.payload = data.payload;
13
+ }
14
+ }
15
+ exports.BaseLog = BaseLog;
16
+ class ErrorLog extends BaseLog {
17
+ constructor(data) {
18
+ super(data);
19
+ this.level = constants_1.LOG_LEVEL.ERROR;
20
+ }
21
+ toJSON() {
22
+ return {
23
+ logId: this.logId,
24
+ userId: this.userId,
25
+ level: this.level,
26
+ action: this.action,
27
+ message: this.message,
28
+ metadata: this.metadata,
29
+ payload: this.payload,
30
+ };
31
+ }
32
+ }
33
+ exports.ErrorLog = ErrorLog;
34
+ class FatalLog extends BaseLog {
35
+ constructor(data) {
36
+ super(data);
37
+ this.level = constants_1.LOG_LEVEL.FATAL;
38
+ }
39
+ toJSON() {
40
+ return {
41
+ logId: this.logId,
42
+ userId: this.userId,
43
+ level: this.level,
44
+ action: this.action,
45
+ message: this.message,
46
+ metadata: this.metadata,
47
+ payload: this.payload,
48
+ };
49
+ }
50
+ }
51
+ exports.FatalLog = FatalLog;
52
+ class InfoLog extends BaseLog {
53
+ constructor(data) {
54
+ super(data);
55
+ this.level = constants_1.LOG_LEVEL.INFO;
56
+ }
57
+ toJSON() {
58
+ return {
59
+ logId: this.logId,
60
+ userId: this.userId,
61
+ level: this.level,
62
+ action: this.action,
63
+ message: this.message,
64
+ metadata: this.metadata,
65
+ payload: this.payload,
66
+ };
67
+ }
68
+ }
69
+ exports.InfoLog = InfoLog;
70
+ class DebugLog extends BaseLog {
71
+ constructor(data) {
72
+ super(data);
73
+ this.level = constants_1.LOG_LEVEL.DEBUG;
74
+ this.parentLogId = data.parentLogId;
75
+ this.parentLogType = data.parentLogType;
76
+ }
77
+ toJSON() {
78
+ return {
79
+ logId: this.logId,
80
+ userId: this.userId,
81
+ level: this.level,
82
+ action: this.action,
83
+ message: this.message,
84
+ metadata: this.metadata,
85
+ payload: this.payload,
86
+ parentLogId: this.parentLogId,
87
+ parentLogType: this.parentLogType,
88
+ };
89
+ }
90
+ }
91
+ exports.DebugLog = DebugLog;
92
+ //# sourceMappingURL=audit-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../../src/models/audit-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./audit-log";
@@ -0,0 +1,18 @@
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("./audit-log"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
@@ -0,0 +1 @@
1
+ export declare function shuffle<T>(array: T[]): T[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shuffle = void 0;
4
+ function shuffle(array) {
5
+ for (let i = array.length - 1; i > 0; i--) {
6
+ const j = Math.floor(Math.random() * (i + 1));
7
+ [array[i], array[j]] = [array[j], array[i]];
8
+ }
9
+ return array;
10
+ }
11
+ exports.shuffle = shuffle;
12
+ //# sourceMappingURL=array-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-helper.js","sourceRoot":"","sources":["../../../src/pkg/array-helper.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAI,KAAU;IACnC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,0BAMC"}
@@ -0,0 +1,2 @@
1
+ export declare function hash(data: string, salt?: string | number): Promise<string>;
2
+ export declare function compare(raw: string, hashed: string): Promise<boolean>;
@@ -0,0 +1,36 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.compare = exports.hash = void 0;
27
+ const bcrypt = __importStar(require("bcrypt"));
28
+ function hash(data, salt) {
29
+ return bcrypt.hash(data, salt || 12);
30
+ }
31
+ exports.hash = hash;
32
+ function compare(raw, hashed) {
33
+ return bcrypt.compare(raw, hashed);
34
+ }
35
+ exports.compare = compare;
36
+ //# sourceMappingURL=bcrypt-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bcrypt-helper.js","sourceRoot":"","sources":["../../../src/pkg/bcrypt-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,IAAI,CAAC,IAAY,EAAE,IAAsB;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC;AAFD,oBAEC;AAED,SAAgB,OAAO,CAAC,GAAW,EAAE,MAAc;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAFD,0BAEC"}
@@ -0,0 +1,2 @@
1
+ export declare const sha512Encrypt: (data: string, privateKey: string) => string;
2
+ export declare const sha512Verify: (hashedToVerify: string, data: string, privateKey: string) => boolean;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sha512Verify = exports.sha512Encrypt = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const sha512Encrypt = (data, privateKey) => {
6
+ const sha512Hasher = (0, crypto_1.createHash)("sha512");
7
+ const finalData = `${data}_${privateKey}`;
8
+ return sha512Hasher.update(finalData).digest("hex");
9
+ };
10
+ exports.sha512Encrypt = sha512Encrypt;
11
+ const sha512Verify = (hashedToVerify, data, privateKey) => {
12
+ const hashed = (0, exports.sha512Encrypt)(data, privateKey);
13
+ return hashedToVerify === hashed;
14
+ };
15
+ exports.sha512Verify = sha512Verify;
16
+ //# sourceMappingURL=crypto-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-helper.js","sourceRoot":"","sources":["../../../src/pkg/crypto-helper.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAE7B,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,EAAE;IAChE,MAAM,YAAY,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;IAE1C,OAAO,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEK,MAAM,YAAY,GAAG,CAC1B,cAAsB,EACtB,IAAY,EACZ,UAAkB,EACT,EAAE;IACX,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE/C,OAAO,cAAc,KAAK,MAAM,CAAC;AACnC,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB"}
@@ -0,0 +1,18 @@
1
+ interface EncryptedPayload {
2
+ iv: string;
3
+ salt: string;
4
+ ciphertext: string;
5
+ tag: string;
6
+ }
7
+ interface EncryptedPayload2FA {
8
+ iv: string;
9
+ saltUser: string;
10
+ saltServer: string;
11
+ ciphertext: string;
12
+ tag: string;
13
+ }
14
+ export declare function encrypt(text: string, password: string): EncryptedPayload;
15
+ export declare function decrypt(payload: EncryptedPayload, password: string): string;
16
+ export declare function encryptWithTwoFactors(plaintext: string, userPassword: string, serverSecret: string): EncryptedPayload2FA;
17
+ export declare function decryptWithTwoFactors(payload: EncryptedPayload2FA, userPassword: string, serverSecret: string): string;
18
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decryptWithTwoFactors = exports.encryptWithTwoFactors = exports.decrypt = exports.encrypt = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const PBKDF2_ITERATIONS = 310000;
6
+ const KEY_LEN = 32;
7
+ const IV_LEN = 12;
8
+ const SALT_LEN = 16;
9
+ function encrypt(text, password) {
10
+ const salt = (0, crypto_1.randomBytes)(SALT_LEN);
11
+ const key = (0, crypto_1.pbkdf2Sync)(password, salt, PBKDF2_ITERATIONS, KEY_LEN, "sha256");
12
+ const iv = (0, crypto_1.randomBytes)(IV_LEN);
13
+ const cipher = (0, crypto_1.createCipheriv)("aes-256-gcm", key, iv);
14
+ const ciphertext = Buffer.concat([
15
+ cipher.update(text, "utf8"),
16
+ cipher.final(),
17
+ ]);
18
+ const tag = cipher.getAuthTag();
19
+ return {
20
+ iv: iv.toString("hex"),
21
+ salt: salt.toString("hex"),
22
+ ciphertext: ciphertext.toString("hex"),
23
+ tag: tag.toString("hex"),
24
+ };
25
+ }
26
+ exports.encrypt = encrypt;
27
+ function decrypt(payload, password) {
28
+ const { iv, salt, ciphertext, tag } = payload;
29
+ const key = (0, crypto_1.pbkdf2Sync)(Buffer.from(password), Buffer.from(salt, "hex"), PBKDF2_ITERATIONS, KEY_LEN, "sha256");
30
+ const decipher = (0, crypto_1.createDecipheriv)("aes-256-gcm", key, Buffer.from(iv, "hex"));
31
+ decipher.setAuthTag(Buffer.from(tag, "hex"));
32
+ const plaintext = Buffer.concat([
33
+ decipher.update(Buffer.from(ciphertext, "hex")),
34
+ decipher.final(),
35
+ ]);
36
+ return plaintext.toString("utf8");
37
+ }
38
+ exports.decrypt = decrypt;
39
+ function deriveKey(password, salt) {
40
+ return (0, crypto_1.pbkdf2Sync)(password, salt, PBKDF2_ITERATIONS, KEY_LEN, "sha256");
41
+ }
42
+ function encryptWithTwoFactors(plaintext, userPassword, serverSecret) {
43
+ const saltUser = (0, crypto_1.randomBytes)(SALT_LEN);
44
+ const saltServer = (0, crypto_1.randomBytes)(SALT_LEN);
45
+ const userKey = deriveKey(userPassword, saltUser);
46
+ const serverKey = deriveKey(serverSecret, saltServer);
47
+ const finalKey = Buffer.alloc(KEY_LEN);
48
+ for (let i = 0; i < KEY_LEN; i++) {
49
+ finalKey[i] = userKey[i] ^ serverKey[i];
50
+ }
51
+ const iv = (0, crypto_1.randomBytes)(IV_LEN);
52
+ const cipher = (0, crypto_1.createCipheriv)("aes-256-gcm", finalKey, iv);
53
+ const ciphertext = Buffer.concat([
54
+ cipher.update(plaintext, "utf8"),
55
+ cipher.final(),
56
+ ]);
57
+ const tag = cipher.getAuthTag();
58
+ userKey.fill(0);
59
+ serverKey.fill(0);
60
+ finalKey.fill(0);
61
+ return {
62
+ iv: iv.toString("hex"),
63
+ saltUser: saltUser.toString("hex"),
64
+ saltServer: saltServer.toString("hex"),
65
+ ciphertext: ciphertext.toString("hex"),
66
+ tag: tag.toString("hex"),
67
+ };
68
+ }
69
+ exports.encryptWithTwoFactors = encryptWithTwoFactors;
70
+ function decryptWithTwoFactors(payload, userPassword, serverSecret) {
71
+ const userKey = deriveKey(userPassword, Buffer.from(payload.saltUser, "hex"));
72
+ const serverKey = deriveKey(serverSecret, Buffer.from(payload.saltServer, "hex"));
73
+ const finalKey = Buffer.alloc(KEY_LEN);
74
+ for (let i = 0; i < KEY_LEN; i++) {
75
+ finalKey[i] = userKey[i] ^ serverKey[i];
76
+ }
77
+ const decipher = (0, crypto_1.createDecipheriv)("aes-256-gcm", finalKey, Buffer.from(payload.iv, "hex"));
78
+ decipher.setAuthTag(Buffer.from(payload.tag, "hex"));
79
+ const plaintext = Buffer.concat([
80
+ decipher.update(Buffer.from(payload.ciphertext, "hex")),
81
+ decipher.final(),
82
+ ]);
83
+ userKey.fill(0);
84
+ serverKey.fill(0);
85
+ finalKey.fill(0);
86
+ return plaintext.toString("utf8");
87
+ }
88
+ exports.decryptWithTwoFactors = decryptWithTwoFactors;
89
+ //# sourceMappingURL=encryption-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption-helper.js","sourceRoot":"","sources":["../../../src/pkg/encryption-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};