ts-patch-mongoose 2.0.9 → 2.2.0
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.
- package/.eslintrc +1 -0
- package/.swcrc +0 -5
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts +1 -2
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts.map +1 -1
- package/dist/cjs/types/patch.d.ts +3 -3
- package/dist/cjs/types/patch.d.ts.map +1 -1
- package/dist/esm/types/interfaces/IPluginOptions.d.ts +1 -2
- package/dist/esm/types/interfaces/IPluginOptions.d.ts.map +1 -1
- package/dist/esm/types/patch.d.ts +3 -3
- package/dist/esm/types/patch.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/interfaces/IPluginOptions.ts +1 -2
- package/src/patch.ts +3 -3
package/.eslintrc
CHANGED
package/.swcrc
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { HydratedDocument } from 'mongoose';
|
|
2
2
|
export type User = Record<string, unknown>;
|
|
3
|
-
export type Reason = string;
|
|
4
3
|
export type Metadata = Record<string, unknown>;
|
|
5
4
|
interface IPluginOptions<T> {
|
|
6
5
|
modelName?: string;
|
|
@@ -9,7 +8,7 @@ interface IPluginOptions<T> {
|
|
|
9
8
|
eventCreated?: string;
|
|
10
9
|
eventDeleted?: string;
|
|
11
10
|
getUser?: () => Promise<User> | User;
|
|
12
|
-
getReason?: () => Promise<
|
|
11
|
+
getReason?: () => Promise<string> | string;
|
|
13
12
|
getMetadata?: () => Promise<Metadata> | Metadata;
|
|
14
13
|
omit?: string[];
|
|
15
14
|
patchHistoryDisabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPluginOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"IPluginOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9C,UAAU,cAAc,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAChD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -2,16 +2,16 @@ import type { HydratedDocument } from 'mongoose';
|
|
|
2
2
|
import type IEvent from './interfaces/IEvent';
|
|
3
3
|
import type IContext from './interfaces/IContext';
|
|
4
4
|
import type IPluginOptions from './interfaces/IPluginOptions';
|
|
5
|
-
import type { User,
|
|
5
|
+
import type { User, Metadata } from './interfaces/IPluginOptions';
|
|
6
6
|
export declare function getObjects<T>(opts: IPluginOptions<T>, current: HydratedDocument<T>, original: HydratedDocument<T>): {
|
|
7
7
|
currentObject: Partial<T>;
|
|
8
8
|
originalObject: Partial<T>;
|
|
9
9
|
};
|
|
10
10
|
export declare function getUser<T>(opts: IPluginOptions<T>): Promise<User | undefined>;
|
|
11
|
-
export declare function getReason<T>(opts: IPluginOptions<T>): Promise<
|
|
11
|
+
export declare function getReason<T>(opts: IPluginOptions<T>): Promise<string | undefined>;
|
|
12
12
|
export declare function getMetadata<T>(opts: IPluginOptions<T>): Promise<Metadata | undefined>;
|
|
13
13
|
export declare function getValue<T>(item: PromiseSettledResult<T>): T | undefined;
|
|
14
|
-
export declare function getData<T>(opts: IPluginOptions<T>): Promise<[User | undefined,
|
|
14
|
+
export declare function getData<T>(opts: IPluginOptions<T>): Promise<[User | undefined, string | undefined, Metadata | undefined]>;
|
|
15
15
|
export declare function emitEvent<T>(context: IContext<T>, event: string | undefined, data: IEvent<T>): void;
|
|
16
16
|
export declare function bulkPatch<T>(opts: IPluginOptions<T>, context: IContext<T>, eventKey: 'eventCreated' | 'eventDeleted', docsKey: 'createdDocs' | 'deletedDocs'): Promise<void>;
|
|
17
17
|
export declare function createPatch<T>(opts: IPluginOptions<T>, context: IContext<T>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AASjE,wBAAgB,UAAU,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAU9K;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKpF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKxF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAK5F;AAED,wBAAgB,QAAQ,CAAE,CAAC,EAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAE1E;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAUhI;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAIpG;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnL;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAElG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/J;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAElG"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { HydratedDocument } from 'mongoose';
|
|
2
2
|
export type User = Record<string, unknown>;
|
|
3
|
-
export type Reason = string;
|
|
4
3
|
export type Metadata = Record<string, unknown>;
|
|
5
4
|
interface IPluginOptions<T> {
|
|
6
5
|
modelName?: string;
|
|
@@ -9,7 +8,7 @@ interface IPluginOptions<T> {
|
|
|
9
8
|
eventCreated?: string;
|
|
10
9
|
eventDeleted?: string;
|
|
11
10
|
getUser?: () => Promise<User> | User;
|
|
12
|
-
getReason?: () => Promise<
|
|
11
|
+
getReason?: () => Promise<string> | string;
|
|
13
12
|
getMetadata?: () => Promise<Metadata> | Metadata;
|
|
14
13
|
omit?: string[];
|
|
15
14
|
patchHistoryDisabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPluginOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"IPluginOptions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/IPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9C,UAAU,cAAc,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAChD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -2,16 +2,16 @@ import type { HydratedDocument } from 'mongoose';
|
|
|
2
2
|
import type IEvent from './interfaces/IEvent';
|
|
3
3
|
import type IContext from './interfaces/IContext';
|
|
4
4
|
import type IPluginOptions from './interfaces/IPluginOptions';
|
|
5
|
-
import type { User,
|
|
5
|
+
import type { User, Metadata } from './interfaces/IPluginOptions';
|
|
6
6
|
export declare function getObjects<T>(opts: IPluginOptions<T>, current: HydratedDocument<T>, original: HydratedDocument<T>): {
|
|
7
7
|
currentObject: Partial<T>;
|
|
8
8
|
originalObject: Partial<T>;
|
|
9
9
|
};
|
|
10
10
|
export declare function getUser<T>(opts: IPluginOptions<T>): Promise<User | undefined>;
|
|
11
|
-
export declare function getReason<T>(opts: IPluginOptions<T>): Promise<
|
|
11
|
+
export declare function getReason<T>(opts: IPluginOptions<T>): Promise<string | undefined>;
|
|
12
12
|
export declare function getMetadata<T>(opts: IPluginOptions<T>): Promise<Metadata | undefined>;
|
|
13
13
|
export declare function getValue<T>(item: PromiseSettledResult<T>): T | undefined;
|
|
14
|
-
export declare function getData<T>(opts: IPluginOptions<T>): Promise<[User | undefined,
|
|
14
|
+
export declare function getData<T>(opts: IPluginOptions<T>): Promise<[User | undefined, string | undefined, Metadata | undefined]>;
|
|
15
15
|
export declare function emitEvent<T>(context: IContext<T>, event: string | undefined, data: IEvent<T>): void;
|
|
16
16
|
export declare function bulkPatch<T>(opts: IPluginOptions<T>, context: IContext<T>, eventKey: 'eventCreated' | 'eventDeleted', docsKey: 'createdDocs' | 'deletedDocs'): Promise<void>;
|
|
17
17
|
export declare function createPatch<T>(opts: IPluginOptions<T>, context: IContext<T>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AASjE,wBAAgB,UAAU,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAU9K;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKpF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKxF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAK5F;AAED,wBAAgB,QAAQ,CAAE,CAAC,EAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAE1E;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAUhI;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAIpG;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnL;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAElG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/J;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAElG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-patch-mongoose",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Patch history & events for mongoose models",
|
|
5
5
|
"author": "Alex Eagle",
|
|
6
6
|
"license": "MIT",
|
|
@@ -85,20 +85,20 @@
|
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@shelf/jest-mongodb": "4.1.7",
|
|
87
87
|
"@swc/cli": "0.1.62",
|
|
88
|
-
"@swc/core": "1.3.
|
|
88
|
+
"@swc/core": "1.3.76",
|
|
89
89
|
"@swc/helpers": "0.5.1",
|
|
90
|
-
"@swc/jest": "0.2.
|
|
90
|
+
"@swc/jest": "0.2.29",
|
|
91
91
|
"@swc/register": "0.1.10",
|
|
92
92
|
"@types/jest": "29.5.3",
|
|
93
|
-
"@types/lodash": "4.14.
|
|
93
|
+
"@types/lodash": "4.14.197",
|
|
94
94
|
"@types/node": "18",
|
|
95
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
96
|
-
"@typescript-eslint/parser": "6.
|
|
97
|
-
"eslint": "8.
|
|
95
|
+
"@typescript-eslint/eslint-plugin": "6.3.0",
|
|
96
|
+
"@typescript-eslint/parser": "6.3.0",
|
|
97
|
+
"eslint": "8.47.0",
|
|
98
98
|
"eslint-plugin-jest": "27.2.3",
|
|
99
99
|
"eslint-plugin-jest-formatting": "3.1.0",
|
|
100
|
-
"eslint-plugin-sonarjs": "0.
|
|
101
|
-
"jest": "29.6.
|
|
100
|
+
"eslint-plugin-sonarjs": "0.20.0",
|
|
101
|
+
"jest": "29.6.2",
|
|
102
102
|
"merge": "2.1.1",
|
|
103
103
|
"mongoose": "6.11.4",
|
|
104
104
|
"open-cli": "7.2.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { HydratedDocument } from 'mongoose'
|
|
2
2
|
|
|
3
3
|
export type User = Record<string, unknown>
|
|
4
|
-
export type Reason = string
|
|
5
4
|
export type Metadata = Record<string, unknown>
|
|
6
5
|
|
|
7
6
|
interface IPluginOptions<T> {
|
|
@@ -11,7 +10,7 @@ interface IPluginOptions<T> {
|
|
|
11
10
|
eventCreated?: string
|
|
12
11
|
eventDeleted?: string
|
|
13
12
|
getUser?: () => Promise<User> | User
|
|
14
|
-
getReason?: () => Promise<
|
|
13
|
+
getReason?: () => Promise<string> | string
|
|
15
14
|
getMetadata?: () => Promise<Metadata> | Metadata
|
|
16
15
|
omit?: string[]
|
|
17
16
|
patchHistoryDisabled?: boolean
|
package/src/patch.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { HydratedDocument, Types } from 'mongoose'
|
|
|
7
7
|
import type IEvent from './interfaces/IEvent'
|
|
8
8
|
import type IContext from './interfaces/IContext'
|
|
9
9
|
import type IPluginOptions from './interfaces/IPluginOptions'
|
|
10
|
-
import type { User,
|
|
10
|
+
import type { User, Metadata } from './interfaces/IPluginOptions'
|
|
11
11
|
|
|
12
12
|
import History from './models/History'
|
|
13
13
|
import em from './em'
|
|
@@ -35,7 +35,7 @@ export async function getUser<T> (opts: IPluginOptions<T>): Promise<User | undef
|
|
|
35
35
|
return undefined
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export async function getReason<T> (opts: IPluginOptions<T>): Promise<
|
|
38
|
+
export async function getReason<T> (opts: IPluginOptions<T>): Promise<string | undefined> {
|
|
39
39
|
if (_.isFunction(opts.getReason)) {
|
|
40
40
|
return await opts.getReason()
|
|
41
41
|
}
|
|
@@ -53,7 +53,7 @@ export function getValue <T> (item: PromiseSettledResult<T>): T | undefined {
|
|
|
53
53
|
return item.status === 'fulfilled' ? item.value : undefined
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
export async function getData<T> (opts: IPluginOptions<T>): Promise<[User | undefined,
|
|
56
|
+
export async function getData<T> (opts: IPluginOptions<T>): Promise<[User | undefined, string | undefined, Metadata | undefined]> {
|
|
57
57
|
return Promise
|
|
58
58
|
.allSettled([getUser(opts), getReason(opts), getMetadata(opts)])
|
|
59
59
|
.then(([user, reason, metadata]) => {
|