@unchainedshop/core-events 3.1.11 → 4.0.0-rc.2
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/lib/db/EventsCollection.d.ts.map +1 -1
- package/lib/db/EventsCollection.js +2 -1
- package/lib/db/EventsCollection.js.map +1 -1
- package/lib/module/configureEventHistoryAdapter.d.ts +1 -1
- package/lib/module/configureEventHistoryAdapter.d.ts.map +1 -1
- package/lib/module/configureEventHistoryAdapter.js +1 -2
- package/lib/module/configureEventHistoryAdapter.js.map +1 -1
- package/lib/module/configureEventsModule.d.ts +7 -7
- package/lib/module/configureEventsModule.d.ts.map +1 -1
- package/lib/module/configureEventsModule.js +4 -2
- package/lib/module/configureEventsModule.js.map +1 -1
- package/package.json +6 -6
- package/src/db/EventsCollection.ts +2 -2
- package/src/module/configureEventHistoryAdapter.ts +2 -3
- package/src/module/configureEventsModule.ts +13 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsCollection.d.ts","sourceRoot":"","sources":["../../src/db/EventsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"EventsCollection.d.ts","sourceRoot":"","sources":["../../src/db/EventsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,gBAAgB,GAAU,IAAI,OAAO,CAAC,EAAE,uCAsBpD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDocumentDBCompatModeEnabled } from '@unchainedshop/mongodb';
|
|
1
2
|
import { buildDbIndexes } from '@unchainedshop/mongodb';
|
|
2
3
|
const TWO_DAYS_SEC = 172800;
|
|
3
4
|
export const EventsCollection = async (db) => {
|
|
@@ -8,7 +9,7 @@ export const EventsCollection = async (db) => {
|
|
|
8
9
|
options: { expireAfterSeconds: TWO_DAYS_SEC, name: 'created' },
|
|
9
10
|
},
|
|
10
11
|
{ index: { type: 1 }, options: { name: 'type' } },
|
|
11
|
-
{
|
|
12
|
+
!isDocumentDBCompatModeEnabled() && {
|
|
12
13
|
index: { _id: 'text', type: 'text' },
|
|
13
14
|
options: {
|
|
14
15
|
weights: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsCollection.js","sourceRoot":"","sources":["../../src/db/EventsCollection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventsCollection.js","sourceRoot":"","sources":["../../src/db/EventsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAW,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,YAAY,GAAG,MAAM,CAAC;AAS5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAc,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAQ,QAAQ,CAAC,CAAC;IAE9C,MAAM,cAAc,CAAC,MAAM,EAAE;QAC3B;YACE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YACtB,OAAO,EAAE,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACjD,CAAC,6BAA6B,EAAE,IAAI;YAClC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YACpC,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;iBACR;gBACD,IAAI,EAAE,wBAAwB;aAC/B;SACF;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RawPayloadType } from '@unchainedshop/events';
|
|
2
|
-
export declare const configureEventHistoryAdapter: (createFn: ({ type, payload
|
|
2
|
+
export declare const configureEventHistoryAdapter: (createFn: ({ type, payload }: RawPayloadType<any> & {
|
|
3
3
|
type: string;
|
|
4
4
|
}) => Promise<unknown>) => void;
|
|
5
5
|
//# sourceMappingURL=configureEventHistoryAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureEventHistoryAdapter.d.ts","sourceRoot":"","sources":["../../src/module/configureEventHistoryAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,eAAO,MAAM,4BAA4B,GACvC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"configureEventHistoryAdapter.d.ts","sourceRoot":"","sources":["../../src/module/configureEventHistoryAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,eAAO,MAAM,4BAA4B,GACvC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,SAgB1F,CAAC"}
|
|
@@ -5,11 +5,10 @@ export const configureEventHistoryAdapter = (createFn) => {
|
|
|
5
5
|
subscribe: () => {
|
|
6
6
|
// Do nothing
|
|
7
7
|
},
|
|
8
|
-
publish: async (eventName, { payload
|
|
8
|
+
publish: async (eventName, { payload }) => {
|
|
9
9
|
await createFn({
|
|
10
10
|
type: eventName,
|
|
11
11
|
payload,
|
|
12
|
-
context,
|
|
13
12
|
});
|
|
14
13
|
},
|
|
15
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureEventHistoryAdapter.js","sourceRoot":"","sources":["../../src/module/configureEventHistoryAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAe,MAAM,uBAAuB,CAAC;AAGlG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,
|
|
1
|
+
{"version":3,"file":"configureEventHistoryAdapter.js","sourceRoot":"","sources":["../../src/module/configureEventHistoryAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAe,MAAM,uBAAuB,CAAC;AAGlG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,QAAyF,EACzF,EAAE;IACF,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAgB;YAC3B,SAAS,EAAE,GAAG,EAAE;gBACd,aAAa;YACf,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxC,MAAM,QAAQ,CAAC;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { mongodb, ModuleInput } from '@unchainedshop/mongodb';
|
|
2
2
|
import { SortOption, DateFilterInput } from '@unchainedshop/utils';
|
|
3
3
|
import { Event } from '../db/EventsCollection.js';
|
|
4
|
-
export
|
|
4
|
+
export interface EventReport {
|
|
5
5
|
emitCount: number;
|
|
6
6
|
type: string;
|
|
7
|
-
}
|
|
8
|
-
export
|
|
9
|
-
types?:
|
|
7
|
+
}
|
|
8
|
+
export interface EventQuery {
|
|
9
|
+
types?: string[];
|
|
10
10
|
queryString?: string;
|
|
11
11
|
created?: Date;
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
export declare const buildFindSelector: ({ types, queryString, created }: EventQuery) => {
|
|
14
14
|
type?: any;
|
|
15
15
|
$text?: any;
|
|
@@ -23,8 +23,8 @@ export declare const configureEventsModule: ({ db }: ModuleInput<Record<string,
|
|
|
23
23
|
findEvents: ({ limit, offset, sort, ...query }: EventQuery & {
|
|
24
24
|
limit?: number;
|
|
25
25
|
offset?: number;
|
|
26
|
-
sort?:
|
|
27
|
-
}) => Promise<
|
|
26
|
+
sort?: SortOption[];
|
|
27
|
+
}) => Promise<Event[]>;
|
|
28
28
|
type: (event: Event) => string;
|
|
29
29
|
count: (query: EventQuery) => Promise<number>;
|
|
30
30
|
getReport: ({ dateRange, types }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureEventsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureEventsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAIP,WAAW,
|
|
1
|
+
{"version":3,"file":"configureEventsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureEventsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAIP,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAiB,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAoB,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,GAAI,iCAAiC,UAAU;WAClD,GAAG;YAAU,GAAG;cAAY,GAAG;CASzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,QAAQ,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;kBAGzD,KAAK;sCAeN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,YACvD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,CAAC;oDAUd,UAAU,GAAG;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,KAAG,OAAO,CAAC,KAAK,EAAE,CAAC;kBASN,KAAK;mBAOE,UAAU;uCAMP;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAItE,OAAO,CAAC,WAAW,EAAE,CAAC;EAyD5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateDbFilterById, buildSortOptions, generateDbObjectId, } from '@unchainedshop/mongodb';
|
|
1
|
+
import { generateDbFilterById, buildSortOptions, generateDbObjectId, assertDocumentDBCompatMode, } from '@unchainedshop/mongodb';
|
|
2
2
|
import { getRegisteredEvents } from '@unchainedshop/events';
|
|
3
3
|
import { SortDirection } from '@unchainedshop/utils';
|
|
4
4
|
import { EventsCollection } from '../db/EventsCollection.js';
|
|
@@ -7,8 +7,10 @@ export const buildFindSelector = ({ types, queryString, created }) => {
|
|
|
7
7
|
const selector = {};
|
|
8
8
|
if (types && Array.isArray(types))
|
|
9
9
|
selector.type = { $in: types };
|
|
10
|
-
if (queryString)
|
|
10
|
+
if (queryString) {
|
|
11
|
+
assertDocumentDBCompatMode();
|
|
11
12
|
selector.$text = { $search: queryString };
|
|
13
|
+
}
|
|
12
14
|
if (created)
|
|
13
15
|
selector.created = { $gte: created };
|
|
14
16
|
return selector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureEventsModule.js","sourceRoot":"","sources":["../../src/module/configureEventsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"configureEventsModule.js","sourceRoot":"","sources":["../../src/module/configureEventsModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-events",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-rc.2",
|
|
4
4
|
"main": "lib/events-index.js",
|
|
5
5
|
"types": "lib/events-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@unchainedshop/events": "^
|
|
35
|
-
"@unchainedshop/utils": "^
|
|
34
|
+
"@unchainedshop/events": "^4.0.0-rc.2",
|
|
35
|
+
"@unchainedshop/utils": "^4.0.0-rc.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@types/node": "^22.
|
|
39
|
-
"tsx": "^4.19.
|
|
40
|
-
"typescript": "^5.8.
|
|
38
|
+
"@types/node": "^22.15.3",
|
|
39
|
+
"tsx": "^4.19.4",
|
|
40
|
+
"typescript": "^5.8.3"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
1
|
+
import { isDocumentDBCompatModeEnabled, mongodb } from '@unchainedshop/mongodb';
|
|
2
2
|
import { buildDbIndexes } from '@unchainedshop/mongodb';
|
|
3
3
|
import { TimestampFields } from '@unchainedshop/mongodb';
|
|
4
4
|
|
|
@@ -20,7 +20,7 @@ export const EventsCollection = async (db: mongodb.Db) => {
|
|
|
20
20
|
options: { expireAfterSeconds: TWO_DAYS_SEC, name: 'created' },
|
|
21
21
|
},
|
|
22
22
|
{ index: { type: 1 }, options: { name: 'type' } },
|
|
23
|
-
{
|
|
23
|
+
!isDocumentDBCompatModeEnabled() && {
|
|
24
24
|
index: { _id: 'text', type: 'text' },
|
|
25
25
|
options: {
|
|
26
26
|
weights: {
|
|
@@ -2,18 +2,17 @@ import { getEmitHistoryAdapter, setEmitHistoryAdapter, EmitAdapter } from '@unch
|
|
|
2
2
|
import { RawPayloadType } from '@unchainedshop/events';
|
|
3
3
|
|
|
4
4
|
export const configureEventHistoryAdapter = (
|
|
5
|
-
createFn: ({ type, payload
|
|
5
|
+
createFn: ({ type, payload }: RawPayloadType<any> & { type: string }) => Promise<unknown>,
|
|
6
6
|
) => {
|
|
7
7
|
if (!getEmitHistoryAdapter()) {
|
|
8
8
|
const adapter: EmitAdapter = {
|
|
9
9
|
subscribe: () => {
|
|
10
10
|
// Do nothing
|
|
11
11
|
},
|
|
12
|
-
publish: async (eventName, { payload
|
|
12
|
+
publish: async (eventName, { payload }) => {
|
|
13
13
|
await createFn({
|
|
14
14
|
type: eventName,
|
|
15
15
|
payload,
|
|
16
|
-
context,
|
|
17
16
|
});
|
|
18
17
|
},
|
|
19
18
|
};
|
|
@@ -4,28 +4,32 @@ import {
|
|
|
4
4
|
buildSortOptions,
|
|
5
5
|
generateDbObjectId,
|
|
6
6
|
ModuleInput,
|
|
7
|
+
assertDocumentDBCompatMode,
|
|
7
8
|
} from '@unchainedshop/mongodb';
|
|
8
9
|
import { getRegisteredEvents } from '@unchainedshop/events';
|
|
9
10
|
import { SortDirection, SortOption, DateFilterInput } from '@unchainedshop/utils';
|
|
10
11
|
import { EventsCollection, Event } from '../db/EventsCollection.js';
|
|
11
12
|
import { configureEventHistoryAdapter } from './configureEventHistoryAdapter.js';
|
|
12
13
|
|
|
13
|
-
export
|
|
14
|
+
export interface EventReport {
|
|
14
15
|
emitCount: number;
|
|
15
16
|
type: string;
|
|
16
|
-
}
|
|
17
|
+
}
|
|
17
18
|
|
|
18
|
-
export
|
|
19
|
-
types?:
|
|
19
|
+
export interface EventQuery {
|
|
20
|
+
types?: string[];
|
|
20
21
|
queryString?: string;
|
|
21
22
|
created?: Date;
|
|
22
|
-
}
|
|
23
|
+
}
|
|
23
24
|
|
|
24
25
|
export const buildFindSelector = ({ types, queryString, created }: EventQuery) => {
|
|
25
26
|
const selector: { type?: any; $text?: any; created?: any } = {};
|
|
26
27
|
|
|
27
28
|
if (types && Array.isArray(types)) selector.type = { $in: types };
|
|
28
|
-
if (queryString)
|
|
29
|
+
if (queryString) {
|
|
30
|
+
assertDocumentDBCompatMode();
|
|
31
|
+
selector.$text = { $search: queryString };
|
|
32
|
+
}
|
|
29
33
|
if (created) selector.created = { $gte: created };
|
|
30
34
|
return selector;
|
|
31
35
|
};
|
|
@@ -63,9 +67,9 @@ export const configureEventsModule = async ({ db }: ModuleInput<Record<string, n
|
|
|
63
67
|
}: EventQuery & {
|
|
64
68
|
limit?: number;
|
|
65
69
|
offset?: number;
|
|
66
|
-
sort?:
|
|
67
|
-
}): Promise<
|
|
68
|
-
const defaultSort = [{ key: 'created', value: SortDirection.DESC }] as
|
|
70
|
+
sort?: SortOption[];
|
|
71
|
+
}): Promise<Event[]> => {
|
|
72
|
+
const defaultSort = [{ key: 'created', value: SortDirection.DESC }] as SortOption[];
|
|
69
73
|
return Events.find(buildFindSelector(query), {
|
|
70
74
|
skip: offset,
|
|
71
75
|
limit,
|