@xyo-network/api 2.22.3 → 2.22.6
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/cjs/Archivist/Account/Api.d.ts +2 -2
- package/dist/cjs/Archivist/Api.d.ts +2 -2
- package/dist/cjs/Archivist/Archive/Settings/Key/Api.d.ts +1 -1
- package/dist/cjs/Archivist/Payload/Schema/Api.d.ts +1 -1
- package/dist/cjs/Archivist/XyoApiArchivist.d.ts +5 -5
- package/dist/cjs/Archivist/XyoApiArchivist.js +24 -5
- package/dist/cjs/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/cjs/Archivist/XyoRemoteArchivist.d.ts +12 -0
- package/dist/cjs/Archivist/XyoRemoteArchivist.js +54 -0
- package/dist/cjs/Archivist/XyoRemoteArchivist.js.map +1 -0
- package/dist/cjs/Archivist/index.d.ts +1 -1
- package/dist/cjs/Archivist/index.js +1 -1
- package/dist/cjs/Archivist/index.js.map +1 -1
- package/dist/cjs/Simple.d.ts +3 -2
- package/dist/cjs/Simple.js.map +1 -1
- package/dist/cjs/User/Api.d.ts +2 -2
- package/dist/esm/Archivist/Account/Api.d.ts +2 -2
- package/dist/esm/Archivist/Api.d.ts +2 -2
- package/dist/esm/Archivist/Archive/Settings/Key/Api.d.ts +1 -1
- package/dist/esm/Archivist/Payload/Schema/Api.d.ts +1 -1
- package/dist/esm/Archivist/XyoApiArchivist.d.ts +5 -5
- package/dist/esm/Archivist/XyoApiArchivist.js +25 -5
- package/dist/esm/Archivist/XyoApiArchivist.js.map +1 -1
- package/dist/esm/Archivist/XyoRemoteArchivist.d.ts +12 -0
- package/dist/esm/Archivist/XyoRemoteArchivist.js +42 -0
- package/dist/esm/Archivist/XyoRemoteArchivist.js.map +1 -0
- package/dist/esm/Archivist/index.d.ts +1 -1
- package/dist/esm/Archivist/index.js +1 -1
- package/dist/esm/Archivist/index.js.map +1 -1
- package/dist/esm/Simple.d.ts +3 -2
- package/dist/esm/Simple.js.map +1 -1
- package/dist/esm/User/Api.d.ts +2 -2
- package/package.json +7 -7
- package/src/Archivist/Api.spec.ts +1 -1
- package/src/Archivist/ApiUtil.spec.ts +1 -2
- package/src/Archivist/Payload/Api.spec.ts +2 -2
- package/src/Archivist/XyoRemoteArchivist.ts +51 -0
- package/src/Archivist/index.ts +1 -1
- package/src/Simple.ts +3 -2
- package/src/Archivist/XyoApiArchivist.ts +0 -31
|
@@ -13,6 +13,6 @@ export interface XyoAccountVerify {
|
|
|
13
13
|
token?: string;
|
|
14
14
|
}
|
|
15
15
|
export declare class XyoAccountApi extends XyoApiBase {
|
|
16
|
-
get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge,
|
|
17
|
-
get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify,
|
|
16
|
+
get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../models/Api/Config").XyoApiConfig>;
|
|
17
|
+
get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../models/Api/Config").XyoApiConfig>;
|
|
18
18
|
}
|
|
@@ -13,14 +13,14 @@ export declare class XyoArchivistApi extends XyoApiBase {
|
|
|
13
13
|
private _archives?;
|
|
14
14
|
get archives(): XyoArchivistArchivesApi;
|
|
15
15
|
private _stats?;
|
|
16
|
-
get stats(): XyoApiSimple<unknown[], unknown[],
|
|
16
|
+
get stats(): XyoApiSimple<unknown[], unknown[], import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
17
17
|
private _user?;
|
|
18
18
|
get user(): XyoUserApi;
|
|
19
19
|
archive(archive?: string): XyoArchivistArchiveApi;
|
|
20
20
|
/** @deprecated use account instead */
|
|
21
21
|
wallet(address: XyoDataLike): XyoAccountApi;
|
|
22
22
|
account(address: XyoDataLike): XyoAccountApi;
|
|
23
|
-
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase,
|
|
23
|
+
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
24
24
|
/**
|
|
25
25
|
* Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
|
|
26
26
|
* @param archive Optional, the archive to issue the requests against
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XyoArchiveKey } from '../../../../models';
|
|
2
2
|
import { XyoApiSimple } from '../../../../Simple';
|
|
3
3
|
export declare class XyoArchivistArchiveSettingsKeyApi extends XyoApiSimple<XyoArchiveKey[]> {
|
|
4
|
-
key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey,
|
|
4
|
+
key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../../../models/Api/Config").XyoApiConfig>;
|
|
5
5
|
}
|
|
@@ -4,5 +4,5 @@ export interface XyoArchivistArchivePayloadSchemaStats {
|
|
|
4
4
|
}
|
|
5
5
|
export declare class XyoArchivistArchivePayloadSchemaApi extends XyoApiSimple<string[]> {
|
|
6
6
|
private _stats?;
|
|
7
|
-
get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats,
|
|
7
|
+
get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../../models/Api/Config").XyoApiConfig>;
|
|
8
8
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
-
import { XyoArchivist,
|
|
3
|
-
import {
|
|
2
|
+
import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
4
|
import { XyoArchivistApi } from './Api';
|
|
5
|
-
export declare class XyoApiArchivist extends
|
|
5
|
+
export declare class XyoApiArchivist extends XyoArchivistBase {
|
|
6
6
|
protected api: XyoArchivistApi;
|
|
7
7
|
protected archive: string;
|
|
8
8
|
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
|
-
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase
|
|
10
|
-
insert(
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
|
|
10
|
+
insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
|
|
11
11
|
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
12
12
|
}
|
|
@@ -4,7 +4,8 @@ exports.XyoApiArchivist = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
6
|
const archivist_1 = require("@xyo-network/archivist");
|
|
7
|
-
|
|
7
|
+
const payload_1 = require("@xyo-network/payload");
|
|
8
|
+
class XyoApiArchivist extends archivist_1.XyoArchivistBase {
|
|
8
9
|
constructor(api, archive, parent, account) {
|
|
9
10
|
super(parent, account);
|
|
10
11
|
this.api = api;
|
|
@@ -13,13 +14,31 @@ class XyoApiArchivist extends archivist_1.XyoBoundWitnessArchivist {
|
|
|
13
14
|
get(hash) {
|
|
14
15
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
16
|
const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
16
|
-
return payloads;
|
|
17
|
+
return payloads === null || payloads === void 0 ? void 0 : payloads.pop();
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
|
-
insert(
|
|
20
|
-
var _a, _b;
|
|
20
|
+
insert(payloads) {
|
|
21
21
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
|
|
22
|
+
const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
|
|
23
|
+
boundwitnesses.forEach((boundwitness) => {
|
|
24
|
+
boundwitness._payloads ===
|
|
25
|
+
payloads.filter((payload) => {
|
|
26
|
+
const hash = new payload_1.XyoPayloadWrapper(payload).hash;
|
|
27
|
+
return boundwitness.payload_hashes.includes(hash);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
payloads.forEach((payload) => {
|
|
31
|
+
let found = false;
|
|
32
|
+
const hash = new payload_1.XyoPayloadWrapper(payload).hash;
|
|
33
|
+
boundwitnesses.forEach((boundwitnesses) => {
|
|
34
|
+
if (boundwitnesses.payload_hashes.includes(hash)) {
|
|
35
|
+
found = true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
(0, sdk_js_1.assertEx)(found, 'Payload not in Boundwitness received');
|
|
39
|
+
});
|
|
40
|
+
yield this.api.archive(this.archive).block.post(boundwitnesses);
|
|
41
|
+
return payloads;
|
|
23
42
|
});
|
|
24
43
|
}
|
|
25
44
|
find(filter) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,sDAA6F;AAE7F,kDAAoE;AAIpE,MAAa,eAAgB,SAAQ,4BAAgB;IAGnD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAE,CAAA;QACxB,CAAC;KAAA;IAEY,MAAM,CAAC,QAAsB;;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;YACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACtC,YAAY,CAAC,SAAS;oBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC1B,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;wBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACnD,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;gBAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAChD,KAAK,GAAG,IAAI,CAAA;qBACb;gBACH,CAAC,CAAC,CAAA;gBACF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AA1CD,0CA0CC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
|
+
import { XyoArchivistApi } from './Api';
|
|
5
|
+
export declare class XyoRemoteArchivist extends XyoArchivistBase {
|
|
6
|
+
protected api: XyoArchivistApi;
|
|
7
|
+
protected archive: string;
|
|
8
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
|
|
10
|
+
insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
|
|
11
|
+
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoRemoteArchivist = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sdk_js_1 = require("@xylabs/sdk-js");
|
|
6
|
+
const archivist_1 = require("@xyo-network/archivist");
|
|
7
|
+
const payload_1 = require("@xyo-network/payload");
|
|
8
|
+
class XyoRemoteArchivist extends archivist_1.XyoArchivistBase {
|
|
9
|
+
constructor(api, archive, parent, account) {
|
|
10
|
+
super(parent, account);
|
|
11
|
+
this.api = api;
|
|
12
|
+
this.archive = archive;
|
|
13
|
+
}
|
|
14
|
+
get(hash) {
|
|
15
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
17
|
+
return payloads === null || payloads === void 0 ? void 0 : payloads.pop();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
insert(payloads) {
|
|
21
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
|
|
23
|
+
boundwitnesses.forEach((boundwitness) => {
|
|
24
|
+
boundwitness._payloads ===
|
|
25
|
+
payloads.filter((payload) => {
|
|
26
|
+
const hash = new payload_1.XyoPayloadWrapper(payload).hash;
|
|
27
|
+
return boundwitness.payload_hashes.includes(hash);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
payloads.forEach((payload) => {
|
|
31
|
+
let found = false;
|
|
32
|
+
const hash = new payload_1.XyoPayloadWrapper(payload).hash;
|
|
33
|
+
boundwitnesses.forEach((boundwitnesses) => {
|
|
34
|
+
if (boundwitnesses.payload_hashes.includes(hash)) {
|
|
35
|
+
found = true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
(0, sdk_js_1.assertEx)(found, 'Payload not in Boundwitness received');
|
|
39
|
+
});
|
|
40
|
+
yield this.api.archive(this.archive).block.post(boundwitnesses);
|
|
41
|
+
return payloads;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
find(filter) {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const [payloads = []] = (_a = (yield this.api.archive(this.archive).payload.find(filter, 'tuple'))) !== null && _a !== void 0 ? _a : [];
|
|
48
|
+
const [blocks = []] = (_b = (yield this.api.archive(this.archive).block.find(filter, 'tuple'))) !== null && _b !== void 0 ? _b : [];
|
|
49
|
+
return payloads.concat(blocks);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.XyoRemoteArchivist = XyoRemoteArchivist;
|
|
54
|
+
//# sourceMappingURL=XyoRemoteArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoRemoteArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoRemoteArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,sDAA6F;AAE7F,kDAAoE;AAIpE,MAAa,kBAAmB,SAAQ,4BAAgB;IAGtD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAE,CAAA;QACxB,CAAC;KAAA;IAEY,MAAM,CAAC,QAAsB;;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;YACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACtC,YAAY,CAAC,SAAS;oBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC1B,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;wBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACnD,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;gBAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAChD,KAAK,GAAG,IAAI,CAAA;qBACb;gBACH,CAAC,CAAC,CAAA;gBACF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AA1CD,gDA0CC"}
|
|
@@ -7,5 +7,5 @@ tslib_1.__exportStar(require("./Archive"), exports);
|
|
|
7
7
|
tslib_1.__exportStar(require("./Archives"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./Block"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./Payload"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./
|
|
10
|
+
tslib_1.__exportStar(require("./XyoRemoteArchivist"), exports);
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,+DAAoC"}
|
package/dist/cjs/Simple.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
1
2
|
import { XyoPayload } from '@xyo-network/payload';
|
|
2
3
|
import { XyoApiBase } from './Base';
|
|
3
4
|
import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple } from './models';
|
|
4
|
-
export declare type XyoApiSimpleQuery =
|
|
5
|
-
export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery =
|
|
5
|
+
export declare type XyoApiSimpleQuery = XyoPayloadFindFilter;
|
|
6
|
+
export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
|
|
6
7
|
get(): Promise<XyoApiResponseBody<T>>;
|
|
7
8
|
get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>;
|
|
8
9
|
get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>;
|
package/dist/cjs/Simple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":";;;;AAGA,iCAAmC;AAEnC,6CAAyC;AAIzC,MAAa,YAA4H,SAAQ,iBAAa;IAI/I,GAAG,CAAC,YAAiC;;YAChD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACnD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;aAC3C;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;;YAC7D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC3D;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,IAAQ,EAAE,YAAiC;;YAC3D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC1D;oBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aAClD;QACH,CAAC;KAAA;IAKY,GAAG,CAAC,IAAQ,EAAE,YAAiC;;YAC1D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBACzD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aACjD;QACH,CAAC;KAAA;IAKY,MAAM,CAAC,YAAiC;;YACnD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACtD;oBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;aAC9C;QACH,CAAC;KAAA;CACF;AA5DD,oCA4DC"}
|
package/dist/cjs/User/Api.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export interface XyoUserLogin {
|
|
|
11
11
|
export declare class XyoUserApi extends XyoApiBase {
|
|
12
12
|
get authenticated(): boolean;
|
|
13
13
|
get headers(): Record<string, string>;
|
|
14
|
-
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin,
|
|
15
|
-
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase,
|
|
14
|
+
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
15
|
+
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/archivist").XyoPayloadFindFilter, {
|
|
16
16
|
root: string;
|
|
17
17
|
apiDomain: string; /** @field Password of the user [in] */
|
|
18
18
|
userid?: string | undefined;
|
|
@@ -13,6 +13,6 @@ export interface XyoAccountVerify {
|
|
|
13
13
|
token?: string;
|
|
14
14
|
}
|
|
15
15
|
export declare class XyoAccountApi extends XyoApiBase {
|
|
16
|
-
get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge,
|
|
17
|
-
get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify,
|
|
16
|
+
get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../models/Api/Config").XyoApiConfig>;
|
|
17
|
+
get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../models/Api/Config").XyoApiConfig>;
|
|
18
18
|
}
|
|
@@ -13,14 +13,14 @@ export declare class XyoArchivistApi extends XyoApiBase {
|
|
|
13
13
|
private _archives?;
|
|
14
14
|
get archives(): XyoArchivistArchivesApi;
|
|
15
15
|
private _stats?;
|
|
16
|
-
get stats(): XyoApiSimple<unknown[], unknown[],
|
|
16
|
+
get stats(): XyoApiSimple<unknown[], unknown[], import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
17
17
|
private _user?;
|
|
18
18
|
get user(): XyoUserApi;
|
|
19
19
|
archive(archive?: string): XyoArchivistArchiveApi;
|
|
20
20
|
/** @deprecated use account instead */
|
|
21
21
|
wallet(address: XyoDataLike): XyoAccountApi;
|
|
22
22
|
account(address: XyoDataLike): XyoAccountApi;
|
|
23
|
-
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase,
|
|
23
|
+
huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
24
24
|
/**
|
|
25
25
|
* Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
|
|
26
26
|
* @param archive Optional, the archive to issue the requests against
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XyoArchiveKey } from '../../../../models';
|
|
2
2
|
import { XyoApiSimple } from '../../../../Simple';
|
|
3
3
|
export declare class XyoArchivistArchiveSettingsKeyApi extends XyoApiSimple<XyoArchiveKey[]> {
|
|
4
|
-
key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey,
|
|
4
|
+
key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../../../models/Api/Config").XyoApiConfig>;
|
|
5
5
|
}
|
|
@@ -4,5 +4,5 @@ export interface XyoArchivistArchivePayloadSchemaStats {
|
|
|
4
4
|
}
|
|
5
5
|
export declare class XyoArchivistArchivePayloadSchemaApi extends XyoApiSimple<string[]> {
|
|
6
6
|
private _stats?;
|
|
7
|
-
get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats,
|
|
7
|
+
get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../../../models/Api/Config").XyoApiConfig>;
|
|
8
8
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
-
import { XyoArchivist,
|
|
3
|
-
import {
|
|
2
|
+
import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
4
|
import { XyoArchivistApi } from './Api';
|
|
5
|
-
export declare class XyoApiArchivist extends
|
|
5
|
+
export declare class XyoApiArchivist extends XyoArchivistBase {
|
|
6
6
|
protected api: XyoArchivistApi;
|
|
7
7
|
protected archive: string;
|
|
8
8
|
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
|
-
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase
|
|
10
|
-
insert(
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
|
|
10
|
+
insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
|
|
11
11
|
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
12
12
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { XyoArchivistBase } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayloadWrapper } from '@xyo-network/payload';
|
|
4
|
+
export class XyoApiArchivist extends XyoArchivistBase {
|
|
4
5
|
constructor(api, archive, parent, account) {
|
|
5
6
|
super(parent, account);
|
|
6
7
|
this.api = api;
|
|
@@ -8,10 +9,29 @@ export class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
|
8
9
|
}
|
|
9
10
|
async get(hash) {
|
|
10
11
|
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
11
|
-
return payloads;
|
|
12
|
+
return payloads?.pop();
|
|
12
13
|
}
|
|
13
|
-
async insert(
|
|
14
|
-
|
|
14
|
+
async insert(payloads) {
|
|
15
|
+
const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
|
|
16
|
+
boundwitnesses.forEach((boundwitness) => {
|
|
17
|
+
boundwitness._payloads ===
|
|
18
|
+
payloads.filter((payload) => {
|
|
19
|
+
const hash = new XyoPayloadWrapper(payload).hash;
|
|
20
|
+
return boundwitness.payload_hashes.includes(hash);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
payloads.forEach((payload) => {
|
|
24
|
+
let found = false;
|
|
25
|
+
const hash = new XyoPayloadWrapper(payload).hash;
|
|
26
|
+
boundwitnesses.forEach((boundwitnesses) => {
|
|
27
|
+
if (boundwitnesses.payload_hashes.includes(hash)) {
|
|
28
|
+
found = true;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
assertEx(found, 'Payload not in Boundwitness received');
|
|
32
|
+
});
|
|
33
|
+
await this.api.archive(this.archive).block.post(boundwitnesses);
|
|
34
|
+
return payloads;
|
|
15
35
|
}
|
|
16
36
|
async find(filter) {
|
|
17
37
|
const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,
|
|
1
|
+
{"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,gBAAgB,EAAwB,MAAM,wBAAwB,CAAA;AAE7F,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIpE,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAGnD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;QACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACtC,YAAY,CAAC,SAAS;gBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC1B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;oBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;YAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAChD,KAAK,GAAG,IAAI,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
|
+
import { XyoArchivistApi } from './Api';
|
|
5
|
+
export declare class XyoRemoteArchivist extends XyoArchivistBase {
|
|
6
|
+
protected api: XyoArchivistApi;
|
|
7
|
+
protected archive: string;
|
|
8
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
|
|
9
|
+
get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
|
|
10
|
+
insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
|
|
11
|
+
find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoArchivistBase } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoPayloadWrapper } from '@xyo-network/payload';
|
|
4
|
+
export class XyoRemoteArchivist extends XyoArchivistBase {
|
|
5
|
+
constructor(api, archive, parent, account) {
|
|
6
|
+
super(parent, account);
|
|
7
|
+
this.api = api;
|
|
8
|
+
this.archive = archive;
|
|
9
|
+
}
|
|
10
|
+
async get(hash) {
|
|
11
|
+
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
|
|
12
|
+
return payloads?.pop();
|
|
13
|
+
}
|
|
14
|
+
async insert(payloads) {
|
|
15
|
+
const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
|
|
16
|
+
boundwitnesses.forEach((boundwitness) => {
|
|
17
|
+
boundwitness._payloads ===
|
|
18
|
+
payloads.filter((payload) => {
|
|
19
|
+
const hash = new XyoPayloadWrapper(payload).hash;
|
|
20
|
+
return boundwitness.payload_hashes.includes(hash);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
payloads.forEach((payload) => {
|
|
24
|
+
let found = false;
|
|
25
|
+
const hash = new XyoPayloadWrapper(payload).hash;
|
|
26
|
+
boundwitnesses.forEach((boundwitnesses) => {
|
|
27
|
+
if (boundwitnesses.payload_hashes.includes(hash)) {
|
|
28
|
+
found = true;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
assertEx(found, 'Payload not in Boundwitness received');
|
|
32
|
+
});
|
|
33
|
+
await this.api.archive(this.archive).block.post(boundwitnesses);
|
|
34
|
+
return payloads;
|
|
35
|
+
}
|
|
36
|
+
async find(filter) {
|
|
37
|
+
const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? [];
|
|
38
|
+
const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? [];
|
|
39
|
+
return payloads.concat(blocks);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=XyoRemoteArchivist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoRemoteArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoRemoteArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,gBAAgB,EAAwB,MAAM,wBAAwB,CAAA;AAE7F,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIpE,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAGtD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;QACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACtC,YAAY,CAAC,SAAS;gBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC1B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;oBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;YAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAChD,KAAK,GAAG,IAAI,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA"}
|
package/dist/esm/Simple.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist';
|
|
1
2
|
import { XyoPayload } from '@xyo-network/payload';
|
|
2
3
|
import { XyoApiBase } from './Base';
|
|
3
4
|
import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple } from './models';
|
|
4
|
-
export declare type XyoApiSimpleQuery =
|
|
5
|
-
export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery =
|
|
5
|
+
export declare type XyoApiSimpleQuery = XyoPayloadFindFilter;
|
|
6
|
+
export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
|
|
6
7
|
get(): Promise<XyoApiResponseBody<T>>;
|
|
7
8
|
get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>;
|
|
8
9
|
get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>;
|
package/dist/esm/Simple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAIzC,MAAM,OAAO,YAA4H,SAAQ,UAAa;IAIrJ,KAAK,CAAC,GAAG,CAAC,YAAiC;QAChD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACnD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;SAC3C;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;QAC7D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAC3D;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SACnD;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,IAAQ,EAAE,YAAiC;QAC3D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAC1D;gBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SAClD;IACH,CAAC;IAKM,KAAK,CAAC,GAAG,CAAC,IAAQ,EAAE,YAAiC;QAC1D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACzD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SACjD;IACH,CAAC;IAKM,KAAK,CAAC,MAAM,CAAC,YAAiC;QACnD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACtD;gBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;SAC9C;IACH,CAAC;CACF"}
|
package/dist/esm/User/Api.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export interface XyoUserLogin {
|
|
|
11
11
|
export declare class XyoUserApi extends XyoApiBase {
|
|
12
12
|
get authenticated(): boolean;
|
|
13
13
|
get headers(): Record<string, string>;
|
|
14
|
-
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin,
|
|
15
|
-
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase,
|
|
14
|
+
get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, import("@xyo-network/archivist").XyoPayloadFindFilter, import("../models/Api/Config").XyoApiConfig>;
|
|
15
|
+
get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/archivist").XyoPayloadFindFilter, {
|
|
16
16
|
root: string;
|
|
17
17
|
apiDomain: string; /** @field Password of the user [in] */
|
|
18
18
|
userid?: string | undefined;
|
package/package.json
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/sdk-js": "^2.6.2",
|
|
13
|
-
"@xyo-network/account": "^2.22.
|
|
14
|
-
"@xyo-network/archivist": "^2.22.
|
|
15
|
-
"@xyo-network/boundwitness": "^2.22.
|
|
16
|
-
"@xyo-network/core": "^2.22.
|
|
17
|
-
"@xyo-network/payload": "^2.22.
|
|
18
|
-
"@xyo-network/typeof": "^2.22.
|
|
13
|
+
"@xyo-network/account": "^2.22.6",
|
|
14
|
+
"@xyo-network/archivist": "^2.22.6",
|
|
15
|
+
"@xyo-network/boundwitness": "^2.22.6",
|
|
16
|
+
"@xyo-network/core": "^2.22.6",
|
|
17
|
+
"@xyo-network/payload": "^2.22.6",
|
|
18
|
+
"@xyo-network/typeof": "^2.22.6",
|
|
19
19
|
"axios": "^0.27.2",
|
|
20
20
|
"lru-cache": "^7.13.1",
|
|
21
21
|
"pako": "^2.0.4",
|
|
@@ -62,6 +62,6 @@
|
|
|
62
62
|
},
|
|
63
63
|
"sideEffects": true,
|
|
64
64
|
"types": "dist/esm/index.d.ts",
|
|
65
|
-
"version": "2.22.
|
|
65
|
+
"version": "2.22.6",
|
|
66
66
|
"packageManager": "yarn@3.1.1"
|
|
67
67
|
}
|
|
@@ -198,7 +198,7 @@ describe.skip('XyoArchivistApi', () => {
|
|
|
198
198
|
const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
|
|
199
199
|
await api.archives.archive(archive).block.post([boundWitness])
|
|
200
200
|
const timestamp = Date.now() - 10000
|
|
201
|
-
const response = await api.archives.archive(archive).block.find({ order: 'asc', timestamp })
|
|
201
|
+
const response = await api.archives.archive(archive).block.find({ order: 'asc', schema: 'netowrk.xyo.query', timestamp })
|
|
202
202
|
expect(response?.length).toBe(1)
|
|
203
203
|
const actual = response?.[0]
|
|
204
204
|
expect(actual?._timestamp).toBeTruthy()
|
|
@@ -18,8 +18,7 @@ export const getTokenForNewUser = async (api: XyoArchivistApi): Promise<string>
|
|
|
18
18
|
const account = XyoAccount.random()
|
|
19
19
|
const address = new Wallet(account.private.bytes)
|
|
20
20
|
const challenge = await api.account(account.public).challenge.post()
|
|
21
|
-
|
|
22
|
-
const message = challenge?.state || ''
|
|
21
|
+
const message = assertEx(challenge?.state, 'Missing state from login challenge')
|
|
23
22
|
const signature = await address.signMessage(message)
|
|
24
23
|
const verify = await api.account(account.public).verify.post({ message, signature })
|
|
25
24
|
const jwtToken = assertEx(verify?.token, 'Missing JWT token in response')
|
|
@@ -27,7 +27,7 @@ describe('XyoArchivistPayloadApi', () => {
|
|
|
27
27
|
const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
|
|
28
28
|
const blockResult = await api.archive(archive).block.post([boundWitness])
|
|
29
29
|
expect(blockResult?.length).toBe(1)
|
|
30
|
-
const response = await api.archive(archive).block.find({ order: 'asc', timestamp })
|
|
30
|
+
const response = await api.archive(archive).block.find({ order: 'asc', schema: 'netowrk.xyo.query', timestamp })
|
|
31
31
|
expect(response?.length).toBe(1)
|
|
32
32
|
const actual = response?.[0]
|
|
33
33
|
expect(actual?._timestamp).toBeTruthy()
|
|
@@ -46,7 +46,7 @@ describe('XyoArchivistPayloadApi', () => {
|
|
|
46
46
|
const blockResult = await api.archive(archive).block.post([boundWitness])
|
|
47
47
|
expect(blockResult?.length).toBe(1)
|
|
48
48
|
const timestamp = getTimestampMinutesFromNow(1)
|
|
49
|
-
const response = await api.archive(archive).block.find({ order: 'desc', timestamp })
|
|
49
|
+
const response = await api.archive(archive).block.find({ order: 'desc', schema: 'netowrk.xyo.query', timestamp })
|
|
50
50
|
expect(response?.length).toBe(1)
|
|
51
51
|
const actual = response?.[0]
|
|
52
52
|
expect(actual?._timestamp).toBeTruthy()
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
+
import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist'
|
|
4
|
+
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
5
|
+
import { XyoPayload, XyoPayloadWrapper } from '@xyo-network/payload'
|
|
6
|
+
|
|
7
|
+
import { XyoArchivistApi } from './Api'
|
|
8
|
+
|
|
9
|
+
export class XyoRemoteArchivist extends XyoArchivistBase {
|
|
10
|
+
protected api: XyoArchivistApi
|
|
11
|
+
protected archive: string
|
|
12
|
+
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
|
|
13
|
+
super(parent, account)
|
|
14
|
+
this.api = api
|
|
15
|
+
this.archive = archive
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public async get(hash: string) {
|
|
19
|
+
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
|
|
20
|
+
return payloads?.pop()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public async insert(payloads: XyoPayload[]) {
|
|
24
|
+
const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload') as XyoBoundWitnessWithPartialMeta[]
|
|
25
|
+
boundwitnesses.forEach((boundwitness) => {
|
|
26
|
+
boundwitness._payloads ===
|
|
27
|
+
payloads.filter((payload) => {
|
|
28
|
+
const hash = new XyoPayloadWrapper(payload).hash
|
|
29
|
+
return boundwitness.payload_hashes.includes(hash)
|
|
30
|
+
})
|
|
31
|
+
})
|
|
32
|
+
payloads.forEach((payload) => {
|
|
33
|
+
let found = false
|
|
34
|
+
const hash = new XyoPayloadWrapper(payload).hash
|
|
35
|
+
boundwitnesses.forEach((boundwitnesses) => {
|
|
36
|
+
if (boundwitnesses.payload_hashes.includes(hash)) {
|
|
37
|
+
found = true
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
assertEx(found, 'Payload not in Boundwitness received')
|
|
41
|
+
})
|
|
42
|
+
await this.api.archive(this.archive).block.post(boundwitnesses)
|
|
43
|
+
return payloads
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public async find(filter: XyoPayloadFindFilter) {
|
|
47
|
+
const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? []
|
|
48
|
+
const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? []
|
|
49
|
+
return payloads.concat(blocks)
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/Archivist/index.ts
CHANGED
package/src/Simple.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { XyoPayloadFindFilter } from '@xyo-network/archivist'
|
|
1
2
|
import { XyoPayload } from '@xyo-network/payload'
|
|
2
3
|
|
|
3
4
|
import { XyoApiBase } from './Base'
|
|
4
5
|
import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple, XyoApiResponseTupleOrBody, XyoApiResponseType } from './models'
|
|
5
6
|
import { objToQuery } from './objToQuery'
|
|
6
7
|
|
|
7
|
-
export type XyoApiSimpleQuery =
|
|
8
|
+
export type XyoApiSimpleQuery = XyoPayloadFindFilter
|
|
8
9
|
|
|
9
|
-
export class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery =
|
|
10
|
+
export class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
|
|
10
11
|
public async get(): Promise<XyoApiResponseBody<T>>
|
|
11
12
|
public async get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>
|
|
12
13
|
public async get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
-
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
-
import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist'
|
|
4
|
-
import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
|
|
5
|
-
|
|
6
|
-
import { XyoArchivistApi } from './Api'
|
|
7
|
-
|
|
8
|
-
export class XyoApiArchivist extends XyoBoundWitnessArchivist {
|
|
9
|
-
protected api: XyoArchivistApi
|
|
10
|
-
protected archive: string
|
|
11
|
-
constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
|
|
12
|
-
super(parent, account)
|
|
13
|
-
this.api = api
|
|
14
|
-
this.archive = archive
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public async get(hash: string) {
|
|
18
|
-
const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
|
|
19
|
-
return payloads
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public async insert(payload: XyoBoundWitnessWithPartialMeta) {
|
|
23
|
-
return (await this.api.archive(this.archive).block.post([payload]))?.map((value) => assertEx(value._hash)) ?? []
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public async find(filter: XyoPayloadFindFilter) {
|
|
27
|
-
const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? []
|
|
28
|
-
const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? []
|
|
29
|
-
return payloads.concat(blocks)
|
|
30
|
-
}
|
|
31
|
-
}
|