@sera4/essentia 3.0.12 → 3.0.13

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 (87) hide show
  1. package/package.json +9 -3
  2. package/package.tar.gz +0 -0
  3. package/scripts/publish.sh +46 -0
  4. package/dist/ts/cache/index.d.ts +0 -33
  5. package/dist/ts/cache/index.js +0 -171
  6. package/dist/ts/cache/index.js.map +0 -1
  7. package/dist/ts/configurations/server-config.d.ts +0 -4
  8. package/dist/ts/configurations/server-config.js +0 -2
  9. package/dist/ts/configurations/server-config.js.map +0 -1
  10. package/dist/ts/constants/index.d.ts +0 -7
  11. package/dist/ts/constants/index.js +0 -8
  12. package/dist/ts/constants/index.js.map +0 -1
  13. package/dist/ts/cycle/index.d.ts +0 -53
  14. package/dist/ts/cycle/index.js +0 -169
  15. package/dist/ts/cycle/index.js.map +0 -1
  16. package/dist/ts/dns/DnsCache.d.ts +0 -50
  17. package/dist/ts/dns/DnsCache.js +0 -137
  18. package/dist/ts/dns/DnsCache.js.map +0 -1
  19. package/dist/ts/dns/index.d.ts +0 -4
  20. package/dist/ts/dns/index.js +0 -4
  21. package/dist/ts/dns/index.js.map +0 -1
  22. package/dist/ts/formatter/index.d.ts +0 -44
  23. package/dist/ts/formatter/index.js +0 -76
  24. package/dist/ts/formatter/index.js.map +0 -1
  25. package/dist/ts/hal/index.d.ts +0 -26
  26. package/dist/ts/hal/index.js +0 -70
  27. package/dist/ts/hal/index.js.map +0 -1
  28. package/dist/ts/health/index.d.ts +0 -53
  29. package/dist/ts/health/index.js +0 -165
  30. package/dist/ts/health/index.js.map +0 -1
  31. package/dist/ts/helpers/index.d.ts +0 -1
  32. package/dist/ts/helpers/index.js +0 -2
  33. package/dist/ts/helpers/index.js.map +0 -1
  34. package/dist/ts/helpers/test-server-wrapper.d.ts +0 -56
  35. package/dist/ts/helpers/test-server-wrapper.js +0 -144
  36. package/dist/ts/helpers/test-server-wrapper.js.map +0 -1
  37. package/dist/ts/index.d.ts +0 -22
  38. package/dist/ts/index.js +0 -27
  39. package/dist/ts/index.js.map +0 -1
  40. package/dist/ts/last-commit/index.d.ts +0 -12
  41. package/dist/ts/last-commit/index.js +0 -82
  42. package/dist/ts/last-commit/index.js.map +0 -1
  43. package/dist/ts/logger/index.d.ts +0 -3
  44. package/dist/ts/logger/index.js +0 -4
  45. package/dist/ts/logger/index.js.map +0 -1
  46. package/dist/ts/logger/s4-logger.d.ts +0 -23
  47. package/dist/ts/logger/s4-logger.js +0 -105
  48. package/dist/ts/logger/s4-logger.js.map +0 -1
  49. package/dist/ts/paginator/index.d.ts +0 -2
  50. package/dist/ts/paginator/index.js +0 -3
  51. package/dist/ts/paginator/index.js.map +0 -1
  52. package/dist/ts/paginator/s4-pagination.d.ts +0 -26
  53. package/dist/ts/paginator/s4-pagination.js +0 -49
  54. package/dist/ts/paginator/s4-pagination.js.map +0 -1
  55. package/dist/ts/paginator/sql-pagination.d.ts +0 -52
  56. package/dist/ts/paginator/sql-pagination.js +0 -157
  57. package/dist/ts/paginator/sql-pagination.js.map +0 -1
  58. package/dist/ts/paper-trail/helpers.d.ts +0 -14
  59. package/dist/ts/paper-trail/helpers.js +0 -74
  60. package/dist/ts/paper-trail/helpers.js.map +0 -1
  61. package/dist/ts/paper-trail/index.d.ts +0 -54
  62. package/dist/ts/paper-trail/index.js +0 -236
  63. package/dist/ts/paper-trail/index.js.map +0 -1
  64. package/dist/ts/prompts/index.d.ts +0 -21
  65. package/dist/ts/prompts/index.js +0 -68
  66. package/dist/ts/prompts/index.js.map +0 -1
  67. package/dist/ts/queue/index.d.ts +0 -232
  68. package/dist/ts/queue/index.js +0 -451
  69. package/dist/ts/queue/index.js.map +0 -1
  70. package/dist/ts/queue/publisher.d.ts +0 -41
  71. package/dist/ts/queue/publisher.js +0 -84
  72. package/dist/ts/queue/publisher.js.map +0 -1
  73. package/dist/ts/queue/queue-logger.d.ts +0 -10
  74. package/dist/ts/queue/queue-logger.js +0 -35
  75. package/dist/ts/queue/queue-logger.js.map +0 -1
  76. package/dist/ts/queue/subscriber.d.ts +0 -55
  77. package/dist/ts/queue/subscriber.js +0 -98
  78. package/dist/ts/queue/subscriber.js.map +0 -1
  79. package/dist/ts/safe-proxy/index.d.ts +0 -35
  80. package/dist/ts/safe-proxy/index.js +0 -54
  81. package/dist/ts/safe-proxy/index.js.map +0 -1
  82. package/dist/ts/serializer/index.d.ts +0 -52
  83. package/dist/ts/serializer/index.js +0 -83
  84. package/dist/ts/serializer/index.js.map +0 -1
  85. package/dist/ts/utils/index.d.ts +0 -49
  86. package/dist/ts/utils/index.js +0 -157
  87. package/dist/ts/utils/index.js.map +0 -1
