@sera4/essentia 1.1.66-rc.1 → 1.1.66

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 (242) hide show
  1. package/package.json +1 -1
  2. package/package.tar.gz +0 -0
  3. package/coverage/base.css +0 -224
  4. package/coverage/block-navigation.js +0 -87
  5. package/coverage/configurations/index.html +0 -116
  6. package/coverage/configurations/server-config.ts.html +0 -94
  7. package/coverage/dns/DnsCache.ts.html +0 -598
  8. package/coverage/dns/index.html +0 -131
  9. package/coverage/dns/index.ts.html +0 -94
  10. package/coverage/favicon.png +0 -0
  11. package/coverage/health/index.html +0 -116
  12. package/coverage/health/index.ts.html +0 -778
  13. package/coverage/index.html +0 -161
  14. package/coverage/lcov-report/base.css +0 -224
  15. package/coverage/lcov-report/block-navigation.js +0 -87
  16. package/coverage/lcov-report/configurations/index.html +0 -116
  17. package/coverage/lcov-report/configurations/server-config.ts.html +0 -94
  18. package/coverage/lcov-report/dns/DnsCache.ts.html +0 -598
  19. package/coverage/lcov-report/dns/index.html +0 -131
  20. package/coverage/lcov-report/dns/index.ts.html +0 -94
  21. package/coverage/lcov-report/favicon.png +0 -0
  22. package/coverage/lcov-report/health/index.html +0 -116
  23. package/coverage/lcov-report/health/index.ts.html +0 -778
  24. package/coverage/lcov-report/index.html +0 -161
  25. package/coverage/lcov-report/logger/index.html +0 -131
  26. package/coverage/lcov-report/logger/index.ts.html +0 -94
  27. package/coverage/lcov-report/logger/s4-logger.ts.html +0 -514
  28. package/coverage/lcov-report/prettify.css +0 -1
  29. package/coverage/lcov-report/prettify.js +0 -2
  30. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  31. package/coverage/lcov-report/sorter.js +0 -196
  32. package/coverage/lcov.info +0 -747
  33. package/coverage/logger/index.html +0 -131
  34. package/coverage/logger/index.ts.html +0 -94
  35. package/coverage/logger/s4-logger.ts.html +0 -514
  36. package/coverage/prettify.css +0 -1
  37. package/coverage/prettify.js +0 -2
  38. package/coverage/sort-arrow-sprite.png +0 -0
  39. package/coverage/sorter.js +0 -196
  40. package/coverage/tmp/coverage-24302-1746472691313-0.json +0 -1
  41. package/coverage/tmp/coverage-24302-1746472691366-1.json +0 -1
  42. package/dist/cache/index.d.ts +0 -22
  43. package/dist/cache/index.js +0 -166
  44. package/dist/cache/index.js.map +0 -1
  45. package/dist/constants/index.d.ts +0 -6
  46. package/dist/constants/index.js +0 -9
  47. package/dist/constants/index.js.map +0 -1
  48. package/dist/coverage/block-navigation.d.ts +0 -1
  49. package/dist/coverage/block-navigation.js +0 -70
  50. package/dist/coverage/block-navigation.js.map +0 -1
  51. package/dist/coverage/lcov-report/block-navigation.d.ts +0 -1
  52. package/dist/coverage/lcov-report/block-navigation.js +0 -70
  53. package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
  54. package/dist/coverage/lcov-report/prettify.d.ts +0 -0
  55. package/dist/coverage/lcov-report/prettify.js +0 -477
  56. package/dist/coverage/lcov-report/prettify.js.map +0 -1
  57. package/dist/coverage/lcov-report/sorter.d.ts +0 -1
  58. package/dist/coverage/lcov-report/sorter.js +0 -163
  59. package/dist/coverage/lcov-report/sorter.js.map +0 -1
  60. package/dist/coverage/prettify.d.ts +0 -0
  61. package/dist/coverage/prettify.js +0 -477
  62. package/dist/coverage/prettify.js.map +0 -1
  63. package/dist/coverage/sorter.d.ts +0 -1
  64. package/dist/coverage/sorter.js +0 -163
  65. package/dist/coverage/sorter.js.map +0 -1
  66. package/dist/formatter/index.d.ts +0 -37
  67. package/dist/formatter/index.js +0 -75
  68. package/dist/formatter/index.js.map +0 -1
  69. package/dist/hal/index.d.ts +0 -5
  70. package/dist/hal/index.js +0 -69
  71. package/dist/hal/index.js.map +0 -1
  72. package/dist/health/health-logger.d.ts +0 -9
  73. package/dist/health/health-logger.js +0 -34
  74. package/dist/health/health-logger.js.map +0 -1
  75. package/dist/health/index.d.ts +0 -19
  76. package/dist/health/index.js +0 -175
  77. package/dist/health/index.js.map +0 -1
  78. package/dist/helpers/index.d.ts +0 -1
  79. package/dist/helpers/index.js +0 -2
  80. package/dist/helpers/index.js.map +0 -1
  81. package/dist/helpers/test-server-wrapper.d.ts +0 -120
  82. package/dist/helpers/test-server-wrapper.js +0 -165
  83. package/dist/helpers/test-server-wrapper.js.map +0 -1
  84. package/dist/index.d.ts +0 -1
  85. package/dist/index.js +0 -17
  86. package/dist/index.js.map +0 -1
  87. package/dist/last-commit.d.ts +0 -1
  88. package/dist/last-commit.js +0 -12
  89. package/dist/last-commit.js.map +0 -1
  90. package/dist/last_commit/index.d.ts +0 -7
  91. package/dist/last_commit/index.js +0 -83
  92. package/dist/last_commit/index.js.map +0 -1
  93. package/dist/paginator/s4-pagination.d.ts +0 -9
  94. package/dist/paginator/s4-pagination.js +0 -49
  95. package/dist/paginator/s4-pagination.js.map +0 -1
  96. package/dist/paginator/sql-pagination.d.ts +0 -27
  97. package/dist/paginator/sql-pagination.js +0 -166
  98. package/dist/paginator/sql-pagination.js.map +0 -1
  99. package/dist/paper-trail/helpers.d.ts +0 -11
  100. package/dist/paper-trail/helpers.js +0 -74
  101. package/dist/paper-trail/helpers.js.map +0 -1
  102. package/dist/paper-trail/index.d.ts +0 -13
  103. package/dist/paper-trail/index.js +0 -662
  104. package/dist/paper-trail/index.js.map +0 -1
  105. package/dist/prompts/index.d.ts +0 -14
  106. package/dist/prompts/index.js +0 -63
  107. package/dist/prompts/index.js.map +0 -1
  108. package/dist/queue/index.d.ts +0 -166
  109. package/dist/queue/index.js +0 -371
  110. package/dist/queue/index.js.map +0 -1
  111. package/dist/queue/publisher.d.ts +0 -31
  112. package/dist/queue/publisher.js +0 -84
  113. package/dist/queue/publisher.js.map +0 -1
  114. package/dist/queue/queue-logger.d.ts +0 -9
  115. package/dist/queue/queue-logger.js +0 -35
  116. package/dist/queue/queue-logger.js.map +0 -1
  117. package/dist/queue/subscriber.d.ts +0 -39
  118. package/dist/queue/subscriber.js +0 -97
  119. package/dist/queue/subscriber.js.map +0 -1
  120. package/dist/safe_proxy/index.d.ts +0 -13
  121. package/dist/safe_proxy/index.js +0 -54
  122. package/dist/safe_proxy/index.js.map +0 -1
  123. package/dist/serializer/index.d.ts +0 -5
  124. package/dist/serializer/index.js +0 -83
  125. package/dist/serializer/index.js.map +0 -1
  126. package/dist/test/debug-array.d.ts +0 -0
  127. package/dist/test/debug-array.js +0 -1
  128. package/dist/test/debug-array.js.map +0 -1
  129. package/dist/test/debug-setJSONB.d.ts +0 -0
  130. package/dist/test/debug-setJSONB.js +0 -1
  131. package/dist/test/debug-setJSONB.js.map +0 -1
  132. package/dist/test/prompt.test.d.ts +0 -1
  133. package/dist/test/prompt.test.js +0 -74
  134. package/dist/test/prompt.test.js.map +0 -1
  135. package/dist/test/s4-formatter.spec.d.ts +0 -1
  136. package/dist/test/s4-formatter.spec.js +0 -67
  137. package/dist/test/s4-formatter.spec.js.map +0 -1
  138. package/dist/test/s4-pagination.spec.d.ts +0 -1
  139. package/dist/test/s4-pagination.spec.js +0 -170
  140. package/dist/test/s4-pagination.spec.js.map +0 -1
  141. package/dist/test/safe-proxy.spec.d.ts +0 -1
  142. package/dist/test/safe-proxy.spec.js +0 -252
  143. package/dist/test/safe-proxy.spec.js.map +0 -1
  144. package/dist/test/serializer.spec.d.ts +0 -1
  145. package/dist/test/serializer.spec.js +0 -27
  146. package/dist/test/serializer.spec.js.map +0 -1
  147. package/dist/test/utils.spec.d.ts +0 -1
  148. package/dist/test/utils.spec.js +0 -446
  149. package/dist/test/utils.spec.js.map +0 -1
  150. package/dist/ts/cache/index.d.ts +0 -33
  151. package/dist/ts/cache/index.js +0 -171
  152. package/dist/ts/cache/index.js.map +0 -1
  153. package/dist/ts/configurations/server-config.d.ts +0 -4
  154. package/dist/ts/configurations/server-config.js +0 -2
  155. package/dist/ts/configurations/server-config.js.map +0 -1
  156. package/dist/ts/constants/index.d.ts +0 -7
  157. package/dist/ts/constants/index.js +0 -8
  158. package/dist/ts/constants/index.js.map +0 -1
  159. package/dist/ts/cycle/index.d.ts +0 -53
  160. package/dist/ts/cycle/index.js +0 -169
  161. package/dist/ts/cycle/index.js.map +0 -1
  162. package/dist/ts/dns/DnsCache.d.ts +0 -50
  163. package/dist/ts/dns/DnsCache.js +0 -137
  164. package/dist/ts/dns/DnsCache.js.map +0 -1
  165. package/dist/ts/dns/index.d.ts +0 -4
  166. package/dist/ts/dns/index.js +0 -4
  167. package/dist/ts/dns/index.js.map +0 -1
  168. package/dist/ts/formatter/index.d.ts +0 -44
  169. package/dist/ts/formatter/index.js +0 -76
  170. package/dist/ts/formatter/index.js.map +0 -1
  171. package/dist/ts/hal/index.d.ts +0 -26
  172. package/dist/ts/hal/index.js +0 -70
  173. package/dist/ts/hal/index.js.map +0 -1
  174. package/dist/ts/health/index.d.ts +0 -53
  175. package/dist/ts/health/index.js +0 -165
  176. package/dist/ts/health/index.js.map +0 -1
  177. package/dist/ts/helpers/index.d.ts +0 -1
  178. package/dist/ts/helpers/index.js +0 -2
  179. package/dist/ts/helpers/index.js.map +0 -1
  180. package/dist/ts/helpers/test-server-wrapper.d.ts +0 -56
  181. package/dist/ts/helpers/test-server-wrapper.js +0 -144
  182. package/dist/ts/helpers/test-server-wrapper.js.map +0 -1
  183. package/dist/ts/index.d.ts +0 -22
  184. package/dist/ts/index.js +0 -27
  185. package/dist/ts/index.js.map +0 -1
  186. package/dist/ts/last-commit/index.d.ts +0 -12
  187. package/dist/ts/last-commit/index.js +0 -82
  188. package/dist/ts/last-commit/index.js.map +0 -1
  189. package/dist/ts/logger/index.d.ts +0 -3
  190. package/dist/ts/logger/index.js +0 -4
  191. package/dist/ts/logger/index.js.map +0 -1
  192. package/dist/ts/logger/s4-logger.d.ts +0 -23
  193. package/dist/ts/logger/s4-logger.js +0 -105
  194. package/dist/ts/logger/s4-logger.js.map +0 -1
  195. package/dist/ts/paginator/index.d.ts +0 -2
  196. package/dist/ts/paginator/index.js +0 -3
  197. package/dist/ts/paginator/index.js.map +0 -1
  198. package/dist/ts/paginator/s4-pagination.d.ts +0 -26
  199. package/dist/ts/paginator/s4-pagination.js +0 -49
  200. package/dist/ts/paginator/s4-pagination.js.map +0 -1
  201. package/dist/ts/paginator/sql-pagination.d.ts +0 -52
  202. package/dist/ts/paginator/sql-pagination.js +0 -157
  203. package/dist/ts/paginator/sql-pagination.js.map +0 -1
  204. package/dist/ts/paper-trail/helpers.d.ts +0 -14
  205. package/dist/ts/paper-trail/helpers.js +0 -74
  206. package/dist/ts/paper-trail/helpers.js.map +0 -1
  207. package/dist/ts/paper-trail/index.d.ts +0 -54
  208. package/dist/ts/paper-trail/index.js +0 -236
  209. package/dist/ts/paper-trail/index.js.map +0 -1
  210. package/dist/ts/prompts/index.d.ts +0 -21
  211. package/dist/ts/prompts/index.js +0 -68
  212. package/dist/ts/prompts/index.js.map +0 -1
  213. package/dist/ts/queue/index.d.ts +0 -232
  214. package/dist/ts/queue/index.js +0 -440
  215. package/dist/ts/queue/index.js.map +0 -1
  216. package/dist/ts/queue/publisher.d.ts +0 -41
  217. package/dist/ts/queue/publisher.js +0 -84
  218. package/dist/ts/queue/publisher.js.map +0 -1
  219. package/dist/ts/queue/queue-logger.d.ts +0 -10
  220. package/dist/ts/queue/queue-logger.js +0 -35
  221. package/dist/ts/queue/queue-logger.js.map +0 -1
  222. package/dist/ts/queue/subscriber.d.ts +0 -55
  223. package/dist/ts/queue/subscriber.js +0 -98
  224. package/dist/ts/queue/subscriber.js.map +0 -1
  225. package/dist/ts/safe-proxy/index.d.ts +0 -35
  226. package/dist/ts/safe-proxy/index.js +0 -54
  227. package/dist/ts/safe-proxy/index.js.map +0 -1
  228. package/dist/ts/serializer/index.d.ts +0 -52
  229. package/dist/ts/serializer/index.js +0 -83
  230. package/dist/ts/serializer/index.js.map +0 -1
  231. package/dist/ts/task-scheduler/index.d.ts +0 -130
  232. package/dist/ts/task-scheduler/index.js +0 -259
  233. package/dist/ts/task-scheduler/index.js.map +0 -1
  234. package/dist/ts/utils/index.d.ts +0 -49
  235. package/dist/ts/utils/index.js +0 -157
  236. package/dist/ts/utils/index.js.map +0 -1
  237. package/test/health.spec.js +0 -213
  238. package/test/prompt.test.js +0 -91
  239. package/test/s4-formatter.spec.js +0 -80
  240. package/test/s4-pagination.spec.js +0 -196
  241. package/test/serializer.spec.js +0 -34
  242. package/test/utils.spec.js +0 -145
