@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.
Files changed (100) hide show
  1. package/dist/browser/Archivist.d.cts +15 -26
  2. package/dist/browser/Archivist.d.cts.map +1 -1
  3. package/dist/browser/Archivist.d.mts +15 -26
  4. package/dist/browser/Archivist.d.mts.map +1 -1
  5. package/dist/browser/Archivist.d.ts +15 -26
  6. package/dist/browser/Archivist.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +68 -54
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.js +68 -54
  10. package/dist/browser/index.js.map +1 -1
  11. package/dist/browser/lib/index.d.cts +1 -2
  12. package/dist/browser/lib/index.d.cts.map +1 -1
  13. package/dist/browser/lib/index.d.mts +1 -2
  14. package/dist/browser/lib/index.d.mts.map +1 -1
  15. package/dist/browser/lib/index.d.ts +1 -2
  16. package/dist/browser/lib/index.d.ts.map +1 -1
  17. package/dist/browser/lib/toPayloadWithMongoMeta.d.cts +5 -0
  18. package/dist/browser/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
  19. package/dist/browser/lib/toPayloadWithMongoMeta.d.mts +5 -0
  20. package/dist/browser/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
  21. package/dist/browser/lib/toPayloadWithMongoMeta.d.ts +5 -0
  22. package/dist/browser/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
  23. package/dist/browser/lib/toReturnValue.d.cts +1 -2
  24. package/dist/browser/lib/toReturnValue.d.cts.map +1 -1
  25. package/dist/browser/lib/toReturnValue.d.mts +1 -2
  26. package/dist/browser/lib/toReturnValue.d.mts.map +1 -1
  27. package/dist/browser/lib/toReturnValue.d.ts +1 -2
  28. package/dist/browser/lib/toReturnValue.d.ts.map +1 -1
  29. package/dist/browser/lib/validByType.d.cts +3 -7
  30. package/dist/browser/lib/validByType.d.cts.map +1 -1
  31. package/dist/browser/lib/validByType.d.mts +3 -7
  32. package/dist/browser/lib/validByType.d.mts.map +1 -1
  33. package/dist/browser/lib/validByType.d.ts +3 -7
  34. package/dist/browser/lib/validByType.d.ts.map +1 -1
  35. package/dist/node/Archivist.d.cts +15 -26
  36. package/dist/node/Archivist.d.cts.map +1 -1
  37. package/dist/node/Archivist.d.mts +15 -26
  38. package/dist/node/Archivist.d.mts.map +1 -1
  39. package/dist/node/Archivist.d.ts +15 -26
  40. package/dist/node/Archivist.d.ts.map +1 -1
  41. package/dist/node/index.cjs +68 -54
  42. package/dist/node/index.cjs.map +1 -1
  43. package/dist/node/index.js +68 -54
  44. package/dist/node/index.js.map +1 -1
  45. package/dist/node/lib/index.d.cts +1 -2
  46. package/dist/node/lib/index.d.cts.map +1 -1
  47. package/dist/node/lib/index.d.mts +1 -2
  48. package/dist/node/lib/index.d.mts.map +1 -1
  49. package/dist/node/lib/index.d.ts +1 -2
  50. package/dist/node/lib/index.d.ts.map +1 -1
  51. package/dist/node/lib/toPayloadWithMongoMeta.d.cts +5 -0
  52. package/dist/node/lib/toPayloadWithMongoMeta.d.cts.map +1 -0
  53. package/dist/node/lib/toPayloadWithMongoMeta.d.mts +5 -0
  54. package/dist/node/lib/toPayloadWithMongoMeta.d.mts.map +1 -0
  55. package/dist/node/lib/toPayloadWithMongoMeta.d.ts +5 -0
  56. package/dist/node/lib/toPayloadWithMongoMeta.d.ts.map +1 -0
  57. package/dist/node/lib/toReturnValue.d.cts +1 -2
  58. package/dist/node/lib/toReturnValue.d.cts.map +1 -1
  59. package/dist/node/lib/toReturnValue.d.mts +1 -2
  60. package/dist/node/lib/toReturnValue.d.mts.map +1 -1
  61. package/dist/node/lib/toReturnValue.d.ts +1 -2
  62. package/dist/node/lib/toReturnValue.d.ts.map +1 -1
  63. package/dist/node/lib/validByType.d.cts +3 -7
  64. package/dist/node/lib/validByType.d.cts.map +1 -1
  65. package/dist/node/lib/validByType.d.mts +3 -7
  66. package/dist/node/lib/validByType.d.mts.map +1 -1
  67. package/dist/node/lib/validByType.d.ts +3 -7
  68. package/dist/node/lib/validByType.d.ts.map +1 -1
  69. package/package.json +26 -23
  70. package/src/Archivist.ts +35 -19
  71. package/src/lib/index.ts +1 -2
  72. package/src/lib/toPayloadWithMongoMeta.ts +10 -0
  73. package/src/lib/toReturnValue.ts +3 -9
  74. package/src/lib/validByType.ts +10 -6
  75. package/dist/browser/lib/toBoundWitnessWithMeta.d.cts +0 -5
  76. package/dist/browser/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
  77. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts +0 -5
  78. package/dist/browser/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
  79. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts +0 -5
  80. package/dist/browser/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
  81. package/dist/browser/lib/toPayloadWithMeta.d.cts +0 -4
  82. package/dist/browser/lib/toPayloadWithMeta.d.cts.map +0 -1
  83. package/dist/browser/lib/toPayloadWithMeta.d.mts +0 -4
  84. package/dist/browser/lib/toPayloadWithMeta.d.mts.map +0 -1
  85. package/dist/browser/lib/toPayloadWithMeta.d.ts +0 -4
  86. package/dist/browser/lib/toPayloadWithMeta.d.ts.map +0 -1
  87. package/dist/node/lib/toBoundWitnessWithMeta.d.cts +0 -5
  88. package/dist/node/lib/toBoundWitnessWithMeta.d.cts.map +0 -1
  89. package/dist/node/lib/toBoundWitnessWithMeta.d.mts +0 -5
  90. package/dist/node/lib/toBoundWitnessWithMeta.d.mts.map +0 -1
  91. package/dist/node/lib/toBoundWitnessWithMeta.d.ts +0 -5
  92. package/dist/node/lib/toBoundWitnessWithMeta.d.ts.map +0 -1
  93. package/dist/node/lib/toPayloadWithMeta.d.cts +0 -4
  94. package/dist/node/lib/toPayloadWithMeta.d.cts.map +0 -1
  95. package/dist/node/lib/toPayloadWithMeta.d.mts +0 -4
  96. package/dist/node/lib/toPayloadWithMeta.d.mts.map +0 -1
  97. package/dist/node/lib/toPayloadWithMeta.d.ts +0 -4
  98. package/dist/node/lib/toPayloadWithMeta.d.ts.map +0 -1
  99. package/src/lib/toBoundWitnessWithMeta.ts +0 -9
  100. package/src/lib/toPayloadWithMeta.ts +0 -6
