@xyo-network/archivist-mongodb 2.83.0 → 2.84.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/dist/browser/Archivist.d.cts +15 -26
- package/dist/browser/Archivist.d.cts.map +1 -1
- package/dist/browser/Archivist.d.mts +15 -26
- package/dist/browser/Archivist.d.mts.map +1 -1
- package/dist/browser/Archivist.d.ts +15 -26
- package/dist/browser/Archivist.d.ts.map +1 -1
- package/dist/browser/index.cjs +68 -54
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +68 -54
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/index.d.cts +1 -2
- package/dist/browser/lib/index.d.cts.map +1 -1
- package/dist/browser/lib/index.d.mts +1 -2
- package/dist/browser/lib/index.d.mts.map +1 -1
- package/dist/browser/lib/index.d.ts +1 -2
- package/dist/browser/lib/index.d.ts.map +1 -1
- package/dist/browser/lib/toPayloadWithMongoMeta.d.cts +5 -0
- package/dist/browser/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
- package/dist/browser/lib/toPayloadWithMongoMeta.d.mts +5 -0
- package/dist/browser/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
- package/dist/browser/lib/toPayloadWithMongoMeta.d.ts +5 -0
- package/dist/browser/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
- package/dist/browser/lib/toReturnValue.d.cts +1 -2
- package/dist/browser/lib/toReturnValue.d.cts.map +1 -1
- package/dist/browser/lib/toReturnValue.d.mts +1 -2
- package/dist/browser/lib/toReturnValue.d.mts.map +1 -1
- package/dist/browser/lib/toReturnValue.d.ts +1 -2
- package/dist/browser/lib/toReturnValue.d.ts.map +1 -1
- package/dist/browser/lib/validByType.d.cts +3 -7
- package/dist/browser/lib/validByType.d.cts.map +1 -1
- package/dist/browser/lib/validByType.d.mts +3 -7
- package/dist/browser/lib/validByType.d.mts.map +1 -1
- package/dist/browser/lib/validByType.d.ts +3 -7
- package/dist/browser/lib/validByType.d.ts.map +1 -1
- package/dist/node/Archivist.d.cts +15 -26
- package/dist/node/Archivist.d.cts.map +1 -1
- package/dist/node/Archivist.d.mts +15 -26
- package/dist/node/Archivist.d.mts.map +1 -1
- package/dist/node/Archivist.d.ts +15 -26
- package/dist/node/Archivist.d.ts.map +1 -1
- package/dist/node/index.cjs +68 -54
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +68 -54
- package/dist/node/index.js.map +1 -1
- package/dist/node/lib/index.d.cts +1 -2
- package/dist/node/lib/index.d.cts.map +1 -1
- package/dist/node/lib/index.d.mts +1 -2
- package/dist/node/lib/index.d.mts.map +1 -1
- package/dist/node/lib/index.d.ts +1 -2
- package/dist/node/lib/index.d.ts.map +1 -1
- package/dist/node/lib/toPayloadWithMongoMeta.d.cts +5 -0
- package/dist/node/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
- package/dist/node/lib/toPayloadWithMongoMeta.d.mts +5 -0
- package/dist/node/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
- package/dist/node/lib/toPayloadWithMongoMeta.d.ts +5 -0
- package/dist/node/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
- package/dist/node/lib/toReturnValue.d.cts +1 -2
- package/dist/node/lib/toReturnValue.d.cts.map +1 -1
- package/dist/node/lib/toReturnValue.d.mts +1 -2
- package/dist/node/lib/toReturnValue.d.mts.map +1 -1
- package/dist/node/lib/toReturnValue.d.ts +1 -2
- package/dist/node/lib/toReturnValue.d.ts.map +1 -1
- package/dist/node/lib/validByType.d.cts +3 -7
- package/dist/node/lib/validByType.d.cts.map +1 -1
- package/dist/node/lib/validByType.d.mts +3 -7
- package/dist/node/lib/validByType.d.mts.map +1 -1
- package/dist/node/lib/validByType.d.ts +3 -7
- package/dist/node/lib/validByType.d.ts.map +1 -1
- package/package.json +26 -23
- package/src/Archivist.ts +35 -19
- package/src/lib/index.ts +1 -2
- package/src/lib/toPayloadWithMongoMeta.ts +10 -0
- package/src/lib/toReturnValue.ts +3 -9
- package/src/lib/validByType.ts +10 -6
- package/dist/browser/lib/toBoundWitnessWithMeta.d.cts +0 -5
- package/dist/browser/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
- package/dist/browser/lib/toBoundWitnessWithMeta.d.mts +0 -5
- package/dist/browser/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
- package/dist/browser/lib/toBoundWitnessWithMeta.d.ts +0 -5
- package/dist/browser/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
- package/dist/browser/lib/toPayloadWithMeta.d.cts +0 -4
- package/dist/browser/lib/toPayloadWithMeta.d.cts.map +0 -1
- package/dist/browser/lib/toPayloadWithMeta.d.mts +0 -4
- package/dist/browser/lib/toPayloadWithMeta.d.mts.map +0 -1
- package/dist/browser/lib/toPayloadWithMeta.d.ts +0 -4
- package/dist/browser/lib/toPayloadWithMeta.d.ts.map +0 -1
- package/dist/node/lib/toBoundWitnessWithMeta.d.cts +0 -5
- package/dist/node/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
- package/dist/node/lib/toBoundWitnessWithMeta.d.mts +0 -5
- package/dist/node/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
- package/dist/node/lib/toBoundWitnessWithMeta.d.ts +0 -5
- package/dist/node/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
- package/dist/node/lib/toPayloadWithMeta.d.cts +0 -4
- package/dist/node/lib/toPayloadWithMeta.d.cts.map +0 -1
- package/dist/node/lib/toPayloadWithMeta.d.mts +0 -4
- package/dist/node/lib/toPayloadWithMeta.d.mts.map +0 -1
- package/dist/node/lib/toPayloadWithMeta.d.ts +0 -4
- package/dist/node/lib/toPayloadWithMeta.d.ts.map +0 -1
- package/src/lib/toBoundWitnessWithMeta.ts +0 -9
- package/src/lib/toPayloadWithMeta.ts +0 -6
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
import { AbstractArchivist } from '@xyo-network/archivist-abstract';
|
|
2
2
|
import { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
|
|
3
4
|
declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
4
|
-
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-
|
|
5
|
-
|
|
6
|
-
schema: string;
|
|
7
|
-
})[] | undefined;
|
|
8
|
-
_source_ip?: string | undefined;
|
|
9
|
-
_user_agent?: string | undefined;
|
|
10
|
-
} & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}> | undefined;
|
|
13
|
-
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
14
|
-
schema: string;
|
|
15
|
-
}> | undefined;
|
|
5
|
+
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta> | undefined;
|
|
6
|
+
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta> | undefined;
|
|
16
7
|
readonly boundWitnessSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
17
|
-
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-
|
|
18
|
-
_payloads?: (import("@xyo-network/payload-model").SchemaFields & object & Partial<import("@xyo-network/payload-mongodb").PayloadMetaBase> & {
|
|
19
|
-
schema: string;
|
|
20
|
-
})[] | undefined;
|
|
21
|
-
_source_ip?: string | undefined;
|
|
22
|
-
_user_agent?: string | undefined;
|
|
23
|
-
} & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
24
|
-
schema: "network.xyo.boundwitness";
|
|
25
|
-
}>;
|
|
8
|
+
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta>;
|
|
26
9
|
readonly jobQueue: import("@xyo-network/node-core-model").JobQueue;
|
|
27
10
|
readonly payloadSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
28
|
-
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<
|
|
29
|
-
schema: string;
|
|
30
|
-
}>;
|
|
11
|
+
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta>;
|
|
31
12
|
ensureIndexes(): Promise<void>;
|
|
32
13
|
address: string;
|
|
33
14
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
@@ -37,6 +18,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
37
18
|
readonly paging?: Record<string, {
|
|
38
19
|
size?: number | undefined;
|
|
39
20
|
}> | undefined;
|
|
21
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
40
22
|
schema: "network.xyo.module.mongodb.config";
|
|
41
23
|
readonly security?: {
|
|
42
24
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -53,6 +35,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
53
35
|
readonly paging?: Record<string, {
|
|
54
36
|
size?: number | undefined;
|
|
55
37
|
}> | undefined;
|
|
38
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
56
39
|
schema: "network.xyo.module.mongodb.config";
|
|
57
40
|
readonly security?: {
|
|
58
41
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -70,7 +53,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
70
53
|
schema: string;
|
|
71
54
|
};
|
|
72
55
|
id: string;
|
|
73
|
-
params: import("@
|
|
56
|
+
params: import("@xylabs/object").BaseParamsFields & {
|
|
74
57
|
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
75
58
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
76
59
|
readonly archivist?: string | undefined;
|
|
@@ -79,6 +62,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
79
62
|
readonly paging?: Record<string, {
|
|
80
63
|
size?: number | undefined;
|
|
81
64
|
}> | undefined;
|
|
65
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
82
66
|
schema: "network.xyo.module.mongodb.config";
|
|
83
67
|
readonly security?: {
|
|
84
68
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -95,6 +79,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
95
79
|
readonly paging?: Record<string, {
|
|
96
80
|
size?: number | undefined;
|
|
97
81
|
}> | undefined;
|
|
82
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
98
83
|
schema: "network.xyo.module.mongodb.config";
|
|
99
84
|
readonly security?: {
|
|
100
85
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -138,6 +123,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
138
123
|
readonly paging?: Record<string, {
|
|
139
124
|
size?: number | undefined;
|
|
140
125
|
}> | undefined;
|
|
126
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
141
127
|
schema: "network.xyo.module.config";
|
|
142
128
|
readonly security?: {
|
|
143
129
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -154,6 +140,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
154
140
|
readonly paging?: Record<string, {
|
|
155
141
|
size?: number | undefined;
|
|
156
142
|
}> | undefined;
|
|
143
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
157
144
|
schema: "network.xyo.module.config";
|
|
158
145
|
readonly security?: {
|
|
159
146
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -185,6 +172,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
185
172
|
readonly paging?: Record<string, {
|
|
186
173
|
size?: number | undefined;
|
|
187
174
|
}> | undefined;
|
|
175
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
188
176
|
schema: "network.xyo.module.config";
|
|
189
177
|
readonly security?: {
|
|
190
178
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -201,6 +189,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
201
189
|
readonly paging?: Record<string, {
|
|
202
190
|
size?: number | undefined;
|
|
203
191
|
}> | undefined;
|
|
192
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
204
193
|
schema: "network.xyo.module.config";
|
|
205
194
|
readonly security?: {
|
|
206
195
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -233,7 +222,7 @@ export declare class MongoDBArchivist extends MongoDBArchivistBase {
|
|
|
233
222
|
readonly queries: string[];
|
|
234
223
|
head(): Promise<Payload | undefined>;
|
|
235
224
|
protected getHandler(hashes: string[]): Promise<Payload[]>;
|
|
236
|
-
protected insertHandler(payloads
|
|
225
|
+
protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
|
|
237
226
|
protected startHandler(): Promise<boolean>;
|
|
238
227
|
}
|
|
239
228
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAKnE,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAwC,CAAA;AAElE,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,OAAgB,aAAa,WAAwD;IAErF,SAAkB,OAAO,EAAE,MAAM,EAAE,CAAiD;IAErE,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAK1B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAuBhD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAkBtD,YAAY;CAKtC"}
|
package/dist/node/Archivist.d.ts
CHANGED
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
import { AbstractArchivist } from '@xyo-network/archivist-abstract';
|
|
2
2
|
import { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
|
|
3
4
|
declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
4
|
-
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-
|
|
5
|
-
|
|
6
|
-
schema: string;
|
|
7
|
-
})[] | undefined;
|
|
8
|
-
_source_ip?: string | undefined;
|
|
9
|
-
_user_agent?: string | undefined;
|
|
10
|
-
} & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
11
|
-
schema: "network.xyo.boundwitness";
|
|
12
|
-
}> | undefined;
|
|
13
|
-
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
14
|
-
schema: string;
|
|
15
|
-
}> | undefined;
|
|
5
|
+
_boundWitnessSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta> | undefined;
|
|
6
|
+
_payloadSdk: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta> | undefined;
|
|
16
7
|
readonly boundWitnessSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
17
|
-
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-
|
|
18
|
-
_payloads?: (import("@xyo-network/payload-model").SchemaFields & object & Partial<import("@xyo-network/payload-mongodb").PayloadMetaBase> & {
|
|
19
|
-
schema: string;
|
|
20
|
-
})[] | undefined;
|
|
21
|
-
_source_ip?: string | undefined;
|
|
22
|
-
_user_agent?: string | undefined;
|
|
23
|
-
} & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
|
|
24
|
-
schema: "network.xyo.boundwitness";
|
|
25
|
-
}>;
|
|
8
|
+
readonly boundWitnesses: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<import("@xyo-network/payload-mongodb").BoundWitnessWithMongoMeta>;
|
|
26
9
|
readonly jobQueue: import("@xyo-network/node-core-model").JobQueue;
|
|
27
10
|
readonly payloadSdkConfig: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdkConfig;
|
|
28
|
-
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<
|
|
29
|
-
schema: string;
|
|
30
|
-
}>;
|
|
11
|
+
readonly payloads: import("@xyo-network/sdk-xyo-mongo-js").BaseMongoSdk<PayloadWithMongoMeta>;
|
|
31
12
|
ensureIndexes(): Promise<void>;
|
|
32
13
|
address: string;
|
|
33
14
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
@@ -37,6 +18,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
37
18
|
readonly paging?: Record<string, {
|
|
38
19
|
size?: number | undefined;
|
|
39
20
|
}> | undefined;
|
|
21
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
40
22
|
schema: "network.xyo.module.mongodb.config";
|
|
41
23
|
readonly security?: {
|
|
42
24
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -53,6 +35,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
53
35
|
readonly paging?: Record<string, {
|
|
54
36
|
size?: number | undefined;
|
|
55
37
|
}> | undefined;
|
|
38
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
56
39
|
schema: "network.xyo.module.mongodb.config";
|
|
57
40
|
readonly security?: {
|
|
58
41
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -70,7 +53,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
70
53
|
schema: string;
|
|
71
54
|
};
|
|
72
55
|
id: string;
|
|
73
|
-
params: import("@
|
|
56
|
+
params: import("@xylabs/object").BaseParamsFields & {
|
|
74
57
|
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
75
58
|
config: import("@xyo-network/payload-model").SchemaFields & object & Omit<{
|
|
76
59
|
readonly archivist?: string | undefined;
|
|
@@ -79,6 +62,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
79
62
|
readonly paging?: Record<string, {
|
|
80
63
|
size?: number | undefined;
|
|
81
64
|
}> | undefined;
|
|
65
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
82
66
|
schema: "network.xyo.module.mongodb.config";
|
|
83
67
|
readonly security?: {
|
|
84
68
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -95,6 +79,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
95
79
|
readonly paging?: Record<string, {
|
|
96
80
|
size?: number | undefined;
|
|
97
81
|
}> | undefined;
|
|
82
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
98
83
|
schema: "network.xyo.module.mongodb.config";
|
|
99
84
|
readonly security?: {
|
|
100
85
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -138,6 +123,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
138
123
|
readonly paging?: Record<string, {
|
|
139
124
|
size?: number | undefined;
|
|
140
125
|
}> | undefined;
|
|
126
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
141
127
|
schema: "network.xyo.module.config";
|
|
142
128
|
readonly security?: {
|
|
143
129
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -154,6 +140,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
154
140
|
readonly paging?: Record<string, {
|
|
155
141
|
size?: number | undefined;
|
|
156
142
|
}> | undefined;
|
|
143
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
157
144
|
schema: "network.xyo.module.config";
|
|
158
145
|
readonly security?: {
|
|
159
146
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -185,6 +172,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
185
172
|
readonly paging?: Record<string, {
|
|
186
173
|
size?: number | undefined;
|
|
187
174
|
}> | undefined;
|
|
175
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
188
176
|
schema: "network.xyo.module.config";
|
|
189
177
|
readonly security?: {
|
|
190
178
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -201,6 +189,7 @@ declare const MongoDBArchivistBase: (abstract new (...args: any[]) => {
|
|
|
201
189
|
readonly paging?: Record<string, {
|
|
202
190
|
size?: number | undefined;
|
|
203
191
|
}> | undefined;
|
|
192
|
+
readonly retry?: import("@xylabs/retry").RetryConfig | undefined;
|
|
204
193
|
schema: "network.xyo.module.config";
|
|
205
194
|
readonly security?: {
|
|
206
195
|
readonly allowAnonymous?: boolean | undefined;
|
|
@@ -233,7 +222,7 @@ export declare class MongoDBArchivist extends MongoDBArchivistBase {
|
|
|
233
222
|
readonly queries: string[];
|
|
234
223
|
head(): Promise<Payload | undefined>;
|
|
235
224
|
protected getHandler(hashes: string[]): Promise<Payload[]>;
|
|
236
|
-
protected insertHandler(payloads
|
|
225
|
+
protected insertHandler(payloads: Payload[]): Promise<Payload[]>;
|
|
237
226
|
protected startHandler(): Promise<boolean>;
|
|
238
227
|
}
|
|
239
228
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../src/Archivist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAKnE,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAwC,CAAA;AAElE,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD,OAAgB,aAAa,WAAwD;IAErF,SAAkB,OAAO,EAAE,MAAM,EAAE,CAAiD;IAErE,IAAI,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAK1B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAuBhD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAkBtD,YAAY;CAKtC"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -33,53 +33,38 @@ module.exports = __toCommonJS(src_exports);
|
|
|
33
33
|
|
|
34
34
|
// src/Archivist.ts
|
|
35
35
|
var import_exists = require("@xylabs/exists");
|
|
36
|
-
var import_promise = require("@xylabs/promise");
|
|
37
36
|
var import_archivist_abstract = require("@xyo-network/archivist-abstract");
|
|
38
37
|
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
39
38
|
var import_archivist_model_mongodb = require("@xyo-network/archivist-model-mongodb");
|
|
40
39
|
var import_module_abstract_mongodb = require("@xyo-network/module-abstract-mongodb");
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
// src/lib/toBoundWitnessWithMeta.ts
|
|
44
|
-
var toBoundWitnessWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
|
|
45
|
-
const bw = wrapper.boundwitness;
|
|
46
|
-
return {
|
|
47
|
-
...bw,
|
|
48
|
-
_hash: await wrapper.hashAsync(),
|
|
49
|
-
_timestamp: Date.now()
|
|
50
|
-
};
|
|
51
|
-
}, "toBoundWitnessWithMeta");
|
|
40
|
+
var import_payload_wrapper2 = require("@xyo-network/payload-wrapper");
|
|
52
41
|
|
|
53
|
-
// src/lib/
|
|
54
|
-
var
|
|
42
|
+
// src/lib/toPayloadWithMongoMeta.ts
|
|
43
|
+
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
44
|
+
var toPayloadWithMongoMeta = /* @__PURE__ */ __name(async (payload) => {
|
|
45
|
+
const built = await import_payload_builder.PayloadBuilder.build(payload);
|
|
46
|
+
const _hash = await import_payload_builder.PayloadBuilder.hash(built);
|
|
47
|
+
const { $hash, $meta, ...fields } = built;
|
|
55
48
|
return {
|
|
56
|
-
...
|
|
57
|
-
|
|
49
|
+
...fields,
|
|
50
|
+
_$hash: $hash,
|
|
51
|
+
_$meta: $meta,
|
|
52
|
+
_hash,
|
|
58
53
|
_timestamp: Date.now()
|
|
59
54
|
};
|
|
60
|
-
}, "
|
|
55
|
+
}, "toPayloadWithMongoMeta");
|
|
61
56
|
|
|
62
57
|
// src/lib/toReturnValue.ts
|
|
63
|
-
var
|
|
58
|
+
var import_hash = require("@xyo-network/hash");
|
|
64
59
|
var toReturnValue = /* @__PURE__ */ __name((value) => {
|
|
65
|
-
|
|
66
|
-
if (_signatures) {
|
|
67
|
-
return {
|
|
68
|
-
...import_payload_wrapper.PayloadWrapper.wrap(value).body(),
|
|
69
|
-
_signatures
|
|
70
|
-
};
|
|
71
|
-
} else {
|
|
72
|
-
return {
|
|
73
|
-
...import_payload_wrapper.PayloadWrapper.wrap(value).body()
|
|
74
|
-
};
|
|
75
|
-
}
|
|
60
|
+
return (0, import_hash.deepOmitPrefixedFields)(value, "_");
|
|
76
61
|
}, "toReturnValue");
|
|
77
62
|
|
|
78
63
|
// src/lib/validByType.ts
|
|
79
64
|
var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
|
|
80
65
|
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
81
66
|
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
82
|
-
var
|
|
67
|
+
var import_payload_wrapper = require("@xyo-network/payload-wrapper");
|
|
83
68
|
var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
|
|
84
69
|
const results = [
|
|
85
70
|
[],
|
|
@@ -88,16 +73,20 @@ var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
|
|
|
88
73
|
await Promise.all(payloads.map(async (payload) => {
|
|
89
74
|
if ((0, import_boundwitness_model.isBoundWitness)(payload)) {
|
|
90
75
|
const wrapper = (0, import_boundwitness_model.isQueryBoundWitness)(payload) ? import_boundwitness_builder.QueryBoundWitnessWrapper : import_boundwitness_wrapper.BoundWitnessWrapper;
|
|
91
|
-
const bw = wrapper.parse(payload);
|
|
76
|
+
const bw = await wrapper.parse(payload);
|
|
92
77
|
if (await bw.getValid()) {
|
|
93
|
-
results[0].push(bw);
|
|
78
|
+
results[0].push(bw.jsonPayload());
|
|
79
|
+
} else {
|
|
80
|
+
const errors = await bw.getErrors();
|
|
81
|
+
console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`);
|
|
94
82
|
}
|
|
95
83
|
} else {
|
|
96
|
-
const payloadWrapper =
|
|
84
|
+
const payloadWrapper = await import_payload_wrapper.PayloadWrapper.wrap(payload);
|
|
97
85
|
if (await payloadWrapper.getValid()) {
|
|
98
|
-
results[1].push(payloadWrapper);
|
|
86
|
+
results[1].push(payloadWrapper.jsonPayload());
|
|
99
87
|
}
|
|
100
88
|
}
|
|
89
|
+
return;
|
|
101
90
|
}));
|
|
102
91
|
return results;
|
|
103
92
|
}, "validByType");
|
|
@@ -113,37 +102,62 @@ var _MongoDBArchivist = class _MongoDBArchivist extends MongoDBArchivistBase {
|
|
|
113
102
|
const head = await (await this.payloads.find({})).sort({
|
|
114
103
|
_timestamp: -1
|
|
115
104
|
}).limit(1).toArray();
|
|
116
|
-
return head[0] ?
|
|
105
|
+
return head[0] ? (await import_payload_wrapper2.PayloadWrapper.wrap(head[0])).jsonPayload() : void 0;
|
|
117
106
|
}
|
|
118
107
|
async getHandler(hashes) {
|
|
119
|
-
|
|
108
|
+
let remainingHashes = [
|
|
109
|
+
...hashes
|
|
110
|
+
];
|
|
111
|
+
const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({
|
|
112
|
+
_$hash
|
|
113
|
+
})))).filter(import_exists.exists);
|
|
114
|
+
const dataPayloadsHashes = dataPayloads.map((payload) => payload._$hash);
|
|
115
|
+
remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.includes(hash));
|
|
116
|
+
const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({
|
|
117
|
+
_$hash
|
|
118
|
+
})))).filter(import_exists.exists);
|
|
119
|
+
const dataBwsHashes = dataBws.map((payload) => payload._$hash);
|
|
120
|
+
remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.includes(hash));
|
|
121
|
+
const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({
|
|
120
122
|
_hash
|
|
121
|
-
}));
|
|
122
|
-
const
|
|
123
|
+
})))).filter(import_exists.exists);
|
|
124
|
+
const payloadsHashes = payloads.map((payload) => payload._hash);
|
|
125
|
+
remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.includes(hash));
|
|
126
|
+
const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({
|
|
123
127
|
_hash
|
|
124
|
-
}));
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
})))).filter(import_exists.exists);
|
|
129
|
+
const bwsHashes = bws.map((payload) => payload._hash);
|
|
130
|
+
remainingHashes = remainingHashes.filter((hash) => !bwsHashes.includes(hash));
|
|
131
|
+
const foundPayloads = [
|
|
132
|
+
...dataPayloads,
|
|
133
|
+
...dataBws,
|
|
134
|
+
...payloads,
|
|
135
|
+
...bws
|
|
136
|
+
];
|
|
137
|
+
return foundPayloads.map(({ _$hash, _$meta, ...other }) => ({
|
|
138
|
+
$hash: _$hash,
|
|
139
|
+
$meta: _$meta,
|
|
140
|
+
...other
|
|
141
|
+
})).map(toReturnValue);
|
|
131
142
|
}
|
|
132
143
|
async insertHandler(payloads) {
|
|
133
144
|
const [bw, p] = await validByType(payloads);
|
|
134
|
-
const
|
|
135
|
-
if (
|
|
136
|
-
const payloadsResult = await this.payloads.insertMany(
|
|
137
|
-
if (!payloadsResult.acknowledged || payloadsResult.insertedCount !==
|
|
145
|
+
const payloadsWithExternalMeta = await Promise.all(p.map((x) => toPayloadWithMongoMeta(x)));
|
|
146
|
+
if (payloadsWithExternalMeta.length) {
|
|
147
|
+
const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta);
|
|
148
|
+
if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)
|
|
138
149
|
throw new Error("MongoDBDeterministicArchivist: Error inserting Payloads");
|
|
139
150
|
}
|
|
140
|
-
const
|
|
141
|
-
if (
|
|
142
|
-
const boundWitnessesResult = await this.boundWitnesses.insertMany(
|
|
143
|
-
if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !==
|
|
151
|
+
const boundWitnessesWithExternalMeta = await Promise.all(bw.map((x) => toPayloadWithMongoMeta(x)));
|
|
152
|
+
if (boundWitnessesWithExternalMeta.length) {
|
|
153
|
+
const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta);
|
|
154
|
+
if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)
|
|
144
155
|
throw new Error("MongoDBDeterministicArchivist: Error inserting BoundWitnesses");
|
|
145
156
|
}
|
|
146
|
-
return
|
|
157
|
+
return [
|
|
158
|
+
...boundWitnessesWithExternalMeta,
|
|
159
|
+
...payloadsWithExternalMeta
|
|
160
|
+
];
|
|
147
161
|
}
|
|
148
162
|
async startHandler() {
|
|
149
163
|
await super.startHandler();
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Archivist.ts","../../src/lib/toBoundWitnessWithMeta.ts","../../src/lib/toPayloadWithMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts"],"sourcesContent":["export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n","import { exists } from '@xylabs/exists'\nimport { fulfilledValues } from '@xylabs/promise'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistConfigSchema, ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithPartialMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { toBoundWitnessWithMeta, toPayloadWithMeta, toReturnValue, validByType } from './lib'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override configSchemas = [MongoDBArchivistConfigSchema, ArchivistConfigSchema]\n\n override readonly queries: string[] = [ArchivistInsertQuerySchema, ...super.queries]\n\n override async head(): Promise<Payload | undefined> {\n const head = await (await this.payloads.find({})).sort({ _timestamp: -1 }).limit(1).toArray()\n return head[0] ? PayloadWrapper.wrap(head[0]).body() : undefined\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n const payloads = hashes.map((_hash) => this.payloads.findOne({ _hash }))\n const bws = hashes.map((_hash) => this.boundWitnesses.findOne({ _hash }))\n const gets = await Promise.allSettled([payloads, bws].flat())\n const succeeded = gets.reduce<(PayloadWithPartialMeta | null)[]>(fulfilledValues, []) as Payload[]\n return succeeded.filter(exists).map(toReturnValue)\n }\n\n protected override async insertHandler(payloads?: Payload[]): Promise<Payload[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithMeta = await Promise.all(p.map((x) => toPayloadWithMeta(x)))\n if (payloadsWithMeta.length) {\n const payloadsResult = await this.payloads.insertMany(payloadsWithMeta)\n if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting Payloads')\n }\n const boundWitnesses = await Promise.all(bw.map((x) => toBoundWitnessWithMeta(x)))\n if (boundWitnesses.length) {\n const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnesses)\n if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnesses.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting BoundWitnesses')\n }\n return payloads ?? []\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { BoundWitnessWithMeta } from '@xyo-network/payload-mongodb'\n\nexport const toBoundWitnessWithMeta = async (wrapper: BoundWitnessWrapper | QueryBoundWitnessWrapper): Promise<BoundWitnessWithMeta> => {\n const bw = wrapper.boundwitness as BoundWitness\n return { ...bw, _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n}\n","import { PayloadWithMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const toPayloadWithMeta = async (wrapper: PayloadWrapper): Promise<PayloadWithMeta> => {\n return { ...wrapper.payload(), _hash: await wrapper.hashAsync(), _timestamp: Date.now() }\n}\n","import { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const toReturnValue = (value: Payload | BoundWitness): Payload => {\n const _signatures = (value as BoundWitness)?._signatures\n if (_signatures) {\n return { ...PayloadWrapper.wrap(value).body(), _signatures } as BoundWitness\n } else {\n return { ...PayloadWrapper.wrap(value).body() }\n }\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const validByType = async (payloads: Payload[] = []) => {\n const results: [BoundWitnessWrapper[], PayloadWrapper[]] = [[], []]\n await Promise.all(\n payloads.map(async (payload) => {\n if (isBoundWitness(payload)) {\n const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper\n const bw = wrapper.parse(payload)\n if (await bw.getValid()) {\n results[0].push(bw)\n }\n } else {\n const payloadWrapper = PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper)\n }\n }\n }),\n )\n return results\n}\n"],"mappings":"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","names":["import_payload_wrapper","toBoundWitnessWithMeta","wrapper","bw","boundwitness","_hash","hashAsync","_timestamp","Date","now","toPayloadWithMeta","wrapper","payload","_hash","hashAsync","_timestamp","Date","now","toReturnValue","value","_signatures","PayloadWrapper","wrap","body","import_payload_wrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","body","undefined","getHandler","hashes","map","_hash","findOne","bws","boundWitnesses","gets","Promise","allSettled","flat","succeeded","reduce","fulfilledValues","filter","exists","toReturnValue","insertHandler","bw","p","validByType","payloadsWithMeta","all","x","toPayloadWithMeta","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","toBoundWitnessWithMeta","boundWitnessesResult","startHandler","ensureIndexes","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Archivist.ts","../../src/lib/toPayloadWithMongoMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts"],"sourcesContent":["export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n","import { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { AbstractArchivist } from '@xyo-network/archivist-abstract'\nimport { ArchivistConfigSchema, ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'\nimport { MongoDBArchivistConfigSchema } from '@xyo-network/archivist-model-mongodb'\nimport { MongoDBModuleMixin } from '@xyo-network/module-abstract-mongodb'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { toPayloadWithMongoMeta, toReturnValue, validByType } from './lib'\n\nconst MongoDBArchivistBase = MongoDBModuleMixin(AbstractArchivist)\n\nexport class MongoDBArchivist extends MongoDBArchivistBase {\n static override configSchemas = [MongoDBArchivistConfigSchema, ArchivistConfigSchema]\n\n override readonly queries: string[] = [ArchivistInsertQuerySchema, ...super.queries]\n\n override async head(): Promise<Payload | undefined> {\n const head = await (await this.payloads.find({})).sort({ _timestamp: -1 }).limit(1).toArray()\n return head[0] ? (await PayloadWrapper.wrap(head[0])).jsonPayload() : undefined\n }\n\n protected override async getHandler(hashes: string[]): Promise<Payload[]> {\n let remainingHashes = [...hashes]\n\n const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({ _$hash })))).filter(exists)\n const dataPayloadsHashes = dataPayloads.map((payload) => payload._$hash)\n remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.includes(hash))\n\n const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({ _$hash })))).filter(exists)\n const dataBwsHashes = dataBws.map((payload) => payload._$hash)\n remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.includes(hash))\n\n const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({ _hash })))).filter(exists)\n const payloadsHashes = payloads.map((payload) => payload._hash)\n remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.includes(hash))\n\n const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({ _hash })))).filter(exists)\n const bwsHashes = bws.map((payload) => payload._hash)\n remainingHashes = remainingHashes.filter((hash) => !bwsHashes.includes(hash))\n\n const foundPayloads = [...dataPayloads, ...dataBws, ...payloads, ...bws] as PayloadWithMongoMeta<Payload & { _$hash: Hash; _$meta?: unknown }>[]\n return foundPayloads.map(({ _$hash, _$meta, ...other }) => ({ $hash: _$hash, $meta: _$meta, ...other })).map(toReturnValue)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<Payload[]> {\n const [bw, p] = await validByType(payloads)\n const payloadsWithExternalMeta = await Promise.all(p.map((x) => toPayloadWithMongoMeta(x)))\n if (payloadsWithExternalMeta.length) {\n const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta)\n if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting Payloads')\n }\n const boundWitnessesWithExternalMeta = await Promise.all(bw.map((x) => toPayloadWithMongoMeta(x)))\n if (boundWitnessesWithExternalMeta.length) {\n const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta)\n if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)\n throw new Error('MongoDBDeterministicArchivist: Error inserting BoundWitnesses')\n }\n\n return [...boundWitnessesWithExternalMeta, ...payloadsWithExternalMeta]\n }\n\n protected override async startHandler() {\n await super.startHandler()\n await this.ensureIndexes()\n return true\n }\n}\n","import { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb'\n\nexport const toPayloadWithMongoMeta = async <T extends Payload>(payload: T): Promise<PayloadWithMongoMeta<T>> => {\n const built = await PayloadBuilder.build(payload)\n const _hash = await PayloadBuilder.hash(built)\n const { $hash, $meta, ...fields } = built\n return { ...fields, _$hash: $hash, _$meta: $meta, _hash, _timestamp: Date.now() } as PayloadWithMongoMeta<T>\n}\n","import { deepOmitPrefixedFields } from '@xyo-network/hash'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const toReturnValue = (value: Payload): Payload => {\n return deepOmitPrefixedFields(value, '_')\n}\n","import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { BoundWitness, isBoundWitness, isQueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nexport const validByType = async (payloads: Payload[] = []) => {\n const results: [BoundWitness[], Payload[]] = [[], []]\n await Promise.all(\n payloads.map(async (payload) => {\n if (isBoundWitness(payload)) {\n const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper\n const bw = await wrapper.parse(payload)\n if (await bw.getValid()) {\n results[0].push(bw.jsonPayload())\n } else {\n const errors = await bw.getErrors()\n console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`)\n }\n } else {\n const payloadWrapper = await PayloadWrapper.wrap(payload)\n if (await payloadWrapper.getValid()) {\n results[1].push(payloadWrapper.jsonPayload())\n }\n }\n return\n }),\n )\n return results\n}\n"],"mappings":"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","names":["import_payload_wrapper","toPayloadWithMongoMeta","payload","built","PayloadBuilder","build","_hash","hash","$hash","$meta","fields","_$hash","_$meta","_timestamp","Date","now","toReturnValue","value","deepOmitPrefixedFields","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","jsonPayload","errors","getErrors","console","log","JSON","stringify","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","queries","ArchivistInsertQuerySchema","head","payloads","find","sort","_timestamp","limit","toArray","PayloadWrapper","wrap","jsonPayload","undefined","getHandler","hashes","remainingHashes","dataPayloads","Promise","all","map","_$hash","findOne","filter","exists","dataPayloadsHashes","payload","hash","includes","dataBws","boundWitnesses","dataBwsHashes","_hash","payloadsHashes","bws","bwsHashes","foundPayloads","_$meta","other","$hash","$meta","toReturnValue","insertHandler","bw","p","validByType","payloadsWithExternalMeta","x","toPayloadWithMongoMeta","length","payloadsResult","insertMany","acknowledged","insertedCount","Error","boundWitnessesWithExternalMeta","boundWitnessesResult","startHandler","ensureIndexes","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema"]}
|