@xyo-network/api 2.20.15
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/LICENSE +165 -0
- package/README.md +79 -0
- package/babel.config.json +5 -0
- package/dist/cjs/Archivist/Account/Api.d.ts +18 -0
- package/dist/cjs/Archivist/Account/Api.js +15 -0
- package/dist/cjs/Archivist/Account/Api.js.map +1 -0
- package/dist/cjs/Archivist/Account/index.d.ts +1 -0
- package/dist/cjs/Archivist/Account/index.js +5 -0
- package/dist/cjs/Archivist/Account/index.js.map +1 -0
- package/dist/cjs/Archivist/Api.d.ts +27 -0
- package/dist/cjs/Archivist/Api.js +60 -0
- package/dist/cjs/Archivist/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Api.d.ts +18 -0
- package/dist/cjs/Archivist/Archive/Api.js +40 -0
- package/dist/cjs/Archivist/Archive/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Schema/Api.d.ts +7 -0
- package/dist/cjs/Archivist/Archive/Schema/Api.js +15 -0
- package/dist/cjs/Archivist/Archive/Schema/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Schema/index.d.ts +1 -0
- package/dist/cjs/Archivist/Archive/Schema/index.js +5 -0
- package/dist/cjs/Archivist/Archive/Schema/index.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Schemas/Api.d.ts +6 -0
- package/dist/cjs/Archivist/Archive/Schemas/Api.js +14 -0
- package/dist/cjs/Archivist/Archive/Schemas/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Schemas/index.d.ts +1 -0
- package/dist/cjs/Archivist/Archive/Schemas/index.js +5 -0
- package/dist/cjs/Archivist/Archive/Schemas/index.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Settings/Api.d.ts +6 -0
- package/dist/cjs/Archivist/Archive/Settings/Api.js +15 -0
- package/dist/cjs/Archivist/Archive/Settings/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/Api.d.ts +5 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/Api.js +11 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/index.d.ts +1 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/index.js +5 -0
- package/dist/cjs/Archivist/Archive/Settings/Key/index.js.map +1 -0
- package/dist/cjs/Archivist/Archive/Settings/index.d.ts +2 -0
- package/dist/cjs/Archivist/Archive/Settings/index.js +6 -0
- package/dist/cjs/Archivist/Archive/Settings/index.js.map +1 -0
- package/dist/cjs/Archivist/Archive/index.d.ts +4 -0
- package/dist/cjs/Archivist/Archive/index.js +8 -0
- package/dist/cjs/Archivist/Archive/index.js.map +1 -0
- package/dist/cjs/Archivist/Archives/Api.d.ts +8 -0
- package/dist/cjs/Archivist/Archives/Api.js +16 -0
- package/dist/cjs/Archivist/Archives/Api.js.map +1 -0
- package/dist/cjs/Archivist/Archives/index.d.ts +1 -0
- package/dist/cjs/Archivist/Archives/index.js +5 -0
- package/dist/cjs/Archivist/Archives/index.js.map +1 -0
- package/dist/cjs/Archivist/Block/Api.d.ts +8 -0
- package/dist/cjs/Archivist/Block/Api.js +12 -0
- package/dist/cjs/Archivist/Block/Api.js.map +1 -0
- package/dist/cjs/Archivist/Block/index.d.ts +1 -0
- package/dist/cjs/Archivist/Block/index.js +5 -0
- package/dist/cjs/Archivist/Block/index.js.map +1 -0
- package/dist/cjs/Archivist/Payload/Api.d.ts +40 -0
- package/dist/cjs/Archivist/Payload/Api.js +84 -0
- package/dist/cjs/Archivist/Payload/Api.js.map +1 -0
- package/dist/cjs/Archivist/Payload/Schema/Api.d.ts +8 -0
- package/dist/cjs/Archivist/Payload/Schema/Api.js +14 -0
- package/dist/cjs/Archivist/Payload/Schema/Api.js.map +1 -0
- package/dist/cjs/Archivist/Payload/Schema/index.d.ts +1 -0
- package/dist/cjs/Archivist/Payload/Schema/index.js +5 -0
- package/dist/cjs/Archivist/Payload/Schema/index.js.map +1 -0
- package/dist/cjs/Archivist/Payload/index.d.ts +2 -0
- package/dist/cjs/Archivist/Payload/index.js +6 -0
- package/dist/cjs/Archivist/Payload/index.js.map +1 -0
- package/dist/cjs/Archivist/index.d.ts +6 -0
- package/dist/cjs/Archivist/index.js +10 -0
- package/dist/cjs/Archivist/index.js.map +1 -0
- package/dist/cjs/Base.d.ts +33 -0
- package/dist/cjs/Base.js +147 -0
- package/dist/cjs/Base.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApi.d.ts +11 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApi.js +28 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApi.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.d.ts +9 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.js +24 -0
- package/dist/cjs/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.d.ts +4 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.js +3 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.d.ts +11 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.js +10 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.d.ts +2 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.js +6 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.d.ts +11 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.js +10 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.d.ts +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.js +5 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +17 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.js +3 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.d.ts +4 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.js +3 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuerySchema.d.ts +5 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuerySchema.js +13 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationQuerySchema.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.d.ts +7 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.js +3 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.d.ts +11 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.js +10 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.d.ts +2 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.js +6 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/index.d.ts +6 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/index.js +10 -0
- package/dist/cjs/Diviner/LocationDiviner/Queries/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.d.ts +13 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.js +5 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/LocationWitness.d.ts +21 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/LocationWitness.js +5 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/LocationWitness.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/index.d.ts +2 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/index.js +6 -0
- package/dist/cjs/Diviner/LocationDiviner/Witnesses/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/index.d.ts +4 -0
- package/dist/cjs/Diviner/LocationDiviner/index.js +8 -0
- package/dist/cjs/Diviner/LocationDiviner/index.js.map +1 -0
- package/dist/cjs/Diviner/LocationDiviner/models.d.ts +4 -0
- package/dist/cjs/Diviner/LocationDiviner/models.js +3 -0
- package/dist/cjs/Diviner/LocationDiviner/models.js.map +1 -0
- package/dist/cjs/Diviner/index.d.ts +1 -0
- package/dist/cjs/Diviner/index.js +5 -0
- package/dist/cjs/Diviner/index.js.map +1 -0
- package/dist/cjs/Simple.d.ts +21 -0
- package/dist/cjs/Simple.js +60 -0
- package/dist/cjs/Simple.js.map +1 -0
- package/dist/cjs/Test/index.d.ts +2 -0
- package/dist/cjs/Test/index.js +6 -0
- package/dist/cjs/Test/index.js.map +1 -0
- package/dist/cjs/Test/testBoundWitness.d.ts +3 -0
- package/dist/cjs/Test/testBoundWitness.js +17 -0
- package/dist/cjs/Test/testBoundWitness.js.map +1 -0
- package/dist/cjs/Test/testPayload.d.ts +4 -0
- package/dist/cjs/Test/testPayload.js +19 -0
- package/dist/cjs/Test/testPayload.js.map +1 -0
- package/dist/cjs/User/Api.d.ts +31 -0
- package/dist/cjs/User/Api.js +25 -0
- package/dist/cjs/User/Api.js.map +1 -0
- package/dist/cjs/User/index.d.ts +1 -0
- package/dist/cjs/User/index.js +5 -0
- package/dist/cjs/User/index.js.map +1 -0
- package/dist/cjs/WithArchive.d.ts +3 -0
- package/dist/cjs/WithArchive.js +3 -0
- package/dist/cjs/WithArchive.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +11 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/models/Api/Config.d.ts +24 -0
- package/dist/cjs/models/Api/Config.js +3 -0
- package/dist/cjs/models/Api/Config.js.map +1 -0
- package/dist/cjs/models/Api/Envelope.d.ts +14 -0
- package/dist/cjs/models/Api/Envelope.js +3 -0
- package/dist/cjs/models/Api/Envelope.js.map +1 -0
- package/dist/cjs/models/Api/Error.d.ts +4 -0
- package/dist/cjs/models/Api/Error.js +3 -0
- package/dist/cjs/models/Api/Error.js.map +1 -0
- package/dist/cjs/models/Api/Reportable.d.ts +7 -0
- package/dist/cjs/models/Api/Reportable.js +3 -0
- package/dist/cjs/models/Api/Reportable.js.map +1 -0
- package/dist/cjs/models/Api/Response.d.ts +7 -0
- package/dist/cjs/models/Api/Response.js +3 -0
- package/dist/cjs/models/Api/Response.js.map +1 -0
- package/dist/cjs/models/Api/Warning.d.ts +1 -0
- package/dist/cjs/models/Api/Warning.js +3 -0
- package/dist/cjs/models/Api/Warning.js.map +1 -0
- package/dist/cjs/models/Api/index.d.ts +6 -0
- package/dist/cjs/models/Api/index.js +10 -0
- package/dist/cjs/models/Api/index.js.map +1 -0
- package/dist/cjs/models/Archive.d.ts +24 -0
- package/dist/cjs/models/Archive.js +3 -0
- package/dist/cjs/models/Archive.js.map +1 -0
- package/dist/cjs/models/ArchiveKey.d.ts +5 -0
- package/dist/cjs/models/ArchiveKey.js +3 -0
- package/dist/cjs/models/ArchiveKey.js.map +1 -0
- package/dist/cjs/models/ArchivePath.d.ts +3 -0
- package/dist/cjs/models/ArchivePath.js +3 -0
- package/dist/cjs/models/ArchivePath.js.map +1 -0
- package/dist/cjs/models/index.d.ts +4 -0
- package/dist/cjs/models/index.js +8 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/cjs/objToQuery.d.ts +1 -0
- package/dist/cjs/objToQuery.js +13 -0
- package/dist/cjs/objToQuery.js.map +1 -0
- package/dist/docs.json +44344 -0
- package/dist/esm/Archivist/Account/Api.d.ts +18 -0
- package/dist/esm/Archivist/Account/Api.js +17 -0
- package/dist/esm/Archivist/Account/Api.js.map +1 -0
- package/dist/esm/Archivist/Account/index.d.ts +1 -0
- package/dist/esm/Archivist/Account/index.js +2 -0
- package/dist/esm/Archivist/Account/index.js.map +1 -0
- package/dist/esm/Archivist/Api.d.ts +27 -0
- package/dist/esm/Archivist/Api.js +71 -0
- package/dist/esm/Archivist/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Api.d.ts +18 -0
- package/dist/esm/Archivist/Archive/Api.js +51 -0
- package/dist/esm/Archivist/Archive/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Schema/Api.d.ts +7 -0
- package/dist/esm/Archivist/Archive/Schema/Api.js +14 -0
- package/dist/esm/Archivist/Archive/Schema/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Schema/index.d.ts +1 -0
- package/dist/esm/Archivist/Archive/Schema/index.js +2 -0
- package/dist/esm/Archivist/Archive/Schema/index.js.map +1 -0
- package/dist/esm/Archivist/Archive/Schemas/Api.d.ts +6 -0
- package/dist/esm/Archivist/Archive/Schemas/Api.js +13 -0
- package/dist/esm/Archivist/Archive/Schemas/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Schemas/index.d.ts +1 -0
- package/dist/esm/Archivist/Archive/Schemas/index.js +2 -0
- package/dist/esm/Archivist/Archive/Schemas/index.js.map +1 -0
- package/dist/esm/Archivist/Archive/Settings/Api.d.ts +6 -0
- package/dist/esm/Archivist/Archive/Settings/Api.js +14 -0
- package/dist/esm/Archivist/Archive/Settings/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Settings/Key/Api.d.ts +5 -0
- package/dist/esm/Archivist/Archive/Settings/Key/Api.js +10 -0
- package/dist/esm/Archivist/Archive/Settings/Key/Api.js.map +1 -0
- package/dist/esm/Archivist/Archive/Settings/Key/index.d.ts +1 -0
- package/dist/esm/Archivist/Archive/Settings/Key/index.js +2 -0
- package/dist/esm/Archivist/Archive/Settings/Key/index.js.map +1 -0
- package/dist/esm/Archivist/Archive/Settings/index.d.ts +2 -0
- package/dist/esm/Archivist/Archive/Settings/index.js +3 -0
- package/dist/esm/Archivist/Archive/Settings/index.js.map +1 -0
- package/dist/esm/Archivist/Archive/index.d.ts +4 -0
- package/dist/esm/Archivist/Archive/index.js +5 -0
- package/dist/esm/Archivist/Archive/index.js.map +1 -0
- package/dist/esm/Archivist/Archives/Api.d.ts +8 -0
- package/dist/esm/Archivist/Archives/Api.js +15 -0
- package/dist/esm/Archivist/Archives/Api.js.map +1 -0
- package/dist/esm/Archivist/Archives/index.d.ts +1 -0
- package/dist/esm/Archivist/Archives/index.js +2 -0
- package/dist/esm/Archivist/Archives/index.js.map +1 -0
- package/dist/esm/Archivist/Block/Api.d.ts +8 -0
- package/dist/esm/Archivist/Block/Api.js +11 -0
- package/dist/esm/Archivist/Block/Api.js.map +1 -0
- package/dist/esm/Archivist/Block/index.d.ts +1 -0
- package/dist/esm/Archivist/Block/index.js +2 -0
- package/dist/esm/Archivist/Block/index.js.map +1 -0
- package/dist/esm/Archivist/Payload/Api.d.ts +40 -0
- package/dist/esm/Archivist/Payload/Api.js +68 -0
- package/dist/esm/Archivist/Payload/Api.js.map +1 -0
- package/dist/esm/Archivist/Payload/Schema/Api.d.ts +8 -0
- package/dist/esm/Archivist/Payload/Schema/Api.js +13 -0
- package/dist/esm/Archivist/Payload/Schema/Api.js.map +1 -0
- package/dist/esm/Archivist/Payload/Schema/index.d.ts +1 -0
- package/dist/esm/Archivist/Payload/Schema/index.js +2 -0
- package/dist/esm/Archivist/Payload/Schema/index.js.map +1 -0
- package/dist/esm/Archivist/Payload/index.d.ts +2 -0
- package/dist/esm/Archivist/Payload/index.js +3 -0
- package/dist/esm/Archivist/Payload/index.js.map +1 -0
- package/dist/esm/Archivist/index.d.ts +6 -0
- package/dist/esm/Archivist/index.js +7 -0
- package/dist/esm/Archivist/index.js.map +1 -0
- package/dist/esm/Base.d.ts +33 -0
- package/dist/esm/Base.js +129 -0
- package/dist/esm/Base.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApi.d.ts +11 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApi.js +20 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApi.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.d.ts +9 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.js +18 -0
- package/dist/esm/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.d.ts +4 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.d.ts +11 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.js +6 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.d.ts +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.js +3 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.d.ts +11 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.js +6 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.d.ts +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.d.ts +17 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.d.ts +4 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuerySchema.d.ts +5 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuerySchema.js +9 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationQuerySchema.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.d.ts +7 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.d.ts +11 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.js +6 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.d.ts +2 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.js +3 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/index.d.ts +6 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/index.js +7 -0
- package/dist/esm/Diviner/LocationDiviner/Queries/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.d.ts +13 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/LocationWitness.d.ts +21 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/LocationWitness.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/LocationWitness.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/index.d.ts +2 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/index.js +3 -0
- package/dist/esm/Diviner/LocationDiviner/Witnesses/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/index.d.ts +4 -0
- package/dist/esm/Diviner/LocationDiviner/index.js +5 -0
- package/dist/esm/Diviner/LocationDiviner/index.js.map +1 -0
- package/dist/esm/Diviner/LocationDiviner/models.d.ts +4 -0
- package/dist/esm/Diviner/LocationDiviner/models.js +2 -0
- package/dist/esm/Diviner/LocationDiviner/models.js.map +1 -0
- package/dist/esm/Diviner/index.d.ts +1 -0
- package/dist/esm/Diviner/index.js +2 -0
- package/dist/esm/Diviner/index.js.map +1 -0
- package/dist/esm/Simple.d.ts +21 -0
- package/dist/esm/Simple.js +45 -0
- package/dist/esm/Simple.js.map +1 -0
- package/dist/esm/Test/index.d.ts +2 -0
- package/dist/esm/Test/index.js +3 -0
- package/dist/esm/Test/index.js.map +1 -0
- package/dist/esm/Test/testBoundWitness.d.ts +3 -0
- package/dist/esm/Test/testBoundWitness.js +14 -0
- package/dist/esm/Test/testBoundWitness.js.map +1 -0
- package/dist/esm/Test/testPayload.d.ts +4 -0
- package/dist/esm/Test/testPayload.js +15 -0
- package/dist/esm/Test/testPayload.js.map +1 -0
- package/dist/esm/User/Api.d.ts +31 -0
- package/dist/esm/User/Api.js +27 -0
- package/dist/esm/User/Api.js.map +1 -0
- package/dist/esm/User/index.d.ts +1 -0
- package/dist/esm/User/index.js +2 -0
- package/dist/esm/User/index.js.map +1 -0
- package/dist/esm/WithArchive.d.ts +3 -0
- package/dist/esm/WithArchive.js +2 -0
- package/dist/esm/WithArchive.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/models/Api/Config.d.ts +24 -0
- package/dist/esm/models/Api/Config.js +2 -0
- package/dist/esm/models/Api/Config.js.map +1 -0
- package/dist/esm/models/Api/Envelope.d.ts +14 -0
- package/dist/esm/models/Api/Envelope.js +2 -0
- package/dist/esm/models/Api/Envelope.js.map +1 -0
- package/dist/esm/models/Api/Error.d.ts +4 -0
- package/dist/esm/models/Api/Error.js +2 -0
- package/dist/esm/models/Api/Error.js.map +1 -0
- package/dist/esm/models/Api/Reportable.d.ts +7 -0
- package/dist/esm/models/Api/Reportable.js +2 -0
- package/dist/esm/models/Api/Reportable.js.map +1 -0
- package/dist/esm/models/Api/Response.d.ts +7 -0
- package/dist/esm/models/Api/Response.js +2 -0
- package/dist/esm/models/Api/Response.js.map +1 -0
- package/dist/esm/models/Api/Warning.d.ts +1 -0
- package/dist/esm/models/Api/Warning.js +2 -0
- package/dist/esm/models/Api/Warning.js.map +1 -0
- package/dist/esm/models/Api/index.d.ts +6 -0
- package/dist/esm/models/Api/index.js +7 -0
- package/dist/esm/models/Api/index.js.map +1 -0
- package/dist/esm/models/Archive.d.ts +24 -0
- package/dist/esm/models/Archive.js +2 -0
- package/dist/esm/models/Archive.js.map +1 -0
- package/dist/esm/models/ArchiveKey.d.ts +5 -0
- package/dist/esm/models/ArchiveKey.js +2 -0
- package/dist/esm/models/ArchiveKey.js.map +1 -0
- package/dist/esm/models/ArchivePath.d.ts +3 -0
- package/dist/esm/models/ArchivePath.js +2 -0
- package/dist/esm/models/ArchivePath.js.map +1 -0
- package/dist/esm/models/index.d.ts +4 -0
- package/dist/esm/models/index.js +5 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/objToQuery.d.ts +1 -0
- package/dist/esm/objToQuery.js +9 -0
- package/dist/esm/objToQuery.js.map +1 -0
- package/jest.config.cjs +25 -0
- package/package.json +118 -0
- package/rollup.config.js +5 -0
- package/src/Archivist/Account/Api.spec.ts +71 -0
- package/src/Archivist/Account/Api.ts +32 -0
- package/src/Archivist/Account/index.ts +1 -0
- package/src/Archivist/Api.spec.ts +219 -0
- package/src/Archivist/Api.ts +89 -0
- package/src/Archivist/ApiUtil.spec.ts +37 -0
- package/src/Archivist/Archive/Api.ts +60 -0
- package/src/Archivist/Archive/Schema/Api.spec.ts +23 -0
- package/src/Archivist/Archive/Schema/Api.ts +17 -0
- package/src/Archivist/Archive/Schema/index.ts +1 -0
- package/src/Archivist/Archive/Schemas/Api.spec.ts +23 -0
- package/src/Archivist/Archive/Schemas/Api.ts +16 -0
- package/src/Archivist/Archive/Schemas/index.ts +1 -0
- package/src/Archivist/Archive/Settings/Api.ts +15 -0
- package/src/Archivist/Archive/Settings/Key/Api.ts +11 -0
- package/src/Archivist/Archive/Settings/Key/index.ts +1 -0
- package/src/Archivist/Archive/Settings/index.ts +2 -0
- package/src/Archivist/Archive/index.ts +4 -0
- package/src/Archivist/Archives/Api.ts +17 -0
- package/src/Archivist/Archives/index.ts +1 -0
- package/src/Archivist/Block/Api.ts +18 -0
- package/src/Archivist/Block/index.ts +1 -0
- package/src/Archivist/Payload/Api.spec.ts +61 -0
- package/src/Archivist/Payload/Api.ts +102 -0
- package/src/Archivist/Payload/Schema/Api.spec.ts +59 -0
- package/src/Archivist/Payload/Schema/Api.ts +18 -0
- package/src/Archivist/Payload/Schema/index.ts +1 -0
- package/src/Archivist/Payload/index.ts +2 -0
- package/src/Archivist/index.ts +6 -0
- package/src/Base.ts +175 -0
- package/src/Diviner/LocationDiviner/LocationDivinerApi.spec.ts +101 -0
- package/src/Diviner/LocationDiviner/LocationDivinerApi.ts +29 -0
- package/src/Diviner/LocationDiviner/LocationDivinerApiResponseTransformer.ts +19 -0
- package/src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapPointProperties.ts +4 -0
- package/src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/LocationHeatmapQuery.ts +17 -0
- package/src/Diviner/LocationDiviner/Queries/LocationHeatmapQuery/index.ts +2 -0
- package/src/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/LocationQuadkeyHeatmapQuery.ts +15 -0
- package/src/Diviner/LocationDiviner/Queries/LocationQuadkeyHeatmapQuery/index.ts +1 -0
- package/src/Diviner/LocationDiviner/Queries/LocationQueryCreationRequest.ts +21 -0
- package/src/Diviner/LocationDiviner/Queries/LocationQueryCreationResponse.ts +5 -0
- package/src/Diviner/LocationDiviner/Queries/LocationQuerySchema.ts +15 -0
- package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangePointProperties.ts +8 -0
- package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/LocationTimeRangeQuery.ts +18 -0
- package/src/Diviner/LocationDiviner/Queries/LocationTimeRangeQuery/index.ts +2 -0
- package/src/Diviner/LocationDiviner/Queries/index.ts +6 -0
- package/src/Diviner/LocationDiviner/Witnesses/CurrentLocationWitness.ts +16 -0
- package/src/Diviner/LocationDiviner/Witnesses/LocationWitness.ts +25 -0
- package/src/Diviner/LocationDiviner/Witnesses/index.ts +2 -0
- package/src/Diviner/LocationDiviner/index.ts +4 -0
- package/src/Diviner/LocationDiviner/models.ts +4 -0
- package/src/Diviner/index.ts +1 -0
- package/src/Simple.ts +69 -0
- package/src/Test/index.ts +2 -0
- package/src/Test/testBoundWitness.ts +16 -0
- package/src/Test/testPayload.ts +17 -0
- package/src/User/Api.spec.ts +41 -0
- package/src/User/Api.ts +39 -0
- package/src/User/index.ts +1 -0
- package/src/WithArchive.ts +3 -0
- package/src/index.ts +7 -0
- package/src/models/Api/Config.ts +35 -0
- package/src/models/Api/Envelope.ts +18 -0
- package/src/models/Api/Error.ts +6 -0
- package/src/models/Api/Reportable.ts +10 -0
- package/src/models/Api/Response.ts +13 -0
- package/src/models/Api/Warning.ts +1 -0
- package/src/models/Api/index.ts +6 -0
- package/src/models/Archive.ts +28 -0
- package/src/models/ArchiveKey.ts +5 -0
- package/src/models/ArchivePath.ts +3 -0
- package/src/models/index.ts +4 -0
- package/src/objToQuery.ts +8 -0
- package/typedoc.json +10 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { XyoApiConfig } from '../../../models'
|
|
2
|
+
import { XyoArchivistApi } from '../../Api'
|
|
3
|
+
|
|
4
|
+
const config: XyoApiConfig = {
|
|
5
|
+
apiDomain: process.env.API_DOMAIN || 'http://localhost:8080',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
describe('XyoArchivistSchemasApi', () => {
|
|
9
|
+
describe('schema', () => {
|
|
10
|
+
it('calculates the correct path', () => {
|
|
11
|
+
const api = new XyoArchivistApi(config)
|
|
12
|
+
const path = api.archive('foo').schemas.config.root
|
|
13
|
+
expect(path).toBe('/archive/foo/schema/')
|
|
14
|
+
})
|
|
15
|
+
})
|
|
16
|
+
describe('recent', () => {
|
|
17
|
+
it('calculates the correct path', () => {
|
|
18
|
+
const api = new XyoArchivistApi(config)
|
|
19
|
+
const path = api.archive('foo').schemas.recent.config.root
|
|
20
|
+
expect(path).toBe('/archive/foo/schema/recent/')
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XyoSchemaPayload } from '@xyo-network/core'
|
|
2
|
+
|
|
3
|
+
import { XyoApiSimple } from '../../../Simple'
|
|
4
|
+
|
|
5
|
+
export class XyoArchivistArchiveSchemasApi extends XyoApiSimple<XyoSchemaPayload[]> {
|
|
6
|
+
private _recent?: XyoApiSimple<XyoSchemaPayload[]>
|
|
7
|
+
public get recent(): XyoApiSimple<XyoSchemaPayload[]> {
|
|
8
|
+
this._recent =
|
|
9
|
+
this._recent ??
|
|
10
|
+
new XyoApiSimple<XyoSchemaPayload[]>({
|
|
11
|
+
...this.config,
|
|
12
|
+
root: `${this.root}recent/`,
|
|
13
|
+
})
|
|
14
|
+
return this._recent
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Api'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XyoApiBase } from '../../../Base'
|
|
2
|
+
import { XyoArchivistArchiveSettingsKeyApi } from './Key'
|
|
3
|
+
|
|
4
|
+
export class XyoArchivistArchiveSettingsApi extends XyoApiBase {
|
|
5
|
+
private _key?: XyoArchivistArchiveSettingsKeyApi
|
|
6
|
+
public 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
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoArchiveKey } from '../../../../models'
|
|
2
|
+
import { XyoApiSimple } from '../../../../Simple'
|
|
3
|
+
|
|
4
|
+
export class XyoArchivistArchiveSettingsKeyApi extends XyoApiSimple<XyoArchiveKey[]> {
|
|
5
|
+
public key(key: string) {
|
|
6
|
+
return new XyoApiSimple<XyoArchiveKey>({
|
|
7
|
+
...this.config,
|
|
8
|
+
root: `${this.root}${key}/`,
|
|
9
|
+
})
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Api'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { XyoArchive } from '../../models'
|
|
2
|
+
import { XyoApiSimple } from '../../Simple'
|
|
3
|
+
import { XyoArchivistArchiveApi } from '../Archive'
|
|
4
|
+
|
|
5
|
+
export class XyoArchivistArchivesApi extends XyoApiSimple<XyoArchive[]> {
|
|
6
|
+
public archive(archive = 'temp') {
|
|
7
|
+
return new XyoArchivistArchiveApi({
|
|
8
|
+
...this.config,
|
|
9
|
+
root: `${this.root}${archive}/`,
|
|
10
|
+
})
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** @deprecated: use archive(string) instead */
|
|
14
|
+
public select(archive = 'temp') {
|
|
15
|
+
return this.archive(archive)
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Api'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { XyoBoundWitness, XyoPayload } from '@xyo-network/core'
|
|
2
|
+
|
|
3
|
+
import { XyoApiConfig } from '../../models'
|
|
4
|
+
import { XyoApiSimple } from '../../Simple'
|
|
5
|
+
import { WithArchive } from '../../WithArchive'
|
|
6
|
+
import { XyoArchivistPayloadApi } from '../Payload'
|
|
7
|
+
|
|
8
|
+
export class XyoArchivistArchiveBlockApi<
|
|
9
|
+
T extends XyoBoundWitness = XyoBoundWitness,
|
|
10
|
+
C extends WithArchive<XyoApiConfig> = WithArchive<XyoApiConfig>
|
|
11
|
+
> extends XyoArchivistPayloadApi<T, C> {
|
|
12
|
+
public payloads(hash: string): XyoApiSimple<XyoPayload[][]> {
|
|
13
|
+
return new XyoApiSimple<XyoPayload[][]>({
|
|
14
|
+
...this.config,
|
|
15
|
+
root: `${this.root}hash/${hash}/payloads/`,
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Api'
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { XyoAccount, XyoBoundWitnessBuilder } from '@xyo-network/core'
|
|
2
|
+
import { config } from 'dotenv'
|
|
3
|
+
|
|
4
|
+
import { XyoApiConfig, XyoApiError } from '../../models'
|
|
5
|
+
import { XyoArchivistApi } from '../Api'
|
|
6
|
+
import { getNewArchive } from '../ApiUtil.spec'
|
|
7
|
+
|
|
8
|
+
config()
|
|
9
|
+
|
|
10
|
+
const configData: XyoApiConfig = {
|
|
11
|
+
apiDomain: process.env.API_DOMAIN || 'https://beta.api.archivist.xyo.network',
|
|
12
|
+
onError: (error) => console.error(`Error: ${JSON.stringify(error)}`),
|
|
13
|
+
onFailure: (response) => response, //console.error(`Failure: ${response.statusText} [${response.status}] [${JSON.stringify(response.data)}]`),
|
|
14
|
+
onSuccess: (response) => response, //console.log(`Success: ${response.statusText} [${response.status}] [${JSON.stringify(response.data)}]`),
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
describe('XyoArchivistPayloadApi', () => {
|
|
18
|
+
describe('find', () => {
|
|
19
|
+
const api = new XyoArchivistApi(configData)
|
|
20
|
+
let archive = ''
|
|
21
|
+
beforeEach(async () => {
|
|
22
|
+
archive = await getNewArchive(api)
|
|
23
|
+
})
|
|
24
|
+
describe('when order is ascending', () => {
|
|
25
|
+
it('returns payloads greater than or equal to timestamp', async () => {
|
|
26
|
+
try {
|
|
27
|
+
const timestamp = Date.now()
|
|
28
|
+
const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
|
|
29
|
+
await api.archive(archive).block.post([boundWitness])
|
|
30
|
+
const response = await api.archive(archive).block.find({ order: 'asc', timestamp })
|
|
31
|
+
expect(response?.length).toBe(1)
|
|
32
|
+
const actual = response?.[0]
|
|
33
|
+
expect(actual?._timestamp).toBeTruthy()
|
|
34
|
+
expect(actual?._timestamp).toBeGreaterThan(timestamp)
|
|
35
|
+
} catch (ex) {
|
|
36
|
+
const error = ex as XyoApiError
|
|
37
|
+
console.log(JSON.stringify(error.response?.data, null, 2))
|
|
38
|
+
throw ex
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
describe('when order is descending', () => {
|
|
43
|
+
it('returns payloads less than or equal to timestamp', async () => {
|
|
44
|
+
try {
|
|
45
|
+
const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
|
|
46
|
+
await api.archive(archive).block.post([boundWitness])
|
|
47
|
+
const timestamp = Date.now()
|
|
48
|
+
const response = await api.archive(archive).block.find({ order: 'desc', timestamp })
|
|
49
|
+
expect(response?.length).toBe(1)
|
|
50
|
+
const actual = response?.[0]
|
|
51
|
+
expect(actual?._timestamp).toBeTruthy()
|
|
52
|
+
expect(actual?._timestamp).toBeLessThanOrEqual(timestamp)
|
|
53
|
+
} catch (ex) {
|
|
54
|
+
const error = ex as XyoApiError
|
|
55
|
+
console.log(JSON.stringify(error.response?.data, null, 2))
|
|
56
|
+
throw ex
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
})
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/core'
|
|
3
|
+
|
|
4
|
+
import { XyoApiConfig } from '../../models'
|
|
5
|
+
import { XyoApiSimple } from '../../Simple'
|
|
6
|
+
import { WithArchive } from '../../WithArchive'
|
|
7
|
+
import { XyoArchivistArchivePayloadSchemaApi } from './Schema'
|
|
8
|
+
|
|
9
|
+
export interface XyoPayloadFindFilter {
|
|
10
|
+
[key: string]: unknown
|
|
11
|
+
order?: 'desc' | 'asc'
|
|
12
|
+
timestamp?: number
|
|
13
|
+
limit?: number
|
|
14
|
+
schema?: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface XyoPayloadStats {
|
|
18
|
+
count: number
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class XyoArchivistPayloadApi<T extends XyoPayload = XyoPayload, C extends WithArchive<XyoApiConfig> = WithArchive<XyoApiConfig>> extends XyoApiSimple<
|
|
22
|
+
T[],
|
|
23
|
+
T[],
|
|
24
|
+
XyoPayloadFindFilter,
|
|
25
|
+
C
|
|
26
|
+
> {
|
|
27
|
+
public get schema(): XyoArchivistArchivePayloadSchemaApi {
|
|
28
|
+
return new XyoArchivistArchivePayloadSchemaApi({
|
|
29
|
+
...this.config,
|
|
30
|
+
root: `${this.root}schema/`,
|
|
31
|
+
})
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private _stats?: XyoApiSimple<XyoPayloadStats>
|
|
35
|
+
public get stats(): XyoApiSimple<XyoPayloadStats> {
|
|
36
|
+
this._stats =
|
|
37
|
+
this._stats ??
|
|
38
|
+
new XyoApiSimple<XyoPayloadStats>({
|
|
39
|
+
...this.config,
|
|
40
|
+
root: `${this.root}stats/`,
|
|
41
|
+
})
|
|
42
|
+
return this._stats
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public hash(hash: string): XyoApiSimple<XyoPayload[]> {
|
|
46
|
+
return new XyoApiSimple<XyoPayload[]>({
|
|
47
|
+
...this.config,
|
|
48
|
+
root: `${this.root}hash/${hash}/`,
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async repair(hash: string) {
|
|
53
|
+
return await this.getEndpoint<T[]>(`hash/${hash}/repair`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** @deprecated use stats instead */
|
|
57
|
+
public async getStats() {
|
|
58
|
+
return await this.getEndpoint<XyoPayloadStats>('stats')
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** @deprecated use hash */
|
|
62
|
+
public async getByHash(hash: string) {
|
|
63
|
+
return await this.getEndpoint<T[]>(`hash/${hash}`)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** @deprecated use repair */
|
|
67
|
+
public async repairByHash(hash: string) {
|
|
68
|
+
return await this.repair(hash)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** @deprecated use find */
|
|
72
|
+
public async findBefore(timestamp: number, limit = 20) {
|
|
73
|
+
return await this.find({ limit, order: 'desc', timestamp })
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** @deprecated use findBefore */
|
|
77
|
+
public async getBefore(timestamp: number, limit = 20) {
|
|
78
|
+
return await this.find({ limit, order: 'desc', timestamp })
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** @deprecated use find */
|
|
82
|
+
public async findAfter(timestamp: number, limit = 20) {
|
|
83
|
+
return await this.find({ limit, order: 'asc', timestamp })
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** @deprecated use find */
|
|
87
|
+
public async getAfter(timestamp: number, limit = 20) {
|
|
88
|
+
return await this.find({ limit, order: 'asc', timestamp })
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** @deprecated use find */
|
|
92
|
+
public async findMostRecent(limit = 20) {
|
|
93
|
+
assertEx(limit > 0, 'min limit = 1')
|
|
94
|
+
assertEx(limit <= 100, 'max limit = 100')
|
|
95
|
+
return await this.find({ limit, order: 'desc', timestamp: 999999999999 })
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** @deprecated use find */
|
|
99
|
+
public async getMostRecent(limit = 20) {
|
|
100
|
+
return await this.find({ limit, order: 'desc', timestamp: 999999999999 })
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { XyoAccount, XyoBoundWitnessBuilder, XyoPayload } from '@xyo-network/core'
|
|
2
|
+
|
|
3
|
+
import { XyoApiConfig } from '../../../models'
|
|
4
|
+
import { XyoArchivistApi } from '../../Api'
|
|
5
|
+
import { getNewArchive, getSchemaName } from '../../ApiUtil.spec'
|
|
6
|
+
|
|
7
|
+
const config: XyoApiConfig = {
|
|
8
|
+
apiDomain: process.env.API_DOMAIN || 'http://localhost:8080',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const payload: XyoPayload = {
|
|
12
|
+
definition: {
|
|
13
|
+
$id: '',
|
|
14
|
+
$schema: 'http://json-schema.org/draft-07/schema#',
|
|
15
|
+
},
|
|
16
|
+
schema: getSchemaName(),
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
describe('XyoArchivistArchivePayloadSchemaApi', () => {
|
|
20
|
+
const api = new XyoArchivistApi(config)
|
|
21
|
+
let archive = ''
|
|
22
|
+
beforeAll(async () => {
|
|
23
|
+
archive = await getNewArchive(api)
|
|
24
|
+
const boundWitness = new XyoBoundWitnessBuilder({ inlinePayloads: true }).witness(XyoAccount.random()).payload(payload).build()
|
|
25
|
+
await api.archives.archive(archive).block.post([boundWitness])
|
|
26
|
+
})
|
|
27
|
+
describe('get', () => {
|
|
28
|
+
it('calculates the correct path', () => {
|
|
29
|
+
const api = new XyoArchivistApi(config)
|
|
30
|
+
const path = api.archive(archive).payload.schema.config.root
|
|
31
|
+
expect(path).toBe(`/archive/${archive}/payload/schema/`)
|
|
32
|
+
})
|
|
33
|
+
it('lists the schema in the archive', async () => {
|
|
34
|
+
const api = new XyoArchivistApi(config)
|
|
35
|
+
const response = await api.archive(archive).payload.schema.get()
|
|
36
|
+
expect(response).toBeTruthy()
|
|
37
|
+
expect(Array.isArray(response)).toBe(true)
|
|
38
|
+
expect(response?.length).toBe(1)
|
|
39
|
+
expect(response?.[0]).toBe(payload.schema)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
describe('stats', () => {
|
|
43
|
+
it('calculates the correct path', () => {
|
|
44
|
+
const api = new XyoArchivistApi(config)
|
|
45
|
+
const path = api.archive(archive).payload.schema.stats.config.root
|
|
46
|
+
expect(path).toBe(`/archive/${archive}/payload/schema/stats/`)
|
|
47
|
+
})
|
|
48
|
+
it('lists the stats for the payloads by schema in the archive', async () => {
|
|
49
|
+
const api = new XyoArchivistApi(config)
|
|
50
|
+
const response = await api.archive(archive).payload.schema.stats.get()
|
|
51
|
+
expect(response).toBeTruthy()
|
|
52
|
+
expect(response?.counts).toBeTruthy()
|
|
53
|
+
const schemas = Object.keys(response?.counts || {})
|
|
54
|
+
expect(schemas.length).toBe(1)
|
|
55
|
+
expect(schemas?.[0]).toBe(payload.schema)
|
|
56
|
+
expect(response?.counts[payload.schema]).toBe(1)
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
})
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { XyoApiSimple } from '../../../Simple'
|
|
2
|
+
|
|
3
|
+
export interface XyoArchivistArchivePayloadSchemaStats {
|
|
4
|
+
counts: Record<string, number>
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export class XyoArchivistArchivePayloadSchemaApi extends XyoApiSimple<string[]> {
|
|
8
|
+
private _stats?: XyoApiSimple<XyoArchivistArchivePayloadSchemaStats>
|
|
9
|
+
public get stats() {
|
|
10
|
+
this._stats =
|
|
11
|
+
this._stats ??
|
|
12
|
+
new XyoApiSimple<XyoArchivistArchivePayloadSchemaStats>({
|
|
13
|
+
...this.config,
|
|
14
|
+
root: `${this.root}stats/`,
|
|
15
|
+
})
|
|
16
|
+
return this._stats
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Api'
|
package/src/Base.ts
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Axios, AxiosRequestConfig, AxiosRequestHeaders } from 'axios'
|
|
2
|
+
import { gzip } from 'pako'
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
XyoApiConfig,
|
|
6
|
+
XyoApiEnvelope,
|
|
7
|
+
XyoApiError,
|
|
8
|
+
XyoApiReportable,
|
|
9
|
+
XyoApiResponse,
|
|
10
|
+
XyoApiResponseBody,
|
|
11
|
+
XyoApiResponseTuple,
|
|
12
|
+
XyoApiResponseTupleOrBody,
|
|
13
|
+
XyoApiResponseType,
|
|
14
|
+
} from './models'
|
|
15
|
+
|
|
16
|
+
export class XyoApiBase<C extends XyoApiConfig = XyoApiConfig> implements XyoApiReportable {
|
|
17
|
+
public readonly config: C
|
|
18
|
+
protected axios: Axios
|
|
19
|
+
|
|
20
|
+
constructor(config: C) {
|
|
21
|
+
this.config = config
|
|
22
|
+
this.axios = new Axios(this.axiosConfig())
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private axiosHeaders(): AxiosRequestHeaders {
|
|
26
|
+
return {
|
|
27
|
+
...this.headers,
|
|
28
|
+
Accept: 'application/json, text/plain, *.*',
|
|
29
|
+
'Content-Type': 'application/json',
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private axiosConfig(): AxiosRequestConfig {
|
|
34
|
+
return {
|
|
35
|
+
headers: this.axiosHeaders(),
|
|
36
|
+
transformRequest: (data, headers) => {
|
|
37
|
+
const json = JSON.stringify(data)
|
|
38
|
+
if (headers && data) {
|
|
39
|
+
if (json.length > (this.config.compressionThreshold ?? 1024)) {
|
|
40
|
+
headers['Content-Encoding'] = 'gzip'
|
|
41
|
+
return gzip(JSON.stringify(data)).buffer
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return JSON.stringify(data)
|
|
45
|
+
},
|
|
46
|
+
transformResponse: (data) => {
|
|
47
|
+
try {
|
|
48
|
+
return JSON.parse(data)
|
|
49
|
+
} catch (ex) {
|
|
50
|
+
return null
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
onError(error: XyoApiError, depth = 0) {
|
|
57
|
+
this.config.reportableParent?.onError?.(error, depth + 1)
|
|
58
|
+
this.config.onError?.(error, depth)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
onFailure(response: XyoApiResponse, depth = 0) {
|
|
62
|
+
this.config.reportableParent?.onFailure?.(response, depth + 1)
|
|
63
|
+
this.config.onFailure?.(response, depth)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
onSuccess(response: XyoApiResponse, depth = 0) {
|
|
67
|
+
this.config.reportableParent?.onSuccess?.(response, depth + 1)
|
|
68
|
+
this.config.onSuccess?.(response, depth)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
protected get root() {
|
|
72
|
+
return this.config.root ?? '/'
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
protected get query() {
|
|
76
|
+
return this.config.query ?? ''
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private resolveRoot() {
|
|
80
|
+
return `${this.config.apiDomain}${this.root}`
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private static resolveResponse<T>(result?: XyoApiResponse<XyoApiEnvelope<T>>) {
|
|
84
|
+
return [result?.data?.data, result?.data, result] as XyoApiResponseTuple<T>
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
protected handleMonitorResponseError<T>(error: XyoApiError, trapAxiosException: boolean) {
|
|
88
|
+
if (!error.isXyoError) {
|
|
89
|
+
throw error
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (trapAxiosException) {
|
|
93
|
+
error.response ? this.onFailure(error.response) : this.onError(error)
|
|
94
|
+
if (this.config.throwFailure) {
|
|
95
|
+
throw error
|
|
96
|
+
}
|
|
97
|
+
return error.response as XyoApiResponse<XyoApiEnvelope<T>>
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
protected async monitorResponse<T>(closure: () => Promise<XyoApiResponse<XyoApiEnvelope<T>>>) {
|
|
102
|
+
//we use this to prevent accidental catching on exceptions in callbacks
|
|
103
|
+
let trapAxiosException = true
|
|
104
|
+
try {
|
|
105
|
+
const response = await closure()
|
|
106
|
+
trapAxiosException = false
|
|
107
|
+
|
|
108
|
+
response.status < 300 ? this.onSuccess(response) : this.onFailure(response)
|
|
109
|
+
|
|
110
|
+
return response
|
|
111
|
+
} catch (ex) {
|
|
112
|
+
this.handleMonitorResponseError(ex as XyoApiError, trapAxiosException)
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
protected async getEndpoint<T = unknown>(endPoint?: string): Promise<XyoApiResponseBody<T>>
|
|
117
|
+
protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<XyoApiResponseBody<T>>
|
|
118
|
+
protected async getEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
|
|
119
|
+
protected async getEndpoint<T = unknown>(endPoint = '', responseType?: XyoApiResponseType): Promise<XyoApiResponseTupleOrBody<T>> {
|
|
120
|
+
const response = await this.monitorResponse<T>(async () => {
|
|
121
|
+
return await this.axios.get<XyoApiEnvelope<T>, XyoApiResponse<XyoApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)
|
|
122
|
+
})
|
|
123
|
+
return XyoApiBase.shapeResponse<T>(response, responseType)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<XyoApiResponseBody<T>>
|
|
127
|
+
protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<XyoApiResponseBody<T>>
|
|
128
|
+
protected async postEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
|
|
129
|
+
protected async postEndpoint<T = unknown, D = unknown>(endPoint = '', data?: D, responseType?: XyoApiResponseType): Promise<XyoApiResponseTupleOrBody<T>> {
|
|
130
|
+
const response = await this.monitorResponse<T>(async () => {
|
|
131
|
+
return await this.axios.post<XyoApiEnvelope<T>, XyoApiResponse<XyoApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)
|
|
132
|
+
})
|
|
133
|
+
return XyoApiBase.shapeResponse<T>(response, responseType)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D): Promise<XyoApiResponseBody<T>>
|
|
137
|
+
protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'body'): Promise<XyoApiResponseBody<T>>
|
|
138
|
+
protected async putEndpoint<T = unknown, D = unknown>(endPoint?: string, data?: D, responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
|
|
139
|
+
protected async putEndpoint<T = unknown, D = unknown>(endPoint = '', data?: D, responseType?: XyoApiResponseType): Promise<XyoApiResponseTupleOrBody<T>> {
|
|
140
|
+
const response = await this.monitorResponse<T>(async () => {
|
|
141
|
+
return await this.axios.put<XyoApiEnvelope<T>, XyoApiResponse<XyoApiEnvelope<T>, D>, D>(`${this.resolveRoot()}${endPoint}${this.query}`, data)
|
|
142
|
+
})
|
|
143
|
+
return XyoApiBase.shapeResponse<T>(response, responseType)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
protected async deleteEndpoint<T = unknown>(endPoint?: string): Promise<XyoApiResponseBody<T>>
|
|
147
|
+
protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'body'): Promise<XyoApiResponseBody<T>>
|
|
148
|
+
protected async deleteEndpoint<T = unknown>(endPoint?: string, responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
|
|
149
|
+
protected async deleteEndpoint<T = unknown>(endPoint = '', responseType?: XyoApiResponseType): Promise<XyoApiResponseTupleOrBody<T>> {
|
|
150
|
+
const response = await this.monitorResponse<T>(async () => {
|
|
151
|
+
return await this.axios.delete<XyoApiEnvelope<T>, XyoApiResponse<XyoApiEnvelope<T>>>(`${this.resolveRoot()}${endPoint}${this.query}`)
|
|
152
|
+
})
|
|
153
|
+
return XyoApiBase.shapeResponse<T>(response, responseType)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
private static shapeResponse<T = unknown>(response: XyoApiResponse<XyoApiEnvelope<T>> | undefined, responseType?: XyoApiResponseType) {
|
|
157
|
+
const resolvedResponse = XyoApiBase.resolveResponse(response)
|
|
158
|
+
return responseType === 'tuple' ? resolvedResponse : resolvedResponse[0]
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
protected get headers(): Record<string, string> {
|
|
162
|
+
const headers: Record<string, string> = {}
|
|
163
|
+
if (this.config.jwtToken) {
|
|
164
|
+
headers.Authorization = `Bearer ${this.config.jwtToken}`
|
|
165
|
+
}
|
|
166
|
+
if (this.config.apiKey) {
|
|
167
|
+
headers['x-api-key'] = this.config.apiKey
|
|
168
|
+
}
|
|
169
|
+
return headers
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public get authenticated() {
|
|
173
|
+
return !!this.config.apiKey || !!this.config.jwtToken
|
|
174
|
+
}
|
|
175
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ApiConfig } from '@xylabs/sdk-js'
|
|
2
|
+
import { AxiosError } from 'axios'
|
|
3
|
+
|
|
4
|
+
import { XyoApiConfig } from '../../models'
|
|
5
|
+
import { XyoLocationDivinerApi } from './LocationDivinerApi'
|
|
6
|
+
import { LocationHeatmapQueryCreationRequest, locationHeatmapQuerySchema, LocationTimeRangeQueryCreationRequest, locationTimeRangeQuerySchema } from './Queries'
|
|
7
|
+
import { locationWitnessPayloadSchema } from './Witnesses'
|
|
8
|
+
|
|
9
|
+
const config: ApiConfig = {
|
|
10
|
+
apiDomain: process.env.LOCATION_API_DOMAIN || 'http://localhost:8082',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const getArchiveConfig = (): XyoApiConfig => {
|
|
14
|
+
const apiDomain = process.env.API_DOMAIN || 'http://localhost:8080'
|
|
15
|
+
return { apiDomain }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const getDefaultStartStopTime = () => {
|
|
19
|
+
const startTime = new Date(0).toISOString()
|
|
20
|
+
const stopTime = new Date().toISOString()
|
|
21
|
+
return { startTime, stopTime }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const getLocationTimeRangeQueryCreationRequest = (): LocationTimeRangeQueryCreationRequest => {
|
|
25
|
+
const query = { schema: locationWitnessPayloadSchema, ...getDefaultStartStopTime() }
|
|
26
|
+
const sourceArchivist = { ...getArchiveConfig() }
|
|
27
|
+
const resultArchivist = { ...getArchiveConfig() }
|
|
28
|
+
return {
|
|
29
|
+
query,
|
|
30
|
+
resultArchive: 'temp',
|
|
31
|
+
resultArchivist,
|
|
32
|
+
schema: locationTimeRangeQuerySchema,
|
|
33
|
+
sourceArchive: 'temp',
|
|
34
|
+
sourceArchivist,
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const getLocationHeatmapQueryCreationRequest = (): LocationHeatmapQueryCreationRequest => {
|
|
39
|
+
const query = { schema: locationWitnessPayloadSchema, ...getDefaultStartStopTime() }
|
|
40
|
+
const sourceArchivist = { ...getArchiveConfig() }
|
|
41
|
+
const resultArchivist = { ...getArchiveConfig() }
|
|
42
|
+
return {
|
|
43
|
+
query,
|
|
44
|
+
resultArchive: 'temp',
|
|
45
|
+
resultArchivist,
|
|
46
|
+
schema: locationHeatmapQuerySchema,
|
|
47
|
+
sourceArchive: 'temp',
|
|
48
|
+
sourceArchivist,
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const describeSkipIfNoDiviner = process.env.LOCATION_API_DOMAIN ? describe : describe.skip
|
|
53
|
+
|
|
54
|
+
describeSkipIfNoDiviner('XyoLocationDivinerApi', () => {
|
|
55
|
+
describe('constructor', () => {
|
|
56
|
+
it('returns a new XyoLocationDivinerApi', () => {
|
|
57
|
+
const api = new XyoLocationDivinerApi(config)
|
|
58
|
+
expect(api).toBeDefined()
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
describe('postLocationQuery', () => {
|
|
62
|
+
it('posts a location heatmap query', async () => {
|
|
63
|
+
const api = new XyoLocationDivinerApi(config)
|
|
64
|
+
try {
|
|
65
|
+
const locationQuery = await api.postLocationQuery(getLocationHeatmapQueryCreationRequest())
|
|
66
|
+
const response = await api.getLocationQuery(locationQuery.hash)
|
|
67
|
+
expect(response.queryHash).toBe(locationQuery.hash)
|
|
68
|
+
} catch (ex) {
|
|
69
|
+
const error = ex as AxiosError
|
|
70
|
+
console.log(JSON.stringify(error.response?.data, null, 2))
|
|
71
|
+
throw ex
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
it('posts a location time range query', async () => {
|
|
75
|
+
const api = new XyoLocationDivinerApi(config)
|
|
76
|
+
try {
|
|
77
|
+
const locationQuery = await api.postLocationQuery(getLocationTimeRangeQueryCreationRequest())
|
|
78
|
+
const response = await api.getLocationQuery(locationQuery.hash)
|
|
79
|
+
expect(response.queryHash).toBe(locationQuery.hash)
|
|
80
|
+
} catch (ex) {
|
|
81
|
+
const error = ex as AxiosError
|
|
82
|
+
console.log(JSON.stringify(error.response?.data, null, 2))
|
|
83
|
+
throw ex
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
describe('getLocationQuery', function () {
|
|
88
|
+
it('gets the status of a previously posted location query', async () => {
|
|
89
|
+
const api = new XyoLocationDivinerApi(config)
|
|
90
|
+
try {
|
|
91
|
+
const locationQuery = await api.postLocationQuery(getLocationTimeRangeQueryCreationRequest())
|
|
92
|
+
const response = await api.getLocationQuery(locationQuery.hash)
|
|
93
|
+
expect(response.queryHash).toBe(locationQuery.hash)
|
|
94
|
+
} catch (ex) {
|
|
95
|
+
const error = ex as AxiosError
|
|
96
|
+
console.log(JSON.stringify(error.response?.data, null, 2))
|
|
97
|
+
throw ex
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
})
|