@@ -1,52 +0,0 @@
1
- interface PaginateIn {
2
- size: string;
3
- index: string;
4
- }
5
- interface PaginateOut {
6
- current_page: string;
7
- first_page: string;
8
- last_page: string;
9
- next_page: string;
10
- out_of_bounds: string;
11
- page_size: string;
12
- previous_page: string;
13
- total_pages: string;
14
- total_size: string;
15
- links: string | boolean;
16
- }
17
- interface PaginationOptions {
18
- limit?: number;
19
- offset?: number;
20
- [key: string]: any;
21
- }
22
- interface ModelInstance {
23
- findAndCountAll: (options: PaginationOptions) => Promise<{
24
- rows: any[];
25
- count: number;
26
- }>;
27
- }
28
- declare class SequelizePaginator {
29
- private paginateIn;
30
- private paginateOut;
31
- private zeroBasedOffset;
32
- private paginationHeader;
33
- private headersOnly;
34
- private paginationTag;
35
- private collectionTag;
36
- constructor();
37
- paginate(Model: any, resource?: string): {
38
- using: (options: PaginationOptions, resp: any) => ModelInstance;
39
- paginate: (options?: PaginationOptions) => Promise<unknown>;
40
- };
41
- configure(options: Partial<{
42
- paginateIn: Partial<PaginateIn>;
43
- paginateOut: Partial<PaginateOut>;
44
- zeroBasedOffset: boolean;
45
- paginationHeader: string;
46
- headersOnly: boolean;
47
- paginationTag: string;
48
- collectionTag: string;
49
- }>): void;
50
- }
51
- declare const sqlPaginator: SequelizePaginator;
52
- export default sqlPaginator;
@@ -1,157 +0,0 @@
1
- class SequelizePaginator {
2
- constructor() {
3
- this.paginateIn = {
4
- size: "page_size",
5
- index: "page_index"
6
- };
7
- this.paginateOut = {
8
- current_page: "current_page",
9
- first_page: "first_page",
10
- last_page: "last_page",
11
- next_page: "next_page",
12
- out_of_bounds: "out_of_bounds",
13
- page_size: "page_size",
14
- previous_page: "previous_page",
15
- total_pages: "total_pages",
16
- total_size: "total_size",
17
- links: "",
18
- };
19
- this.zeroBasedOffset = true;
20
- this.paginationHeader = "tws-pagination";
21
- this.headersOnly = false;
22
- this.paginationTag = "_pagination";
23
- this.collectionTag = "_collection";
24
- }
25
- paginate(Model, resource = "") {
26
- const model = Model.instance || Model;
27
- const DEFAULT_PAGINATION = { limit: 15, offset: 0 };
28
- let pagination = { limit: 15, offset: 0 };
29
- let response = null;
30
- const using = (options, resp) => {
31
- response = resp;
32
- let limit = DEFAULT_PAGINATION.limit;
33
- let offset = DEFAULT_PAGINATION.offset;
34
- if (options && options[this.paginateIn.size]) {
35
- limit = parseInt(options[this.paginateIn.size]);
36
- }
37
- if (options && options[this.paginateIn.index]) {
38
- offset = parseInt(options[this.paginateIn.index]);
39
- }
40
- if (!Number.isInteger(limit) || limit < 1) {
41
- limit = 1;
42
- }
43
- if (!Number.isInteger(offset) || offset < 0) {
44
- offset = 0;
45
- }
46
- if (!this.zeroBasedOffset) {
47
- offset = offset <= 1 ? 0 : offset - 1;
48
- }
49
- pagination.limit = limit;
50
- pagination.offset = offset;
51
- return model;
52
- };
53
- const paginate = (options = {}) => {
54
- options.limit = pagination.limit;
55
- options.offset = pagination.limit * pagination.offset;
56
- return new Promise((resolve, reject) => {
57
- model.findAndCountAll(options)
58
- .then((r) => {
59
- const paginationData = getPaginationData(r);
60
- if (response) {
61
- response.set(this.paginationHeader, JSON.stringify(paginationData));
62
- }
63
- let data = {};
64
- if (this.headersOnly) {
65
- data = r.rows;
66
- }
67
- else {
68
- data[this.paginationTag] = addLinks(paginationData);
69
- data[this.collectionTag] = r.rows;
70
- }
71
- resolve(data);
72
- }).catch((e) => reject(e));
73
- });
74
- };
75
- const addLinks = (data) => {
76
- let linksKey = null;
77
- if (this.paginateOut.links === true) {
78
- linksKey = "links";
79
- }
80
- else if (this.paginateOut.links) {
81
- linksKey = this.paginateOut.links;
82
- }
83
- if (data && linksKey && !data[this.paginateOut.out_of_bounds]) {
84
- const links = {};
85
- const firstPageIndex = this.zeroBasedOffset ? 0 : 1;
86
- const lastPageIndex = this.zeroBasedOffset ? data[this.paginateOut.total_pages] - 1 : data[this.paginateOut.total_pages];
87
- links[this.paginateOut.first_page] = `${resource}?${this.paginateIn.index}=${firstPageIndex}&${this.paginateIn.size}=${data[this.paginateOut.page_size]}`;
88
- links[this.paginateOut.last_page] = `${resource}?${this.paginateIn.index}=${lastPageIndex}&${this.paginateIn.size}=${data[this.paginateOut.page_size]}`;
89
- if (data[this.paginateOut.previous_page]) {
90
- const prevPageIndex = this.zeroBasedOffset ? data[this.paginateOut.previous_page] - 1 : data[this.paginateOut.previous_page];
91
- links[this.paginateOut.previous_page] = `${resource}?${this.paginateIn.index}=${prevPageIndex}&${this.paginateIn.size}=${data[this.paginateOut.page_size]}`;
92
- }
93
- if (data[this.paginateOut.next_page]) {
94
- const nextPageIndex = this.zeroBasedOffset ? data[this.paginateOut.next_page] - 1 : data[this.paginateOut.next_page];
95
- links[this.paginateOut.next_page] = `${resource}?${this.paginateIn.index}=${nextPageIndex}&${this.paginateIn.size}=${data[this.paginateOut.page_size]}`;
96
- }
97
- data[linksKey] = links;
98
- }
99
- return data;
100
- };
101
- const getPaginationData = (result) => {
102
- const totalSize = result.count;
103
- const pageSize = pagination.limit;
104
- const currentPage = Math.floor(pagination.offset / pageSize) + 1;
105
- const totalPages = Math.ceil(totalSize / pageSize);
106
- const outOfBounds = currentPage > totalPages || currentPage < 1;
107
- const paginationData = {
108
- [this.paginateOut.current_page]: currentPage,
109
- [this.paginateOut.first_page]: currentPage === 1,
110
- [this.paginateOut.last_page]: currentPage === totalPages,
111
- [this.paginateOut.out_of_bounds]: outOfBounds,
112
- [this.paginateOut.page_size]: pageSize,
113
- [this.paginateOut.total_pages]: totalPages,
114
- [this.paginateOut.total_size]: totalSize,
115
- };
116
- if (!outOfBounds) {
117
- if (currentPage > 1) {
118
- paginationData[this.paginateOut.previous_page] = currentPage - 1;
119
- }
120
- if (currentPage < totalPages) {
121
- paginationData[this.paginateOut.next_page] = currentPage + 1;
122
- }
123
- }
124
- return paginationData;
125
- };
126
- return {
127
- using,
128
- paginate
129
- };
130
- }
131
- configure(options) {
132
- if (options.paginateIn) {
133
- this.paginateIn = { ...this.paginateIn, ...options.paginateIn };
134
- }
135
- if (options.paginateOut) {
136
- this.paginateOut = { ...this.paginateOut, ...options.paginateOut };
137
- }
138
- if (options.zeroBasedOffset !== undefined) {
139
- this.zeroBasedOffset = options.zeroBasedOffset;
140
- }
141
- if (options.paginationHeader) {
142
- this.paginationHeader = options.paginationHeader;
143
- }
144
- if (options.headersOnly !== undefined) {
145
- this.headersOnly = options.headersOnly;
146
- }
147
- if (options.paginationTag) {
148
- this.paginationTag = options.paginationTag;
149
- }
150
- if (options.collectionTag) {
151
- this.collectionTag = options.collectionTag;
152
- }
153
- }
154
- }
155
- const sqlPaginator = new SequelizePaginator();
156
- export default sqlPaginator;
157
- //# sourceMappingURL=sql-pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql-pagination.js","sourceRoot":"","sources":["../../../ts/paginator/sql-pagination.ts"],"names":[],"mappings":"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"}
@@ -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 };