@@ -3,53 +3,38 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/Archivist.ts
5
5
  import { exists } from "@xylabs/exists";
6
- import { fulfilledValues } from "@xylabs/promise";
7
6
  import { AbstractArchivist } from "@xyo-network/archivist-abstract";
8
7
  import { ArchivistConfigSchema, ArchivistInsertQuerySchema } from "@xyo-network/archivist-model";
9
8
  import { MongoDBArchivistConfigSchema } from "@xyo-network/archivist-model-mongodb";
10
9
  import { MongoDBModuleMixin } from "@xyo-network/module-abstract-mongodb";
11
- import { PayloadWrapper as PayloadWrapper3 } from "@xyo-network/payload-wrapper";
12
-
13
- // src/lib/toBoundWitnessWithMeta.ts
14
- var toBoundWitnessWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
15
- const bw = wrapper.boundwitness;
16
- return {
17
- ...bw,
18
- _hash: await wrapper.hashAsync(),
19
- _timestamp: Date.now()
20
- };
21
- }, "toBoundWitnessWithMeta");
10
+ import { PayloadWrapper as PayloadWrapper2 } from "@xyo-network/payload-wrapper";
22
11
 
23
- // src/lib/toPayloadWithMeta.ts
24
- var toPayloadWithMeta = /* @__PURE__ */ __name(async (wrapper) => {
12
+ // src/lib/toPayloadWithMongoMeta.ts
13
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
14
+ var toPayloadWithMongoMeta = /* @__PURE__ */ __name(async (payload) => {
15
+ const built = await PayloadBuilder.build(payload);
16
+ const _hash = await PayloadBuilder.hash(built);
17
+ const { $hash, $meta, ...fields } = built;
25
18
  return {
26
- ...wrapper.payload(),
27
- _hash: await wrapper.hashAsync(),
19
+ ...fields,
20
+ _$hash: $hash,
21
+ _$meta: $meta,
22
+ _hash,
28
23
  _timestamp: Date.now()
29
24
  };
30
- }, "toPayloadWithMeta");
25
+ }, "toPayloadWithMongoMeta");
31
26
 
