@xyo-network/api 2.50.5 → 2.50.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/Api/Archive/Api.js +0 -27
- package/dist/cjs/Api/Archive/Api.js.map +1 -1
- package/dist/cjs/Api/Archive/index.js +0 -2
- package/dist/cjs/Api/Archive/index.js.map +1 -1
- package/dist/cjs/Api/Block/Api.js +1 -8
- package/dist/cjs/Api/Block/Api.js.map +1 -1
- package/dist/cjs/Api/index.js +0 -1
- package/dist/cjs/Api/index.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +5802 -29563
- package/dist/esm/Api/Archive/Api.js +0 -38
- package/dist/esm/Api/Archive/Api.js.map +1 -1
- package/dist/esm/Api/Archive/index.js +0 -2
- package/dist/esm/Api/Archive/index.js.map +1 -1
- package/dist/esm/Api/Block/Api.js +1 -11
- package/dist/esm/Api/Block/Api.js.map +1 -1
- package/dist/esm/Api/index.js +0 -1
- package/dist/esm/Api/index.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Api/Archive/Api.d.ts +0 -17
- package/dist/types/Api/Archive/Api.d.ts.map +1 -1
- package/dist/types/Api/Archive/index.d.ts +0 -2
- package/dist/types/Api/Archive/index.d.ts.map +1 -1
- package/dist/types/Api/Block/Api.d.ts +1 -9
- package/dist/types/Api/Block/Api.d.ts.map +1 -1
- package/dist/types/Api/index.d.ts +0 -1
- package/dist/types/Api/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +15 -20
- package/src/Api/Archive/Api.ts +0 -41
- package/src/Api/Archive/index.ts +0 -2
- package/src/Api/Block/Api.ts +3 -17
- package/src/Api/index.ts +0 -1
- package/src/index.ts +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/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/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/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/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/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/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/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
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { XyoSchemaPayload } from '@xyo-network/schema-payload-plugin'
|
|
2
|
-
|
|
3
|
-
import { XyoApiSimple } from '../../../Simple'
|
|
4
|
-
|
|
5
|
-
export class XyoArchivistArchiveSchemasApi extends XyoApiSimple<XyoSchemaPayload[]> {
|
|
6
|
-
private _recent?: XyoApiSimple<XyoSchemaPayload[]>
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated Use module API
|
|
9
|
-
*/
|
|
10
|
-
get recent(): XyoApiSimple<XyoSchemaPayload[]> {
|
|
11
|
-
this._recent =
|
|
12
|
-
this._recent ??
|
|
13
|
-
new XyoApiSimple<XyoSchemaPayload[]>({
|
|
14
|
-
...this.config,
|
|
15
|
-
root: `${this.root}recent/`,
|
|
16
|
-
})
|
|
17
|
-
return this._recent
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
package/src/Api/Payload/Api.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { XyoApiConfig } from '@xyo-network/api-models'
|
|
2
|
-
import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model'
|
|
3
|
-
|
|
4
|
-
import { XyoApiSimple } from '../../Simple'
|
|
5
|
-
import { WithArchive } from '../../WithArchive'
|
|
6
|
-
|
|
7
|
-
export interface XyoPayloadStats {
|
|
8
|
-
count: number
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class XyoArchivistPayloadApi<
|
|
12
|
-
T extends XyoPayload = XyoPayload,
|
|
13
|
-
C extends WithArchive<XyoApiConfig> = WithArchive<XyoApiConfig>,
|
|
14
|
-
> extends XyoApiSimple<T[], T[], PayloadFindFilter, C> {
|
|
15
|
-
private _stats?: XyoApiSimple<XyoPayloadStats>
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated Use module API
|
|
19
|
-
*/
|
|
20
|
-
get stats(): XyoApiSimple<XyoPayloadStats> {
|
|
21
|
-
this._stats =
|
|
22
|
-
this._stats ??
|
|
23
|
-
new XyoApiSimple<XyoPayloadStats>({
|
|
24
|
-
...this.config,
|
|
25
|
-
root: `${this.root}stats/`,
|
|
26
|
-
})
|
|
27
|
-
return this._stats
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @deprecated Use module API
|
|
32
|
-
*/
|
|
33
|
-
hash(hash: string): XyoApiSimple<XyoPayload[]> {
|
|
34
|
-
return new XyoApiSimple<XyoPayload[]>({
|
|
35
|
-
...this.config,
|
|
36
|
-
root: `${this.root}hash/${hash}/`,
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated Use module API
|
|
42
|
-
*/
|
|
43
|
-
async repair(hash: string) {
|
|
44
|
-
return await this.getEndpoint<T[]>(`hash/${hash}/repair`)
|
|
45
|
-
}
|
|
46
|
-
}
|
package/src/Api/Payload/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class RemoteArchivistError extends Error {
|
|
2
|
-
isRemoteArchivistError = true
|
|
3
|
-
constructor(action: string, error: Error['cause'], message?: string) {
|
|
4
|
-
super(`Remote Archivist [${action}] failed${message ? ` (${message})` : ''}`, { cause: error })
|
|
5
|
-
}
|
|
6
|
-
static isRemoteArchivistError(error: unknown): RemoteArchivistError | undefined {
|
|
7
|
-
return (error as RemoteArchivistError).isRemoteArchivistError ? (error as RemoteArchivistError) : undefined
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -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