@@ -1,14 +0,0 @@
1
- interface DiffResult {
2
- kind: string;
3
- path: string[];
4
- lhs?: any;
5
- rhs?: any;
6
- }
7
- declare const _default: {
8
- capitalizeFirstLetter: (string: string) => string;
9
- toUnderscored: (obj: Record<string, string>) => Record<string, string>;
10
- calcDelta: (current: Record<string, any>, next: Record<string, any>, exclude: string[], strict: boolean, DEBUG?: boolean) => DiffResult[] | null;
11
- diffToString: (val: any) => string;
12
- };
13
- export default _default;
14
- export type { DiffResult };
@@ -1,74 +0,0 @@
1
- import pkg from 'deep-diff';
2
- import _ from 'lodash';
3
- const { diff } = pkg;
4
- const capitalizeFirstLetter = (string) => string.charAt(0).toUpperCase() + string.slice(1);
5
- const toUnderscored = (obj) => {
6
- _.forEach(obj, (k, v) => {
7
- obj[k] = v
8
- .replace(/(?:^|\.?)([A-Z])/g, (x, y) => `_${y.toLowerCase()}`)
9
- .replace(/^_/, '');
10
- });
11
- return obj;
12
- };
13
- const calcDelta = (current, next, exclude, strict, DEBUG = false) => {
14
- if (DEBUG) {
15
- console.log('current', current);
16
- console.log('next', next);
17
- console.log('exclude', exclude);
18
- }
19
- const di = diff(current, next);
20
- if (DEBUG) {
21
- console.log('di', di);
22
- let diffs2 = [];
23
- if (di) {
24
- diffs2 = di.map((i) => JSON.parse(JSON.stringify(i).replace('"__data",', '')));
25
- }
26
- console.log('diffs2', diffs2);
27
- console.log('filter1', diffs2.filter(i => i.path.join(',').indexOf('_') === -1));
28
- console.log('filter2', diffs2.filter(i => exclude.every(x => i.path.indexOf(x) === -1)));
29
- }
30
- let diffs = [];
31
- if (di) {
32
- diffs = di
33
- .map((i) => JSON.parse(JSON.stringify(i).replace('"__data",', '')))
34
- .filter((i) => {
35
- if (!strict && i.kind === 'E') {
36
- // eslint-disable-next-line eqeqeq
37
- if (i.lhs != i.rhs)
38
- return i;
39
- }
40
- else
41
- return i;
42
- return false;
43
- })
44
- .filter((i) => exclude.every((x) => i.path.indexOf(x) === -1));
45
- }
46
- if (diffs.length > 0) {
47
- return diffs;
48
- }
49
- return null;
50
- };
51
- const diffToString = (val) => {
52
- if (typeof val === 'undefined' || val === null)
53
- return '';
54
- if (val === true)
55
- return '1';
56
- if (val === false)
57
- return '0';
58
- if (typeof val === 'string')
59
- return val;
60
- if (!Number.isNaN(Number(val)))
61
- return `${String(val)}`;
62
- if ((typeof val === 'undefined' ? 'undefined' : typeof val) === 'object')
63
- return `${JSON.stringify(val)}`;
64
- if (Array.isArray(val))
65
- return `${JSON.stringify(val)}`;
66
- return '';
67
- };
68
- export default {
69
- capitalizeFirstLetter,
70
- toUnderscored,
71
- calcDelta,
72
- diffToString
73
- };
74
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../ts/paper-trail/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,54 +0,0 @@
1
- interface PaperTrailOptions {
2
- debug?: boolean;
3
- log?: any;
4
- exclude?: string[];
5
- excludeExtras?: string[];
6
- excludeVirtualAttributes?: boolean;
7
- censor?: string[];
8
- revisionAttribute?: string;
9
- revisionModel?: string;
10
- revisionChangeModel?: string;
11
- enableRevisionChangeModel?: boolean;
12
- UUID?: boolean;
13
- mixedDocumentReference?: boolean;
14
- underscored?: boolean;
15
- underscoredAttributes?: boolean;
16
- includeReferences?: string[];
17
- defaultAttributes?: {
18
- documentId: string;
19
- revisionId: string;
20
- autoGenerated: string;
21
- documentUuid?: string;
22
- };
23
- als?: any;
24
- userModel?: boolean;
25
- userModelAttribute?: string;
26
- tenantModel?: boolean;
27
- tenantModelAttribute?: string;
28
- enableCompression?: boolean;
29
- enableMigration?: boolean;
30
- enableStrictDiff?: boolean;
31
- continuationNamespace?: any;
32
- continuationKey?: string;
33
- continuationTenantKey?: string;
34
- metaDataFields?: any;
35
- metaDataContinuationKey?: string;
36
- mysql?: boolean;
37
- }
38
- interface ModelInstance {
39
- get: (key?: string) => Record<string, any> | any;
40
- set: (key: string, value: any) => void;
41
- save: () => Promise<any>;
42
- [key: string]: any;
43
- }
44
- interface ModelOptions {
45
- noPaperTrail?: boolean;
46
- [key: string]: any;
47
- }
48
- declare const paperTrail: {
49
- init: (sequelize: any, sequelizePackage: any, optionsArg?: PaperTrailOptions) => void;
50
- hasPaperTrail: () => boolean;
51
- defineModels: (db: any) => void;
52
- };
53
- export default paperTrail;
54
- export type { PaperTrailOptions, ModelInstance, ModelOptions };
@@ -1,236 +0,0 @@
1
- import _ from 'lodash';
2
- import helpers from './helpers.js';
3
- const censorText = "**********";
4
- let failHard = false;
5
- let Sequelize = null;
6
- const paperTrail = {
7
- init: (sequelize, sequelizePackage, optionsArg) => {
8
- Sequelize = sequelizePackage;
9
- // In case that options is being parsed as a readonly attribute.
10
- // Or it is not passed at all
11
- const optsArg = _.cloneDeep(optionsArg || {});
12
- const defaultOptions = {
13
- debug: false,
14
- log: null,
15
- exclude: [
16
- 'id',
17
- 'createdAt',
18
- 'updatedAt',
19
- 'deletedAt',
20
- 'created_at',
21
- 'updated_at',
22
- 'deleted_at',
23
- 'audit_source',
24
- 'revision',
25
- ],
26
- // additional fields to exclude on a global basis
27
- excludeExtras: [],
28
- excludeVirtualAttributes: true, // by default do not record these
29
- censor: ["password", "password_salt", "temp_secret", "mfa_totp_secret"],
30
- revisionAttribute: 'revision',
31
- revisionModel: 'Revision',
32
- revisionChangeModel: 'RevisionChange',
33
- enableRevisionChangeModel: false,
34
- UUID: false,
35
- // does this project use int's and UUIDs for some references (postgres)
36
- mixedDocumentReference: false,
37
- underscored: false,
38
- underscoredAttributes: false,
39
- // always store these keys in a reference value if seen
40
- includeReferences: [],
41
- defaultAttributes: {
42
- documentId: 'documentId',
43
- revisionId: 'revisionId',
44
- autoGenerated: 'autoGenerated'
45
- },
46
- als: null,
47
- userModel: false,
48
- userModelAttribute: 'userId',
49
- tenantModel: false,
50
- tenantModelAttribute: 'tenantId',
51
- enableCompression: false,
52
- enableMigration: false,
53
- enableStrictDiff: true,
54
- continuationNamespace: null,
55
- continuationKey: 'userId',
56
- continuationTenantKey: 'tenantId',
57
- metaDataFields: null,
58
- metaDataContinuationKey: 'metaData',
59
- mysql: false,
60
- };
61
- if (optsArg.mixedDocumentReference)
62
- defaultOptions.defaultAttributes.documentUuid = "documentUuid";
63
- if (optsArg.underscoredAttributes) {
64
- helpers.toUnderscored(defaultOptions.defaultAttributes);
65
- }
66
- // deals with not wanting to overwrite the initial ones, just add some
67
- if (optsArg.excludeExtras) {
68
- if (optsArg.exclude) {
69
- optsArg.exclude = [...optsArg.exclude, ...optsArg.excludeExtras];
70
- }
71
- else {
72
- optsArg.exclude = [...defaultOptions.exclude, ...optsArg.excludeExtras];
73
- }
74
- }
75
- const options = _.defaults(optsArg, defaultOptions);
76
- const log = options.log || console.log;
77
- function createBeforeHook(operation) {
78
- const beforeHook = function beforeHook(instance, opt) {
79
- if (options.debug) {
80
- log('beforeHook called');
81
- log('instance:', instance);
82
- log('opt:', opt);
83
- }
84
- if (opt.noPaperTrail) {
85
- if (options.debug) {
86
- log('noPaperTrail set, skipping');
87
- }
88
- return;
89
- }
90
- // Store the original values for comparison
91
- const originalValues = instance.get();
92
- instance.set('_paperTrailOriginalValues', originalValues);
93
- };
94
- return beforeHook;
95
- }
96
- function createAfterHook(operation) {
97
- const afterHook = function afterHook(instance, opt) {
98
- if (options.debug) {
99
- log('afterHook called');
100
- log('instance:', instance);
101
- log('opt:', opt);
102
- }
103
- if (opt.noPaperTrail) {
104
- if (options.debug) {
105
- log('noPaperTrail set, skipping');
106
- }
107
- return;
108
- }
109
- // Get the original values and current values
110
- const originalValues = instance.get('_paperTrailOriginalValues') || {};
111
- const currentValues = instance.get();
112
- // Remove the temporary field
113
- delete currentValues._paperTrailOriginalValues;
114
- // Calculate differences
115
- const differences = helpers.calcDelta(originalValues, currentValues, options.exclude || [], options.enableStrictDiff || false, options.debug);
116
- if (differences && differences.length > 0) {
117
- // Create revision record
118
- const revisionData = {
119
- documentId: instance.get(options.defaultAttributes.documentId),
120
- revision: instance.get(options.revisionAttribute),
121
- document: JSON.stringify(currentValues),
122
- operation: operation,
123
- changes: JSON.stringify(differences),
124
- createdAt: new Date()
125
- };
126
- // Add user information if available
127
- if (options.userModel && options.als) {
128
- const user = options.als.get(options.continuationKey);
129
- if (user) {
130
- revisionData[options.userModelAttribute] = user;
131
- }
132
- }
133
- // Add tenant information if available
134
- if (options.tenantModel && options.als) {
135
- const tenant = options.als.get(options.continuationTenantKey);
136
- if (tenant) {
137
- revisionData[options.tenantModelAttribute] = tenant;
138
- }
139
- }
140
- // Save revision
141
- const Revision = sequelize.models[options.revisionModel];
142
- if (Revision) {
143
- Revision.create(revisionData).catch((err) => {
144
- if (failHard) {
145
- throw err;
146
- }
147
- else {
148
- log('Error creating revision:', err);
149
- }
150
- });
151
- }
152
- }
153
- };
154
- return afterHook;
155
- }
156
- // Add hooks to all models
157
- Object.keys(sequelize.models).forEach(modelName => {
158
- const model = sequelize.models[modelName];
159
- // Add before hooks
160
- model.addHook('beforeCreate', createBeforeHook('create'));
161
- model.addHook('beforeUpdate', createBeforeHook('update'));
162
- model.addHook('beforeDestroy', createBeforeHook('destroy'));
163
- // Add after hooks
164
- model.addHook('afterCreate', createAfterHook('create'));
165
- model.addHook('afterUpdate', createAfterHook('update'));
166
- model.addHook('afterDestroy', createAfterHook('destroy'));
167
- });
168
- },
169
- hasPaperTrail: function hasPaperTrail() {
170
- return Sequelize !== null;
171
- },
172
- defineModels: function defineModels(db) {
173
- if (!Sequelize) {
174
- throw new Error('PaperTrail not initialized. Call paperTrail.init() first.');
175
- }
176
- const Revision = db.define('Revision', {
177
- id: {
178
- type: Sequelize.INTEGER,
179
- primaryKey: true,
180
- autoIncrement: true
181
- },
182
- documentId: {
183
- type: Sequelize.STRING,
184
- allowNull: false
185
- },
186
- revision: {
187
- type: Sequelize.INTEGER,
188
- allowNull: false
189
- },
190
- document: {
191
- type: Sequelize.TEXT,
192
- allowNull: false
193
- },
194
- operation: {
195
- type: Sequelize.STRING,
196
- allowNull: false
197
- },
198
- changes: {
199
- type: Sequelize.TEXT,
200
- allowNull: true
201
- },
202
- userId: {
203
- type: Sequelize.INTEGER,
204
- allowNull: true
205
- },
206
- tenantId: {
207
- type: Sequelize.INTEGER,
208
- allowNull: true
209
- },
210
- createdAt: {
211
- type: Sequelize.DATE,
212
- allowNull: false
213
- }
214
- }, {
215
- tableName: 'revisions',
216
- timestamps: false
217
- });
218
- // Add associations if user and tenant models exist
219
- if (db.models.User) {
220
- Revision.belongsTo(db.models.User, { foreignKey: 'userId' });
221
- }
222
- if (db.models.Tenant) {
223
- Revision.belongsTo(db.models.Tenant, { foreignKey: 'tenantId' });
224
- }
225
- Revision.associate = function associate(models) {
226
- if (models.User) {
227
- Revision.belongsTo(models.User, { foreignKey: 'userId' });
228
- }
229
- if (models.Tenant) {
230
- Revision.belongsTo(models.Tenant, { foreignKey: 'tenantId' });
231
- }
232
- };
233
- }
234
- };
235
- export default paperTrail;
236
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/paper-trail/index.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { ArgumentParser } from 'argparse';
2
- interface CLIInitOptions {
3
- asyncFcns?: (() => Promise<void>)[];
4
- extraFcns?: (() => void)[];
5
- sleepTime?: number;
6
- }
7
- interface PromptOptions {
8
- [key: string]: {
9
- type: string;
10
- description?: string;
11
- required?: boolean;
12
- default?: any;
13
- };
14
- }
15
- declare const setupCLIParser: (description: string) => ArgumentParser;
16
- declare const commonCLIInit: (options?: CLIInitOptions) => Promise<void>;
17
- declare const promptCLIAsync: (options: PromptOptions) => Promise<Record<string, any>>;
18
- declare const waitCLIPrompt: PromptOptions;
19
- declare const continueCLIPrompt: PromptOptions;
20
- declare const cliSleep: (ms: number) => Promise<void>;
21
- export { commonCLIInit, continueCLIPrompt, promptCLIAsync, setupCLIParser, cliSleep, waitCLIPrompt, type CLIInitOptions, type PromptOptions };
@@ -1,68 +0,0 @@
1
- /* Essentia Common Prompt Functions */
2
- // This file contains common prompt functions that are used in CLI scripts
3
- // that are run in the each project. These functions are used to
4
- // prompt the user for input and to wait for the user to press enter
5
- // before continuing. This is useful for scripts that are run in the
6
- // command line and need to wait for the user to do something before
7
- // continuing.
8
- import { S4Logger } from "../logger/s4-logger.js";
9
- import { ArgumentParser } from 'argparse';
10
- import prompt from "prompt";
11
- const logger = new S4Logger();
12
- // New common argument parser which makes parsing and setting up commandline options easier
13
- const setupCLIParser = (description) => {
14
- logger.info(description);
15
- return new ArgumentParser({ description });
16
- };
17
- // a common init function which waits for the command prompt to be delivered
18
- // a common use is for the awaiting of the queues to initialize before running
19
- const commonCLIInit = async (options = {}) => {
20
- //add in defaults to options if they have not been specified or object is {}
21
- const defaultOptions = {
22
- asyncFcns: [],
23
- extraFcns: [],
24
- sleepTime: 1000,
25
- ...options
26
- };
27
- // Sleep for 1 second to allow the prompt to be displayed
28
- // at the end of bootstrap logs
29
- await cliSleep(defaultOptions.sleepTime);
30
- defaultOptions.extraFcns.forEach(fcn => {
31
- fcn();
32
- });
33
- for (const fcn of defaultOptions.asyncFcns) {
34
- await fcn();
35
- }
36
- };
37
- const promptCLIAsync = async (options) => {
38
- return new Promise((resolve, reject) => {
39
- prompt.start();
40
- prompt.get(options, (err, res) => {
41
- if (err) {
42
- reject(err);
43
- }
44
- else {
45
- resolve(res);
46
- }
47
- });
48
- });
49
- };
50
- // A predefined waitPrompt for use at the end of the scripts that use
51
- // message queues. Message Queues often take a bit to fire
52
- const waitCLIPrompt = {
53
- "Push <enter> when done": {
54
- type: "boolean"
55
- }
56
- };
57
- const continueCLIPrompt = {
58
- "Push <enter> to continue": {
59
- type: "boolean"
60
- }
61
- };
62
- const cliSleep = async (ms) => {
63
- return new Promise((resolve) => {
64
- setTimeout(resolve, ms);
65
- });
66
- };
67
- export { commonCLIInit, continueCLIPrompt, promptCLIAsync, setupCLIParser, cliSleep, waitCLIPrompt };
68
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/prompts/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAC1E,kEAAkE;AAClE,qEAAqE;AACrE,sEAAsE;AACtE,qEAAqE;AACrE,eAAe;AAEf,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;AAiB9B,2FAA2F;AAC3F,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAkB,EAAE;IAC7D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,IAAI,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,aAAa,GAAG,KAAK,EAAE,UAA0B,EAAE,EAAiB,EAAE;IAC1E,4EAA4E;IAC5E,MAAM,cAAc,GAA6B;QAC/C,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,IAAI;QACf,GAAG,OAAO;KACX,CAAC;IAEF,yDAAyD;IACzD,+BAA+B;IAC/B,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEzC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrC,GAAG,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3C,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,OAAsB,EAAgC,EAAE;IACpF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACzC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,aAAa,GAAkB;IACnC,wBAAwB,EAAE;QACxB,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAkB;IACvC,0BAA0B,EAAE;QAC1B,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EAGd,CAAC"}