32
27
  // src/lib/toReturnValue.ts
33
- import { PayloadWrapper } from "@xyo-network/payload-wrapper";
28
+ import { deepOmitPrefixedFields } from "@xyo-network/hash";
34
29
  var toReturnValue = /* @__PURE__ */ __name((value) => {
35
- const _signatures = value?._signatures;
36
- if (_signatures) {
37
- return {
38
- ...PayloadWrapper.wrap(value).body(),
39
- _signatures
40
- };
41
- } else {
42
- return {
43
- ...PayloadWrapper.wrap(value).body()
44
- };
45
- }
30
+ return deepOmitPrefixedFields(value, "_");
46
31
  }, "toReturnValue");
47
32
 
48
33
  // src/lib/validByType.ts
49
34
  import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
50
35
  import { isBoundWitness, isQueryBoundWitness } from "@xyo-network/boundwitness-model";
51
36
  import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
52
- import { PayloadWrapper as PayloadWrapper2 } from "@xyo-network/payload-wrapper";
37
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
53
38
  var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
54
39
  const results = [
55
40
  [],
@@ -58,16 +43,20 @@ var validByType = /* @__PURE__ */ __name(async (payloads = []) => {
58
43
  await Promise.all(payloads.map(async (payload) => {
59
44
  if (isBoundWitness(payload)) {
60
45
  const wrapper = isQueryBoundWitness(payload) ? QueryBoundWitnessWrapper : BoundWitnessWrapper;
61
- const bw = wrapper.parse(payload);
46
+ const bw = await wrapper.parse(payload);
62
47
  if (await bw.getValid()) {
63
- results[0].push(bw);
48
+ results[0].push(bw.jsonPayload());
49
+ } else {
50
+ const errors = await bw.getErrors();
51
+ console.log(`validByType.Error: ${JSON.stringify(errors, null, 2)}`);
64
52
  }
65
53
  } else {
66
- const payloadWrapper = PayloadWrapper2.wrap(payload);
54
+ const payloadWrapper = await PayloadWrapper.wrap(payload);
67
55
  if (await payloadWrapper.getValid()) {
68
- results[1].push(payloadWrapper);
56
+ results[1].push(payloadWrapper.jsonPayload());
69
57
  }
70
58
  }
59
+ return;
71
60
  }));
72
61
  return results;
73
62
  }, "validByType");
@@ -90,37 +79,62 @@ var MongoDBArchivist = class extends MongoDBArchivistBase {
90
79
  const head = await (await this.payloads.find({})).sort({
91
80
  _timestamp: -1
92
81
  }).limit(1).toArray();
93
- return head[0] ? PayloadWrapper3.wrap(head[0]).body() : void 0;
82
+ return head[0] ? (await PayloadWrapper2.wrap(head[0])).jsonPayload() : void 0;
94
83
  }
95
84
  async getHandler(hashes) {
96
- const payloads = hashes.map((_hash) => this.payloads.findOne({
85
+ let remainingHashes = [
86
+ ...hashes
87
+ ];
88
+ const dataPayloads = (await Promise.all(remainingHashes.map((_$hash) => this.payloads.findOne({
89
+ _$hash
90
+ })))).filter(exists);
91
+ const dataPayloadsHashes = dataPayloads.map((payload) => payload._$hash);
92
+ remainingHashes = remainingHashes.filter((hash) => !dataPayloadsHashes.includes(hash));
93
+ const dataBws = (await Promise.all(remainingHashes.map((_$hash) => this.boundWitnesses.findOne({
94
+ _$hash
95
+ })))).filter(exists);
96
+ const dataBwsHashes = dataBws.map((payload) => payload._$hash);
97
+ remainingHashes = remainingHashes.filter((hash) => !dataBwsHashes.includes(hash));
98
+ const payloads = (await Promise.all(remainingHashes.map((_hash) => this.payloads.findOne({
97
99
  _hash
98
- }));
99
- const bws = hashes.map((_hash) => this.boundWitnesses.findOne({
100
+ })))).filter(exists);
101
+ const payloadsHashes = payloads.map((payload) => payload._hash);
102
+ remainingHashes = remainingHashes.filter((hash) => !payloadsHashes.includes(hash));
103
+ const bws = (await Promise.all(remainingHashes.map((_hash) => this.boundWitnesses.findOne({
100
104
  _hash
101
- }));
102
- const gets = await Promise.allSettled([
103
- payloads,
104
- bws
105
- ].flat());
106
- const succeeded = gets.reduce(fulfilledValues, []);
107
- return succeeded.filter(exists).map(toReturnValue);
105
+ })))).filter(exists);
106
+ const bwsHashes = bws.map((payload) => payload._hash);
107
+ remainingHashes = remainingHashes.filter((hash) => !bwsHashes.includes(hash));
108
+ const foundPayloads = [
109
+ ...dataPayloads,
110
+ ...dataBws,
111
+ ...payloads,
112
+ ...bws
113
+ ];
114
+ return foundPayloads.map(({ _$hash, _$meta, ...other }) => ({
115
+ $hash: _$hash,
116
+ $meta: _$meta,
117
+ ...other
118
+ })).map(toReturnValue);
108
119
  }
109
120
  async insertHandler(payloads) {
110
121
  const [bw, p] = await validByType(payloads);
111
- const payloadsWithMeta = await Promise.all(p.map((x) => toPayloadWithMeta(x)));
112
- if (payloadsWithMeta.length) {
113
- const payloadsResult = await this.payloads.insertMany(payloadsWithMeta);
114
- if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithMeta.length)
122
+ const payloadsWithExternalMeta = await Promise.all(p.map((x) => toPayloadWithMongoMeta(x)));
123
+ if (payloadsWithExternalMeta.length) {
124
+ const payloadsResult = await this.payloads.insertMany(payloadsWithExternalMeta);
125
+ if (!payloadsResult.acknowledged || payloadsResult.insertedCount !== payloadsWithExternalMeta.length)
115
126
  throw new Error("MongoDBDeterministicArchivist: Error inserting Payloads");
116
127
  }
117
- const boundWitnesses = await Promise.all(bw.map((x) => toBoundWitnessWithMeta(x)));
118
- if (boundWitnesses.length) {
119
- const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnesses);
120
- if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnesses.length)
128
+ const boundWitnessesWithExternalMeta = await Promise.all(bw.map((x) => toPayloadWithMongoMeta(x)));
129
+ if (boundWitnessesWithExternalMeta.length) {
130
+ const boundWitnessesResult = await this.boundWitnesses.insertMany(boundWitnessesWithExternalMeta);
131
+ if (!boundWitnessesResult.acknowledged || boundWitnessesResult.insertedCount !== boundWitnessesWithExternalMeta.length)
121
132
  throw new Error("MongoDBDeterministicArchivist: Error inserting BoundWitnesses");
122
133
  }
123
- return payloads ?? [];
134
+ return [
135
+ ...boundWitnessesWithExternalMeta,
136
+ ...payloadsWithExternalMeta
137
+ ];
124
138
  }
