@xyo-network/api 2.50.5 → 2.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Api/Api.js +0 -31
- package/dist/cjs/Api/Api.js.map +1 -1
- package/dist/cjs/Api/index.js +0 -4
- package/dist/cjs/Api/index.js.map +1 -1
- package/dist/cjs/Diviner/index.js +0 -1
- package/dist/cjs/Diviner/index.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/index.js +0 -2
- package/dist/cjs/models/index.js.map +1 -1
- package/dist/docs.json +9407 -56517
- package/dist/esm/Api/Api.js +0 -45
- package/dist/esm/Api/Api.js.map +1 -1
- package/dist/esm/Api/index.js +0 -4
- package/dist/esm/Api/index.js.map +1 -1
- package/dist/esm/Diviner/index.js +0 -1
- package/dist/esm/Diviner/index.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/index.js +0 -2
- package/dist/esm/models/index.js.map +1 -1
- package/dist/types/Api/Api.d.ts +0 -19
- package/dist/types/Api/Api.d.ts.map +1 -1
- package/dist/types/Api/index.d.ts +0 -4
- package/dist/types/Api/index.d.ts.map +1 -1
- package/dist/types/Diviner/index.d.ts +0 -1
- package/dist/types/Diviner/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/models/index.d.ts +0 -2
- package/dist/types/models/index.d.ts.map +1 -1
- package/package.json +11 -22
- package/src/Api/Api.ts +0 -50
- package/src/Api/index.ts +0 -4
- package/src/Diviner/index.ts +0 -1
- package/src/index.ts +0 -1
- package/src/models/index.ts +0 -2
- package/dist/cjs/Api/Archive/Api.js +0 -52
- package/dist/cjs/Api/Archive/Api.js.map +0 -1
- package/dist/cjs/Api/Archive/Schema/Api.js +0 -18
- package/dist/cjs/Api/Archive/Schema/Api.js.map +0 -1
- package/dist/cjs/Api/Archive/Schema/index.js +0 -5
- package/dist/cjs/Api/Archive/Schema/index.js.map +0 -1
- package/dist/cjs/Api/Archive/Schemas/Api.js +0 -17
- package/dist/cjs/Api/Archive/Schemas/Api.js.map +0 -1
- package/dist/cjs/Api/Archive/Schemas/index.js +0 -5
- package/dist/cjs/Api/Archive/Schemas/index.js.map +0 -1
- package/dist/cjs/Api/Archive/Settings/Api.js +0 -15
- package/dist/cjs/Api/Archive/Settings/Api.js.map +0 -1
- package/dist/cjs/Api/Archive/Settings/Key/Api.js +0 -8
- package/dist/cjs/Api/Archive/Settings/Key/Api.js.map +0 -1
- package/dist/cjs/Api/Archive/Settings/Key/index.js +0 -5
- package/dist/cjs/Api/Archive/Settings/Key/index.js.map +0 -1
- package/dist/cjs/Api/Archive/Settings/index.js +0 -6
- package/dist/cjs/Api/Archive/Settings/index.js.map +0 -1
- package/dist/cjs/Api/Archive/index.js +0 -8
- package/dist/cjs/Api/Archive/index.js.map +0 -1
- package/dist/cjs/Api/Archives/Api.js +0 -12
- package/dist/cjs/Api/Archives/Api.js.map +0 -1
- package/dist/cjs/Api/Archives/index.js +0 -5
- package/dist/cjs/Api/Archives/index.js.map +0 -1
- package/dist/cjs/Api/Block/Api.js +0 -15
- package/dist/cjs/Api/Block/Api.js.map +0 -1
- package/dist/cjs/Api/Block/index.js +0 -5
- package/dist/cjs/Api/Block/index.js.map +0 -1
- package/dist/cjs/Api/Node/Api.js +0 -81
- package/dist/cjs/Api/Node/Api.js.map +0 -1
- package/dist/cjs/Api/Node/index.js +0 -5
- package/dist/cjs/Api/Node/index.js.map +0 -1
- package/dist/cjs/Api/Payload/Api.js +0 -32
- package/dist/cjs/Api/Payload/Api.js.map +0 -1
- package/dist/cjs/Api/Payload/index.js +0 -5
- package/dist/cjs/Api/Payload/index.js.map +0 -1
- package/dist/cjs/Archivist/RemoteArchivistError.js +0 -14
- package/dist/cjs/Archivist/RemoteArchivistError.js.map +0 -1
- package/dist/cjs/Archivist/XyoRemoteArchivist.js +0 -135
- package/dist/cjs/Archivist/XyoRemoteArchivist.js.map +0 -1
- package/dist/cjs/Archivist/XyoRemoteArchivistConfig.js +0 -5
- package/dist/cjs/Archivist/XyoRemoteArchivistConfig.js.map +0 -1
- package/dist/cjs/Archivist/index.js +0 -7
- package/dist/cjs/Archivist/index.js.map +0 -1
- package/dist/cjs/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.js +0 -45
- package/dist/cjs/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.js.map +0 -1
- package/dist/cjs/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.js +0 -6
- package/dist/cjs/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.js.map +0 -1
- package/dist/cjs/Diviner/ArchiveListApiDiviner/Payload.js +0 -3
- package/dist/cjs/Diviner/ArchiveListApiDiviner/Payload.js.map +0 -1
- package/dist/cjs/Diviner/ArchiveListApiDiviner/index.js +0 -7
- package/dist/cjs/Diviner/ArchiveListApiDiviner/index.js.map +0 -1
- package/dist/cjs/models/Archive.js +0 -3
- package/dist/cjs/models/Archive.js.map +0 -1
- package/dist/cjs/models/ArchiveKey.js +0 -3
- package/dist/cjs/models/ArchiveKey.js.map +0 -1
- package/dist/esm/Api/Archive/Api.js +0 -67
- package/dist/esm/Api/Archive/Api.js.map +0 -1
- package/dist/esm/Api/Archive/Schema/Api.js +0 -18
- package/dist/esm/Api/Archive/Schema/Api.js.map +0 -1
- package/dist/esm/Api/Archive/Schema/index.js +0 -2
- package/dist/esm/Api/Archive/Schema/index.js.map +0 -1
- package/dist/esm/Api/Archive/Schemas/Api.js +0 -17
- package/dist/esm/Api/Archive/Schemas/Api.js.map +0 -1
- package/dist/esm/Api/Archive/Schemas/index.js +0 -2
- package/dist/esm/Api/Archive/Schemas/index.js.map +0 -1
- package/dist/esm/Api/Archive/Settings/Api.js +0 -15
- package/dist/esm/Api/Archive/Settings/Api.js.map +0 -1
- package/dist/esm/Api/Archive/Settings/Key/Api.js +0 -4
- package/dist/esm/Api/Archive/Settings/Key/Api.js.map +0 -1
- package/dist/esm/Api/Archive/Settings/Key/index.js +0 -2
- package/dist/esm/Api/Archive/Settings/Key/index.js.map +0 -1
- package/dist/esm/Api/Archive/Settings/index.js +0 -3
- package/dist/esm/Api/Archive/Settings/index.js.map +0 -1
- package/dist/esm/Api/Archive/index.js +0 -5
- package/dist/esm/Api/Archive/index.js.map +0 -1
- package/dist/esm/Api/Archives/Api.js +0 -11
- package/dist/esm/Api/Archives/Api.js.map +0 -1
- package/dist/esm/Api/Archives/index.js +0 -2
- package/dist/esm/Api/Archives/index.js.map +0 -1
- package/dist/esm/Api/Block/Api.js +0 -14
- package/dist/esm/Api/Block/Api.js.map +0 -1
- package/dist/esm/Api/Block/index.js +0 -2
- package/dist/esm/Api/Block/index.js.map +0 -1
- package/dist/esm/Api/Node/Api.js +0 -74
- package/dist/esm/Api/Node/Api.js.map +0 -1
- package/dist/esm/Api/Node/index.js +0 -2
- package/dist/esm/Api/Node/index.js.map +0 -1
- package/dist/esm/Api/Payload/Api.js +0 -32
- package/dist/esm/Api/Payload/Api.js.map +0 -1
- package/dist/esm/Api/Payload/index.js +0 -2
- package/dist/esm/Api/Payload/index.js.map +0 -1
- package/dist/esm/Archivist/RemoteArchivistError.js +0 -10
- package/dist/esm/Archivist/RemoteArchivistError.js.map +0 -1
- package/dist/esm/Archivist/XyoRemoteArchivist.js +0 -115
- package/dist/esm/Archivist/XyoRemoteArchivist.js.map +0 -1
- package/dist/esm/Archivist/XyoRemoteArchivistConfig.js +0 -2
- package/dist/esm/Archivist/XyoRemoteArchivistConfig.js.map +0 -1
- package/dist/esm/Archivist/index.js +0 -4
- package/dist/esm/Archivist/index.js.map +0 -1
- package/dist/esm/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.js +0 -28
- package/dist/esm/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.js.map +0 -1
- package/dist/esm/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.js +0 -3
- package/dist/esm/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.js.map +0 -1
- package/dist/esm/Diviner/ArchiveListApiDiviner/Payload.js +0 -2
- package/dist/esm/Diviner/ArchiveListApiDiviner/Payload.js.map +0 -1
- package/dist/esm/Diviner/ArchiveListApiDiviner/index.js +0 -4
- package/dist/esm/Diviner/ArchiveListApiDiviner/index.js.map +0 -1
- package/dist/esm/models/Archive.js +0 -2
- package/dist/esm/models/Archive.js.map +0 -1
- package/dist/esm/models/ArchiveKey.js +0 -2
- package/dist/esm/models/ArchiveKey.js.map +0 -1
- package/dist/types/Api/Archive/Api.d.ts +0 -31
- package/dist/types/Api/Archive/Api.d.ts.map +0 -1
- package/dist/types/Api/Archive/Schema/Api.d.ts +0 -11
- package/dist/types/Api/Archive/Schema/Api.d.ts.map +0 -1
- package/dist/types/Api/Archive/Schema/index.d.ts +0 -2
- package/dist/types/Api/Archive/Schema/index.d.ts.map +0 -1
- package/dist/types/Api/Archive/Schemas/Api.d.ts +0 -10
- package/dist/types/Api/Archive/Schemas/Api.d.ts.map +0 -1
- package/dist/types/Api/Archive/Schemas/index.d.ts +0 -2
- package/dist/types/Api/Archive/Schemas/index.d.ts.map +0 -1
- package/dist/types/Api/Archive/Settings/Api.d.ts +0 -7
- package/dist/types/Api/Archive/Settings/Api.d.ts.map +0 -1
- package/dist/types/Api/Archive/Settings/Key/Api.d.ts +0 -5
- package/dist/types/Api/Archive/Settings/Key/Api.d.ts.map +0 -1
- package/dist/types/Api/Archive/Settings/Key/index.d.ts +0 -2
- package/dist/types/Api/Archive/Settings/Key/index.d.ts.map +0 -1
- package/dist/types/Api/Archive/Settings/index.d.ts +0 -3
- package/dist/types/Api/Archive/Settings/index.d.ts.map +0 -1
- package/dist/types/Api/Archive/index.d.ts +0 -5
- package/dist/types/Api/Archive/index.d.ts.map +0 -1
- package/dist/types/Api/Archives/Api.d.ts +0 -7
- package/dist/types/Api/Archives/Api.d.ts.map +0 -1
- package/dist/types/Api/Archives/index.d.ts +0 -2
- package/dist/types/Api/Archives/index.d.ts.map +0 -1
- package/dist/types/Api/Block/Api.d.ts +0 -13
- package/dist/types/Api/Block/Api.d.ts.map +0 -1
- package/dist/types/Api/Block/index.d.ts +0 -2
- package/dist/types/Api/Block/index.d.ts.map +0 -1
- package/dist/types/Api/Node/Api.d.ts +0 -37
- package/dist/types/Api/Node/Api.d.ts.map +0 -1
- package/dist/types/Api/Node/index.d.ts +0 -2
- package/dist/types/Api/Node/index.d.ts.map +0 -1
- package/dist/types/Api/Payload/Api.d.ts +0 -23
- package/dist/types/Api/Payload/Api.d.ts.map +0 -1
- package/dist/types/Api/Payload/index.d.ts +0 -2
- package/dist/types/Api/Payload/index.d.ts.map +0 -1
- package/dist/types/Archivist/RemoteArchivistError.d.ts +0 -6
- package/dist/types/Archivist/RemoteArchivistError.d.ts.map +0 -1
- package/dist/types/Archivist/XyoRemoteArchivist.d.ts +0 -23
- package/dist/types/Archivist/XyoRemoteArchivist.d.ts.map +0 -1
- package/dist/types/Archivist/XyoRemoteArchivistConfig.d.ts +0 -12
- package/dist/types/Archivist/XyoRemoteArchivistConfig.d.ts.map +0 -1
- package/dist/types/Archivist/index.d.ts +0 -4
- package/dist/types/Archivist/index.d.ts.map +0 -1
- package/dist/types/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.d.ts +0 -18
- package/dist/types/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.d.ts.map +0 -1
- package/dist/types/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.d.ts +0 -10
- package/dist/types/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.d.ts.map +0 -1
- package/dist/types/Diviner/ArchiveListApiDiviner/Payload.d.ts +0 -7
- package/dist/types/Diviner/ArchiveListApiDiviner/Payload.d.ts.map +0 -1
- package/dist/types/Diviner/ArchiveListApiDiviner/index.d.ts +0 -4
- package/dist/types/Diviner/ArchiveListApiDiviner/index.d.ts.map +0 -1
- package/dist/types/models/Archive.d.ts +0 -25
- package/dist/types/models/Archive.d.ts.map +0 -1
- package/dist/types/models/ArchiveKey.d.ts +0 -6
- package/dist/types/models/ArchiveKey.d.ts.map +0 -1
- package/src/Api/Archive/Api.ts +0 -73
- package/src/Api/Archive/Schema/Api.ts +0 -20
- package/src/Api/Archive/Schema/index.ts +0 -1
- package/src/Api/Archive/Schemas/Api.ts +0 -19
- package/src/Api/Archive/Schemas/index.ts +0 -1
- package/src/Api/Archive/Settings/Api.ts +0 -15
- package/src/Api/Archive/Settings/Key/Api.ts +0 -4
- package/src/Api/Archive/Settings/Key/index.ts +0 -1
- package/src/Api/Archive/Settings/index.ts +0 -2
- package/src/Api/Archive/index.ts +0 -4
- package/src/Api/Archives/Api.ts +0 -12
- package/src/Api/Archives/index.ts +0 -1
- package/src/Api/Block/Api.ts +0 -22
- package/src/Api/Block/index.ts +0 -1
- package/src/Api/Node/Api.ts +0 -84
- package/src/Api/Node/index.ts +0 -1
- package/src/Api/Payload/Api.ts +0 -46
- package/src/Api/Payload/index.ts +0 -1
- package/src/Archivist/RemoteArchivistError.ts +0 -9
- package/src/Archivist/XyoRemoteArchivist.ts +0 -130
- package/src/Archivist/XyoRemoteArchivistConfig.ts +0 -16
- package/src/Archivist/index.ts +0 -3
- package/src/Diviner/ArchiveListApiDiviner/ArchiveListApiDiviner.ts +0 -41
- package/src/Diviner/ArchiveListApiDiviner/ArchiveListApiDivinerConfig.ts +0 -15
- package/src/Diviner/ArchiveListApiDiviner/Payload.ts +0 -11
- package/src/Diviner/ArchiveListApiDiviner/index.ts +0 -3
- package/src/models/Archive.ts +0 -28
- package/src/models/ArchiveKey.ts +0 -5
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { AbstractArchivist, ArchivistFindQuerySchema, ArchivistInsertQuerySchema, ArchivistParams } from '@xyo-network/archivist'
|
|
2
|
-
import { isXyoBoundWitnessPayload, XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
3
|
-
import { ModuleParams } from '@xyo-network/module'
|
|
4
|
-
import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model'
|
|
5
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
6
|
-
import compact from 'lodash/compact'
|
|
7
|
-
|
|
8
|
-
import { XyoArchivistApi } from '../Api'
|
|
9
|
-
import { RemoteArchivistError } from './RemoteArchivistError'
|
|
10
|
-
import { XyoRemoteArchivistConfig, XyoRemoteArchivistConfigSchema } from './XyoRemoteArchivistConfig'
|
|
11
|
-
|
|
12
|
-
export type XyoRemoteArchivistParams = ModuleParams<XyoRemoteArchivistConfig> & { api?: XyoArchivistApi }
|
|
13
|
-
|
|
14
|
-
/** @description Archivist Context that connects to a remote archivist using the API */
|
|
15
|
-
export class XyoRemoteArchivist extends AbstractArchivist<ArchivistParams<XyoRemoteArchivistConfig>> {
|
|
16
|
-
static override configSchema = XyoRemoteArchivistConfigSchema
|
|
17
|
-
protected _api?: XyoArchivistApi
|
|
18
|
-
|
|
19
|
-
constructor(params: XyoRemoteArchivistParams) {
|
|
20
|
-
super(params)
|
|
21
|
-
this._api = params?.api
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
get api() {
|
|
25
|
-
if (this._api) {
|
|
26
|
-
return this._api
|
|
27
|
-
}
|
|
28
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
29
|
-
if (this.config?.api) {
|
|
30
|
-
this.logger?.warn('api specified in config but should be specified in params')
|
|
31
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
32
|
-
return this.config?.api
|
|
33
|
-
}
|
|
34
|
-
throw Error('No api specified')
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
get archive() {
|
|
38
|
-
return this.config?.archive
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
override get queries(): string[] {
|
|
42
|
-
return [ArchivistFindQuerySchema, ArchivistInsertQuerySchema, ...super.queries]
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static override async create(params?: XyoRemoteArchivistParams): Promise<XyoRemoteArchivist> {
|
|
46
|
-
return (await super.create(params)) as XyoRemoteArchivist
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
override async find<R extends XyoPayload = XyoPayload>(filter: PayloadFindFilter): Promise<R[]> {
|
|
50
|
-
try {
|
|
51
|
-
const [payloads = [], payloadEnvelope, payloadResponse] = await this.api.archive(this.archive).payload.find(filter, 'tuple')
|
|
52
|
-
if (payloadEnvelope?.errors?.length) {
|
|
53
|
-
throw new RemoteArchivistError('find', payloadEnvelope.errors.shift(), 'payloads')
|
|
54
|
-
}
|
|
55
|
-
if (payloadResponse?.status >= 300) {
|
|
56
|
-
throw new RemoteArchivistError('find', `Invalid payload status [${payloadResponse.status}]`, 'payloads')
|
|
57
|
-
}
|
|
58
|
-
const [blocks = [], blockEnvelope, blockResponse] = await this.api.archive(this.archive).block.find(filter, 'tuple')
|
|
59
|
-
if (blockEnvelope?.errors?.length) {
|
|
60
|
-
throw new RemoteArchivistError('find', blockEnvelope.errors.shift(), 'payloads')
|
|
61
|
-
}
|
|
62
|
-
if (blockResponse?.status >= 300) {
|
|
63
|
-
throw new RemoteArchivistError('find', `Invalid block status [${blockResponse.status}]`, 'payloads')
|
|
64
|
-
}
|
|
65
|
-
return payloads.concat(blocks) as R[]
|
|
66
|
-
} catch (ex) {
|
|
67
|
-
console.error(ex)
|
|
68
|
-
throw ex
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
override async get(hashes: string[]): Promise<XyoPayload[]> {
|
|
73
|
-
return compact(
|
|
74
|
-
await Promise.all(
|
|
75
|
-
hashes.map(async (hash) => {
|
|
76
|
-
try {
|
|
77
|
-
const [payloads = [], payloadEnvelope, payloadResponse] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
|
|
78
|
-
if (payloadResponse?.status >= 400) {
|
|
79
|
-
throw new RemoteArchivistError('get', `Invalid payload status [${payloadResponse.status}]`, 'payloads')
|
|
80
|
-
}
|
|
81
|
-
if (payloadEnvelope?.errors?.length) {
|
|
82
|
-
throw new RemoteArchivistError('get', payloadEnvelope.errors.shift(), 'payloads')
|
|
83
|
-
}
|
|
84
|
-
const [blocks = [], blockEnvelope, blockResponse] = await this.api.archive(this.archive).block.hash(hash).get('tuple')
|
|
85
|
-
if (blockResponse?.status >= 400) {
|
|
86
|
-
throw new RemoteArchivistError('get', `Invalid block status [${blockResponse.status}]`, 'payloads')
|
|
87
|
-
}
|
|
88
|
-
if (blockEnvelope?.errors?.length) {
|
|
89
|
-
throw new RemoteArchivistError('get', blockEnvelope.errors.shift(), 'blocks')
|
|
90
|
-
}
|
|
91
|
-
return payloads?.[0] ?? blocks?.[0]
|
|
92
|
-
} catch (ex) {
|
|
93
|
-
console.error(ex)
|
|
94
|
-
throw ex
|
|
95
|
-
}
|
|
96
|
-
}),
|
|
97
|
-
),
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
async insert(payloads: XyoPayload[]): Promise<XyoBoundWitness[]> {
|
|
102
|
-
try {
|
|
103
|
-
const boundWitnesses: XyoBoundWitness[] = payloads.filter(isXyoBoundWitnessPayload)
|
|
104
|
-
boundWitnesses.forEach((boundwitness) => {
|
|
105
|
-
// doing this here to prevent breaking code (for now)
|
|
106
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
107
|
-
const anyBoundwitness: any = boundwitness
|
|
108
|
-
anyBoundwitness._payloads ===
|
|
109
|
-
payloads.filter((payload) => {
|
|
110
|
-
const hash = new PayloadWrapper(payload).hash
|
|
111
|
-
return boundwitness.payload_hashes.includes(hash)
|
|
112
|
-
})
|
|
113
|
-
})
|
|
114
|
-
const [boundwitness] = await this.bindResult(payloads)
|
|
115
|
-
const bwWithMeta: XyoBoundWitness & { _payloads: XyoPayload[] } = { ...boundwitness, _payloads: payloads }
|
|
116
|
-
const bwResult = await this.api.archive(this.archive).block.post([bwWithMeta], 'tuple')
|
|
117
|
-
const [, response, error] = bwResult
|
|
118
|
-
if (error?.status >= 400) {
|
|
119
|
-
throw new RemoteArchivistError('insert', `${error.statusText} [${error.status}]`)
|
|
120
|
-
}
|
|
121
|
-
if (response?.errors?.length) {
|
|
122
|
-
throw new RemoteArchivistError('insert', response?.errors)
|
|
123
|
-
}
|
|
124
|
-
return [boundwitness]
|
|
125
|
-
} catch (ex) {
|
|
126
|
-
console.error(ex)
|
|
127
|
-
throw ex
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ArchivistConfig } from '@xyo-network/archivist'
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
3
|
-
|
|
4
|
-
import { XyoArchivistApi } from '../Api'
|
|
5
|
-
|
|
6
|
-
export type XyoRemoteArchivistConfigSchema = 'network.xyo.archivist.remote.config'
|
|
7
|
-
export const XyoRemoteArchivistConfigSchema: XyoRemoteArchivistConfigSchema = 'network.xyo.archivist.remote.config'
|
|
8
|
-
|
|
9
|
-
export type XyoRemoteArchivistConfig<T extends XyoPayload = XyoPayload> = ArchivistConfig<
|
|
10
|
-
{
|
|
11
|
-
/** @deprecated pass api in params instead */
|
|
12
|
-
api?: XyoArchivistApi
|
|
13
|
-
archive?: string
|
|
14
|
-
schema: XyoRemoteArchivistConfigSchema
|
|
15
|
-
} & T
|
|
16
|
-
>
|
package/src/Archivist/index.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { AbstractDiviner, DivinerParams } from '@xyo-network/diviner'
|
|
2
|
-
import { ModuleParams } from '@xyo-network/module'
|
|
3
|
-
|
|
4
|
-
import { XyoArchivistApi } from '../../Api'
|
|
5
|
-
import { XyoArchiveListApiDivinerConfig, XyoArchiveListApiDivinerConfigSchema, XyoArchiveSchema } from './ArchiveListApiDivinerConfig'
|
|
6
|
-
import { ArchiveList } from './Payload'
|
|
7
|
-
|
|
8
|
-
export type XyoArchiveListApiDivinerParams = ModuleParams<XyoArchiveListApiDivinerConfig> & { api: XyoArchivistApi }
|
|
9
|
-
|
|
10
|
-
export class ArchiveListApiDiviner extends AbstractDiviner<DivinerParams<XyoArchiveListApiDivinerConfig>> {
|
|
11
|
-
static override configSchema = XyoArchiveListApiDivinerConfigSchema
|
|
12
|
-
static override targetSchema = XyoArchiveSchema
|
|
13
|
-
|
|
14
|
-
protected readonly api: XyoArchivistApi
|
|
15
|
-
|
|
16
|
-
protected constructor(params: XyoArchiveListApiDivinerParams) {
|
|
17
|
-
super(params)
|
|
18
|
-
this.api = params.api
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
static override async create(params: XyoArchiveListApiDivinerParams): Promise<ArchiveListApiDiviner> {
|
|
22
|
-
return (await super.create(params)) as ArchiveListApiDiviner
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async divine(): Promise<ArchiveList[]> {
|
|
26
|
-
const apiResult = (await this.api.archives.get()) ?? []
|
|
27
|
-
return (
|
|
28
|
-
apiResult.map((archive) => {
|
|
29
|
-
return {
|
|
30
|
-
archive,
|
|
31
|
-
schema: XyoArchiveSchema,
|
|
32
|
-
}
|
|
33
|
-
}) ?? []
|
|
34
|
-
)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
protected override async start() {
|
|
38
|
-
await super.start()
|
|
39
|
-
return this
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
3
|
-
|
|
4
|
-
export type XyoArchiveListApiDivinerConfigSchema = 'network.xyo.diviner.archive.list.api.config'
|
|
5
|
-
export const XyoArchiveListApiDivinerConfigSchema: XyoArchiveListApiDivinerConfigSchema = 'network.xyo.diviner.archive.list.api.config'
|
|
6
|
-
|
|
7
|
-
export type XyoArchiveSchema = 'network.xyo.archive'
|
|
8
|
-
export const XyoArchiveSchema: XyoArchiveSchema = 'network.xyo.archive'
|
|
9
|
-
|
|
10
|
-
export type XyoArchiveListApiDivinerConfig<T extends XyoPayload = XyoPayload> = DivinerConfig<
|
|
11
|
-
XyoPayload,
|
|
12
|
-
T & {
|
|
13
|
-
schema: XyoArchiveListApiDivinerConfigSchema
|
|
14
|
-
}
|
|
15
|
-
>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
2
|
-
|
|
3
|
-
import { XyoArchive } from '../../models'
|
|
4
|
-
import { XyoArchiveSchema } from './ArchiveListApiDivinerConfig'
|
|
5
|
-
|
|
6
|
-
export type ArchiveList = XyoPayload<
|
|
7
|
-
{
|
|
8
|
-
archive: XyoArchive
|
|
9
|
-
},
|
|
10
|
-
XyoArchiveSchema
|
|
11
|
-
>
|
package/src/models/Archive.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { XyoArchivePath } from './ArchivePath'
|
|
2
|
-
|
|
3
|
-
export type AccessLevel = 'public' | 'private' | 'none'
|
|
4
|
-
export type AccessType = 'read' | 'remove' | 'create' | 'list'
|
|
5
|
-
export type ExpirationWindow = 'create' | 'read'
|
|
6
|
-
|
|
7
|
-
export interface XyoAccessControl {
|
|
8
|
-
access?: Record<AccessType, AccessLevel>
|
|
9
|
-
expiration?: {
|
|
10
|
-
delay?: number
|
|
11
|
-
window?: ExpirationWindow
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface XyoAccessControls {
|
|
16
|
-
/**
|
|
17
|
-
* Set access controls on a per schema basis.
|
|
18
|
-
* '*' can be used as a wildcard
|
|
19
|
-
* Access control is set from a generic to specific direction if
|
|
20
|
-
* multiple wildcard versions apply to a schema
|
|
21
|
-
*/
|
|
22
|
-
schema?: Record<string, XyoAccessControl>
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface XyoArchive extends XyoArchivePath {
|
|
26
|
-
accessControl?: XyoAccessControl | boolean
|
|
27
|
-
user?: string
|
|
28
|
-
}
|