@xyo-network/api 2.50.6 → 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 -3
- 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/models/index.js +0 -2
- package/dist/cjs/models/index.js.map +1 -1
- package/dist/docs.json +5479 -28828
- package/dist/esm/Api/Api.js +0 -45
- package/dist/esm/Api/Api.js.map +1 -1
- package/dist/esm/Api/index.js +0 -3
- 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/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 -3
- 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/models/index.d.ts +0 -2
- package/dist/types/models/index.d.ts.map +1 -1
- package/package.json +9 -15
- package/src/Api/Api.ts +0 -50
- package/src/Api/index.ts +0 -3
- package/src/Diviner/index.ts +0 -1
- package/src/models/index.ts +0 -2
- package/dist/cjs/Api/Archive/Api.js +0 -25
- package/dist/cjs/Api/Archive/Api.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 -6
- 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 -8
- 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/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 -29
- package/dist/esm/Api/Archive/Api.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 -3
- 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 -4
- 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/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 -14
- package/dist/types/Api/Archive/Api.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 -3
- 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 -5
- 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/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 -32
- 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 -2
- package/src/Api/Archives/Api.ts +0 -12
- package/src/Api/Archives/index.ts +0 -1
- package/src/Api/Block/Api.ts +0 -8
- 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/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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archive.d.ts","sourceRoot":"","sources":["../../../src/models/Archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAC9D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,aAAa,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAA;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArchiveKey.d.ts","sourceRoot":"","sources":["../../../src/models/ArchiveKey.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ"}
|
package/src/Api/Archive/Api.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { XyoArchive } from '../../models'
|
|
2
|
-
import { XyoApiSimple } from '../../Simple'
|
|
3
|
-
import { XyoArchivistArchiveBlockApi } from '../Block'
|
|
4
|
-
import { XyoArchivistArchiveSettingsApi } from './Settings'
|
|
5
|
-
|
|
6
|
-
export class XyoArchivistArchiveApi extends XyoApiSimple<XyoArchive> {
|
|
7
|
-
private _block?: XyoArchivistArchiveBlockApi
|
|
8
|
-
private _settings?: XyoArchivistArchiveSettingsApi
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated Use module API
|
|
12
|
-
*/
|
|
13
|
-
get block(): XyoArchivistArchiveBlockApi {
|
|
14
|
-
this._block =
|
|
15
|
-
this._block ??
|
|
16
|
-
new XyoArchivistArchiveBlockApi({
|
|
17
|
-
...this.config,
|
|
18
|
-
root: `${this.root}block/`,
|
|
19
|
-
})
|
|
20
|
-
return this._block
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
get settings(): XyoArchivistArchiveSettingsApi {
|
|
24
|
-
this._settings =
|
|
25
|
-
this._settings ??
|
|
26
|
-
new XyoArchivistArchiveSettingsApi({
|
|
27
|
-
...this.config,
|
|
28
|
-
root: `${this.root}settings/`,
|
|
29
|
-
})
|
|
30
|
-
return this._settings
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { XyoApiBase } from '../../../Base'
|
|
2
|
-
import { XyoArchivistArchiveSettingsKeyApi } from './Key'
|
|
3
|
-
|
|
4
|
-
export class XyoArchivistArchiveSettingsApi extends XyoApiBase {
|
|
5
|
-
private _key?: XyoArchivistArchiveSettingsKeyApi
|
|
6
|
-
get key(): XyoArchivistArchiveSettingsKeyApi {
|
|
7
|
-
this._key =
|
|
8
|
-
this._key ??
|
|
9
|
-
new XyoArchivistArchiveSettingsKeyApi({
|
|
10
|
-
...this.config,
|
|
11
|
-
root: `${this.root}key/`,
|
|
12
|
-
})
|
|
13
|
-
return this._key
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
package/src/Api/Archive/index.ts
DELETED
package/src/Api/Archives/Api.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { XyoArchive } from '../../models'
|
|
2
|
-
import { XyoApiSimple } from '../../Simple'
|
|
3
|
-
import { XyoArchivistArchiveApi } from '../Archive'
|
|
4
|
-
|
|
5
|
-
export class XyoArchivistArchivesApi extends XyoApiSimple<XyoArchive[]> {
|
|
6
|
-
archive(archive = 'temp') {
|
|
7
|
-
return new XyoArchivistArchiveApi({
|
|
8
|
-
...this.config,
|
|
9
|
-
root: `${this.root}${archive}/`,
|
|
10
|
-
})
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
package/src/Api/Block/Api.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
-
|
|
3
|
-
import { XyoApiSimple } from '../../Simple'
|
|
4
|
-
|
|
5
|
-
export class XyoArchivistArchiveBlockApi<
|
|
6
|
-
T extends XyoBoundWitness[] = XyoBoundWitness[],
|
|
7
|
-
C extends XyoBoundWitness[] = XyoBoundWitness[],
|
|
8
|
-
> extends XyoApiSimple<T, C> {}
|
package/src/Api/Block/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
package/src/Api/Node/Api.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import { delay } from '@xylabs/delay'
|
|
3
|
-
import { XyoApiConfig, XyoApiResponseTuple } from '@xyo-network/api-models'
|
|
4
|
-
import { BoundWitnessBuilder } from '@xyo-network/boundwitness-builder'
|
|
5
|
-
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
6
|
-
import { XyoPayloadBuilder } from '@xyo-network/payload-builder'
|
|
7
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
8
|
-
|
|
9
|
-
import { XyoApiSimple, XyoApiSimpleQuery } from '../../Simple'
|
|
10
|
-
import { WithArchive } from '../../WithArchive'
|
|
11
|
-
|
|
12
|
-
const getRequestStatuses = (results: XyoApiResponseTuple<XyoPayload>[][]): number[] => {
|
|
13
|
-
return results.flat().map((r) => r?.[2]?.status)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const allRequestsSucceeded = (results: XyoApiResponseTuple<XyoPayload>[][]): boolean => {
|
|
17
|
-
return getRequestStatuses(results).every((status) => status === 200)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const anyRequestsFailed = (results: XyoApiResponseTuple<XyoPayload>[][]): boolean => {
|
|
21
|
-
return getRequestStatuses(results).every((status) => status > 399)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export class XyoArchivistNodeApi<
|
|
25
|
-
D extends XyoBoundWitness | XyoBoundWitness[] = XyoBoundWitness | XyoBoundWitness[],
|
|
26
|
-
C extends WithArchive<XyoApiConfig> = WithArchive<XyoApiConfig>,
|
|
27
|
-
> extends XyoApiSimple<string[][], D, XyoApiSimpleQuery, C> {
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated Use module API
|
|
30
|
-
* Issue the supplied query and wait (non-blocking) for the result
|
|
31
|
-
* @param data The query to issue
|
|
32
|
-
* @param timeout The max time to wait for the query results
|
|
33
|
-
* @param retryInterval The interval to poll for query results
|
|
34
|
-
* @returns The result for the issued query
|
|
35
|
-
*/
|
|
36
|
-
async perform<T extends Partial<XyoPayload>>(data: T, schema: string, timeout = 5000, retryInterval = 100) {
|
|
37
|
-
const payload = new XyoPayloadBuilder({ schema }).fields(data).build()
|
|
38
|
-
const [query] = new BoundWitnessBuilder({ inlinePayloads: true }).payload(payload).build()
|
|
39
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
40
|
-
const result = await this.performTransaction(query as D, timeout, retryInterval)
|
|
41
|
-
return result?.[0]?.[0]
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated Use module API
|
|
46
|
-
* Issue the supplied queries and wait (non-blocking) for the results
|
|
47
|
-
* @param data The queries to issue
|
|
48
|
-
* @param timeout The max time to wait for the query results
|
|
49
|
-
* @param retryInterval The interval to poll for query results
|
|
50
|
-
* @returns The results for the issued queries
|
|
51
|
-
*/
|
|
52
|
-
async performTransaction(data: D, timeout = 5000, retryInterval = 100) {
|
|
53
|
-
assertEx(timeout > 0, 'timeout must be positive')
|
|
54
|
-
assertEx(retryInterval > 0, 'retryInterval must be positive')
|
|
55
|
-
assertEx(timeout > retryInterval, 'timeout must be greater than retryInterval')
|
|
56
|
-
const ids = await this.post(data)
|
|
57
|
-
if (!ids?.length) return []
|
|
58
|
-
const loops = Math.floor(timeout / retryInterval)
|
|
59
|
-
let results = [] as XyoApiResponseTuple<XyoPayload>[][]
|
|
60
|
-
for (let i = 0; i < loops; i++) {
|
|
61
|
-
await delay(retryInterval)
|
|
62
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
63
|
-
results = await Promise.all(ids?.map(async (bw) => await Promise.all(bw.map((p) => this.result(p).get('tuple')))))
|
|
64
|
-
if (allRequestsSucceeded(results)) break
|
|
65
|
-
// TODO: More nuanced error handling of partial success/failure
|
|
66
|
-
if (anyRequestsFailed(results)) throw new Error('Request Error')
|
|
67
|
-
}
|
|
68
|
-
// Unpack results
|
|
69
|
-
return results.map((b) => b.map((p) => p[1]))
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @deprecated Use module API
|
|
74
|
-
* Get the result of a previously issued query (if available)
|
|
75
|
-
* @param queryId Query ID from a previously issued query
|
|
76
|
-
* @returns The result of the query (if available)
|
|
77
|
-
*/
|
|
78
|
-
result<T extends XyoPayload = XyoPayload>(queryId: string): XyoApiSimple<XyoPayload> {
|
|
79
|
-
return new XyoApiSimple<T>({
|
|
80
|
-
...this.config,
|
|
81
|
-
root: `/query/${queryId}/`,
|
|
82
|
-
})
|
|
83
|
-
}
|
|
84
|
-
}
|
package/src/Api/Node/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Api'
|
|
@@ -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
|
-
}
|