125
139
  async startHandler() {
126
140
  await super.startHandler();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Archivist.ts","../../src/lib/toBoundWitnessWithMeta.ts","../../src/lib/toPayloadWithMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts","../../src/index.ts"],"sourcesContent":["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","export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n"],"mappings":"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","names":["exists","fulfilledValues","AbstractArchivist","ArchivistConfigSchema","ArchivistInsertQuerySchema","MongoDBArchivistConfigSchema","MongoDBModuleMixin","PayloadWrapper","toBoundWitnessWithMeta","wrapper","bw","boundwitness","_hash","hashAsync","_timestamp","Date","now","toPayloadWithMeta","wrapper","payload","_hash","hashAsync","_timestamp","Date","now","PayloadWrapper","toReturnValue","value","_signatures","PayloadWrapper","wrap","body","QueryBoundWitnessWrapper","isBoundWitness","isQueryBoundWitness","BoundWitnessWrapper","PayloadWrapper","validByType","payloads","results","Promise","all","map","payload","isBoundWitness","wrapper","isQueryBoundWitness","QueryBoundWitnessWrapper","BoundWitnessWrapper","bw","parse","getValid","push","payloadWrapper","PayloadWrapper","wrap","MongoDBArchivistBase","MongoDBModuleMixin","AbstractArchivist","MongoDBArchivist","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema","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"]}
1
+ {"version":3,"sources":["../../src/Archivist.ts","../../src/lib/toPayloadWithMongoMeta.ts","../../src/lib/toReturnValue.ts","../../src/lib/validByType.ts","../../src/index.ts"],"sourcesContent":["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","export * from './Archivist'\nexport * from '@xyo-network/archivist-model-mongodb'\n"],"mappings":"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","names":["exists","AbstractArchivist","ArchivistConfigSchema","ArchivistInsertQuerySchema","MongoDBArchivistConfigSchema","MongoDBModuleMixin","PayloadWrapper","PayloadBuilder","toPayloadWithMongoMeta","payload","built","PayloadBuilder","build","_hash","hash","$hash","$meta","fields","_$hash","_$meta","_timestamp","Date","now","deepOmitPrefixedFields","toReturnValue","value","deepOmitPrefixedFields","QueryBoundWitnessWrapper","isBoundWitness","isQueryBoundWitness","BoundWitnessWrapper","PayloadWrapper","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","configSchemas","MongoDBArchivistConfigSchema","ArchivistConfigSchema","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"]}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -1,5 +1,4 @@
1
- export * from './toBoundWitnessWithMeta';
2
- export * from './toPayloadWithMeta';
1
+ export * from './toPayloadWithMongoMeta';
3
2
  export * from './toReturnValue';
4
3
  export * from './validByType';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { PayloadWithMongoMeta } from '@xyo-network/payload-mongodb';
2
+ export declare const toPayloadWithMongoMeta: <T extends {
3
+ schema: string;
4
+ } & object>(payload: T) => Promise<PayloadWithMongoMeta<T>>;
5
+ //# sourceMappingURL=toPayloadWithMongoMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPayloadWithMongoMeta.d.ts","sourceRoot":"","sources":["../../../src/lib/toPayloadWithMongoMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,eAAO,MAAM,sBAAsB;;2DAKlC,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,4 +1,3 @@
1
- import { BoundWitness } from '@xyo-network/boundwitness-model';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- export declare const toReturnValue: (value: Payload | BoundWitness) => Payload;
2
+ export declare const toReturnValue: (value: Payload) => Payload;
4
3
  //# sourceMappingURL=toReturnValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,aAAa,UAAW,OAAO,GAAG,YAAY,KAAG,OAO7D,CAAA"}
1
+ {"version":3,"file":"toReturnValue.d.ts","sourceRoot":"","sources":["../../../src/lib/toReturnValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAE9C,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- } & object>[], PayloadWrapper<{
9
- schema: string;
10
- } & object>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;eAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- } & object>[], PayloadWrapper<{
9
- schema: string;
10
- } & object>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;eAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
@@ -1,11 +1,7 @@
1
- import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
2
1
  import { Payload } from '@xyo-network/payload-model';
3
- import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
- export declare const validByType: (payloads?: Payload[]) => Promise<[BoundWitnessWrapper<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
2
+ export declare const validByType: (payloads?: Payload[]) => Promise<[(import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
3
  schema: "network.xyo.boundwitness";
6
- }, {
4
+ })[], ({
7
5
  schema: string;
8
- } & object>[], PayloadWrapper<{
9
- schema: string;
10
- } & object>[]]>;
6
+ } & object)[]]>;
11
7
  //# sourceMappingURL=validByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;;;eAmBpD,CAAA"}
1
+ {"version":3,"file":"validByType.d.ts","sourceRoot":"","sources":["../../../src/lib/validByType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,eAAO,MAAM,WAAW,cAAoB,OAAO,EAAE;;;;eAuBpD,CAAA"}
@@ -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-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
- _payloads?: (import("@xyo-network/payload-model").SchemaFields & object & Partial<import("@xyo-network/payload-mongodb").PayloadMetaBase> & {
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-model").SchemaFields & object & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
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<import("@xyo-network/payload-model").SchemaFields & object & import("@xyo-network/payload-mongodb").PayloadMetaBase & {
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("@xyo-network/object").BaseParamsFields & {
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?: Payload[]): Promise<Payload[]>;
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;AAMpD,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;cAQhD,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAiBvD,YAAY;CAKtC"}
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"}