@osdk/faux 0.1.0-beta.1
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/CHANGELOG.md +1047 -0
- package/build/browser/BaseError.js +21 -0
- package/build/browser/BaseError.js.map +1 -0
- package/build/browser/FauxFoundry/BaseOsdkObjectType.js +2 -0
- package/build/browser/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
- package/build/browser/FauxFoundry/BaseServerObject.js +30 -0
- package/build/browser/FauxFoundry/BaseServerObject.js.map +1 -0
- package/build/browser/FauxFoundry/FauxActionImpl.js +2 -0
- package/build/browser/FauxFoundry/FauxActionImpl.js.map +1 -0
- package/build/browser/FauxFoundry/FauxAttachmentStore.js +60 -0
- package/build/browser/FauxFoundry/FauxAttachmentStore.js.map +1 -0
- package/build/browser/FauxFoundry/FauxDataStore.js +470 -0
- package/build/browser/FauxFoundry/FauxDataStore.js.map +1 -0
- package/build/browser/FauxFoundry/FauxDataStore.test.js +190 -0
- package/build/browser/FauxFoundry/FauxDataStore.test.js.map +1 -0
- package/build/browser/FauxFoundry/FauxDataStoreBatch.js +125 -0
- package/build/browser/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
- package/build/browser/FauxFoundry/FauxFoundry.js +87 -0
- package/build/browser/FauxFoundry/FauxFoundry.js.map +1 -0
- package/build/browser/FauxFoundry/FauxOntology.js +228 -0
- package/build/browser/FauxFoundry/FauxOntology.js.map +1 -0
- package/build/browser/FauxFoundry/FauxQueryImpl.js +2 -0
- package/build/browser/FauxFoundry/FauxQueryImpl.js.map +1 -0
- package/build/browser/FauxFoundry/ObjectLocator.js +29 -0
- package/build/browser/FauxFoundry/ObjectLocator.js.map +1 -0
- package/build/browser/FauxFoundry/filterObjects.js +122 -0
- package/build/browser/FauxFoundry/filterObjects.js.map +1 -0
- package/build/browser/FauxFoundry/filterTimeSeriesData.js +70 -0
- package/build/browser/FauxFoundry/filterTimeSeriesData.js.map +1 -0
- package/build/browser/FauxFoundry/filterTimeSeriesData.test.js +116 -0
- package/build/browser/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
- package/build/browser/FauxFoundry/getObjectsFromSet.js +217 -0
- package/build/browser/FauxFoundry/getObjectsFromSet.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
- package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/JustProps.js +2 -0
- package/build/browser/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
- package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
- package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
- package/build/browser/FauxFoundry/typeHelpers/index.js +20 -0
- package/build/browser/FauxFoundry/typeHelpers/index.js.map +1 -0
- package/build/browser/FauxFoundry/validateAction.js +245 -0
- package/build/browser/FauxFoundry/validateAction.js.map +1 -0
- package/build/browser/defaultOntologyForConjure.js +25 -0
- package/build/browser/defaultOntologyForConjure.js.map +1 -0
- package/build/browser/defaultOntologyMetadata.js +23 -0
- package/build/browser/defaultOntologyMetadata.js.map +1 -0
- package/build/browser/errors.js +134 -0
- package/build/browser/errors.js.map +1 -0
- package/build/browser/filterObjects.js +86 -0
- package/build/browser/filterObjects.js.map +1 -0
- package/build/browser/handlers/authHandlerMiddleware.js +41 -0
- package/build/browser/handlers/authHandlerMiddleware.js.map +1 -0
- package/build/browser/handlers/createActionHandlers.js +49 -0
- package/build/browser/handlers/createActionHandlers.js.map +1 -0
- package/build/browser/handlers/createAttachmentHandlers.js +88 -0
- package/build/browser/handlers/createAttachmentHandlers.js.map +1 -0
- package/build/browser/handlers/createFauxFoundryHandlers.js +29 -0
- package/build/browser/handlers/createFauxFoundryHandlers.js.map +1 -0
- package/build/browser/handlers/createLoadObjectsHandlers.js +91 -0
- package/build/browser/handlers/createLoadObjectsHandlers.js.map +1 -0
- package/build/browser/handlers/createMediaRefHandlers.js +70 -0
- package/build/browser/handlers/createMediaRefHandlers.js.map +1 -0
- package/build/browser/handlers/createMultipassServerHandlers.js +67 -0
- package/build/browser/handlers/createMultipassServerHandlers.js.map +1 -0
- package/build/browser/handlers/createObjectSetHandlers.js +50 -0
- package/build/browser/handlers/createObjectSetHandlers.js.map +1 -0
- package/build/browser/handlers/createOntologyHandlers.js +122 -0
- package/build/browser/handlers/createOntologyHandlers.js.map +1 -0
- package/build/browser/handlers/createQueryHandlers.js +38 -0
- package/build/browser/handlers/createQueryHandlers.js.map +1 -0
- package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
- package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
- package/build/browser/handlers/util/getPaginationParams.js +33 -0
- package/build/browser/handlers/util/getPaginationParams.js.map +1 -0
- package/build/browser/handlers/util/handleOpenApiCall.js +85 -0
- package/build/browser/handlers/util/handleOpenApiCall.js.map +1 -0
- package/build/browser/handlers/util/loadAll.js +24 -0
- package/build/browser/handlers/util/loadAll.js.map +1 -0
- package/build/browser/handlers/util/pageThroughResponseSearchParams.js +39 -0
- package/build/browser/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
- package/build/browser/handlers/util/requireParam.js +29 -0
- package/build/browser/handlers/util/requireParam.js.map +1 -0
- package/build/browser/handlers/util/requireSearchParams.js +29 -0
- package/build/browser/handlers/util/requireSearchParams.js.map +1 -0
- package/build/browser/index.js +29 -0
- package/build/browser/index.js.map +1 -0
- package/build/browser/mock/OntologiesV2/ActionTypesV2.js +21 -0
- package/build/browser/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/Actions.js +21 -0
- package/build/browser/mock/OntologiesV2/Actions.js.map +1 -0
- package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
- package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/Attachments.js +22 -0
- package/build/browser/mock/OntologiesV2/Attachments.js.map +1 -0
- package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
- package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
- package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
- package/build/browser/mock/OntologiesV2/ObjectTypesV2.js +24 -0
- package/build/browser/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/OntologiesV2.js +27 -0
- package/build/browser/mock/OntologiesV2/OntologiesV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/OntologyInterfaces.js +21 -0
- package/build/browser/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
- package/build/browser/mock/OntologiesV2/OntologyObjectSets.js +22 -0
- package/build/browser/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
- package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
- package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/Queries.js +20 -0
- package/build/browser/mock/OntologiesV2/Queries.js.map +1 -0
- package/build/browser/mock/OntologiesV2/QueryTypes.js +21 -0
- package/build/browser/mock/OntologiesV2/QueryTypes.js.map +1 -0
- package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
- package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
- package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
- package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
- package/build/browser/mock/OntologiesV2/index.js +32 -0
- package/build/browser/mock/OntologiesV2/index.js.map +1 -0
- package/build/browser/mock/index.js +18 -0
- package/build/browser/mock/index.js.map +1 -0
- package/build/browser/withoutRid.js +24 -0
- package/build/browser/withoutRid.js.map +1 -0
- package/build/cjs/index.cjs +2983 -0
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/index.d.cts +562 -0
- package/build/esm/BaseError.js +21 -0
- package/build/esm/BaseError.js.map +1 -0
- package/build/esm/FauxFoundry/BaseOsdkObjectType.js +2 -0
- package/build/esm/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
- package/build/esm/FauxFoundry/BaseServerObject.js +30 -0
- package/build/esm/FauxFoundry/BaseServerObject.js.map +1 -0
- package/build/esm/FauxFoundry/FauxActionImpl.js +2 -0
- package/build/esm/FauxFoundry/FauxActionImpl.js.map +1 -0
- package/build/esm/FauxFoundry/FauxAttachmentStore.js +60 -0
- package/build/esm/FauxFoundry/FauxAttachmentStore.js.map +1 -0
- package/build/esm/FauxFoundry/FauxDataStore.js +470 -0
- package/build/esm/FauxFoundry/FauxDataStore.js.map +1 -0
- package/build/esm/FauxFoundry/FauxDataStore.test.js +190 -0
- package/build/esm/FauxFoundry/FauxDataStore.test.js.map +1 -0
- package/build/esm/FauxFoundry/FauxDataStoreBatch.js +125 -0
- package/build/esm/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
- package/build/esm/FauxFoundry/FauxFoundry.js +87 -0
- package/build/esm/FauxFoundry/FauxFoundry.js.map +1 -0
- package/build/esm/FauxFoundry/FauxOntology.js +228 -0
- package/build/esm/FauxFoundry/FauxOntology.js.map +1 -0
- package/build/esm/FauxFoundry/FauxQueryImpl.js +2 -0
- package/build/esm/FauxFoundry/FauxQueryImpl.js.map +1 -0
- package/build/esm/FauxFoundry/ObjectLocator.js +29 -0
- package/build/esm/FauxFoundry/ObjectLocator.js.map +1 -0
- package/build/esm/FauxFoundry/filterObjects.js +122 -0
- package/build/esm/FauxFoundry/filterObjects.js.map +1 -0
- package/build/esm/FauxFoundry/filterTimeSeriesData.js +70 -0
- package/build/esm/FauxFoundry/filterTimeSeriesData.js.map +1 -0
- package/build/esm/FauxFoundry/filterTimeSeriesData.test.js +116 -0
- package/build/esm/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
- package/build/esm/FauxFoundry/getObjectsFromSet.js +217 -0
- package/build/esm/FauxFoundry/getObjectsFromSet.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
- package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/JustProps.js +2 -0
- package/build/esm/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
- package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
- package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
- package/build/esm/FauxFoundry/typeHelpers/index.js +20 -0
- package/build/esm/FauxFoundry/typeHelpers/index.js.map +1 -0
- package/build/esm/FauxFoundry/validateAction.js +245 -0
- package/build/esm/FauxFoundry/validateAction.js.map +1 -0
- package/build/esm/defaultOntologyForConjure.js +25 -0
- package/build/esm/defaultOntologyForConjure.js.map +1 -0
- package/build/esm/defaultOntologyMetadata.js +23 -0
- package/build/esm/defaultOntologyMetadata.js.map +1 -0
- package/build/esm/errors.js +134 -0
- package/build/esm/errors.js.map +1 -0
- package/build/esm/filterObjects.js +86 -0
- package/build/esm/filterObjects.js.map +1 -0
- package/build/esm/handlers/authHandlerMiddleware.js +41 -0
- package/build/esm/handlers/authHandlerMiddleware.js.map +1 -0
- package/build/esm/handlers/createActionHandlers.js +49 -0
- package/build/esm/handlers/createActionHandlers.js.map +1 -0
- package/build/esm/handlers/createAttachmentHandlers.js +88 -0
- package/build/esm/handlers/createAttachmentHandlers.js.map +1 -0
- package/build/esm/handlers/createFauxFoundryHandlers.js +29 -0
- package/build/esm/handlers/createFauxFoundryHandlers.js.map +1 -0
- package/build/esm/handlers/createLoadObjectsHandlers.js +91 -0
- package/build/esm/handlers/createLoadObjectsHandlers.js.map +1 -0
- package/build/esm/handlers/createMediaRefHandlers.js +70 -0
- package/build/esm/handlers/createMediaRefHandlers.js.map +1 -0
- package/build/esm/handlers/createMultipassServerHandlers.js +67 -0
- package/build/esm/handlers/createMultipassServerHandlers.js.map +1 -0
- package/build/esm/handlers/createObjectSetHandlers.js +50 -0
- package/build/esm/handlers/createObjectSetHandlers.js.map +1 -0
- package/build/esm/handlers/createOntologyHandlers.js +122 -0
- package/build/esm/handlers/createOntologyHandlers.js.map +1 -0
- package/build/esm/handlers/createQueryHandlers.js +38 -0
- package/build/esm/handlers/createQueryHandlers.js.map +1 -0
- package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
- package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
- package/build/esm/handlers/util/getPaginationParams.js +33 -0
- package/build/esm/handlers/util/getPaginationParams.js.map +1 -0
- package/build/esm/handlers/util/handleOpenApiCall.js +85 -0
- package/build/esm/handlers/util/handleOpenApiCall.js.map +1 -0
- package/build/esm/handlers/util/loadAll.js +24 -0
- package/build/esm/handlers/util/loadAll.js.map +1 -0
- package/build/esm/handlers/util/pageThroughResponseSearchParams.js +39 -0
- package/build/esm/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
- package/build/esm/handlers/util/requireParam.js +29 -0
- package/build/esm/handlers/util/requireParam.js.map +1 -0
- package/build/esm/handlers/util/requireSearchParams.js +29 -0
- package/build/esm/handlers/util/requireSearchParams.js.map +1 -0
- package/build/esm/index.js +29 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/mock/OntologiesV2/ActionTypesV2.js +21 -0
- package/build/esm/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/Actions.js +21 -0
- package/build/esm/mock/OntologiesV2/Actions.js.map +1 -0
- package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
- package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/Attachments.js +22 -0
- package/build/esm/mock/OntologiesV2/Attachments.js.map +1 -0
- package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
- package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
- package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
- package/build/esm/mock/OntologiesV2/ObjectTypesV2.js +24 -0
- package/build/esm/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/OntologiesV2.js +27 -0
- package/build/esm/mock/OntologiesV2/OntologiesV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/OntologyInterfaces.js +21 -0
- package/build/esm/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
- package/build/esm/mock/OntologiesV2/OntologyObjectSets.js +22 -0
- package/build/esm/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
- package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
- package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/Queries.js +20 -0
- package/build/esm/mock/OntologiesV2/Queries.js.map +1 -0
- package/build/esm/mock/OntologiesV2/QueryTypes.js +21 -0
- package/build/esm/mock/OntologiesV2/QueryTypes.js.map +1 -0
- package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
- package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
- package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
- package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
- package/build/esm/mock/OntologiesV2/index.js +32 -0
- package/build/esm/mock/OntologiesV2/index.js.map +1 -0
- package/build/esm/mock/index.js +18 -0
- package/build/esm/mock/index.js.map +1 -0
- package/build/esm/withoutRid.js +24 -0
- package/build/esm/withoutRid.js.map +1 -0
- package/build/types/BaseError.d.ts +7 -0
- package/build/types/BaseError.d.ts.map +1 -0
- package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts +5 -0
- package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts.map +1 -0
- package/build/types/FauxFoundry/BaseServerObject.d.ts +18 -0
- package/build/types/FauxFoundry/BaseServerObject.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxActionImpl.d.ts +8 -0
- package/build/types/FauxFoundry/FauxActionImpl.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxAttachmentStore.d.ts +10 -0
- package/build/types/FauxFoundry/FauxAttachmentStore.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxDataStore.d.ts +70 -0
- package/build/types/FauxFoundry/FauxDataStore.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxDataStore.test.d.ts +1 -0
- package/build/types/FauxFoundry/FauxDataStore.test.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts +22 -0
- package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxFoundry.d.ts +25 -0
- package/build/types/FauxFoundry/FauxFoundry.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxOntology.d.ts +39 -0
- package/build/types/FauxFoundry/FauxOntology.d.ts.map +1 -0
- package/build/types/FauxFoundry/FauxQueryImpl.d.ts +5 -0
- package/build/types/FauxFoundry/FauxQueryImpl.d.ts.map +1 -0
- package/build/types/FauxFoundry/ObjectLocator.d.ts +11 -0
- package/build/types/FauxFoundry/ObjectLocator.d.ts.map +1 -0
- package/build/types/FauxFoundry/filterObjects.d.ts +3 -0
- package/build/types/FauxFoundry/filterObjects.d.ts.map +1 -0
- package/build/types/FauxFoundry/filterTimeSeriesData.d.ts +2 -0
- package/build/types/FauxFoundry/filterTimeSeriesData.d.ts.map +1 -0
- package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts +1 -0
- package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts.map +1 -0
- package/build/types/FauxFoundry/getObjectsFromSet.d.ts +6 -0
- package/build/types/FauxFoundry/getObjectsFromSet.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts +27 -0
- package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts +4 -0
- package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts +43 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts +15 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts +8 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts +24 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts +18 -0
- package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts +12 -0
- package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts.map +1 -0
- package/build/types/FauxFoundry/typeHelpers/index.d.ts +10 -0
- package/build/types/FauxFoundry/typeHelpers/index.d.ts.map +1 -0
- package/build/types/FauxFoundry/validateAction.d.ts +9 -0
- package/build/types/FauxFoundry/validateAction.d.ts.map +1 -0
- package/build/types/defaultOntologyForConjure.d.ts +7 -0
- package/build/types/defaultOntologyForConjure.d.ts.map +1 -0
- package/build/types/defaultOntologyMetadata.d.ts +2 -0
- package/build/types/defaultOntologyMetadata.d.ts.map +1 -0
- package/build/types/errors.d.ts +14 -0
- package/build/types/errors.d.ts.map +1 -0
- package/build/types/filterObjects.d.ts +8 -0
- package/build/types/filterObjects.d.ts.map +1 -0
- package/build/types/handlers/authHandlerMiddleware.d.ts +5 -0
- package/build/types/handlers/authHandlerMiddleware.d.ts.map +1 -0
- package/build/types/handlers/createActionHandlers.d.ts +3 -0
- package/build/types/handlers/createActionHandlers.d.ts.map +1 -0
- package/build/types/handlers/createAttachmentHandlers.d.ts +2 -0
- package/build/types/handlers/createAttachmentHandlers.d.ts.map +1 -0
- package/build/types/handlers/createFauxFoundryHandlers.d.ts +4 -0
- package/build/types/handlers/createFauxFoundryHandlers.d.ts.map +1 -0
- package/build/types/handlers/createLoadObjectsHandlers.d.ts +2 -0
- package/build/types/handlers/createLoadObjectsHandlers.d.ts.map +1 -0
- package/build/types/handlers/createMediaRefHandlers.d.ts +2 -0
- package/build/types/handlers/createMediaRefHandlers.d.ts.map +1 -0
- package/build/types/handlers/createMultipassServerHandlers.d.ts +2 -0
- package/build/types/handlers/createMultipassServerHandlers.d.ts.map +1 -0
- package/build/types/handlers/createObjectSetHandlers.d.ts +3 -0
- package/build/types/handlers/createObjectSetHandlers.d.ts.map +1 -0
- package/build/types/handlers/createOntologyHandlers.d.ts +4 -0
- package/build/types/handlers/createOntologyHandlers.d.ts.map +1 -0
- package/build/types/handlers/createQueryHandlers.d.ts +2 -0
- package/build/types/handlers/createQueryHandlers.d.ts.map +1 -0
- package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts +2 -0
- package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts.map +1 -0
- package/build/types/handlers/util/getPaginationParams.d.ts +11 -0
- package/build/types/handlers/util/getPaginationParams.d.ts.map +1 -0
- package/build/types/handlers/util/handleOpenApiCall.d.ts +49 -0
- package/build/types/handlers/util/handleOpenApiCall.d.ts.map +1 -0
- package/build/types/handlers/util/loadAll.d.ts +1 -0
- package/build/types/handlers/util/loadAll.d.ts.map +1 -0
- package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts +20 -0
- package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts.map +1 -0
- package/build/types/handlers/util/requireParam.d.ts +8 -0
- package/build/types/handlers/util/requireParam.d.ts.map +1 -0
- package/build/types/handlers/util/requireSearchParams.d.ts +2 -0
- package/build/types/handlers/util/requireSearchParams.d.ts.map +1 -0
- package/build/types/index.d.ts +14 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts +4 -0
- package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/Actions.d.ts +4 -0
- package/build/types/mock/OntologiesV2/Actions.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts +4 -0
- package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/Attachments.d.ts +5 -0
- package/build/types/mock/OntologiesV2/Attachments.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts +4 -0
- package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts +5 -0
- package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts +7 -0
- package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/OntologiesV2.d.ts +9 -0
- package/build/types/mock/OntologiesV2/OntologiesV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts +4 -0
- package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts +5 -0
- package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts +4 -0
- package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/Queries.d.ts +3 -0
- package/build/types/mock/OntologiesV2/Queries.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/QueryTypes.d.ts +4 -0
- package/build/types/mock/OntologiesV2/QueryTypes.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts +5 -0
- package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts +4 -0
- package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts.map +1 -0
- package/build/types/mock/OntologiesV2/index.d.ts +15 -0
- package/build/types/mock/OntologiesV2/index.d.ts.map +1 -0
- package/build/types/mock/index.d.ts +1 -0
- package/build/types/mock/index.d.ts.map +1 -0
- package/build/types/withoutRid.d.ts +3 -0
- package/build/types/withoutRid.d.ts.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,2983 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var generatorConverters = require('@osdk/generator-converters');
|
|
4
|
+
var crypto = require('crypto');
|
|
5
|
+
var mnemonist = require('mnemonist');
|
|
6
|
+
var invariant4 = require('tiny-invariant');
|
|
7
|
+
var msw = require('msw');
|
|
8
|
+
var deepEqual = require('fast-deep-equal');
|
|
9
|
+
var dateFns = require('date-fns');
|
|
10
|
+
var semver = require('semver');
|
|
11
|
+
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
function _interopNamespace(e) {
|
|
15
|
+
if (e && e.__esModule) return e;
|
|
16
|
+
var n = Object.create(null);
|
|
17
|
+
if (e) {
|
|
18
|
+
Object.keys(e).forEach(function (k) {
|
|
19
|
+
if (k !== 'default') {
|
|
20
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return e[k]; }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
n.default = e;
|
|
29
|
+
return Object.freeze(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var crypto__namespace = /*#__PURE__*/_interopNamespace(crypto);
|
|
33
|
+
var invariant4__default = /*#__PURE__*/_interopDefault(invariant4);
|
|
34
|
+
var msw__namespace = /*#__PURE__*/_interopNamespace(msw);
|
|
35
|
+
var deepEqual__default = /*#__PURE__*/_interopDefault(deepEqual);
|
|
36
|
+
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
37
|
+
|
|
38
|
+
var __defProp = Object.defineProperty;
|
|
39
|
+
var __export = (target, all) => {
|
|
40
|
+
for (var name in all)
|
|
41
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// src/FauxFoundry/typeHelpers/index.ts
|
|
45
|
+
var typeHelpers_exports = {};
|
|
46
|
+
__export(typeHelpers_exports, {
|
|
47
|
+
actionTypeBuilder: () => actionTypeBuilder,
|
|
48
|
+
createActionParameterV2: () => createActionParameterV2,
|
|
49
|
+
createActionRid: () => createActionRid,
|
|
50
|
+
createActionType: () => createAction
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// src/FauxFoundry/typeHelpers/TH_ActionParameterV2.ts
|
|
54
|
+
function createActionParameterV2(type, required) {
|
|
55
|
+
return {
|
|
56
|
+
dataType: {
|
|
57
|
+
type
|
|
58
|
+
},
|
|
59
|
+
required
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/FauxFoundry/typeHelpers/TH_ActionTypeV2.ts
|
|
64
|
+
function createAction({
|
|
65
|
+
apiName,
|
|
66
|
+
parameters,
|
|
67
|
+
rid = createActionRid(),
|
|
68
|
+
operations = [],
|
|
69
|
+
status = "ACTIVE",
|
|
70
|
+
description
|
|
71
|
+
}) {
|
|
72
|
+
return {
|
|
73
|
+
apiName,
|
|
74
|
+
parameters,
|
|
75
|
+
rid,
|
|
76
|
+
operations,
|
|
77
|
+
status,
|
|
78
|
+
description: description ?? `Action ${apiName}`
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// src/FauxFoundry/typeHelpers/ActionTypeBuilder.ts
|
|
83
|
+
function actionTypeBuilder(action) {
|
|
84
|
+
return new ActionTypeBuilder(action);
|
|
85
|
+
}
|
|
86
|
+
function createActionRid() {
|
|
87
|
+
return `ri.ontology.main.action-type.${crypto__namespace.randomUUID()}`;
|
|
88
|
+
}
|
|
89
|
+
var ActionTypeBuilder = class _ActionTypeBuilder {
|
|
90
|
+
constructor(action) {
|
|
91
|
+
if (typeof action === "string") {
|
|
92
|
+
this.action = createAction({
|
|
93
|
+
apiName: action,
|
|
94
|
+
parameters: {}
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
this.action = action;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
addParameter(paramId, parameter, required = false) {
|
|
101
|
+
const v = typeof parameter === "string" ? createActionParameterV2(parameter, required) : parameter;
|
|
102
|
+
return new _ActionTypeBuilder({
|
|
103
|
+
...this.action,
|
|
104
|
+
parameters: {
|
|
105
|
+
...this.action.parameters,
|
|
106
|
+
[paramId]: v
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
build() {
|
|
111
|
+
const actionTypeV2 = this.action;
|
|
112
|
+
const actionMetadata = generatorConverters.wireActionTypeV2ToSdkActionMetadata(
|
|
113
|
+
actionTypeV2
|
|
114
|
+
// cast below is needed because the compile time type also needs `signatures`
|
|
115
|
+
// which we don't create in the conversion.
|
|
116
|
+
);
|
|
117
|
+
return {
|
|
118
|
+
actionTypeV2: this.action,
|
|
119
|
+
actionDefinition: {
|
|
120
|
+
__DefinitionMetadata: actionMetadata,
|
|
121
|
+
apiName: actionMetadata.apiName,
|
|
122
|
+
type: "action"
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// src/BaseError.ts
|
|
129
|
+
function isBaseApiError(error) {
|
|
130
|
+
return error && typeof error === "object" && "errorCode" in error && "errorName" in error && "errorInstanceId" in error;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// src/errors.ts
|
|
134
|
+
var errors_exports = {};
|
|
135
|
+
__export(errors_exports, {
|
|
136
|
+
ActionNotFoundError: () => ActionNotFoundError,
|
|
137
|
+
ApplyActionFailedError: () => ApplyActionFailedError,
|
|
138
|
+
AttachmentNotFoundError: () => AttachmentNotFoundError,
|
|
139
|
+
AttachmentSizeExceededLimitError: () => AttachmentSizeExceededLimitError,
|
|
140
|
+
ExecuteQueryFailedError: () => ExecuteQueryFailedError,
|
|
141
|
+
InvalidContentTypeError: () => InvalidContentTypeError,
|
|
142
|
+
InvalidRequest: () => InvalidRequest,
|
|
143
|
+
LinkTypeNotFound: () => LinkTypeNotFound,
|
|
144
|
+
ObjectNotFoundError: () => ObjectNotFoundError,
|
|
145
|
+
ObjectTypeDoesNotExistError: () => ObjectTypeDoesNotExistError,
|
|
146
|
+
OntologyNotFoundError: () => OntologyNotFoundError,
|
|
147
|
+
QueryNotFoundError: () => QueryNotFoundError
|
|
148
|
+
});
|
|
149
|
+
var errorInstanceId = "errorInstanceId";
|
|
150
|
+
var objectTypeRid = "ri.foundry.main.objectType.1";
|
|
151
|
+
function ObjectTypeDoesNotExistError(objectType) {
|
|
152
|
+
return {
|
|
153
|
+
errorCode: "NOT_FOUND",
|
|
154
|
+
errorName: "ObjectTypeNotFound",
|
|
155
|
+
errorInstanceId,
|
|
156
|
+
parameters: {
|
|
157
|
+
objectType,
|
|
158
|
+
objectTypeRid
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function LinkTypeNotFound(objectType, linkType) {
|
|
163
|
+
return {
|
|
164
|
+
errorCode: "NOT_FOUND",
|
|
165
|
+
errorName: "LinkTypeNotFound",
|
|
166
|
+
errorInstanceId,
|
|
167
|
+
parameters: {
|
|
168
|
+
objectType,
|
|
169
|
+
linkType
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function OntologyNotFoundError(ontology) {
|
|
174
|
+
return {
|
|
175
|
+
errorCode: "NOT_FOUND",
|
|
176
|
+
errorName: "OntologyNotFound",
|
|
177
|
+
errorInstanceId,
|
|
178
|
+
parameters: {
|
|
179
|
+
ontologyRid: ontology,
|
|
180
|
+
apiName: ontology
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function ObjectNotFoundError(objectType, primaryKey) {
|
|
185
|
+
return {
|
|
186
|
+
errorCode: "NOT_FOUND",
|
|
187
|
+
errorName: "ObjectNotFound",
|
|
188
|
+
errorInstanceId,
|
|
189
|
+
parameters: {
|
|
190
|
+
objectType,
|
|
191
|
+
primaryKey: {
|
|
192
|
+
employeeId: primaryKey
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
function QueryNotFoundError(queryApiName) {
|
|
198
|
+
return {
|
|
199
|
+
errorCode: "NOT_FOUND",
|
|
200
|
+
errorName: "QueryNotFound",
|
|
201
|
+
errorInstanceId,
|
|
202
|
+
parameters: {
|
|
203
|
+
query: queryApiName
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
function ActionNotFoundError() {
|
|
208
|
+
return {
|
|
209
|
+
errorCode: "NOT_FOUND",
|
|
210
|
+
errorName: "ActionNotFound",
|
|
211
|
+
errorInstanceId,
|
|
212
|
+
parameters: {
|
|
213
|
+
actionRid: ""
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
function InvalidRequest(errorName) {
|
|
218
|
+
return {
|
|
219
|
+
errorCode: "INVALID_REQUEST",
|
|
220
|
+
errorName,
|
|
221
|
+
errorInstanceId,
|
|
222
|
+
parameters: {}
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
var ApplyActionFailedError = {
|
|
226
|
+
errorCode: "INVALID_ARGUMENT",
|
|
227
|
+
errorName: "ApplyActionFailed",
|
|
228
|
+
errorInstanceId,
|
|
229
|
+
parameters: {}
|
|
230
|
+
};
|
|
231
|
+
var ExecuteQueryFailedError = {
|
|
232
|
+
errorCode: "CONFLICT",
|
|
233
|
+
errorName: "QueryEncounteredUserFacingError",
|
|
234
|
+
errorInstanceId,
|
|
235
|
+
parameters: {
|
|
236
|
+
functionRid: "ri.function-registry.main.function.9b55870a-63c7-4d48-8f06-9627c0805968",
|
|
237
|
+
functionVersion: "0.11.0",
|
|
238
|
+
message: "test failed"
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
var InvalidContentTypeError = {
|
|
242
|
+
errorCode: "INVALID_ARGUMENT",
|
|
243
|
+
errorName: "InvalidContentType",
|
|
244
|
+
errorInstanceId,
|
|
245
|
+
parameters: {}
|
|
246
|
+
};
|
|
247
|
+
var AttachmentSizeExceededLimitError = {
|
|
248
|
+
errorCode: "INVALID_ARGUMENT",
|
|
249
|
+
errorName: "AttachmentSizeExceededLimit",
|
|
250
|
+
errorInstanceId,
|
|
251
|
+
parameters: {
|
|
252
|
+
fileSizeBytes: "230000",
|
|
253
|
+
fileLimitBytes: "200000"
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
var AttachmentNotFoundError = {
|
|
257
|
+
errorCode: "NOT_FOUND",
|
|
258
|
+
errorName: "AttachmentNotFound",
|
|
259
|
+
errorInstanceId,
|
|
260
|
+
parameters: {
|
|
261
|
+
attachmentRid: "ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a80"
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
// src/filterObjects.ts
|
|
266
|
+
function subSelectPropertiesUrl(object, url) {
|
|
267
|
+
const properties = new Set(url.searchParams.getAll("select"));
|
|
268
|
+
if (properties.size === 0) {
|
|
269
|
+
return object;
|
|
270
|
+
}
|
|
271
|
+
const result = Object.entries(object).reduce((acc, [key, value]) => {
|
|
272
|
+
if (properties.has(key)) {
|
|
273
|
+
acc[key] = value;
|
|
274
|
+
} else if (key === "__primaryKey") {
|
|
275
|
+
acc.__primaryKey = value;
|
|
276
|
+
} else if (key === "__apiName") {
|
|
277
|
+
acc.__apiName = value;
|
|
278
|
+
}
|
|
279
|
+
return acc;
|
|
280
|
+
}, {});
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
function subSelectProperties(objects, urlOrProperties, includeCount, excludeRid) {
|
|
284
|
+
let properties;
|
|
285
|
+
if (Array.isArray(urlOrProperties)) {
|
|
286
|
+
properties = new Set(urlOrProperties);
|
|
287
|
+
} else {
|
|
288
|
+
properties = new Set(urlOrProperties.searchParams.getAll("select"));
|
|
289
|
+
}
|
|
290
|
+
const result = objects.data.map((object) => {
|
|
291
|
+
if (object.$propsToReturn) {
|
|
292
|
+
return {
|
|
293
|
+
__apiName: object.__apiName,
|
|
294
|
+
__primaryKey: object.__primaryKey,
|
|
295
|
+
__title: object.__title,
|
|
296
|
+
...object.$propsToReturn,
|
|
297
|
+
...excludeRid ? {} : {
|
|
298
|
+
__rid: object.__rid
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
if (properties.size === 0) {
|
|
303
|
+
return excludeRid ? removeRid(object) : object;
|
|
304
|
+
}
|
|
305
|
+
properties.add("__primaryKey");
|
|
306
|
+
properties.add("__apiName");
|
|
307
|
+
properties.add("__title");
|
|
308
|
+
if (!excludeRid) properties.add("__rid");
|
|
309
|
+
return Object.entries(object).reduce((acc, [key, value]) => {
|
|
310
|
+
if (properties.has(key)) {
|
|
311
|
+
acc[key] = value;
|
|
312
|
+
}
|
|
313
|
+
return acc;
|
|
314
|
+
}, {});
|
|
315
|
+
});
|
|
316
|
+
const ret = {
|
|
317
|
+
nextPageToken: objects.nextPageToken,
|
|
318
|
+
data: result,
|
|
319
|
+
totalCount: objects.totalCount
|
|
320
|
+
};
|
|
321
|
+
return ret;
|
|
322
|
+
}
|
|
323
|
+
function removeRid(object) {
|
|
324
|
+
const {
|
|
325
|
+
__rid,
|
|
326
|
+
...rest2
|
|
327
|
+
} = object;
|
|
328
|
+
return rest2;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// src/handlers/util/getPaginationParams.ts
|
|
332
|
+
function getPaginationParamsFromUrl(request) {
|
|
333
|
+
const url = new URL(request.url);
|
|
334
|
+
return {
|
|
335
|
+
pageSize: url.searchParams.get("pageSize") == null ? void 0 : Number(url.searchParams.get("pageSize")),
|
|
336
|
+
pageToken: url.searchParams.get("pageToken") == null ? void 0 : url.searchParams.get("pageToken")
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
function getPaginationParamsFromRequest({
|
|
340
|
+
pageSize,
|
|
341
|
+
pageToken
|
|
342
|
+
}) {
|
|
343
|
+
return {
|
|
344
|
+
pageSize,
|
|
345
|
+
pageToken
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
function authHandlerMiddleware(handler) {
|
|
349
|
+
return async (info) => {
|
|
350
|
+
const authHeader = info.request.headers.get("authorization");
|
|
351
|
+
if (!authHeader || authHeader !== `Bearer myAccessToken`) {
|
|
352
|
+
return msw.HttpResponse.json({
|
|
353
|
+
message: "Missing Authorization header"
|
|
354
|
+
}, {
|
|
355
|
+
status: 401
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
try {
|
|
359
|
+
return await handler(info);
|
|
360
|
+
} catch (e) {
|
|
361
|
+
if (e instanceof OpenApiCallError) {
|
|
362
|
+
return msw.HttpResponse.json(e.json, {
|
|
363
|
+
status: e.status
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
throw e;
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// src/handlers/util/handleOpenApiCall.ts
|
|
372
|
+
var OpenApiCallError = class extends Error {
|
|
373
|
+
constructor(status, json) {
|
|
374
|
+
super(`${json.errorCode} ${json.errorName ?? "Unknown error"} ${JSON.stringify(json.parameters)}`);
|
|
375
|
+
this.status = status;
|
|
376
|
+
this.json = json;
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
function handleOpenApiCall(openApiCall, names) {
|
|
380
|
+
return (baseUrl, restImpl, options) => {
|
|
381
|
+
let captured = {};
|
|
382
|
+
const capture = {
|
|
383
|
+
fetch: (url, req) => {
|
|
384
|
+
const u = new URL(url);
|
|
385
|
+
u.search = "";
|
|
386
|
+
captured = {
|
|
387
|
+
method: req.method,
|
|
388
|
+
endPoint: u.toString().replace(/%3A/g, ":")
|
|
389
|
+
};
|
|
390
|
+
return {
|
|
391
|
+
ok: true,
|
|
392
|
+
json: () => Promise.resolve({}),
|
|
393
|
+
blob: () => new Blob()
|
|
394
|
+
};
|
|
395
|
+
},
|
|
396
|
+
baseUrl
|
|
397
|
+
};
|
|
398
|
+
void openApiCall(
|
|
399
|
+
capture,
|
|
400
|
+
...names.map((n) => `:${n}`),
|
|
401
|
+
// add a simulated blob in here in case of an upload
|
|
402
|
+
{
|
|
403
|
+
type: "",
|
|
404
|
+
size: 5
|
|
405
|
+
}
|
|
406
|
+
);
|
|
407
|
+
return msw.http[captured.method.toLowerCase()](captured.endPoint, authHandlerMiddleware(async (info) => {
|
|
408
|
+
try {
|
|
409
|
+
const result = await restImpl(info);
|
|
410
|
+
if (result instanceof Response) {
|
|
411
|
+
return new msw.HttpResponse(result.body);
|
|
412
|
+
}
|
|
413
|
+
return msw.HttpResponse.json(result);
|
|
414
|
+
} catch (e) {
|
|
415
|
+
if (e instanceof OpenApiCallError) {
|
|
416
|
+
return msw.HttpResponse.json({
|
|
417
|
+
...e.json,
|
|
418
|
+
stack: e.stack
|
|
419
|
+
}, {
|
|
420
|
+
status: e.status,
|
|
421
|
+
statusText: e.message
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
throw e;
|
|
425
|
+
}
|
|
426
|
+
}), options);
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
// src/handlers/util/pageThroughResponseSearchParams.ts
|
|
431
|
+
function pageThroughResponseSearchParams(iter, {
|
|
432
|
+
pageSize = 1e3,
|
|
433
|
+
pageToken
|
|
434
|
+
}, includeCount) {
|
|
435
|
+
const data = Array.from(iter);
|
|
436
|
+
const pageCount = Math.ceil(data.length / pageSize);
|
|
437
|
+
const currentPage = pageToken ? Number(pageToken) : 0;
|
|
438
|
+
if (currentPage < 0 || currentPage >= pageCount) {
|
|
439
|
+
return void 0;
|
|
440
|
+
}
|
|
441
|
+
const startIndex = currentPage * pageSize;
|
|
442
|
+
const endIndex = Math.min(startIndex + pageSize, data.length);
|
|
443
|
+
const nextPageToken = currentPage + 1 < pageCount ? (currentPage + 1).toString() : void 0;
|
|
444
|
+
const ret = {
|
|
445
|
+
nextPageToken,
|
|
446
|
+
data: data.slice(startIndex, endIndex),
|
|
447
|
+
...includeCount ? {
|
|
448
|
+
totalCount: String(data.length)
|
|
449
|
+
} : {}
|
|
450
|
+
};
|
|
451
|
+
return ret;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
// src/FauxFoundry/BaseServerObject.ts
|
|
455
|
+
function isBaseServerObject(obj) {
|
|
456
|
+
return typeof obj === "object" && obj != null && "__primaryKey" in obj && "__apiName" in obj && !("$apiName" in obj) && !("$primaryKey" in obj);
|
|
457
|
+
}
|
|
458
|
+
var FauxDataStoreBatch = class {
|
|
459
|
+
#fauxDataStore;
|
|
460
|
+
objectEdits = {
|
|
461
|
+
addedLinksCount: 0,
|
|
462
|
+
addedObjectCount: 0,
|
|
463
|
+
deletedLinksCount: 0,
|
|
464
|
+
deletedObjectsCount: 0,
|
|
465
|
+
modifiedObjectsCount: 0,
|
|
466
|
+
edits: []
|
|
467
|
+
};
|
|
468
|
+
constructor(fauxDataStore) {
|
|
469
|
+
this.#fauxDataStore = fauxDataStore;
|
|
470
|
+
}
|
|
471
|
+
getObject = (objectType, primaryKey) => {
|
|
472
|
+
return this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
|
|
473
|
+
};
|
|
474
|
+
addObject(objectType, primaryKey, object) {
|
|
475
|
+
const existingObject = this.#fauxDataStore.getObject(objectType, primaryKey);
|
|
476
|
+
if (existingObject) {
|
|
477
|
+
throw new OpenApiCallError(500, {
|
|
478
|
+
errorCode: "CONFLICT",
|
|
479
|
+
errorName: "ObjectAlreadyExists",
|
|
480
|
+
errorInstanceId: "",
|
|
481
|
+
parameters: {
|
|
482
|
+
objectType,
|
|
483
|
+
primaryKey
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
const fullMetadata = this.#fauxDataStore.ontology.getObjectTypeFullMetadataOrThrow(objectType);
|
|
488
|
+
this.#fauxDataStore.registerObject({
|
|
489
|
+
...object,
|
|
490
|
+
__apiName: objectType,
|
|
491
|
+
__primaryKey: primaryKey,
|
|
492
|
+
[fullMetadata.objectType.primaryKey]: primaryKey
|
|
493
|
+
});
|
|
494
|
+
this.objectEdits.edits.push({
|
|
495
|
+
type: "addObject",
|
|
496
|
+
primaryKey,
|
|
497
|
+
objectType
|
|
498
|
+
});
|
|
499
|
+
this.objectEdits.addedObjectCount += 1;
|
|
500
|
+
}
|
|
501
|
+
modifyObject(objectType, primaryKey, update) {
|
|
502
|
+
const origObj = this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
|
|
503
|
+
const newObj = {
|
|
504
|
+
...origObj,
|
|
505
|
+
...update
|
|
506
|
+
};
|
|
507
|
+
if (!deepEqual__default.default(origObj, newObj)) {
|
|
508
|
+
this.#fauxDataStore.replaceObjectOrThrow(newObj);
|
|
509
|
+
this.objectEdits.edits.push({
|
|
510
|
+
type: "modifyObject",
|
|
511
|
+
primaryKey,
|
|
512
|
+
objectType
|
|
513
|
+
});
|
|
514
|
+
this.objectEdits.modifiedObjectsCount += 1;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
deleteObject = (objectType, primaryKey) => {
|
|
518
|
+
this.#fauxDataStore.unregisterObjectOrThrow(objectType, primaryKey);
|
|
519
|
+
this.objectEdits.edits.push({
|
|
520
|
+
type: "deleteObject",
|
|
521
|
+
objectType,
|
|
522
|
+
primaryKey
|
|
523
|
+
});
|
|
524
|
+
};
|
|
525
|
+
addLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
|
|
526
|
+
const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
|
|
527
|
+
this.#fauxDataStore.registerLink({
|
|
528
|
+
__apiName: leftObjectType,
|
|
529
|
+
__primaryKey: leftPrimaryKey
|
|
530
|
+
}, leftTypeSideV2.apiName, {
|
|
531
|
+
__apiName: rightObjectType,
|
|
532
|
+
__primaryKey: rightPrimaryKey
|
|
533
|
+
}, rightTypeSideV2.apiName);
|
|
534
|
+
this.objectEdits.edits.push({
|
|
535
|
+
type: "addLink",
|
|
536
|
+
aSideObject: {
|
|
537
|
+
objectType: leftObjectType,
|
|
538
|
+
primaryKey: leftPrimaryKey
|
|
539
|
+
},
|
|
540
|
+
bSideObject: {
|
|
541
|
+
objectType: rightObjectType,
|
|
542
|
+
primaryKey: rightPrimaryKey
|
|
543
|
+
},
|
|
544
|
+
linkTypeApiNameAtoB: leftLinkName,
|
|
545
|
+
linkTypeApiNameBtoA: rightTypeSideV2.apiName
|
|
546
|
+
});
|
|
547
|
+
this.objectEdits.addedLinksCount += 1;
|
|
548
|
+
};
|
|
549
|
+
removeLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
|
|
550
|
+
const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
|
|
551
|
+
this.#fauxDataStore.unregisterLink({
|
|
552
|
+
__apiName: leftObjectType,
|
|
553
|
+
__primaryKey: leftPrimaryKey
|
|
554
|
+
}, leftTypeSideV2.apiName, {
|
|
555
|
+
__apiName: rightObjectType,
|
|
556
|
+
__primaryKey: rightPrimaryKey
|
|
557
|
+
}, rightTypeSideV2.apiName);
|
|
558
|
+
};
|
|
559
|
+
};
|
|
560
|
+
var toDuration = {
|
|
561
|
+
"DAYS": (v) => ({
|
|
562
|
+
days: v
|
|
563
|
+
}),
|
|
564
|
+
"HOURS": (v) => ({
|
|
565
|
+
hours: v
|
|
566
|
+
}),
|
|
567
|
+
"MILLISECONDS": (v) => ({
|
|
568
|
+
seconds: v / 1e3
|
|
569
|
+
}),
|
|
570
|
+
"MINUTES": (v) => ({
|
|
571
|
+
minutes: v
|
|
572
|
+
}),
|
|
573
|
+
"MONTHS": (v) => ({
|
|
574
|
+
months: v
|
|
575
|
+
}),
|
|
576
|
+
"SECONDS": (v) => ({
|
|
577
|
+
seconds: v
|
|
578
|
+
}),
|
|
579
|
+
"WEEKS": (v) => ({
|
|
580
|
+
weeks: v
|
|
581
|
+
}),
|
|
582
|
+
"YEARS": (v) => ({
|
|
583
|
+
years: v
|
|
584
|
+
})
|
|
585
|
+
};
|
|
586
|
+
function filterTimeSeriesData(data, {
|
|
587
|
+
range
|
|
588
|
+
}, now = dateFns.constructNow(Date.now())) {
|
|
589
|
+
if (!range) {
|
|
590
|
+
return data;
|
|
591
|
+
}
|
|
592
|
+
const start = extractDate(range, "startTime", now);
|
|
593
|
+
const end = extractDate(range, "endTime", now);
|
|
594
|
+
const ret = data.filter((point) => {
|
|
595
|
+
if (range.type === "relative") {
|
|
596
|
+
return (!end || dateFns.isBefore(point.time, end)) && (!start || dateFns.isAfter(point.time, start));
|
|
597
|
+
} else {
|
|
598
|
+
return (!end || dateFns.isBefore(point.time, end)) && (!start || dateFns.isAfter(point.time, start));
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
return ret;
|
|
602
|
+
}
|
|
603
|
+
function extractDate(range, key, now) {
|
|
604
|
+
if (range.type === "absolute") {
|
|
605
|
+
return range[key];
|
|
606
|
+
}
|
|
607
|
+
const x = range[key];
|
|
608
|
+
if (!x) return void 0;
|
|
609
|
+
const method = x.when === "BEFORE" ? dateFns.sub : dateFns.add;
|
|
610
|
+
return method(now, toDuration[x.unit](x.value));
|
|
611
|
+
}
|
|
612
|
+
function filterObjects(objects, where) {
|
|
613
|
+
switch (where.type) {
|
|
614
|
+
case "eq": {
|
|
615
|
+
const {
|
|
616
|
+
propertyIdentifier,
|
|
617
|
+
field
|
|
618
|
+
} = where;
|
|
619
|
+
if (propertyIdentifier) {
|
|
620
|
+
console.error("propertyIdentifier not supported", where);
|
|
621
|
+
throw new Error("propertyIdentifier not supported");
|
|
622
|
+
}
|
|
623
|
+
!field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
624
|
+
const ret = objects.filter((obj) => {
|
|
625
|
+
return obj[field] === where.value;
|
|
626
|
+
});
|
|
627
|
+
return ret;
|
|
628
|
+
}
|
|
629
|
+
case "gt": {
|
|
630
|
+
const {
|
|
631
|
+
propertyIdentifier,
|
|
632
|
+
field
|
|
633
|
+
} = where;
|
|
634
|
+
if (propertyIdentifier) {
|
|
635
|
+
console.error("propertyIdentifier not supported", where);
|
|
636
|
+
throw new Error("propertyIdentifier not supported");
|
|
637
|
+
}
|
|
638
|
+
!field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
639
|
+
return objects.filter((obj) => {
|
|
640
|
+
return obj[field] > where.value;
|
|
641
|
+
});
|
|
642
|
+
}
|
|
643
|
+
case "lt": {
|
|
644
|
+
const {
|
|
645
|
+
propertyIdentifier,
|
|
646
|
+
field
|
|
647
|
+
} = where;
|
|
648
|
+
if (propertyIdentifier) {
|
|
649
|
+
console.error("propertyIdentifier not supported", where);
|
|
650
|
+
throw new Error("propertyIdentifier not supported");
|
|
651
|
+
}
|
|
652
|
+
!field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
653
|
+
return objects.filter((obj) => {
|
|
654
|
+
return obj[field] < where.value;
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
case "in": {
|
|
658
|
+
const {
|
|
659
|
+
propertyIdentifier,
|
|
660
|
+
field
|
|
661
|
+
} = where;
|
|
662
|
+
if (propertyIdentifier) {
|
|
663
|
+
console.error("propertyIdentifier not supported", where);
|
|
664
|
+
throw new Error("propertyIdentifier not supported");
|
|
665
|
+
}
|
|
666
|
+
!field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
667
|
+
return objects.filter((obj) => {
|
|
668
|
+
return where.value.includes(obj[field]);
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
case "and": {
|
|
672
|
+
const {
|
|
673
|
+
value
|
|
674
|
+
} = where;
|
|
675
|
+
for (const subWhere of value) {
|
|
676
|
+
objects = filterObjects(objects, subWhere);
|
|
677
|
+
}
|
|
678
|
+
return objects;
|
|
679
|
+
}
|
|
680
|
+
case "not": {
|
|
681
|
+
const {
|
|
682
|
+
value
|
|
683
|
+
} = where;
|
|
684
|
+
return objects.filter((obj) => {
|
|
685
|
+
return !filterObjects([obj], value).length;
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
case "isNull": {
|
|
689
|
+
const {
|
|
690
|
+
propertyIdentifier,
|
|
691
|
+
field,
|
|
692
|
+
value
|
|
693
|
+
} = where;
|
|
694
|
+
if (propertyIdentifier) {
|
|
695
|
+
console.error("propertyIdentifier not supported", where);
|
|
696
|
+
throw new Error("propertyIdentifier not supported");
|
|
697
|
+
}
|
|
698
|
+
!field ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
699
|
+
return objects.filter((obj) => {
|
|
700
|
+
return value ? obj[field] == null : obj[field] != null;
|
|
701
|
+
});
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
console.error(`-=-=-=-=-=-= Unhandled where type:
|
|
705
|
+
Unhandled where type: ${where.type} in ${JSON.stringify(where)}`);
|
|
706
|
+
throw new Error(`Unhandled where type: ${where.type} in ${JSON.stringify(where)}`);
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
// src/FauxFoundry/getObjectsFromSet.ts
|
|
710
|
+
function getObjectsFromSet(ds, objectSet, methodInput) {
|
|
711
|
+
switch (objectSet.type) {
|
|
712
|
+
case "base":
|
|
713
|
+
const ret = Array.from(ds.getObjectsOfType(objectSet.objectType));
|
|
714
|
+
return ret;
|
|
715
|
+
case "filter": {
|
|
716
|
+
const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
|
|
717
|
+
return filterObjects(base, objectSet.where);
|
|
718
|
+
}
|
|
719
|
+
case "union": {
|
|
720
|
+
const set = /* @__PURE__ */ new Set();
|
|
721
|
+
for (const objSet of objectSet.objectSets) {
|
|
722
|
+
const objects = getObjectsFromSet(ds, objSet, methodInput);
|
|
723
|
+
for (const obj of objects) {
|
|
724
|
+
set.add(obj);
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
return Array.from(set);
|
|
728
|
+
}
|
|
729
|
+
case "subtract": {
|
|
730
|
+
const set = new Set(getObjectsFromSet(ds, objectSet.objectSets[0], methodInput));
|
|
731
|
+
for (let i = 1; i < objectSet.objectSets.length; i++) {
|
|
732
|
+
const toSubtract = getObjectsFromSet(ds, objectSet.objectSets[i], methodInput);
|
|
733
|
+
for (const obj of toSubtract) {
|
|
734
|
+
set.delete(obj);
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
return Array.from(set);
|
|
738
|
+
}
|
|
739
|
+
case "intersect": {
|
|
740
|
+
const set = new Set(getObjectsFromSet(ds, objectSet.objectSets[0], methodInput));
|
|
741
|
+
for (let i = 1; i < objectSet.objectSets.length; i++) {
|
|
742
|
+
const toIntersect = getObjectsFromSet(ds, objectSet.objectSets[i], methodInput);
|
|
743
|
+
for (const obj of set) {
|
|
744
|
+
const match = toIntersect.find((x) => x.__apiName === obj.__apiName && x.__primaryKey === obj.__primaryKey);
|
|
745
|
+
if (!match) {
|
|
746
|
+
set.delete(obj);
|
|
747
|
+
} else if (obj["$propsToReturn"] || match["$propsToReturn"]) {
|
|
748
|
+
obj["$propsToReturn"] = {
|
|
749
|
+
...obj["$propsToReturn"],
|
|
750
|
+
...match["$propsToReturn"]
|
|
751
|
+
};
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
return Array.from(set);
|
|
756
|
+
}
|
|
757
|
+
case "searchAround": {
|
|
758
|
+
const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
|
|
759
|
+
return base.flatMap((o) => {
|
|
760
|
+
const ret2 = ds.getLinksOrThrow(o.__apiName, o.__primaryKey, objectSet.link);
|
|
761
|
+
return ret2;
|
|
762
|
+
});
|
|
763
|
+
}
|
|
764
|
+
case "static": {
|
|
765
|
+
return objectSet.objects.map((x) => ds.getObjectByRid(x)).filter((x) => x != null);
|
|
766
|
+
}
|
|
767
|
+
case "withProperties": {
|
|
768
|
+
const {
|
|
769
|
+
derivedProperties
|
|
770
|
+
} = objectSet;
|
|
771
|
+
const base = getObjectsFromSet(ds, objectSet.objectSet, methodInput);
|
|
772
|
+
return base.map((obj) => {
|
|
773
|
+
const extra = Object.fromEntries(Object.entries(derivedProperties).map(([k, v]) => {
|
|
774
|
+
return [k, getDerivedPropertyValue(ds, obj, v)];
|
|
775
|
+
}));
|
|
776
|
+
return {
|
|
777
|
+
...obj,
|
|
778
|
+
...extra
|
|
779
|
+
};
|
|
780
|
+
});
|
|
781
|
+
}
|
|
782
|
+
case "methodInput":
|
|
783
|
+
!methodInput ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "expected a methodInput") : invariant4__default.default(false) : void 0;
|
|
784
|
+
return [methodInput];
|
|
785
|
+
case "asBaseObjectTypes":
|
|
786
|
+
throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
|
|
787
|
+
case "asType":
|
|
788
|
+
throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
|
|
789
|
+
case "interfaceBase":
|
|
790
|
+
const relevantObjectTypes = ds.ontology.getAllObjectTypes().filter((x) => objectSet.interfaceType in x.implementsInterfaces2);
|
|
791
|
+
return relevantObjectTypes.flatMap((x) => Array.from(ds.getObjectsOfType(x.objectType.apiName))).map((obj) => {
|
|
792
|
+
const objDef = ds.ontology.getObjectTypeFullMetadataOrThrow(obj.__apiName);
|
|
793
|
+
const ifaceMap = objDef.implementsInterfaces2[objectSet.interfaceType];
|
|
794
|
+
const $propsToReturn = objectSet.includeAllBaseObjectProperties ? obj : Object.fromEntries(Object.values(ifaceMap.properties).map((propApiName) => [propApiName, obj[propApiName]]));
|
|
795
|
+
return {
|
|
796
|
+
...objToInterface(ds, obj, objectSet.interfaceType),
|
|
797
|
+
$propsToReturn
|
|
798
|
+
};
|
|
799
|
+
});
|
|
800
|
+
case "nearestNeighbors":
|
|
801
|
+
throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
|
|
802
|
+
case "reference":
|
|
803
|
+
throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
|
|
804
|
+
}
|
|
805
|
+
throw new Error(`Unhandled objectSet type ${JSON.stringify(objectSet)} in shared.test`);
|
|
806
|
+
}
|
|
807
|
+
function objToInterface(ds, o, iface) {
|
|
808
|
+
ds.ontology.getInterfaceType(iface);
|
|
809
|
+
const propMap = ds.ontology.getObjectTypeFullMetadataOrThrow(o.__apiName).implementsInterfaces2[iface].properties;
|
|
810
|
+
const {
|
|
811
|
+
__apiName,
|
|
812
|
+
__primaryKey,
|
|
813
|
+
__rid,
|
|
814
|
+
__title
|
|
815
|
+
} = o;
|
|
816
|
+
const ret = {
|
|
817
|
+
__apiName,
|
|
818
|
+
__primaryKey,
|
|
819
|
+
__rid,
|
|
820
|
+
__title
|
|
821
|
+
};
|
|
822
|
+
for (const [sptApiName, propApiName] of Object.entries(propMap)) {
|
|
823
|
+
ret[sptApiName] = o[propApiName];
|
|
824
|
+
}
|
|
825
|
+
return ret;
|
|
826
|
+
}
|
|
827
|
+
function getDerivedPropertyValue(ds, obj, def) {
|
|
828
|
+
switch (def.type) {
|
|
829
|
+
case "selection": {
|
|
830
|
+
return getDerivedPropertySelection(ds, obj, def);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
throw new Error(`Unhandled derived property type ${def.type} in ${JSON.stringify(def)}`);
|
|
834
|
+
}
|
|
835
|
+
function getDerivedPropertySelection(ds, obj, {
|
|
836
|
+
operation,
|
|
837
|
+
objectSet
|
|
838
|
+
}) {
|
|
839
|
+
switch (operation.type) {
|
|
840
|
+
case "get": {
|
|
841
|
+
const objs = getObjectsFromSet(ds, objectSet, obj);
|
|
842
|
+
if (objs.length > 1) {
|
|
843
|
+
throw new Error("Cannot get more than one object from a set");
|
|
844
|
+
}
|
|
845
|
+
return objs[0]?.[operation.selectedPropertyApiName];
|
|
846
|
+
}
|
|
847
|
+
case "collectList": {
|
|
848
|
+
const objs = getObjectsFromSet(ds, objectSet, obj);
|
|
849
|
+
return objs.map((o) => o[operation.selectedPropertyApiName]);
|
|
850
|
+
}
|
|
851
|
+
case "collectSet": {
|
|
852
|
+
const objs = getObjectsFromSet(ds, objectSet, obj);
|
|
853
|
+
return Array.from(new Set(objs.map((o) => o[operation.selectedPropertyApiName])));
|
|
854
|
+
}
|
|
855
|
+
case "count": {
|
|
856
|
+
const objs = getObjectsFromSet(ds, objectSet, obj);
|
|
857
|
+
return objs.length.toString();
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
function createOrderBySortFn(orderBy) {
|
|
862
|
+
const fns = orderBy.fields.map(({
|
|
863
|
+
field,
|
|
864
|
+
direction
|
|
865
|
+
}) => {
|
|
866
|
+
return (a, b) => {
|
|
867
|
+
const aValue = a?.[field];
|
|
868
|
+
const bValue = b?.[field];
|
|
869
|
+
if (aValue == null && bValue == null) {
|
|
870
|
+
return 0;
|
|
871
|
+
}
|
|
872
|
+
if (aValue == null) {
|
|
873
|
+
return 1;
|
|
874
|
+
}
|
|
875
|
+
if (bValue == null) {
|
|
876
|
+
return -1;
|
|
877
|
+
}
|
|
878
|
+
const m = direction === "asc" ? -1 : 1;
|
|
879
|
+
return aValue < bValue ? m : aValue > bValue ? -m : 0;
|
|
880
|
+
};
|
|
881
|
+
});
|
|
882
|
+
return (a, b) => {
|
|
883
|
+
for (const sortFn of fns) {
|
|
884
|
+
const ret = sortFn(a, b);
|
|
885
|
+
if (ret !== 0) {
|
|
886
|
+
return ret;
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
return 0;
|
|
890
|
+
};
|
|
891
|
+
}
|
|
892
|
+
function objectLocator(obj) {
|
|
893
|
+
return `${obj.__apiName}:${obj.__primaryKey}`;
|
|
894
|
+
}
|
|
895
|
+
function parseLocator(locator) {
|
|
896
|
+
const [objectType, primaryKey] = locator?.split(":") ?? [];
|
|
897
|
+
!(objectType && primaryKey) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Invalid locator format: ${locator}`) : invariant4__default.default(false) : void 0;
|
|
898
|
+
return {
|
|
899
|
+
objectType,
|
|
900
|
+
primaryKey
|
|
901
|
+
};
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
// src/FauxFoundry/validateAction.ts
|
|
905
|
+
function validateAction(payload, def, dataStore) {
|
|
906
|
+
const ret = {
|
|
907
|
+
parameters: {},
|
|
908
|
+
submissionCriteria: [],
|
|
909
|
+
result: "VALID"
|
|
910
|
+
};
|
|
911
|
+
for (const [k, v] of Object.entries(def.parameters)) {
|
|
912
|
+
const value = payload.parameters[k];
|
|
913
|
+
validateActionParameterType(v.dataType, v, value, ret, k, dataStore);
|
|
914
|
+
}
|
|
915
|
+
return ret;
|
|
916
|
+
}
|
|
917
|
+
function validateActionParameterType(dataType, paramDef, value, ret, paramKey, dataStore) {
|
|
918
|
+
if (paramDef.required && value == null) {
|
|
919
|
+
ret.result = "INVALID";
|
|
920
|
+
ret.parameters[paramKey] = {
|
|
921
|
+
result: "INVALID",
|
|
922
|
+
evaluatedConstraints: [],
|
|
923
|
+
required: true
|
|
924
|
+
};
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
if (!paramDef.required && value == null) {
|
|
928
|
+
return;
|
|
929
|
+
}
|
|
930
|
+
const baseParam = {
|
|
931
|
+
result: "INVALID",
|
|
932
|
+
evaluatedConstraints: [],
|
|
933
|
+
required: paramDef.required
|
|
934
|
+
};
|
|
935
|
+
switch (dataType.type) {
|
|
936
|
+
case "array": {
|
|
937
|
+
if (!Array.isArray(value)) {
|
|
938
|
+
ret.result = "INVALID";
|
|
939
|
+
ret.parameters[paramKey] = {
|
|
940
|
+
...baseParam
|
|
941
|
+
};
|
|
942
|
+
return;
|
|
943
|
+
}
|
|
944
|
+
for (const item of value) {
|
|
945
|
+
validateActionParameterType(dataType.subType, paramDef, item, ret, paramKey, dataStore);
|
|
946
|
+
}
|
|
947
|
+
return;
|
|
948
|
+
}
|
|
949
|
+
case "attachment": {
|
|
950
|
+
if (typeof value !== "string") {
|
|
951
|
+
ret.result = "INVALID";
|
|
952
|
+
ret.parameters[paramKey] = {
|
|
953
|
+
...baseParam
|
|
954
|
+
};
|
|
955
|
+
}
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
case "boolean":
|
|
959
|
+
case "date":
|
|
960
|
+
case "long":
|
|
961
|
+
case "double":
|
|
962
|
+
case "integer":
|
|
963
|
+
case "marking":
|
|
964
|
+
case "objectSet":
|
|
965
|
+
case "timestamp":
|
|
966
|
+
case "object":
|
|
967
|
+
case "string":
|
|
968
|
+
if (!matchesOntologyDataType(dataType, value)) {
|
|
969
|
+
ret.result = "INVALID";
|
|
970
|
+
ret.parameters[paramKey] = {
|
|
971
|
+
...baseParam
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
return;
|
|
975
|
+
case "geohash":
|
|
976
|
+
if (!(typeof value === "string")) {
|
|
977
|
+
ret.result = "INVALID";
|
|
978
|
+
ret.parameters[paramKey] = {
|
|
979
|
+
...baseParam
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
return;
|
|
983
|
+
case "geoshape":
|
|
984
|
+
if (!(typeof value === "object" && ("coordinates" in value || "geometries" in value || "features" in value))) {
|
|
985
|
+
ret.result = "INVALID";
|
|
986
|
+
ret.parameters[paramKey] = {
|
|
987
|
+
...baseParam
|
|
988
|
+
};
|
|
989
|
+
}
|
|
990
|
+
return;
|
|
991
|
+
case "interfaceObject": {
|
|
992
|
+
if (!isInterfaceActionParam(value)) {
|
|
993
|
+
ret.result = "INVALID";
|
|
994
|
+
ret.parameters[paramKey] = {
|
|
995
|
+
...baseParam
|
|
996
|
+
};
|
|
997
|
+
} else if (dataStore.getObject(value.objectTypeApiName, value.primaryKeyValue) == null) {
|
|
998
|
+
ret.result = "INVALID";
|
|
999
|
+
ret.parameters[paramKey] = {
|
|
1000
|
+
...baseParam,
|
|
1001
|
+
evaluatedConstraints: [{
|
|
1002
|
+
type: "objectPropertyValue"
|
|
1003
|
+
}]
|
|
1004
|
+
};
|
|
1005
|
+
}
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
case "mediaReference": {
|
|
1009
|
+
if (!isMediaReference(value)) {
|
|
1010
|
+
ret.result = "INVALID";
|
|
1011
|
+
ret.parameters[paramKey] = {
|
|
1012
|
+
...baseParam
|
|
1013
|
+
};
|
|
1014
|
+
}
|
|
1015
|
+
return;
|
|
1016
|
+
}
|
|
1017
|
+
case "vector": {
|
|
1018
|
+
ret.result = "INVALID";
|
|
1019
|
+
ret.parameters[paramKey] = {
|
|
1020
|
+
...baseParam
|
|
1021
|
+
};
|
|
1022
|
+
return;
|
|
1023
|
+
}
|
|
1024
|
+
case "struct": {
|
|
1025
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1026
|
+
ret.result = "INVALID";
|
|
1027
|
+
ret.parameters[paramKey] = {
|
|
1028
|
+
...baseParam
|
|
1029
|
+
};
|
|
1030
|
+
return;
|
|
1031
|
+
}
|
|
1032
|
+
for (const {
|
|
1033
|
+
name,
|
|
1034
|
+
fieldType,
|
|
1035
|
+
required
|
|
1036
|
+
} of dataType.fields) {
|
|
1037
|
+
const fieldValue = value[name];
|
|
1038
|
+
if (required && fieldValue == null || !matchesOntologyDataType(fieldType, fieldValue)) {
|
|
1039
|
+
ret.result = "INVALID";
|
|
1040
|
+
ret.parameters[paramKey] = {
|
|
1041
|
+
...baseParam
|
|
1042
|
+
};
|
|
1043
|
+
return;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
return;
|
|
1047
|
+
}
|
|
1048
|
+
case "objectType": {
|
|
1049
|
+
if (typeof value !== "string" || !dataStore.ontology.getObjectTypeFullMetadata(value)) {
|
|
1050
|
+
ret.result = "INVALID";
|
|
1051
|
+
ret.parameters[paramKey] = {
|
|
1052
|
+
...baseParam
|
|
1053
|
+
};
|
|
1054
|
+
return;
|
|
1055
|
+
}
|
|
1056
|
+
return;
|
|
1057
|
+
}
|
|
1058
|
+
default: {
|
|
1059
|
+
throw new Error(`validateDataType: unknown type`);
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
function matchesOntologyDataType(odt, value) {
|
|
1064
|
+
switch (odt.type) {
|
|
1065
|
+
case "any":
|
|
1066
|
+
return true;
|
|
1067
|
+
case "array":
|
|
1068
|
+
return Array.isArray(value) && value.every((v) => matchesOntologyDataType(odt.itemType, v));
|
|
1069
|
+
case "binary":
|
|
1070
|
+
throw new Error(`validateDataType: ${odt.type} not implemented yet.`);
|
|
1071
|
+
case "boolean":
|
|
1072
|
+
return typeof value === "boolean";
|
|
1073
|
+
case "byte":
|
|
1074
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1075
|
+
case "cipherText":
|
|
1076
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1077
|
+
case "date":
|
|
1078
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1079
|
+
case "decimal":
|
|
1080
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1081
|
+
case "double":
|
|
1082
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1083
|
+
case "float":
|
|
1084
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1085
|
+
case "integer":
|
|
1086
|
+
return typeof value === "number" && Number.isInteger(value);
|
|
1087
|
+
case "long":
|
|
1088
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1089
|
+
case "map":
|
|
1090
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1091
|
+
case "marking":
|
|
1092
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1093
|
+
case "object":
|
|
1094
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1095
|
+
case "objectSet":
|
|
1096
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1097
|
+
case "set":
|
|
1098
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1099
|
+
case "short":
|
|
1100
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1101
|
+
case "string":
|
|
1102
|
+
return typeof value === "string";
|
|
1103
|
+
case "struct":
|
|
1104
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1105
|
+
case "timestamp":
|
|
1106
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1107
|
+
case "unsupported":
|
|
1108
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1109
|
+
default:
|
|
1110
|
+
throw new Error(`matchesOntologyDataType: ${odt.type} not implemented yet.`);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
function isMediaReference(o) {
|
|
1114
|
+
return typeof o === `object` && typeof o.mimeType === "string" && "reference" in o && typeof o.reference === "object" && o.reference.type === "mediaSetViewItem" && "mediaSetViewItem" in o.reference && typeof o.reference.mediaSetViewItem === "object" && typeof o.reference.mediaSetViewItem.mediaSetRid === "string" && typeof o.reference.mediaSetViewItem.mediaSetViewRid === "string" && typeof o.reference.mediaSetViewItem.mediaItemRid === "string";
|
|
1115
|
+
}
|
|
1116
|
+
function isInterfaceActionParam(value) {
|
|
1117
|
+
return typeof value === "object" && "objectTypeApiName" in value && typeof value.objectTypeApiName === "string" && "primaryKeyValue" in value && (typeof value.primaryKeyValue === "string" || typeof value.primaryKeyValue === "number" || typeof value.primaryKeyValue === "boolean");
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
// src/FauxFoundry/FauxDataStore.ts
|
|
1121
|
+
var FauxDataStore = class {
|
|
1122
|
+
#objects = new mnemonist.DefaultMap((key) => /* @__PURE__ */ new Map());
|
|
1123
|
+
#singleLinks = new mnemonist.DefaultMap((_objectLocator) => /* @__PURE__ */ new Map());
|
|
1124
|
+
#manyLinks = new mnemonist.DefaultMap((_objectLocator) => new mnemonist.MultiMap(Set));
|
|
1125
|
+
#fauxOntology;
|
|
1126
|
+
#attachments;
|
|
1127
|
+
#timeSeriesData = new mnemonist.DefaultMap((_objectType) => new mnemonist.DefaultMap((_pk) => new mnemonist.DefaultMap((_property) => [])));
|
|
1128
|
+
#media = new mnemonist.DefaultMap((_objectType) => new mnemonist.DefaultMap((_propName) => {
|
|
1129
|
+
return /* @__PURE__ */ new Map();
|
|
1130
|
+
}));
|
|
1131
|
+
constructor(fauxOntology, attachments) {
|
|
1132
|
+
this.#fauxOntology = fauxOntology;
|
|
1133
|
+
this.#attachments = attachments;
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* Removes all data that is associated with a namespace/ontology.
|
|
1137
|
+
*
|
|
1138
|
+
* Note: does not clear `attachments` nor does it clear the ontology itself.
|
|
1139
|
+
*/
|
|
1140
|
+
clear() {
|
|
1141
|
+
this.#media.clear();
|
|
1142
|
+
this.#timeSeriesData.clear();
|
|
1143
|
+
this.#manyLinks.clear();
|
|
1144
|
+
this.#singleLinks.clear();
|
|
1145
|
+
this.#objects.clear();
|
|
1146
|
+
}
|
|
1147
|
+
get ontology() {
|
|
1148
|
+
return this.#fauxOntology;
|
|
1149
|
+
}
|
|
1150
|
+
#assertObjectExists(objectType, primaryKey) {
|
|
1151
|
+
if (!this.getObject(objectType, primaryKey)) {
|
|
1152
|
+
throw new OpenApiCallError(404, ObjectNotFoundError(objectType, String(primaryKey)));
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
#assertObjectDoesNotExist(objectType, primaryKey) {
|
|
1156
|
+
if (this.getObject(objectType, primaryKey)) {
|
|
1157
|
+
throw new OpenApiCallError(500, {
|
|
1158
|
+
errorCode: "CONFLICT",
|
|
1159
|
+
errorName: "ObjectAlreadyExists",
|
|
1160
|
+
errorInstanceId: "faux-foundry",
|
|
1161
|
+
parameters: {
|
|
1162
|
+
objectType,
|
|
1163
|
+
primaryKey: String(primaryKey)
|
|
1164
|
+
}
|
|
1165
|
+
});
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
/**
|
|
1169
|
+
* Version for use in places like @osdk/client.
|
|
1170
|
+
*
|
|
1171
|
+
* @param obj An `Osdk.Instance` like object for the ObjectType in the generics
|
|
1172
|
+
*/
|
|
1173
|
+
/**
|
|
1174
|
+
* Version of register object generally used in shared.test
|
|
1175
|
+
* @param obj A raw server side representation of an object
|
|
1176
|
+
*
|
|
1177
|
+
* Don't use, its too easy to end up with an any.
|
|
1178
|
+
*/
|
|
1179
|
+
registerObject(objectType, anyObj) {
|
|
1180
|
+
let bso;
|
|
1181
|
+
if (isBaseServerObject(objectType)) {
|
|
1182
|
+
!(anyObj == null) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Internal overload should only pass one argument") : invariant4__default.default(false) : void 0;
|
|
1183
|
+
!!Object.keys(objectType).some((s) => s.startsWith("$")) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should not have any keys starting with $ if it has __apiName") : invariant4__default.default(false) : void 0;
|
|
1184
|
+
bso = objectType;
|
|
1185
|
+
} else if (anyObj == null) {
|
|
1186
|
+
process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "should not be possible due to overloads") : invariant4__default.default(false) ;
|
|
1187
|
+
} else if (isBaseServerObject(anyObj)) {
|
|
1188
|
+
!!Object.keys(anyObj).some((s) => s.startsWith("$")) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should not have any keys starting with $ if it has __apiName") : invariant4__default.default(false) : void 0;
|
|
1189
|
+
bso = anyObj;
|
|
1190
|
+
} else {
|
|
1191
|
+
bso = this.#osdkCreatableToBso(objectType, anyObj);
|
|
1192
|
+
}
|
|
1193
|
+
const apiName = bso.__apiName || bso.$apiName;
|
|
1194
|
+
!apiName ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should have an __apiName or $apiName") : invariant4__default.default(false) : void 0;
|
|
1195
|
+
this.#assertObjectDoesNotExist(apiName, bso.__primaryKey);
|
|
1196
|
+
if (!("__apiName" in bso && "__primaryKey" in bso)) {
|
|
1197
|
+
!("$apiName" in bso && "$primaryKey" in bso) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Object should have (__apiName and __primaryKey) or ($apiName and $primaryKey)") : invariant4__default.default(false) : void 0;
|
|
1198
|
+
const {
|
|
1199
|
+
$apiName,
|
|
1200
|
+
$primaryKey,
|
|
1201
|
+
...others
|
|
1202
|
+
} = bso;
|
|
1203
|
+
bso = {
|
|
1204
|
+
__apiName: $apiName,
|
|
1205
|
+
__primaryKey: $primaryKey,
|
|
1206
|
+
...others
|
|
1207
|
+
};
|
|
1208
|
+
}
|
|
1209
|
+
this.#assertObjectDoesNotExist(bso.__apiName, bso.__primaryKey);
|
|
1210
|
+
this.#objects.get(bso.__apiName).set(String(bso.__primaryKey), Object.freeze({
|
|
1211
|
+
...bso
|
|
1212
|
+
}));
|
|
1213
|
+
}
|
|
1214
|
+
#osdkCreatableToBso(objectType, anyObj) {
|
|
1215
|
+
objectType = typeof objectType === "string" ? objectType : objectType.apiName;
|
|
1216
|
+
if ("$apiName" in anyObj) {
|
|
1217
|
+
!(anyObj.$apiName === objectType) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
1218
|
+
}
|
|
1219
|
+
const {
|
|
1220
|
+
$apiName,
|
|
1221
|
+
$primaryKey,
|
|
1222
|
+
...others
|
|
1223
|
+
} = anyObj;
|
|
1224
|
+
const meta = this.ontology.getObjectTypeFullMetadataOrThrow(objectType);
|
|
1225
|
+
const realPrimaryKey = anyObj[meta.objectType.primaryKey];
|
|
1226
|
+
const maybeTitle = anyObj[meta.objectType.titleProperty];
|
|
1227
|
+
const rid = anyObj.$rid ?? `ri.phonograph2-objects.main.object.${crypto__namespace.randomUUID()}`;
|
|
1228
|
+
!(realPrimaryKey != null) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Object should have a primary key. ${JSON.stringify(anyObj)}`) : invariant4__default.default(false) : void 0;
|
|
1229
|
+
!($primaryKey == null || $primaryKey === realPrimaryKey) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Primary key mismatch") : invariant4__default.default(false) : void 0;
|
|
1230
|
+
return {
|
|
1231
|
+
__apiName: objectType,
|
|
1232
|
+
__primaryKey: realPrimaryKey,
|
|
1233
|
+
__title: maybeTitle ? String(maybeTitle) : void 0,
|
|
1234
|
+
__rid: rid,
|
|
1235
|
+
...others
|
|
1236
|
+
};
|
|
1237
|
+
}
|
|
1238
|
+
replaceObjectOrThrow(x) {
|
|
1239
|
+
this.#assertObjectExists(x.__apiName, x.__primaryKey);
|
|
1240
|
+
this.#objects.get(x.__apiName).set(String(x.__primaryKey), x);
|
|
1241
|
+
}
|
|
1242
|
+
/** Throws if the object does not already exist */
|
|
1243
|
+
unregisterObjectOrThrow(objectType, primaryKey) {
|
|
1244
|
+
this.#assertObjectExists(objectType, primaryKey);
|
|
1245
|
+
this.#objects.get(objectType).delete(String(primaryKey));
|
|
1246
|
+
}
|
|
1247
|
+
registerLink(src, srcLinkName, dst, destLinkName) {
|
|
1248
|
+
const srcLocator = objectLocator(src);
|
|
1249
|
+
const dstLocator = objectLocator(dst);
|
|
1250
|
+
const [srcSide, dstSide] = this.#fauxOntology.getBothLinkTypeSides(src.__apiName, srcLinkName, dst.__apiName);
|
|
1251
|
+
!(srcSide.linkTypeRid === dstSide.linkTypeRid) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Expected both sides of the link to have the same rid, but got ${srcSide.linkTypeRid} and ${dstSide.linkTypeRid}`) : invariant4__default.default(false) : void 0;
|
|
1252
|
+
!(dstSide.apiName === destLinkName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Link name mismatch on dst side. Expected ${destLinkName} but found ${dstSide.apiName}`) : invariant4__default.default(false) : void 0;
|
|
1253
|
+
this.#updateSingleLinkSide(srcSide, srcLocator, dstSide, dstLocator);
|
|
1254
|
+
this.#updateSingleLinkSide(dstSide, dstLocator, srcSide, srcLocator);
|
|
1255
|
+
}
|
|
1256
|
+
unregisterLink(src, srcLinkName, dst, dstLinkName) {
|
|
1257
|
+
const srcLocator = objectLocator(src);
|
|
1258
|
+
const dstLocator = objectLocator(dst);
|
|
1259
|
+
const [srcSide, dstSide] = this.#fauxOntology.getBothLinkTypeSides(src.__apiName, srcLinkName, dst.__apiName);
|
|
1260
|
+
!(dstSide.apiName === dstLinkName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, `Link name mismatch on dst side. Expected ${dstLinkName} but found ${dstSide.apiName}`) : invariant4__default.default(false) : void 0;
|
|
1261
|
+
this.#removeSingleSideOfLink(srcLocator, srcSide, dstLocator);
|
|
1262
|
+
this.#removeSingleSideOfLink(dstLocator, dstSide, srcLocator);
|
|
1263
|
+
}
|
|
1264
|
+
registerTimeSeriesData(objectType, primaryKey, property, data) {
|
|
1265
|
+
this.getObjectOrThrow(objectType, primaryKey);
|
|
1266
|
+
const def = this.ontology.getObjectTypeFullMetadataOrThrow(objectType);
|
|
1267
|
+
!(def.objectType.properties[property].dataType.type === "timeseries" || def.objectType.properties[property].dataType.type === "geotimeSeriesReference") ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
1268
|
+
this.#timeSeriesData.get(objectType).get(String(primaryKey)).set(property, data);
|
|
1269
|
+
}
|
|
1270
|
+
getTimeSeriesData(objectType, primaryKey, property, filter) {
|
|
1271
|
+
this.getObjectOrThrow(objectType, primaryKey);
|
|
1272
|
+
const allData = this.#timeSeriesData.get(objectType).get(String(primaryKey)).get(property);
|
|
1273
|
+
if (!filter) return allData;
|
|
1274
|
+
return filterTimeSeriesData(allData, filter);
|
|
1275
|
+
}
|
|
1276
|
+
#updateSingleLinkSide(srcSide, srcLocator, dstSide, dstLocator) {
|
|
1277
|
+
const srcLinkName = srcSide.apiName;
|
|
1278
|
+
if (srcSide.cardinality === "ONE") {
|
|
1279
|
+
const linkNameToObj = this.#singleLinks.get(srcLocator);
|
|
1280
|
+
const oldLocator = linkNameToObj.get(srcLinkName);
|
|
1281
|
+
if (oldLocator && oldLocator !== dstLocator) {
|
|
1282
|
+
this.#removeSingleSideOfLink(oldLocator, dstSide, srcLocator);
|
|
1283
|
+
}
|
|
1284
|
+
linkNameToObj.set(srcLinkName, dstLocator);
|
|
1285
|
+
} else if (srcSide.cardinality === "MANY") {
|
|
1286
|
+
const linkNameToObj = this.#manyLinks.get(srcLocator);
|
|
1287
|
+
linkNameToObj.set(srcLinkName, dstLocator);
|
|
1288
|
+
} else {
|
|
1289
|
+
throw new Error("unexpected cardinality: " + srcSide.cardinality);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
registerMedia(objectType, property, content, mediaType, path, mediaItemRid = `ri.mio.main.media-item.${crypto.randomUUID()}`) {
|
|
1293
|
+
const mediaRef = Object.freeze({
|
|
1294
|
+
mimeType: mediaType,
|
|
1295
|
+
reference: Object.freeze({
|
|
1296
|
+
type: "mediaSetViewItem",
|
|
1297
|
+
mediaSetViewItem: Object.freeze({
|
|
1298
|
+
mediaItemRid,
|
|
1299
|
+
mediaSetRid: "ri.unimplemented.in.shared.test",
|
|
1300
|
+
mediaSetViewRid: "ri.unimplemented.in.shared.test"
|
|
1301
|
+
})
|
|
1302
|
+
})
|
|
1303
|
+
});
|
|
1304
|
+
this.#media.get(objectType).get(property).set(mediaItemRid, Object.freeze({
|
|
1305
|
+
content,
|
|
1306
|
+
mediaRef,
|
|
1307
|
+
metaData: Object.freeze({
|
|
1308
|
+
mediaType,
|
|
1309
|
+
path,
|
|
1310
|
+
sizeBytes: String(content.byteLength)
|
|
1311
|
+
})
|
|
1312
|
+
}));
|
|
1313
|
+
return mediaRef;
|
|
1314
|
+
}
|
|
1315
|
+
getMediaOrThrow(objectType, primaryKey, property) {
|
|
1316
|
+
const obj = this.getObjectOrThrow(objectType, primaryKey);
|
|
1317
|
+
const propertyDef = this.ontology.getObjectTypeFullMetadataOrThrow(objectType).objectType.properties[property];
|
|
1318
|
+
if (!propertyDef) {
|
|
1319
|
+
throw new OpenApiCallError(400, {
|
|
1320
|
+
errorCode: "NOT_FOUND",
|
|
1321
|
+
errorName: "PropertiesNotFound",
|
|
1322
|
+
errorInstanceId: "faux-foundry",
|
|
1323
|
+
parameters: {
|
|
1324
|
+
objectType,
|
|
1325
|
+
properties: [property]
|
|
1326
|
+
}
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
if (propertyDef.dataType.type !== "mediaReference") {
|
|
1330
|
+
throw new OpenApiCallError(400, {
|
|
1331
|
+
errorCode: "INVALID_ARGUMENT",
|
|
1332
|
+
errorName: "InvalidPropertyType",
|
|
1333
|
+
errorInstanceId: "faux-foundry",
|
|
1334
|
+
parameters: {
|
|
1335
|
+
property,
|
|
1336
|
+
propertyBaseType: propertyDef.dataType.type
|
|
1337
|
+
}
|
|
1338
|
+
});
|
|
1339
|
+
}
|
|
1340
|
+
const rid = obj[property].reference.mediaSetViewItem.mediaItemRid;
|
|
1341
|
+
if (!rid || !rid.startsWith("ri.")) {
|
|
1342
|
+
throw new OpenApiCallError(400, {
|
|
1343
|
+
errorCode: "INVALID_ARGUMENT",
|
|
1344
|
+
errorName: "InvalidPropertyValue",
|
|
1345
|
+
errorInstanceId: "faux-foundry",
|
|
1346
|
+
parameters: {
|
|
1347
|
+
property,
|
|
1348
|
+
propertyBaseType: propertyDef.dataType.type,
|
|
1349
|
+
propertyValue: rid
|
|
1350
|
+
}
|
|
1351
|
+
});
|
|
1352
|
+
}
|
|
1353
|
+
const ret = this.#media.get(objectType).get(property).get(rid);
|
|
1354
|
+
if (!ret) {
|
|
1355
|
+
throw new OpenApiCallError(400, InvalidRequest("Invalid parameters"));
|
|
1356
|
+
}
|
|
1357
|
+
return ret;
|
|
1358
|
+
}
|
|
1359
|
+
#removeSingleSideOfLink(locator, linkSide, expectedPriorValue) {
|
|
1360
|
+
const destLinkName = linkSide.apiName;
|
|
1361
|
+
if (linkSide.cardinality === "ONE") {
|
|
1362
|
+
const links = this.#singleLinks.get(locator);
|
|
1363
|
+
!(links.get(destLinkName) === expectedPriorValue) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
1364
|
+
links.delete(destLinkName);
|
|
1365
|
+
} else {
|
|
1366
|
+
const links = this.#manyLinks.get(locator);
|
|
1367
|
+
!links.get(destLinkName)?.has(expectedPriorValue) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
1368
|
+
links.remove(destLinkName, expectedPriorValue);
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
getObject(apiName, primaryKey) {
|
|
1372
|
+
return this.#objects.get(apiName).get(String(primaryKey));
|
|
1373
|
+
}
|
|
1374
|
+
getObjectOrThrow(apiName, primaryKey) {
|
|
1375
|
+
const object = this.getObject(apiName, primaryKey);
|
|
1376
|
+
if (!object) {
|
|
1377
|
+
throw new OpenApiCallError(404, ObjectNotFoundError(apiName, String(primaryKey)));
|
|
1378
|
+
}
|
|
1379
|
+
return object;
|
|
1380
|
+
}
|
|
1381
|
+
getObjectByRid(rid) {
|
|
1382
|
+
for (const [, pkToObjects] of this.#objects) {
|
|
1383
|
+
for (const [, obj] of pkToObjects) {
|
|
1384
|
+
if (obj.__rid === rid) {
|
|
1385
|
+
return obj;
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
getLinksOrThrow(apiName, primaryKey, linkApiName) {
|
|
1391
|
+
const object = this.getObjectOrThrow(apiName, primaryKey);
|
|
1392
|
+
const linkTypeSide = this.#fauxOntology.getLinkTypeSideV2(apiName, linkApiName);
|
|
1393
|
+
if (linkTypeSide.cardinality === "ONE") {
|
|
1394
|
+
const locator = this.#singleLinks.get(objectLocator(object)).get(linkApiName);
|
|
1395
|
+
if (locator === void 0) {
|
|
1396
|
+
return [];
|
|
1397
|
+
}
|
|
1398
|
+
const {
|
|
1399
|
+
objectType,
|
|
1400
|
+
primaryKey: primaryKey2
|
|
1401
|
+
} = parseLocator(locator);
|
|
1402
|
+
return [this.getObjectOrThrow(objectType, primaryKey2)];
|
|
1403
|
+
} else {
|
|
1404
|
+
const locators = this.#manyLinks.get(objectLocator(object)).get(linkApiName);
|
|
1405
|
+
return Array.from(locators ?? []).map((a) => {
|
|
1406
|
+
const [objectType, primaryKey2] = a.split(":") ?? [];
|
|
1407
|
+
!(objectType && primaryKey2) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Invalid locator format") : invariant4__default.default(false) : void 0;
|
|
1408
|
+
return this.getObjectOrThrow(objectType, primaryKey2);
|
|
1409
|
+
});
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
getLinkOrThrow(objectType, primaryKey, linkType, targetPrimaryKey) {
|
|
1413
|
+
const allLinks = this.getLinksOrThrow(objectType, primaryKey, linkType);
|
|
1414
|
+
const object = allLinks.filter((l) => String(l.__primaryKey) === targetPrimaryKey)[0];
|
|
1415
|
+
if (!object) {
|
|
1416
|
+
throw new OpenApiCallError(404, ObjectNotFoundError(`${objectType} -> ${linkType}`, String(targetPrimaryKey)));
|
|
1417
|
+
}
|
|
1418
|
+
return object;
|
|
1419
|
+
}
|
|
1420
|
+
getObjectsOfType(apiName) {
|
|
1421
|
+
return this.#objects.get(apiName).values();
|
|
1422
|
+
}
|
|
1423
|
+
getObjectsFromObjectSet(parsedBody) {
|
|
1424
|
+
const selected = parsedBody.select;
|
|
1425
|
+
let objects = getObjectsFromSet(this, parsedBody.objectSet, void 0);
|
|
1426
|
+
if (!objects) {
|
|
1427
|
+
return {
|
|
1428
|
+
data: [],
|
|
1429
|
+
totalCount: "0",
|
|
1430
|
+
nextPageToken: void 0
|
|
1431
|
+
};
|
|
1432
|
+
}
|
|
1433
|
+
if (parsedBody.orderBy) {
|
|
1434
|
+
objects = objects.sort(createOrderBySortFn(parsedBody.orderBy));
|
|
1435
|
+
}
|
|
1436
|
+
const page = pageThroughResponseSearchParams(objects, getPaginationParamsFromRequest(parsedBody), false);
|
|
1437
|
+
if (!page) {
|
|
1438
|
+
throw new OpenApiCallError(404, InvalidRequest(`No objects found for ${JSON.stringify(parsedBody)}`));
|
|
1439
|
+
}
|
|
1440
|
+
const ret = subSelectProperties(page, [...selected], true, parsedBody.excludeRid);
|
|
1441
|
+
return ret;
|
|
1442
|
+
}
|
|
1443
|
+
getAttachmentMetadata(objectType, primaryKey, propertyName) {
|
|
1444
|
+
const rid = this.getObjectOrThrow(objectType, primaryKey)[propertyName];
|
|
1445
|
+
return this.#attachments.getAttachmentMetadataByRid(rid);
|
|
1446
|
+
}
|
|
1447
|
+
getAttachmentBuffer(objectType, primaryKey, propertyName) {
|
|
1448
|
+
const rid = this.getObjectOrThrow(objectType, primaryKey)[propertyName];
|
|
1449
|
+
return this.#attachments.getAttachmentBuffer(rid);
|
|
1450
|
+
}
|
|
1451
|
+
applyAction(actionTypeApiName, req) {
|
|
1452
|
+
const actionDef = this.#fauxOntology.getActionDef(actionTypeApiName);
|
|
1453
|
+
const actionImpl = this.#fauxOntology.getActionImpl(actionTypeApiName);
|
|
1454
|
+
const validation = validateAction(req, actionDef, this);
|
|
1455
|
+
if (validation.result === "INVALID") {
|
|
1456
|
+
return {
|
|
1457
|
+
validation
|
|
1458
|
+
};
|
|
1459
|
+
}
|
|
1460
|
+
const batch = new FauxDataStoreBatch(this);
|
|
1461
|
+
const r = actionImpl(batch, req, {
|
|
1462
|
+
def: actionDef,
|
|
1463
|
+
attachments: this.#attachments
|
|
1464
|
+
});
|
|
1465
|
+
if (r) return r;
|
|
1466
|
+
return {
|
|
1467
|
+
validation: {
|
|
1468
|
+
parameters: {},
|
|
1469
|
+
result: "VALID",
|
|
1470
|
+
submissionCriteria: []
|
|
1471
|
+
},
|
|
1472
|
+
edits: req.options?.mode === "VALIDATE_AND_EXECUTE" && (req.options.returnEdits === "ALL" || req.options.returnEdits === "ALL_V2_WITH_DELETIONS") ? {
|
|
1473
|
+
type: "edits",
|
|
1474
|
+
...batch.objectEdits
|
|
1475
|
+
} : void 0
|
|
1476
|
+
};
|
|
1477
|
+
}
|
|
1478
|
+
batchApplyAction(actionTypeApiName, batchReq) {
|
|
1479
|
+
const actionDef = this.#fauxOntology.getActionDef(actionTypeApiName);
|
|
1480
|
+
const actionImpl = this.#fauxOntology.getActionImpl(actionTypeApiName);
|
|
1481
|
+
for (const req of batchReq.requests) {
|
|
1482
|
+
const result = validateAction(req, actionDef, this);
|
|
1483
|
+
if (result.result === "INVALID") {
|
|
1484
|
+
throw new OpenApiCallError(500, {
|
|
1485
|
+
errorCode: "INVALID_ARGUMENT",
|
|
1486
|
+
errorName: "ActionValidationFailed",
|
|
1487
|
+
errorInstanceId: "faux-foundry",
|
|
1488
|
+
parameters: {
|
|
1489
|
+
actionType: actionTypeApiName
|
|
1490
|
+
}
|
|
1491
|
+
});
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
const batch = new FauxDataStoreBatch(this);
|
|
1495
|
+
for (const item of batchReq.requests) {
|
|
1496
|
+
actionImpl(batch, {
|
|
1497
|
+
...item,
|
|
1498
|
+
options: {
|
|
1499
|
+
mode: "VALIDATE_AND_EXECUTE",
|
|
1500
|
+
returnEdits: batchReq.options?.returnEdits
|
|
1501
|
+
}
|
|
1502
|
+
}, {
|
|
1503
|
+
def: actionDef,
|
|
1504
|
+
attachments: this.#attachments
|
|
1505
|
+
});
|
|
1506
|
+
}
|
|
1507
|
+
if (batchReq.options?.returnEdits === "NONE") {
|
|
1508
|
+
return {};
|
|
1509
|
+
}
|
|
1510
|
+
return {
|
|
1511
|
+
edits: {
|
|
1512
|
+
type: "edits",
|
|
1513
|
+
...batch.objectEdits,
|
|
1514
|
+
edits: batch.objectEdits.edits.filter((x) => x.type !== "deleteObject" && x.type !== "deleteLink")
|
|
1515
|
+
}
|
|
1516
|
+
};
|
|
1517
|
+
}
|
|
1518
|
+
};
|
|
1519
|
+
|
|
1520
|
+
// src/mock/OntologiesV2/index.ts
|
|
1521
|
+
var OntologiesV2_exports2 = {};
|
|
1522
|
+
__export(OntologiesV2_exports2, {
|
|
1523
|
+
ActionTypesV2: () => ActionTypesV2_exports,
|
|
1524
|
+
Actions: () => Actions_exports,
|
|
1525
|
+
AttachmentPropertiesV2: () => AttachmentPropertiesV2_exports,
|
|
1526
|
+
Attachments: () => Attachments_exports,
|
|
1527
|
+
LinkedObjectsV2: () => LinkedObjectsV2_exports,
|
|
1528
|
+
MediaReferenceProperties: () => MediaReferenceProperties_exports,
|
|
1529
|
+
ObjectTypesV2: () => ObjectTypesV2_exports,
|
|
1530
|
+
OntologiesV2: () => OntologiesV2_exports,
|
|
1531
|
+
OntologyInterfaces: () => OntologyInterfaces_exports,
|
|
1532
|
+
OntologyObjectSets: () => OntologyObjectSets_exports,
|
|
1533
|
+
OntologyObjectsV2: () => OntologyObjectsV2_exports,
|
|
1534
|
+
Queries: () => Queries_exports,
|
|
1535
|
+
QueryTypes: () => QueryTypes_exports,
|
|
1536
|
+
TimeSeriesPropertiesV2: () => TimeSeriesPropertiesV2_exports,
|
|
1537
|
+
TimeSeriesValueBankProperties: () => TimeSeriesValueBankProperties_exports
|
|
1538
|
+
});
|
|
1539
|
+
|
|
1540
|
+
// src/mock/OntologiesV2/Actions.ts
|
|
1541
|
+
var Actions_exports = {};
|
|
1542
|
+
__export(Actions_exports, {
|
|
1543
|
+
apply: () => apply2,
|
|
1544
|
+
applyBatch: () => applyBatch2
|
|
1545
|
+
});
|
|
1546
|
+
|
|
1547
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
|
|
1548
|
+
var Action_exports = {};
|
|
1549
|
+
__export(Action_exports, {
|
|
1550
|
+
apply: () => apply,
|
|
1551
|
+
applyAsync: () => applyAsync,
|
|
1552
|
+
applyBatch: () => applyBatch
|
|
1553
|
+
});
|
|
1554
|
+
|
|
1555
|
+
// ../../node_modules/.pnpm/@osdk+shared.client@1.0.1/node_modules/@osdk/shared.client/index.js
|
|
1556
|
+
var symbolClientContext = Symbol("ClientContext");
|
|
1557
|
+
|
|
1558
|
+
// ../../node_modules/.pnpm/@osdk+shared.client2@1.0.0/node_modules/@osdk/shared.client2/index.js
|
|
1559
|
+
var symbolClientContext2 = "__osdkClientContext";
|
|
1560
|
+
|
|
1561
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/PalantirApiError.js
|
|
1562
|
+
var PalantirApiError = class extends Error {
|
|
1563
|
+
message;
|
|
1564
|
+
errorName;
|
|
1565
|
+
errorCode;
|
|
1566
|
+
statusCode;
|
|
1567
|
+
errorInstanceId;
|
|
1568
|
+
parameters;
|
|
1569
|
+
constructor(message, errorName, errorCode, statusCode, errorInstanceId2, parameters) {
|
|
1570
|
+
super(message);
|
|
1571
|
+
this.message = message;
|
|
1572
|
+
this.errorName = errorName;
|
|
1573
|
+
this.errorCode = errorCode;
|
|
1574
|
+
this.statusCode = statusCode;
|
|
1575
|
+
this.errorInstanceId = errorInstanceId2;
|
|
1576
|
+
this.parameters = parameters;
|
|
1577
|
+
}
|
|
1578
|
+
};
|
|
1579
|
+
|
|
1580
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.errors@2.0.1/node_modules/@osdk/shared.net.errors/build/esm/UnknownError.js
|
|
1581
|
+
var UnknownError = class extends PalantirApiError {
|
|
1582
|
+
originalError;
|
|
1583
|
+
constructor(message, errorType, originalError) {
|
|
1584
|
+
super(message, errorType);
|
|
1585
|
+
this.originalError = originalError;
|
|
1586
|
+
}
|
|
1587
|
+
};
|
|
1588
|
+
|
|
1589
|
+
// ../../node_modules/.pnpm/@osdk+shared.net.platformapi@1.3.0/node_modules/@osdk/shared.net.platformapi/build/esm/foundryPlatformFetch.js
|
|
1590
|
+
async function foundryPlatformFetch(client, [httpMethodNum, origPath, flags, contentType, responseContentType], ...args) {
|
|
1591
|
+
const path = origPath.replace(/\{([^}]+)\}/g, () => encodeURIComponent(args.shift()));
|
|
1592
|
+
const body = flags & 1 ? args.shift() : void 0;
|
|
1593
|
+
const queryArgs = flags & 2 ? args.shift() : void 0;
|
|
1594
|
+
const headerArgs = flags & 4 ? args.shift() : void 0;
|
|
1595
|
+
const method = ["GET", "POST", "PUT", "DELETE", "PATCH"][httpMethodNum];
|
|
1596
|
+
return await apiFetch(client[symbolClientContext2] ?? client[symbolClientContext] ?? client, method, path, body, queryArgs, headerArgs, contentType, responseContentType);
|
|
1597
|
+
}
|
|
1598
|
+
async function apiFetch(clientCtx, method, endpointPath, data, queryArguments, headers, requestMediaType, responseMediaType) {
|
|
1599
|
+
const url = parseUrl(clientCtx.baseUrl, endpointPath);
|
|
1600
|
+
for (const [key, value] of Object.entries(queryArguments || {})) {
|
|
1601
|
+
if (value == null) {
|
|
1602
|
+
continue;
|
|
1603
|
+
}
|
|
1604
|
+
if (Array.isArray(value)) {
|
|
1605
|
+
for (const item of value) {
|
|
1606
|
+
url.searchParams.append(key, item);
|
|
1607
|
+
}
|
|
1608
|
+
} else {
|
|
1609
|
+
url.searchParams.append(key, value);
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
const headersInit = new Headers();
|
|
1613
|
+
headersInit.set("Content-Type", requestMediaType ?? "application/json");
|
|
1614
|
+
headersInit.set("Accept", responseMediaType ?? "application/json");
|
|
1615
|
+
Object.entries(headers || {}).forEach(([key, value]) => {
|
|
1616
|
+
if (value != null) {
|
|
1617
|
+
headersInit.append(key, value.toString());
|
|
1618
|
+
}
|
|
1619
|
+
});
|
|
1620
|
+
const body = data == null || data instanceof globalThis.Blob ? data : JSON.stringify(data);
|
|
1621
|
+
const response = await clientCtx.fetch(url.toString(), {
|
|
1622
|
+
body,
|
|
1623
|
+
method,
|
|
1624
|
+
headers: headersInit
|
|
1625
|
+
});
|
|
1626
|
+
if (!response.ok) {
|
|
1627
|
+
try {
|
|
1628
|
+
const convertedError = await response.json();
|
|
1629
|
+
return new PalantirApiError(convertedError.message, convertedError.errorName, convertedError.errorCode, response.status, convertedError.errorInstanceId, convertedError.parameters);
|
|
1630
|
+
} catch (e) {
|
|
1631
|
+
if (e instanceof Error) {
|
|
1632
|
+
return new UnknownError(e.message, "UNKNOWN");
|
|
1633
|
+
}
|
|
1634
|
+
return new UnknownError("Unable to parse error response", "UNKNOWN");
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
if (response.status === 204) {
|
|
1638
|
+
return;
|
|
1639
|
+
}
|
|
1640
|
+
if (responseMediaType == null || responseMediaType === "application/json") {
|
|
1641
|
+
return await response.json();
|
|
1642
|
+
}
|
|
1643
|
+
return response;
|
|
1644
|
+
}
|
|
1645
|
+
function parseUrl(baseUrl, endpointPath) {
|
|
1646
|
+
baseUrl += baseUrl.endsWith("/") ? "" : "/";
|
|
1647
|
+
return new URL(`api${endpointPath}`, baseUrl);
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Action.js
|
|
1651
|
+
var _apply = [1, "/v2/ontologies/{0}/actions/{1}/apply", 3];
|
|
1652
|
+
function apply($ctx, ...args) {
|
|
1653
|
+
return foundryPlatformFetch($ctx, _apply, ...args);
|
|
1654
|
+
}
|
|
1655
|
+
var _applyAsync = [1, "/v2/ontologies/{0}/actions/{1}/applyAsync", 3];
|
|
1656
|
+
function applyAsync($ctx, ...args) {
|
|
1657
|
+
return foundryPlatformFetch($ctx, _applyAsync, ...args);
|
|
1658
|
+
}
|
|
1659
|
+
var _applyBatch = [1, "/v2/ontologies/{0}/actions/{1}/applyBatch", 3];
|
|
1660
|
+
function applyBatch($ctx, ...args) {
|
|
1661
|
+
return foundryPlatformFetch($ctx, _applyBatch, ...args);
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ActionTypeV2.js
|
|
1665
|
+
var ActionTypeV2_exports = {};
|
|
1666
|
+
__export(ActionTypeV2_exports, {
|
|
1667
|
+
get: () => get,
|
|
1668
|
+
getByRid: () => getByRid,
|
|
1669
|
+
list: () => list
|
|
1670
|
+
});
|
|
1671
|
+
var _list = [0, "/v2/ontologies/{0}/actionTypes", 2];
|
|
1672
|
+
function list($ctx, ...args) {
|
|
1673
|
+
return foundryPlatformFetch($ctx, _list, ...args);
|
|
1674
|
+
}
|
|
1675
|
+
var _get = [0, "/v2/ontologies/{0}/actionTypes/{1}"];
|
|
1676
|
+
function get($ctx, ...args) {
|
|
1677
|
+
return foundryPlatformFetch($ctx, _get, ...args);
|
|
1678
|
+
}
|
|
1679
|
+
var _getByRid = [0, "/v2/ontologies/{0}/actionTypes/byRid/{1}"];
|
|
1680
|
+
function getByRid($ctx, ...args) {
|
|
1681
|
+
return foundryPlatformFetch($ctx, _getByRid, ...args);
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Attachment.js
|
|
1685
|
+
var Attachment_exports = {};
|
|
1686
|
+
__export(Attachment_exports, {
|
|
1687
|
+
get: () => get2,
|
|
1688
|
+
read: () => read,
|
|
1689
|
+
upload: () => upload
|
|
1690
|
+
});
|
|
1691
|
+
var _upload = [1, "/v2/ontologies/attachments/upload", 7, "*/*"];
|
|
1692
|
+
function upload($ctx, ...args) {
|
|
1693
|
+
const headerParams = {
|
|
1694
|
+
...args[2],
|
|
1695
|
+
"Content-Type": args[2]?.["Content-Type"] ?? args[0].type,
|
|
1696
|
+
"Content-Length": args[0].size.toString()
|
|
1697
|
+
};
|
|
1698
|
+
return foundryPlatformFetch($ctx, _upload, args[0], args[1], headerParams);
|
|
1699
|
+
}
|
|
1700
|
+
var _read = [0, "/v2/ontologies/attachments/{0}/content", , , "*/*"];
|
|
1701
|
+
function read($ctx, ...args) {
|
|
1702
|
+
return foundryPlatformFetch($ctx, _read, ...args);
|
|
1703
|
+
}
|
|
1704
|
+
var _get2 = [0, "/v2/ontologies/attachments/{0}"];
|
|
1705
|
+
function get2($ctx, ...args) {
|
|
1706
|
+
return foundryPlatformFetch($ctx, _get2, ...args);
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1709
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/AttachmentPropertyV2.js
|
|
1710
|
+
var AttachmentPropertyV2_exports = {};
|
|
1711
|
+
__export(AttachmentPropertyV2_exports, {
|
|
1712
|
+
getAttachment: () => getAttachment,
|
|
1713
|
+
getAttachmentByRid: () => getAttachmentByRid,
|
|
1714
|
+
readAttachment: () => readAttachment,
|
|
1715
|
+
readAttachmentByRid: () => readAttachmentByRid
|
|
1716
|
+
});
|
|
1717
|
+
var _getAttachment = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}", 2];
|
|
1718
|
+
function getAttachment($ctx, ...args) {
|
|
1719
|
+
return foundryPlatformFetch($ctx, _getAttachment, ...args);
|
|
1720
|
+
}
|
|
1721
|
+
var _getAttachmentByRid = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}", 2];
|
|
1722
|
+
function getAttachmentByRid($ctx, ...args) {
|
|
1723
|
+
return foundryPlatformFetch($ctx, _getAttachmentByRid, ...args);
|
|
1724
|
+
}
|
|
1725
|
+
var _readAttachment = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/content", 2, , "*/*"];
|
|
1726
|
+
function readAttachment($ctx, ...args) {
|
|
1727
|
+
return foundryPlatformFetch($ctx, _readAttachment, ...args);
|
|
1728
|
+
}
|
|
1729
|
+
var _readAttachmentByRid = [0, "/v2/ontologies/{0}/objects/{1}/{2}/attachments/{3}/{4}/content", 2, , "*/*"];
|
|
1730
|
+
function readAttachmentByRid($ctx, ...args) {
|
|
1731
|
+
return foundryPlatformFetch($ctx, _readAttachmentByRid, ...args);
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/LinkedObjectV2.js
|
|
1735
|
+
var LinkedObjectV2_exports = {};
|
|
1736
|
+
__export(LinkedObjectV2_exports, {
|
|
1737
|
+
getLinkedObject: () => getLinkedObject,
|
|
1738
|
+
listLinkedObjects: () => listLinkedObjects
|
|
1739
|
+
});
|
|
1740
|
+
var _listLinkedObjects = [0, "/v2/ontologies/{0}/objects/{1}/{2}/links/{3}", 2];
|
|
1741
|
+
function listLinkedObjects($ctx, ...args) {
|
|
1742
|
+
return foundryPlatformFetch($ctx, _listLinkedObjects, ...args);
|
|
1743
|
+
}
|
|
1744
|
+
var _getLinkedObject = [0, "/v2/ontologies/{0}/objects/{1}/{2}/links/{3}/{4}", 2];
|
|
1745
|
+
function getLinkedObject($ctx, ...args) {
|
|
1746
|
+
return foundryPlatformFetch($ctx, _getLinkedObject, ...args);
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/MediaReferenceProperty.js
|
|
1750
|
+
var MediaReferenceProperty_exports = {};
|
|
1751
|
+
__export(MediaReferenceProperty_exports, {
|
|
1752
|
+
getMediaContent: () => getMediaContent,
|
|
1753
|
+
getMediaMetadata: () => getMediaMetadata,
|
|
1754
|
+
upload: () => upload2
|
|
1755
|
+
});
|
|
1756
|
+
var _getMediaContent = [0, "/v2/ontologies/{0}/objects/{1}/{2}/media/{3}/content", 2, , "*/*"];
|
|
1757
|
+
function getMediaContent($ctx, ...args) {
|
|
1758
|
+
return foundryPlatformFetch($ctx, _getMediaContent, ...args);
|
|
1759
|
+
}
|
|
1760
|
+
var _getMediaMetadata = [0, "/v2/ontologies/{0}/objects/{1}/{2}/media/{3}/metadata", 2];
|
|
1761
|
+
function getMediaMetadata($ctx, ...args) {
|
|
1762
|
+
return foundryPlatformFetch($ctx, _getMediaMetadata, ...args);
|
|
1763
|
+
}
|
|
1764
|
+
var _upload2 = [1, "/v2/ontologies/{0}/objectTypes/{1}/media/{2}/upload", 3, "*/*"];
|
|
1765
|
+
function upload2($ctx, ...args) {
|
|
1766
|
+
return foundryPlatformFetch($ctx, _upload2, ...args);
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/ObjectTypeV2.js
|
|
1770
|
+
var ObjectTypeV2_exports = {};
|
|
1771
|
+
__export(ObjectTypeV2_exports, {
|
|
1772
|
+
get: () => get3,
|
|
1773
|
+
getFullMetadata: () => getFullMetadata,
|
|
1774
|
+
getOutgoingLinkType: () => getOutgoingLinkType,
|
|
1775
|
+
list: () => list2,
|
|
1776
|
+
listOutgoingLinkTypes: () => listOutgoingLinkTypes
|
|
1777
|
+
});
|
|
1778
|
+
var _list2 = [0, "/v2/ontologies/{0}/objectTypes", 2];
|
|
1779
|
+
function list2($ctx, ...args) {
|
|
1780
|
+
return foundryPlatformFetch($ctx, _list2, ...args);
|
|
1781
|
+
}
|
|
1782
|
+
var _get3 = [0, "/v2/ontologies/{0}/objectTypes/{1}"];
|
|
1783
|
+
function get3($ctx, ...args) {
|
|
1784
|
+
return foundryPlatformFetch($ctx, _get3, ...args);
|
|
1785
|
+
}
|
|
1786
|
+
var _getFullMetadata = [0, "/v2/ontologies/{0}/objectTypes/{1}/fullMetadata", 2];
|
|
1787
|
+
function getFullMetadata($ctx, ...args) {
|
|
1788
|
+
return foundryPlatformFetch($ctx, _getFullMetadata, ...args);
|
|
1789
|
+
}
|
|
1790
|
+
var _listOutgoingLinkTypes = [0, "/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes", 2];
|
|
1791
|
+
function listOutgoingLinkTypes($ctx, ...args) {
|
|
1792
|
+
return foundryPlatformFetch($ctx, _listOutgoingLinkTypes, ...args);
|
|
1793
|
+
}
|
|
1794
|
+
var _getOutgoingLinkType = [0, "/v2/ontologies/{0}/objectTypes/{1}/outgoingLinkTypes/{2}"];
|
|
1795
|
+
function getOutgoingLinkType($ctx, ...args) {
|
|
1796
|
+
return foundryPlatformFetch($ctx, _getOutgoingLinkType, ...args);
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyInterface.js
|
|
1800
|
+
var OntologyInterface_exports = {};
|
|
1801
|
+
__export(OntologyInterface_exports, {
|
|
1802
|
+
aggregate: () => aggregate,
|
|
1803
|
+
get: () => get4,
|
|
1804
|
+
list: () => list3,
|
|
1805
|
+
search: () => search
|
|
1806
|
+
});
|
|
1807
|
+
var _list3 = [0, "/v2/ontologies/{0}/interfaceTypes", 2];
|
|
1808
|
+
function list3($ctx, ...args) {
|
|
1809
|
+
return foundryPlatformFetch($ctx, _list3, ...args);
|
|
1810
|
+
}
|
|
1811
|
+
var _get4 = [0, "/v2/ontologies/{0}/interfaceTypes/{1}", 2];
|
|
1812
|
+
function get4($ctx, ...args) {
|
|
1813
|
+
return foundryPlatformFetch($ctx, _get4, ...args);
|
|
1814
|
+
}
|
|
1815
|
+
var _search = [1, "/v2/ontologies/{0}/interfaces/{1}/search", 3];
|
|
1816
|
+
function search($ctx, ...args) {
|
|
1817
|
+
return foundryPlatformFetch($ctx, _search, ...args);
|
|
1818
|
+
}
|
|
1819
|
+
var _aggregate = [1, "/v2/ontologies/{0}/interfaces/{1}/aggregate", 3];
|
|
1820
|
+
function aggregate($ctx, ...args) {
|
|
1821
|
+
return foundryPlatformFetch($ctx, _aggregate, ...args);
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectSet.js
|
|
1825
|
+
var OntologyObjectSet_exports = {};
|
|
1826
|
+
__export(OntologyObjectSet_exports, {
|
|
1827
|
+
aggregate: () => aggregate2,
|
|
1828
|
+
createTemporary: () => createTemporary,
|
|
1829
|
+
get: () => get5,
|
|
1830
|
+
load: () => load,
|
|
1831
|
+
loadMultipleObjectTypes: () => loadMultipleObjectTypes,
|
|
1832
|
+
loadObjectsOrInterfaces: () => loadObjectsOrInterfaces
|
|
1833
|
+
});
|
|
1834
|
+
var _createTemporary = [1, "/v2/ontologies/{0}/objectSets/createTemporary", 1];
|
|
1835
|
+
function createTemporary($ctx, ...args) {
|
|
1836
|
+
return foundryPlatformFetch($ctx, _createTemporary, ...args);
|
|
1837
|
+
}
|
|
1838
|
+
var _get5 = [0, "/v2/ontologies/{0}/objectSets/{1}"];
|
|
1839
|
+
function get5($ctx, ...args) {
|
|
1840
|
+
return foundryPlatformFetch($ctx, _get5, ...args);
|
|
1841
|
+
}
|
|
1842
|
+
var _load = [1, "/v2/ontologies/{0}/objectSets/loadObjects", 3];
|
|
1843
|
+
function load($ctx, ...args) {
|
|
1844
|
+
return foundryPlatformFetch($ctx, _load, ...args);
|
|
1845
|
+
}
|
|
1846
|
+
var _loadMultipleObjectTypes = [1, "/v2/ontologies/{0}/objectSets/loadObjectsMultipleObjectTypes", 3];
|
|
1847
|
+
function loadMultipleObjectTypes($ctx, ...args) {
|
|
1848
|
+
return foundryPlatformFetch($ctx, _loadMultipleObjectTypes, ...args);
|
|
1849
|
+
}
|
|
1850
|
+
var _loadObjectsOrInterfaces = [1, "/v2/ontologies/{0}/objectSets/loadObjectsOrInterfaces", 3];
|
|
1851
|
+
function loadObjectsOrInterfaces($ctx, ...args) {
|
|
1852
|
+
return foundryPlatformFetch($ctx, _loadObjectsOrInterfaces, ...args);
|
|
1853
|
+
}
|
|
1854
|
+
var _aggregate2 = [1, "/v2/ontologies/{0}/objectSets/aggregate", 3];
|
|
1855
|
+
function aggregate2($ctx, ...args) {
|
|
1856
|
+
return foundryPlatformFetch($ctx, _aggregate2, ...args);
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1859
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyObjectV2.js
|
|
1860
|
+
var OntologyObjectV2_exports = {};
|
|
1861
|
+
__export(OntologyObjectV2_exports, {
|
|
1862
|
+
aggregate: () => aggregate3,
|
|
1863
|
+
count: () => count,
|
|
1864
|
+
get: () => get6,
|
|
1865
|
+
list: () => list4,
|
|
1866
|
+
search: () => search2
|
|
1867
|
+
});
|
|
1868
|
+
var _list4 = [0, "/v2/ontologies/{0}/objects/{1}", 2];
|
|
1869
|
+
function list4($ctx, ...args) {
|
|
1870
|
+
return foundryPlatformFetch($ctx, _list4, ...args);
|
|
1871
|
+
}
|
|
1872
|
+
var _get6 = [0, "/v2/ontologies/{0}/objects/{1}/{2}", 2];
|
|
1873
|
+
function get6($ctx, ...args) {
|
|
1874
|
+
return foundryPlatformFetch($ctx, _get6, ...args);
|
|
1875
|
+
}
|
|
1876
|
+
var _count = [1, "/v2/ontologies/{0}/objects/{1}/count", 2];
|
|
1877
|
+
function count($ctx, ...args) {
|
|
1878
|
+
return foundryPlatformFetch($ctx, _count, ...args);
|
|
1879
|
+
}
|
|
1880
|
+
var _search2 = [1, "/v2/ontologies/{0}/objects/{1}/search", 3];
|
|
1881
|
+
function search2($ctx, ...args) {
|
|
1882
|
+
return foundryPlatformFetch($ctx, _search2, ...args);
|
|
1883
|
+
}
|
|
1884
|
+
var _aggregate3 = [1, "/v2/ontologies/{0}/objects/{1}/aggregate", 3];
|
|
1885
|
+
function aggregate3($ctx, ...args) {
|
|
1886
|
+
return foundryPlatformFetch($ctx, _aggregate3, ...args);
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/OntologyV2.js
|
|
1890
|
+
var OntologyV2_exports = {};
|
|
1891
|
+
__export(OntologyV2_exports, {
|
|
1892
|
+
get: () => get7,
|
|
1893
|
+
getFullMetadata: () => getFullMetadata2,
|
|
1894
|
+
list: () => list5,
|
|
1895
|
+
loadMetadata: () => loadMetadata
|
|
1896
|
+
});
|
|
1897
|
+
var _list5 = [0, "/v2/ontologies"];
|
|
1898
|
+
function list5($ctx, ...args) {
|
|
1899
|
+
return foundryPlatformFetch($ctx, _list5, ...args);
|
|
1900
|
+
}
|
|
1901
|
+
var _get7 = [0, "/v2/ontologies/{0}"];
|
|
1902
|
+
function get7($ctx, ...args) {
|
|
1903
|
+
return foundryPlatformFetch($ctx, _get7, ...args);
|
|
1904
|
+
}
|
|
1905
|
+
var _getFullMetadata2 = [0, "/v2/ontologies/{0}/fullMetadata"];
|
|
1906
|
+
function getFullMetadata2($ctx, ...args) {
|
|
1907
|
+
return foundryPlatformFetch($ctx, _getFullMetadata2, ...args);
|
|
1908
|
+
}
|
|
1909
|
+
var _loadMetadata = [1, "/v2/ontologies/{0}/metadata", 3];
|
|
1910
|
+
function loadMetadata($ctx, ...args) {
|
|
1911
|
+
return foundryPlatformFetch($ctx, _loadMetadata, ...args);
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/Query.js
|
|
1915
|
+
var Query_exports = {};
|
|
1916
|
+
__export(Query_exports, {
|
|
1917
|
+
execute: () => execute
|
|
1918
|
+
});
|
|
1919
|
+
var _execute = [1, "/v2/ontologies/{0}/queries/{1}/execute", 3];
|
|
1920
|
+
function execute($ctx, ...args) {
|
|
1921
|
+
return foundryPlatformFetch($ctx, _execute, ...args);
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/QueryType.js
|
|
1925
|
+
var QueryType_exports = {};
|
|
1926
|
+
__export(QueryType_exports, {
|
|
1927
|
+
get: () => get8,
|
|
1928
|
+
list: () => list6
|
|
1929
|
+
});
|
|
1930
|
+
var _list6 = [0, "/v2/ontologies/{0}/queryTypes", 2];
|
|
1931
|
+
function list6($ctx, ...args) {
|
|
1932
|
+
return foundryPlatformFetch($ctx, _list6, ...args);
|
|
1933
|
+
}
|
|
1934
|
+
var _get8 = [0, "/v2/ontologies/{0}/queryTypes/{1}", 2];
|
|
1935
|
+
function get8($ctx, ...args) {
|
|
1936
|
+
return foundryPlatformFetch($ctx, _get8, ...args);
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesPropertyV2.js
|
|
1940
|
+
var TimeSeriesPropertyV2_exports = {};
|
|
1941
|
+
__export(TimeSeriesPropertyV2_exports, {
|
|
1942
|
+
getFirstPoint: () => getFirstPoint,
|
|
1943
|
+
getLastPoint: () => getLastPoint,
|
|
1944
|
+
streamPoints: () => streamPoints
|
|
1945
|
+
});
|
|
1946
|
+
var _getFirstPoint = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/firstPoint", 2];
|
|
1947
|
+
function getFirstPoint($ctx, ...args) {
|
|
1948
|
+
return foundryPlatformFetch($ctx, _getFirstPoint, ...args);
|
|
1949
|
+
}
|
|
1950
|
+
var _getLastPoint = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/lastPoint", 2];
|
|
1951
|
+
function getLastPoint($ctx, ...args) {
|
|
1952
|
+
return foundryPlatformFetch($ctx, _getLastPoint, ...args);
|
|
1953
|
+
}
|
|
1954
|
+
var _streamPoints = [1, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/streamPoints", 3, , "*/*"];
|
|
1955
|
+
function streamPoints($ctx, ...args) {
|
|
1956
|
+
return foundryPlatformFetch($ctx, _streamPoints, ...args);
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
// ../../node_modules/.pnpm/@osdk+foundry.ontologies@2.20.0/node_modules/@osdk/foundry.ontologies/build/esm/public/TimeSeriesValueBankProperty.js
|
|
1960
|
+
var TimeSeriesValueBankProperty_exports = {};
|
|
1961
|
+
__export(TimeSeriesValueBankProperty_exports, {
|
|
1962
|
+
getLatestValue: () => getLatestValue,
|
|
1963
|
+
streamValues: () => streamValues
|
|
1964
|
+
});
|
|
1965
|
+
var _getLatestValue = [0, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/latestValue", 2];
|
|
1966
|
+
function getLatestValue($ctx, ...args) {
|
|
1967
|
+
return foundryPlatformFetch($ctx, _getLatestValue, ...args);
|
|
1968
|
+
}
|
|
1969
|
+
var _streamValues = [1, "/v2/ontologies/{0}/objects/{1}/{2}/timeseries/{3}/streamValues", 3, , "*/*"];
|
|
1970
|
+
function streamValues($ctx, ...args) {
|
|
1971
|
+
return foundryPlatformFetch($ctx, _streamValues, ...args);
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1974
|
+
// src/mock/OntologiesV2/Actions.ts
|
|
1975
|
+
var applyBatch2 = handleOpenApiCall(Action_exports.applyBatch, ["ontologyApiName", "actionType"]);
|
|
1976
|
+
var apply2 = handleOpenApiCall(Action_exports.apply, ["ontologyApiName", "actionType"]);
|
|
1977
|
+
|
|
1978
|
+
// src/mock/OntologiesV2/ActionTypesV2.ts
|
|
1979
|
+
var ActionTypesV2_exports = {};
|
|
1980
|
+
__export(ActionTypesV2_exports, {
|
|
1981
|
+
get: () => get9,
|
|
1982
|
+
list: () => list7
|
|
1983
|
+
});
|
|
1984
|
+
var list7 = handleOpenApiCall(ActionTypeV2_exports.list, ["ontologyApiName"]);
|
|
1985
|
+
var get9 = handleOpenApiCall(ActionTypeV2_exports.get, ["ontologyApiName", "actionTypeApiName"]);
|
|
1986
|
+
|
|
1987
|
+
// src/mock/OntologiesV2/AttachmentPropertiesV2.ts
|
|
1988
|
+
var AttachmentPropertiesV2_exports = {};
|
|
1989
|
+
__export(AttachmentPropertiesV2_exports, {
|
|
1990
|
+
getAttachment: () => getAttachment2,
|
|
1991
|
+
readAttachment: () => readAttachment2
|
|
1992
|
+
});
|
|
1993
|
+
var getAttachment2 = handleOpenApiCall(AttachmentPropertyV2_exports.getAttachment, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
1994
|
+
var readAttachment2 = handleOpenApiCall(AttachmentPropertyV2_exports.readAttachment, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
1995
|
+
|
|
1996
|
+
// src/mock/OntologiesV2/Attachments.ts
|
|
1997
|
+
var Attachments_exports = {};
|
|
1998
|
+
__export(Attachments_exports, {
|
|
1999
|
+
get: () => get10,
|
|
2000
|
+
read: () => read2,
|
|
2001
|
+
upload: () => upload3
|
|
2002
|
+
});
|
|
2003
|
+
var upload3 = handleOpenApiCall(Attachment_exports.upload, []);
|
|
2004
|
+
var get10 = handleOpenApiCall(Attachment_exports.get, ["attachmentRid"]);
|
|
2005
|
+
var read2 = handleOpenApiCall(Attachment_exports.read, ["attachmentRid"]);
|
|
2006
|
+
|
|
2007
|
+
// src/mock/OntologiesV2/LinkedObjectsV2.ts
|
|
2008
|
+
var LinkedObjectsV2_exports = {};
|
|
2009
|
+
__export(LinkedObjectsV2_exports, {
|
|
2010
|
+
getLinkedObject: () => getLinkedObject2,
|
|
2011
|
+
listLinkedObjects: () => listLinkedObjects2
|
|
2012
|
+
});
|
|
2013
|
+
var listLinkedObjects2 = handleOpenApiCall(LinkedObjectV2_exports.listLinkedObjects, ["ontologyApiName", "objectType", "primaryKey", "linkType"]);
|
|
2014
|
+
var getLinkedObject2 = handleOpenApiCall(LinkedObjectV2_exports.getLinkedObject, ["ontologyApiName", "objectType", "primaryKey", "linkType", "targetPrimaryKey"]);
|
|
2015
|
+
|
|
2016
|
+
// src/mock/OntologiesV2/MediaReferenceProperties.ts
|
|
2017
|
+
var MediaReferenceProperties_exports = {};
|
|
2018
|
+
__export(MediaReferenceProperties_exports, {
|
|
2019
|
+
getMediaContent: () => getMediaContent2,
|
|
2020
|
+
getMediaMetadata: () => getMediaMetadata2,
|
|
2021
|
+
upload: () => upload4
|
|
2022
|
+
});
|
|
2023
|
+
var getMediaMetadata2 = handleOpenApiCall(MediaReferenceProperty_exports.getMediaMetadata, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2024
|
+
var getMediaContent2 = handleOpenApiCall(MediaReferenceProperty_exports.getMediaContent, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2025
|
+
var upload4 = handleOpenApiCall(MediaReferenceProperty_exports.upload, ["ontologyApiName", "objectType", "propertyName"]);
|
|
2026
|
+
|
|
2027
|
+
// src/mock/OntologiesV2/ObjectTypesV2.ts
|
|
2028
|
+
var ObjectTypesV2_exports = {};
|
|
2029
|
+
__export(ObjectTypesV2_exports, {
|
|
2030
|
+
get: () => get11,
|
|
2031
|
+
getFullMetadata: () => getFullMetadata3,
|
|
2032
|
+
getOutgoingLinkType: () => getOutgoingLinkType2,
|
|
2033
|
+
list: () => list8,
|
|
2034
|
+
listOutgoingLinkTypes: () => listOutgoingLinkTypes2
|
|
2035
|
+
});
|
|
2036
|
+
var get11 = handleOpenApiCall(ObjectTypeV2_exports.get, ["ontologyApiName", "objectTypeApiName"]);
|
|
2037
|
+
var getFullMetadata3 = handleOpenApiCall(ObjectTypeV2_exports.getFullMetadata, ["ontologyApiName", "objectTypeApiName"]);
|
|
2038
|
+
var getOutgoingLinkType2 = handleOpenApiCall(ObjectTypeV2_exports.getOutgoingLinkType, ["ontology", "objectType", "linkType"]);
|
|
2039
|
+
var listOutgoingLinkTypes2 = handleOpenApiCall(ObjectTypeV2_exports.listOutgoingLinkTypes, ["ontology", "objectType"]);
|
|
2040
|
+
var list8 = handleOpenApiCall(ObjectTypeV2_exports.list, ["ontologyApiName"]);
|
|
2041
|
+
|
|
2042
|
+
// src/mock/OntologiesV2/OntologiesV2.ts
|
|
2043
|
+
var OntologiesV2_exports = {};
|
|
2044
|
+
__export(OntologiesV2_exports, {
|
|
2045
|
+
get: () => get12,
|
|
2046
|
+
getFullMetadata: () => getFullMetadata4,
|
|
2047
|
+
list: () => list9,
|
|
2048
|
+
loadMetadata: () => loadMetadata2
|
|
2049
|
+
});
|
|
2050
|
+
var getFullMetadata4 = handleOpenApiCall(OntologyV2_exports.getFullMetadata, ["ontologyApiName"]);
|
|
2051
|
+
var loadMetadata2 = handleOpenApiCall(OntologyV2_exports.loadMetadata, ["ontologyApiName"]);
|
|
2052
|
+
var list9 = handleOpenApiCall(OntologyV2_exports.list, []);
|
|
2053
|
+
var get12 = handleOpenApiCall(OntologyV2_exports.get, ["ontologyRid"]);
|
|
2054
|
+
|
|
2055
|
+
// src/mock/OntologiesV2/OntologyInterfaces.ts
|
|
2056
|
+
var OntologyInterfaces_exports = {};
|
|
2057
|
+
__export(OntologyInterfaces_exports, {
|
|
2058
|
+
get: () => get13,
|
|
2059
|
+
list: () => list10
|
|
2060
|
+
});
|
|
2061
|
+
var list10 = handleOpenApiCall(OntologyInterface_exports.list, ["ontologyApiName"]);
|
|
2062
|
+
var get13 = handleOpenApiCall(OntologyInterface_exports.get, ["ontologyApiName", "interfaceType"]);
|
|
2063
|
+
|
|
2064
|
+
// src/mock/OntologiesV2/OntologyObjectSets.ts
|
|
2065
|
+
var OntologyObjectSets_exports = {};
|
|
2066
|
+
__export(OntologyObjectSets_exports, {
|
|
2067
|
+
aggregate: () => aggregate4,
|
|
2068
|
+
load: () => load2,
|
|
2069
|
+
loadMultipleObjectTypes: () => loadMultipleObjectTypes2
|
|
2070
|
+
});
|
|
2071
|
+
var load2 = handleOpenApiCall(OntologyObjectSet_exports.load, ["ontologyApiName"]);
|
|
2072
|
+
var aggregate4 = handleOpenApiCall(OntologyObjectSet_exports.aggregate, ["ontologyApiName"]);
|
|
2073
|
+
var loadMultipleObjectTypes2 = handleOpenApiCall(OntologyObjectSet_exports.loadMultipleObjectTypes, ["ontologyApiName"]);
|
|
2074
|
+
|
|
2075
|
+
// src/mock/OntologiesV2/OntologyObjectsV2.ts
|
|
2076
|
+
var OntologyObjectsV2_exports = {};
|
|
2077
|
+
__export(OntologyObjectsV2_exports, {
|
|
2078
|
+
get: () => get14,
|
|
2079
|
+
list: () => list11
|
|
2080
|
+
});
|
|
2081
|
+
var get14 = handleOpenApiCall(OntologyObjectV2_exports.get, ["ontologyApiName", "objectType", "primaryKey"]);
|
|
2082
|
+
var list11 = handleOpenApiCall(OntologyObjectV2_exports.list, ["ontologyApiName", "objectType"]);
|
|
2083
|
+
|
|
2084
|
+
// src/mock/OntologiesV2/Queries.ts
|
|
2085
|
+
var Queries_exports = {};
|
|
2086
|
+
__export(Queries_exports, {
|
|
2087
|
+
execute: () => execute2
|
|
2088
|
+
});
|
|
2089
|
+
var execute2 = handleOpenApiCall(Query_exports.execute, ["ontologyApiName", "queryApiName"]);
|
|
2090
|
+
|
|
2091
|
+
// src/mock/OntologiesV2/QueryTypes.ts
|
|
2092
|
+
var QueryTypes_exports = {};
|
|
2093
|
+
__export(QueryTypes_exports, {
|
|
2094
|
+
get: () => get15,
|
|
2095
|
+
list: () => list12
|
|
2096
|
+
});
|
|
2097
|
+
var get15 = handleOpenApiCall(QueryType_exports.get, ["ontologyApiName", "queryTypeApiName"]);
|
|
2098
|
+
var list12 = handleOpenApiCall(QueryType_exports.list, ["ontologyApiName"]);
|
|
2099
|
+
|
|
2100
|
+
// src/mock/OntologiesV2/TimeSeriesPropertiesV2.ts
|
|
2101
|
+
var TimeSeriesPropertiesV2_exports = {};
|
|
2102
|
+
__export(TimeSeriesPropertiesV2_exports, {
|
|
2103
|
+
getFirstPoint: () => getFirstPoint2,
|
|
2104
|
+
getLastPoint: () => getLastPoint2,
|
|
2105
|
+
streamPoints: () => streamPoints2
|
|
2106
|
+
});
|
|
2107
|
+
var getFirstPoint2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.getFirstPoint, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2108
|
+
var getLastPoint2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.getLastPoint, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2109
|
+
var streamPoints2 = handleOpenApiCall(TimeSeriesPropertyV2_exports.streamPoints, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2110
|
+
|
|
2111
|
+
// src/mock/OntologiesV2/TimeSeriesValueBankProperties.ts
|
|
2112
|
+
var TimeSeriesValueBankProperties_exports = {};
|
|
2113
|
+
__export(TimeSeriesValueBankProperties_exports, {
|
|
2114
|
+
getLatestValue: () => getLatestValue2,
|
|
2115
|
+
streamValues: () => streamValues2
|
|
2116
|
+
});
|
|
2117
|
+
var getLatestValue2 = handleOpenApiCall(TimeSeriesValueBankProperty_exports.getLatestValue, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2118
|
+
var streamValues2 = handleOpenApiCall(TimeSeriesValueBankProperty_exports.streamValues, ["ontologyApiName", "objectType", "primaryKey", "propertyName"]);
|
|
2119
|
+
|
|
2120
|
+
// src/handlers/createActionHandlers.ts
|
|
2121
|
+
var createActionHandlers = (baseUrl, fauxFoundry) => [
|
|
2122
|
+
/**
|
|
2123
|
+
* Apply an Action
|
|
2124
|
+
*/
|
|
2125
|
+
OntologiesV2_exports2.Actions.apply(baseUrl, async ({
|
|
2126
|
+
params: {
|
|
2127
|
+
ontologyApiName,
|
|
2128
|
+
actionType
|
|
2129
|
+
},
|
|
2130
|
+
request
|
|
2131
|
+
}) => {
|
|
2132
|
+
const response = fauxFoundry.getDataStore(ontologyApiName).applyAction(actionType, await request.json());
|
|
2133
|
+
if (!response) {
|
|
2134
|
+
throw new OpenApiCallError(400, ApplyActionFailedError);
|
|
2135
|
+
}
|
|
2136
|
+
return response;
|
|
2137
|
+
}),
|
|
2138
|
+
OntologiesV2_exports2.Actions.applyBatch(baseUrl, async ({
|
|
2139
|
+
params: {
|
|
2140
|
+
ontologyApiName,
|
|
2141
|
+
actionType
|
|
2142
|
+
},
|
|
2143
|
+
request
|
|
2144
|
+
}) => {
|
|
2145
|
+
return fauxFoundry.getDataStore(ontologyApiName).batchApplyAction(actionType, await request.json());
|
|
2146
|
+
})
|
|
2147
|
+
];
|
|
2148
|
+
|
|
2149
|
+
// src/handlers/util/requireSearchParams.ts
|
|
2150
|
+
function requireSearchParams(names, req) {
|
|
2151
|
+
const url = new URL(req.url);
|
|
2152
|
+
return Object.fromEntries(names.map((name) => {
|
|
2153
|
+
const value = url.searchParams.get(name);
|
|
2154
|
+
if (value == null) {
|
|
2155
|
+
throw new OpenApiCallError(400, InvalidRequest("Invalid parameters"));
|
|
2156
|
+
}
|
|
2157
|
+
return [name, value];
|
|
2158
|
+
}));
|
|
2159
|
+
}
|
|
2160
|
+
|
|
2161
|
+
// src/handlers/createAttachmentHandlers.ts
|
|
2162
|
+
var createAttachmentHandlers = (baseUrl, fauxFoundry) => [
|
|
2163
|
+
/**
|
|
2164
|
+
* Upload attachment
|
|
2165
|
+
*/
|
|
2166
|
+
OntologiesV2_exports2.Attachments.upload(baseUrl, async ({
|
|
2167
|
+
request
|
|
2168
|
+
}) => {
|
|
2169
|
+
const {
|
|
2170
|
+
filename
|
|
2171
|
+
} = requireSearchParams(["filename"], request);
|
|
2172
|
+
return fauxFoundry.attachments.registerAttachment({
|
|
2173
|
+
buffer: await request.arrayBuffer(),
|
|
2174
|
+
filename,
|
|
2175
|
+
mediaType: request.headers.get("Content-Type") ?? "application/octet-stream",
|
|
2176
|
+
rid: `ri.attachments.main.attachment.${crypto.randomUUID()}`
|
|
2177
|
+
});
|
|
2178
|
+
}),
|
|
2179
|
+
/**
|
|
2180
|
+
* Get attachment metadata V1
|
|
2181
|
+
*/
|
|
2182
|
+
OntologiesV2_exports2.Attachments.get(baseUrl, async ({
|
|
2183
|
+
params
|
|
2184
|
+
}) => {
|
|
2185
|
+
return fauxFoundry.attachments.getAttachmentMetadataByRid(params.attachmentRid);
|
|
2186
|
+
}),
|
|
2187
|
+
/**
|
|
2188
|
+
* Get attachment metadata V2
|
|
2189
|
+
*/
|
|
2190
|
+
OntologiesV2_exports2.AttachmentPropertiesV2.getAttachment(baseUrl, async ({
|
|
2191
|
+
params: {
|
|
2192
|
+
ontologyApiName,
|
|
2193
|
+
primaryKey,
|
|
2194
|
+
objectType,
|
|
2195
|
+
propertyName
|
|
2196
|
+
}
|
|
2197
|
+
}) => {
|
|
2198
|
+
return {
|
|
2199
|
+
...fauxFoundry.getDataStore(ontologyApiName).getAttachmentMetadata(objectType, primaryKey, propertyName),
|
|
2200
|
+
type: "single"
|
|
2201
|
+
};
|
|
2202
|
+
}),
|
|
2203
|
+
/**
|
|
2204
|
+
* Read attachment content V1
|
|
2205
|
+
*/
|
|
2206
|
+
OntologiesV2_exports2.Attachments.read(baseUrl, async ({
|
|
2207
|
+
params
|
|
2208
|
+
}) => {
|
|
2209
|
+
return new Response(fauxFoundry.attachments.getAttachmentBuffer(params.attachmentRid));
|
|
2210
|
+
}),
|
|
2211
|
+
/**
|
|
2212
|
+
* Read attachment content V2
|
|
2213
|
+
*/
|
|
2214
|
+
OntologiesV2_exports2.AttachmentPropertiesV2.readAttachment(baseUrl, async ({
|
|
2215
|
+
params: {
|
|
2216
|
+
ontologyApiName,
|
|
2217
|
+
primaryKey,
|
|
2218
|
+
objectType,
|
|
2219
|
+
propertyName
|
|
2220
|
+
}
|
|
2221
|
+
}) => {
|
|
2222
|
+
return new Response(fauxFoundry.getDataStore(ontologyApiName).getAttachmentBuffer(objectType, primaryKey, propertyName));
|
|
2223
|
+
})
|
|
2224
|
+
];
|
|
2225
|
+
|
|
2226
|
+
// src/handlers/createLoadObjectsHandlers.ts
|
|
2227
|
+
var createLoadObjectsHandlers = (baseUrl, fauxFoundry) => [
|
|
2228
|
+
/**
|
|
2229
|
+
* Load object
|
|
2230
|
+
*/
|
|
2231
|
+
OntologiesV2_exports2.OntologyObjectsV2.get(baseUrl, async ({
|
|
2232
|
+
request,
|
|
2233
|
+
params: {
|
|
2234
|
+
ontologyApiName,
|
|
2235
|
+
objectType,
|
|
2236
|
+
primaryKey
|
|
2237
|
+
}
|
|
2238
|
+
}) => {
|
|
2239
|
+
return subSelectPropertiesUrl(fauxFoundry.getDataStore(ontologyApiName).getObjectOrThrow(objectType, primaryKey), new URL(request.url));
|
|
2240
|
+
}),
|
|
2241
|
+
/**
|
|
2242
|
+
* Load all objects
|
|
2243
|
+
*/
|
|
2244
|
+
OntologiesV2_exports2.OntologyObjectsV2.list(baseUrl, async ({
|
|
2245
|
+
request,
|
|
2246
|
+
params: {
|
|
2247
|
+
ontologyApiName,
|
|
2248
|
+
objectType
|
|
2249
|
+
}
|
|
2250
|
+
}) => {
|
|
2251
|
+
const loadObjects = pageThroughResponseSearchParams(fauxFoundry.getDataStore(ontologyApiName).getObjectsOfType(objectType), getPaginationParamsFromUrl(request), true);
|
|
2252
|
+
if (loadObjects) {
|
|
2253
|
+
return subSelectProperties(loadObjects, new URL(request.url));
|
|
2254
|
+
}
|
|
2255
|
+
throw new OpenApiCallError(400, InvalidRequest("Invalid Request"));
|
|
2256
|
+
}),
|
|
2257
|
+
/**
|
|
2258
|
+
* List Linked Objects
|
|
2259
|
+
*/
|
|
2260
|
+
OntologiesV2_exports2.LinkedObjectsV2.listLinkedObjects(baseUrl, async ({
|
|
2261
|
+
request,
|
|
2262
|
+
params: {
|
|
2263
|
+
primaryKey,
|
|
2264
|
+
linkType,
|
|
2265
|
+
objectType,
|
|
2266
|
+
ontologyApiName
|
|
2267
|
+
}
|
|
2268
|
+
}) => {
|
|
2269
|
+
const linkResults = fauxFoundry.getDataStore(ontologyApiName).getLinksOrThrow(objectType, primaryKey, linkType);
|
|
2270
|
+
const objects = pageThroughResponseSearchParams(linkResults, getPaginationParamsFromUrl(request), true);
|
|
2271
|
+
if (objects) {
|
|
2272
|
+
return subSelectProperties(objects, new URL(request.url));
|
|
2273
|
+
}
|
|
2274
|
+
throw new OpenApiCallError(400, InvalidRequest("Invalid Request"));
|
|
2275
|
+
}),
|
|
2276
|
+
/**
|
|
2277
|
+
* Get specific Linked Object
|
|
2278
|
+
*/
|
|
2279
|
+
OntologiesV2_exports2.LinkedObjectsV2.getLinkedObject(baseUrl, async ({
|
|
2280
|
+
request,
|
|
2281
|
+
params: {
|
|
2282
|
+
ontologyApiName,
|
|
2283
|
+
objectType,
|
|
2284
|
+
primaryKey,
|
|
2285
|
+
linkType,
|
|
2286
|
+
targetPrimaryKey
|
|
2287
|
+
}
|
|
2288
|
+
}) => {
|
|
2289
|
+
const object = fauxFoundry.getDataStore(ontologyApiName).getLinkOrThrow(objectType, primaryKey, linkType, targetPrimaryKey);
|
|
2290
|
+
return subSelectPropertiesUrl(object, new URL(request.url));
|
|
2291
|
+
})
|
|
2292
|
+
];
|
|
2293
|
+
|
|
2294
|
+
// src/handlers/createMediaRefHandlers.ts
|
|
2295
|
+
var createMediaRefHandlers = (baseUrl, fauxFoundry) => [
|
|
2296
|
+
/**
|
|
2297
|
+
* Load media metadata
|
|
2298
|
+
*/
|
|
2299
|
+
OntologiesV2_exports2.MediaReferenceProperties.getMediaMetadata(baseUrl, async ({
|
|
2300
|
+
params: {
|
|
2301
|
+
ontologyApiName,
|
|
2302
|
+
objectType,
|
|
2303
|
+
primaryKey,
|
|
2304
|
+
propertyName
|
|
2305
|
+
}
|
|
2306
|
+
}) => {
|
|
2307
|
+
return fauxFoundry.getDataStore(ontologyApiName).getMediaOrThrow(objectType, primaryKey, propertyName).metaData;
|
|
2308
|
+
}),
|
|
2309
|
+
/**
|
|
2310
|
+
* Read media content
|
|
2311
|
+
*/
|
|
2312
|
+
OntologiesV2_exports2.MediaReferenceProperties.getMediaContent(baseUrl, async ({
|
|
2313
|
+
params: {
|
|
2314
|
+
ontologyApiName,
|
|
2315
|
+
objectType,
|
|
2316
|
+
primaryKey,
|
|
2317
|
+
propertyName
|
|
2318
|
+
}
|
|
2319
|
+
}) => {
|
|
2320
|
+
const {
|
|
2321
|
+
content,
|
|
2322
|
+
metaData: {
|
|
2323
|
+
mediaType
|
|
2324
|
+
}
|
|
2325
|
+
} = fauxFoundry.getDataStore(ontologyApiName).getMediaOrThrow(objectType, primaryKey, propertyName);
|
|
2326
|
+
return new Response(content, {
|
|
2327
|
+
headers: {
|
|
2328
|
+
"Content-Type": mediaType
|
|
2329
|
+
}
|
|
2330
|
+
});
|
|
2331
|
+
}),
|
|
2332
|
+
OntologiesV2_exports2.MediaReferenceProperties.upload(baseUrl, async ({
|
|
2333
|
+
params: {
|
|
2334
|
+
ontologyApiName,
|
|
2335
|
+
objectType,
|
|
2336
|
+
propertyName
|
|
2337
|
+
},
|
|
2338
|
+
request
|
|
2339
|
+
}) => {
|
|
2340
|
+
const {
|
|
2341
|
+
mediaItemPath
|
|
2342
|
+
} = requireSearchParams(["mediaItemPath"], request);
|
|
2343
|
+
return fauxFoundry.getDataStore(ontologyApiName).registerMedia(objectType, propertyName, await request.arrayBuffer(), request.headers.get("Content-Type") ?? "application/octet-stream", mediaItemPath);
|
|
2344
|
+
})
|
|
2345
|
+
];
|
|
2346
|
+
var createMultipassServerHandlers = (baseUrl, fauxFoundry) => [msw.http.post(`${baseUrl}/multipass/api/oauth2/token`, async (req) => {
|
|
2347
|
+
const body = await req.request.text();
|
|
2348
|
+
const parsedBody = new URLSearchParams(body);
|
|
2349
|
+
const parsedBodyArray = Array.from(parsedBody.entries());
|
|
2350
|
+
if (parsedBody.get("grant_type") === "client_credentials" && parsedBody.get("client_id") === "myClientId" && parsedBody.get("client_secret") === "myClientSecret" && parsedBody.get("scopes")?.includes("offline_access") && parsedBodyArray.length === 4) {
|
|
2351
|
+
return msw.HttpResponse.json({
|
|
2352
|
+
access_token: "myAccessToken",
|
|
2353
|
+
token_type: "bearer",
|
|
2354
|
+
refresh_token: "myRefreshToken",
|
|
2355
|
+
expires_in: 3600
|
|
2356
|
+
});
|
|
2357
|
+
}
|
|
2358
|
+
if (parsedBody.get("client_id") === "myClientId" && parsedBody.get("grant_type") === "authorization_code" && parsedBody.get("code") === "callBackCode" && parsedBody.get("redirect_uri") === "localhost" && parsedBody.get("code_verifier") === "01020304" && parsedBodyArray.length === 5) {
|
|
2359
|
+
return msw.HttpResponse.json({
|
|
2360
|
+
access_token: "myAccessToken",
|
|
2361
|
+
token_type: "bearer",
|
|
2362
|
+
refresh_token: "myRefreshToken",
|
|
2363
|
+
expires_in: 3600
|
|
2364
|
+
});
|
|
2365
|
+
}
|
|
2366
|
+
if (parsedBody.get("client_id") === "myClientId" && parsedBody.get("grant_type") === "refresh_token" && parsedBody.get("refresh_token") === "myRefreshToken" && parsedBodyArray.length === 3) {
|
|
2367
|
+
return msw.HttpResponse.json({
|
|
2368
|
+
access_token: "refreshedAccessToken",
|
|
2369
|
+
token_type: "bearer",
|
|
2370
|
+
refresh_token: "refreshedRefreshToken",
|
|
2371
|
+
expires_in: 3600
|
|
2372
|
+
});
|
|
2373
|
+
}
|
|
2374
|
+
return msw.HttpResponse.json({
|
|
2375
|
+
message: "Invalid request body"
|
|
2376
|
+
}, {
|
|
2377
|
+
status: 400
|
|
2378
|
+
});
|
|
2379
|
+
}), msw.http.post("https://stack.palantir.com/multipass/api/oauth2/revoke_token", async (req) => {
|
|
2380
|
+
const body = await req.request.text();
|
|
2381
|
+
const parsedBody = new URLSearchParams(body);
|
|
2382
|
+
const parsedBodyArray = Array.from(parsedBody.entries());
|
|
2383
|
+
if (parsedBodyArray.length === 3 && parsedBody.get("client_id") === "myClientId" && parsedBody.get("client_secret") === "myClientSecret" && parsedBody.get("token") === "myAccessToken") {
|
|
2384
|
+
return msw.HttpResponse.json({});
|
|
2385
|
+
}
|
|
2386
|
+
if (parsedBodyArray.length === 2 && parsedBody.get("client_id") === "myClientId" && parsedBody.get("token") === "myAccessToken") {
|
|
2387
|
+
return msw.HttpResponse.json({});
|
|
2388
|
+
}
|
|
2389
|
+
return msw.HttpResponse.json({
|
|
2390
|
+
message: "Invalid request body"
|
|
2391
|
+
}, {
|
|
2392
|
+
status: 400
|
|
2393
|
+
});
|
|
2394
|
+
})];
|
|
2395
|
+
|
|
2396
|
+
// src/handlers/createObjectSetHandlers.ts
|
|
2397
|
+
var createObjectSetHandlers = (baseUrl, fauxFoundry) => [
|
|
2398
|
+
/**
|
|
2399
|
+
* Load ObjectSet Objects
|
|
2400
|
+
*/
|
|
2401
|
+
OntologiesV2_exports2.OntologyObjectSets.load(baseUrl, async ({
|
|
2402
|
+
request,
|
|
2403
|
+
params
|
|
2404
|
+
}) => {
|
|
2405
|
+
return fauxFoundry.getDataStore(params.ontologyApiName).getObjectsFromObjectSet(await request.json());
|
|
2406
|
+
}),
|
|
2407
|
+
/**
|
|
2408
|
+
* Aggregate Objects in ObjectSet
|
|
2409
|
+
*/
|
|
2410
|
+
OntologiesV2_exports2.OntologyObjectSets.aggregate(baseUrl, async ({
|
|
2411
|
+
request
|
|
2412
|
+
}) => {
|
|
2413
|
+
throw new Error("Not implemented");
|
|
2414
|
+
}),
|
|
2415
|
+
/**
|
|
2416
|
+
* Load interface objectset Objects
|
|
2417
|
+
*/
|
|
2418
|
+
OntologiesV2_exports2.OntologyObjectSets.loadMultipleObjectTypes(baseUrl, async ({
|
|
2419
|
+
params,
|
|
2420
|
+
request
|
|
2421
|
+
}) => {
|
|
2422
|
+
const pagedResponse = fauxFoundry.getDataStore(params.ontologyApiName).getObjectsFromObjectSet(await request.json());
|
|
2423
|
+
const objectApiNames = new Set(pagedResponse.data.map((o) => o.__apiName));
|
|
2424
|
+
return {
|
|
2425
|
+
interfaceToObjectTypeMappings: fauxFoundry.getOntology(params.ontologyApiName).getInterfaceToObjectTypeMappings(objectApiNames),
|
|
2426
|
+
...pagedResponse
|
|
2427
|
+
};
|
|
2428
|
+
})
|
|
2429
|
+
];
|
|
2430
|
+
|
|
2431
|
+
// src/defaultOntologyMetadata.ts
|
|
2432
|
+
var defaultOntologyMetadata = {
|
|
2433
|
+
apiName: "default-ontology",
|
|
2434
|
+
displayName: "Ontology",
|
|
2435
|
+
description: "The default ontology",
|
|
2436
|
+
rid: "ri.ontology.main.ontology.698267cc-6b48-4d98-beff-29beb24e9361"
|
|
2437
|
+
};
|
|
2438
|
+
|
|
2439
|
+
// src/defaultOntologyForConjure.ts
|
|
2440
|
+
var defaultOntologyForConjure = {
|
|
2441
|
+
apiName: defaultOntologyMetadata.apiName,
|
|
2442
|
+
displayName: defaultOntologyMetadata.displayName,
|
|
2443
|
+
description: defaultOntologyMetadata.description,
|
|
2444
|
+
currentOntologyVersion: "0000000c-aaaa-bbbb-cccc-ddddeeeeffff",
|
|
2445
|
+
defaultBranchRid: "ri.ontology.main.branch.99999999-8888-7777-6666-555555555555"
|
|
2446
|
+
};
|
|
2447
|
+
|
|
2448
|
+
// src/handlers/createOntologyHandlers.ts
|
|
2449
|
+
var createOntologyHandlers = (baseUrl, fauxFoundry) => [
|
|
2450
|
+
/**
|
|
2451
|
+
* Load full Ontology metadata
|
|
2452
|
+
*/
|
|
2453
|
+
OntologiesV2_exports2.OntologiesV2.getFullMetadata(baseUrl, async (req) => {
|
|
2454
|
+
return fauxFoundry.getOntology(req.params.ontologyApiName).getOntologyFullMetadata();
|
|
2455
|
+
}),
|
|
2456
|
+
/**
|
|
2457
|
+
* Load ontology metadata for the requested object, link, action, query, and interface types.
|
|
2458
|
+
*/
|
|
2459
|
+
OntologiesV2_exports2.OntologiesV2.loadMetadata(baseUrl, async ({
|
|
2460
|
+
params,
|
|
2461
|
+
request
|
|
2462
|
+
}) => {
|
|
2463
|
+
return fauxFoundry.getOntology(params.ontologyApiName).getFilteredOntologyMetadata(await request.json());
|
|
2464
|
+
}),
|
|
2465
|
+
OntologiesV2_exports2.ObjectTypesV2.get(baseUrl, async (req) => {
|
|
2466
|
+
return fauxFoundry.getOntology(req.params.ontologyApiName).getObjectTypeFullMetadataOrThrow(req.params.objectTypeApiName).objectType;
|
|
2467
|
+
}),
|
|
2468
|
+
OntologiesV2_exports2.ObjectTypesV2.getFullMetadata(baseUrl, async (req) => {
|
|
2469
|
+
return fauxFoundry.getOntology(req.params.ontologyApiName).getObjectTypeFullMetadataOrThrow(req.params.objectTypeApiName);
|
|
2470
|
+
}),
|
|
2471
|
+
/**
|
|
2472
|
+
* List ActionTypes
|
|
2473
|
+
*/
|
|
2474
|
+
OntologiesV2_exports2.ActionTypesV2.list(baseUrl, async ({
|
|
2475
|
+
params
|
|
2476
|
+
}) => {
|
|
2477
|
+
return {
|
|
2478
|
+
data: fauxFoundry.getOntology(params.ontologyApiName).getAllActionTypes()
|
|
2479
|
+
};
|
|
2480
|
+
}),
|
|
2481
|
+
OntologiesV2_exports2.ActionTypesV2.get(baseUrl, async (req) => {
|
|
2482
|
+
return fauxFoundry.getOntology(req.params.ontologyApiName).getActionDef(req.params.actionTypeApiName);
|
|
2483
|
+
}),
|
|
2484
|
+
OntologiesV2_exports2.QueryTypes.get(baseUrl, async (req) => {
|
|
2485
|
+
const queryParams = Object.fromEntries(new URL(req.request.url).searchParams.entries());
|
|
2486
|
+
const version = queryParams["version"];
|
|
2487
|
+
return fauxFoundry.getOntology(req.params.ontologyApiName).getQueryDef(version ? `${req.params.queryTypeApiName}:${version}` : req.params.queryTypeApiName);
|
|
2488
|
+
}),
|
|
2489
|
+
OntologiesV2_exports2.ObjectTypesV2.getOutgoingLinkType(baseUrl, async ({
|
|
2490
|
+
params
|
|
2491
|
+
}) => {
|
|
2492
|
+
return fauxFoundry.getOntology(params.ontology).getLinkTypeSideV2(params.objectType, params.linkType);
|
|
2493
|
+
}),
|
|
2494
|
+
OntologiesV2_exports2.ObjectTypesV2.listOutgoingLinkTypes(baseUrl, async ({
|
|
2495
|
+
params
|
|
2496
|
+
}) => {
|
|
2497
|
+
return {
|
|
2498
|
+
data: fauxFoundry.getOntology(params.ontology).getObjectTypeFullMetadataOrThrow(params.objectType).linkTypes
|
|
2499
|
+
};
|
|
2500
|
+
}),
|
|
2501
|
+
OntologiesV2_exports2.OntologyInterfaces.list(baseUrl, async (req) => {
|
|
2502
|
+
return {
|
|
2503
|
+
data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllInterfaceTypes()
|
|
2504
|
+
};
|
|
2505
|
+
}),
|
|
2506
|
+
OntologiesV2_exports2.OntologyInterfaces.get(baseUrl, ({
|
|
2507
|
+
params
|
|
2508
|
+
}) => {
|
|
2509
|
+
return fauxFoundry.getOntology(params.ontologyApiName).getInterfaceType(params.interfaceType);
|
|
2510
|
+
}),
|
|
2511
|
+
/**
|
|
2512
|
+
* List ontologies
|
|
2513
|
+
*/
|
|
2514
|
+
OntologiesV2_exports2.OntologiesV2.list(baseUrl, async () => {
|
|
2515
|
+
return {
|
|
2516
|
+
data: fauxFoundry.getEveryOntology().map((x) => x.getOntologyFullMetadata().ontology)
|
|
2517
|
+
};
|
|
2518
|
+
}),
|
|
2519
|
+
/**
|
|
2520
|
+
* Get specified Ontology
|
|
2521
|
+
*/
|
|
2522
|
+
OntologiesV2_exports2.OntologiesV2.get(baseUrl, async (req) => {
|
|
2523
|
+
return fauxFoundry.getOntology(req.params.ontologyRid).getOntologyFullMetadata().ontology;
|
|
2524
|
+
}),
|
|
2525
|
+
/**
|
|
2526
|
+
* List objectTypes V2
|
|
2527
|
+
*/
|
|
2528
|
+
OntologiesV2_exports2.ObjectTypesV2.list(baseUrl, async (req) => {
|
|
2529
|
+
return {
|
|
2530
|
+
data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllObjectTypes().map((x) => x.objectType)
|
|
2531
|
+
};
|
|
2532
|
+
}),
|
|
2533
|
+
/**
|
|
2534
|
+
* List Queries
|
|
2535
|
+
*/
|
|
2536
|
+
OntologiesV2_exports2.QueryTypes.list(baseUrl, async (req) => {
|
|
2537
|
+
return {
|
|
2538
|
+
data: fauxFoundry.getOntology(req.params.ontologyApiName).getAllQueryTypes()
|
|
2539
|
+
};
|
|
2540
|
+
})
|
|
2541
|
+
];
|
|
2542
|
+
[msw.http.post(`https://stack.palantir.com/ontology-metadata/api/ontology/ontology/ontologies/load/all`, authHandlerMiddleware(async () => {
|
|
2543
|
+
return msw.HttpResponse.json({
|
|
2544
|
+
ontologies: {
|
|
2545
|
+
"ri.ontology.main.ontology.f34bca54-eb0f-41ad-84f0-d562d9f2763a": {
|
|
2546
|
+
apiName: "ontology-migration-source",
|
|
2547
|
+
displayName: "Ontology Migration Test Source",
|
|
2548
|
+
description: "",
|
|
2549
|
+
currentOntologyVersion: "0000000c-040d-f49d-b7e8-79fa53caacf5",
|
|
2550
|
+
defaultBranchRid: "ri.ontology.main.branch.122438ac-a6b7-46e9-825f-6c911ffff857"
|
|
2551
|
+
},
|
|
2552
|
+
[defaultOntologyMetadata.rid]: defaultOntologyForConjure
|
|
2553
|
+
}
|
|
2554
|
+
});
|
|
2555
|
+
}))];
|
|
2556
|
+
var createQueryHandlers = (baseUrl, fauxFoundry) => [
|
|
2557
|
+
/**
|
|
2558
|
+
* Execute Queries
|
|
2559
|
+
*/
|
|
2560
|
+
OntologiesV2_exports2.Queries.execute(baseUrl, async ({
|
|
2561
|
+
request,
|
|
2562
|
+
params: {
|
|
2563
|
+
ontologyApiName,
|
|
2564
|
+
queryApiName
|
|
2565
|
+
}
|
|
2566
|
+
}) => {
|
|
2567
|
+
const queryParams = Object.fromEntries(new URL(request.url).searchParams.entries());
|
|
2568
|
+
const version = queryParams["version"];
|
|
2569
|
+
if (!semver.valid(version)) {
|
|
2570
|
+
throw new Error(`Invalid version "${version}" for query "${queryApiName}" in ontology "${ontologyApiName}: not semver compatible".`);
|
|
2571
|
+
}
|
|
2572
|
+
const queryImpl = fauxFoundry.getOntology(ontologyApiName).getQueryImpl(queryApiName, version);
|
|
2573
|
+
return queryImpl(await request.json(), fauxFoundry.getDataStore(ontologyApiName));
|
|
2574
|
+
})
|
|
2575
|
+
];
|
|
2576
|
+
|
|
2577
|
+
// src/handlers/createTimeseriesAndGeotimeHandlers.ts
|
|
2578
|
+
var createTimeseriesAndGeotimeHandlers = (baseUrl, fauxFoundry) => [
|
|
2579
|
+
/**
|
|
2580
|
+
* Load firstPoint
|
|
2581
|
+
*/
|
|
2582
|
+
OntologiesV2_exports2.TimeSeriesPropertiesV2.getFirstPoint(baseUrl, async ({
|
|
2583
|
+
params: {
|
|
2584
|
+
objectType,
|
|
2585
|
+
ontologyApiName,
|
|
2586
|
+
primaryKey,
|
|
2587
|
+
propertyName
|
|
2588
|
+
}
|
|
2589
|
+
}) => {
|
|
2590
|
+
return fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(0);
|
|
2591
|
+
}),
|
|
2592
|
+
/**
|
|
2593
|
+
* Load lastPoint
|
|
2594
|
+
*/
|
|
2595
|
+
OntologiesV2_exports2.TimeSeriesPropertiesV2.getLastPoint(baseUrl, async ({
|
|
2596
|
+
params: {
|
|
2597
|
+
objectType,
|
|
2598
|
+
ontologyApiName,
|
|
2599
|
+
primaryKey,
|
|
2600
|
+
propertyName
|
|
2601
|
+
}
|
|
2602
|
+
}) => {
|
|
2603
|
+
return fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(-1);
|
|
2604
|
+
}),
|
|
2605
|
+
/**
|
|
2606
|
+
* stream points
|
|
2607
|
+
*/
|
|
2608
|
+
OntologiesV2_exports2.TimeSeriesPropertiesV2.streamPoints(baseUrl, async ({
|
|
2609
|
+
request,
|
|
2610
|
+
params: {
|
|
2611
|
+
objectType,
|
|
2612
|
+
ontologyApiName,
|
|
2613
|
+
primaryKey,
|
|
2614
|
+
propertyName
|
|
2615
|
+
}
|
|
2616
|
+
}) => {
|
|
2617
|
+
return Response.json(fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName, await request.json()));
|
|
2618
|
+
}),
|
|
2619
|
+
/**
|
|
2620
|
+
* Load latestValue
|
|
2621
|
+
*/
|
|
2622
|
+
OntologiesV2_exports2.TimeSeriesValueBankProperties.getLatestValue(baseUrl, async ({
|
|
2623
|
+
params: {
|
|
2624
|
+
objectType,
|
|
2625
|
+
ontologyApiName,
|
|
2626
|
+
primaryKey,
|
|
2627
|
+
propertyName
|
|
2628
|
+
}
|
|
2629
|
+
}) => {
|
|
2630
|
+
const ret = fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName).at(-1);
|
|
2631
|
+
if (!ret) {
|
|
2632
|
+
throw new OpenApiCallError(400, InvalidRequest("Invalid request"));
|
|
2633
|
+
}
|
|
2634
|
+
return ret;
|
|
2635
|
+
}),
|
|
2636
|
+
/**
|
|
2637
|
+
* stream values
|
|
2638
|
+
*/
|
|
2639
|
+
OntologiesV2_exports2.TimeSeriesValueBankProperties.streamValues(baseUrl, async ({
|
|
2640
|
+
request,
|
|
2641
|
+
params: {
|
|
2642
|
+
objectType,
|
|
2643
|
+
ontologyApiName,
|
|
2644
|
+
primaryKey,
|
|
2645
|
+
propertyName
|
|
2646
|
+
}
|
|
2647
|
+
}) => {
|
|
2648
|
+
return Response.json(fauxFoundry.getDataStore(ontologyApiName).getTimeSeriesData(objectType, primaryKey, propertyName, await request.json()));
|
|
2649
|
+
})
|
|
2650
|
+
];
|
|
2651
|
+
|
|
2652
|
+
// src/handlers/createFauxFoundryHandlers.ts
|
|
2653
|
+
function createFauxFoundryHandlers(baseUrl, fauxFoundry) {
|
|
2654
|
+
return [createMultipassServerHandlers, createActionHandlers, createObjectSetHandlers, createOntologyHandlers, createQueryHandlers, createLoadObjectsHandlers, createTimeseriesAndGeotimeHandlers, createAttachmentHandlers, createMediaRefHandlers].flatMap((x) => x(baseUrl, fauxFoundry));
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2657
|
+
// src/FauxFoundry/FauxAttachmentStore.ts
|
|
2658
|
+
var FauxAttachmentStore = class {
|
|
2659
|
+
#attachments = /* @__PURE__ */ new Map();
|
|
2660
|
+
registerAttachment(attachment) {
|
|
2661
|
+
this.#attachments.set(attachment.rid, attachment);
|
|
2662
|
+
return this.getAttachmentMetadataByRid(attachment.rid);
|
|
2663
|
+
}
|
|
2664
|
+
getAttachmentMetadataByRid(attachmentRid) {
|
|
2665
|
+
const attachment = this.#attachments.get(attachmentRid);
|
|
2666
|
+
if (!attachment) {
|
|
2667
|
+
throw new OpenApiCallError(404, {
|
|
2668
|
+
errorCode: "NOT_FOUND",
|
|
2669
|
+
errorName: "AttachmentNotFound",
|
|
2670
|
+
errorInstanceId: "internal",
|
|
2671
|
+
parameters: {
|
|
2672
|
+
attachmentRid
|
|
2673
|
+
}
|
|
2674
|
+
});
|
|
2675
|
+
}
|
|
2676
|
+
const {
|
|
2677
|
+
buffer,
|
|
2678
|
+
...metadata
|
|
2679
|
+
} = attachment;
|
|
2680
|
+
return {
|
|
2681
|
+
...metadata,
|
|
2682
|
+
sizeBytes: String(buffer.byteLength)
|
|
2683
|
+
};
|
|
2684
|
+
}
|
|
2685
|
+
getAttachmentBuffer(attachmentRid) {
|
|
2686
|
+
const attachment = this.#attachments.get(attachmentRid);
|
|
2687
|
+
if (!attachment) {
|
|
2688
|
+
throw new OpenApiCallError(404, {
|
|
2689
|
+
errorCode: "NOT_FOUND",
|
|
2690
|
+
errorName: "AttachmentNotFound",
|
|
2691
|
+
errorInstanceId: "internal",
|
|
2692
|
+
parameters: {
|
|
2693
|
+
attachmentRid
|
|
2694
|
+
}
|
|
2695
|
+
});
|
|
2696
|
+
}
|
|
2697
|
+
return attachment.buffer;
|
|
2698
|
+
}
|
|
2699
|
+
};
|
|
2700
|
+
var FauxOntology = class {
|
|
2701
|
+
#ontology;
|
|
2702
|
+
#actionImpl = /* @__PURE__ */ new Map();
|
|
2703
|
+
#queryImpl = /* @__PURE__ */ new Map();
|
|
2704
|
+
constructor(ontology) {
|
|
2705
|
+
this.#ontology = {
|
|
2706
|
+
actionTypes: {},
|
|
2707
|
+
interfaceTypes: {},
|
|
2708
|
+
objectTypes: {},
|
|
2709
|
+
ontology,
|
|
2710
|
+
queryTypes: {},
|
|
2711
|
+
sharedPropertyTypes: {}
|
|
2712
|
+
};
|
|
2713
|
+
}
|
|
2714
|
+
get apiName() {
|
|
2715
|
+
return this.#ontology.ontology.apiName;
|
|
2716
|
+
}
|
|
2717
|
+
getOntologyFullMetadata() {
|
|
2718
|
+
return this.#ontology;
|
|
2719
|
+
}
|
|
2720
|
+
getFilteredOntologyMetadata(request) {
|
|
2721
|
+
return {
|
|
2722
|
+
ontology: this.#ontology.ontology,
|
|
2723
|
+
objectTypes: Object.fromEntries(Object.entries(this.#ontology.objectTypes).filter(([objectType]) => request.objectTypes.includes(objectType)).map(([objectTypeApiName, objectTypeDefinition]) => [objectTypeApiName, {
|
|
2724
|
+
...objectTypeDefinition,
|
|
2725
|
+
linkTypes: objectTypeDefinition.linkTypes.filter((linkType) => request.linkTypes.includes(linkType.apiName))
|
|
2726
|
+
}])),
|
|
2727
|
+
actionTypes: filterRecord(this.#ontology.actionTypes, request.actionTypes),
|
|
2728
|
+
queryTypes: this.#getFilteredQueryTypes(request),
|
|
2729
|
+
interfaceTypes: filterRecord(this.#ontology.interfaceTypes, request.interfaceTypes),
|
|
2730
|
+
sharedPropertyTypes: {}
|
|
2731
|
+
};
|
|
2732
|
+
}
|
|
2733
|
+
getAllInterfaceTypes() {
|
|
2734
|
+
return Object.values(this.#ontology.interfaceTypes);
|
|
2735
|
+
}
|
|
2736
|
+
getAllObjectTypes() {
|
|
2737
|
+
return Object.values(this.#ontology.objectTypes);
|
|
2738
|
+
}
|
|
2739
|
+
getAllActionTypes() {
|
|
2740
|
+
return Object.values(this.#ontology.actionTypes);
|
|
2741
|
+
}
|
|
2742
|
+
getAllQueryTypes() {
|
|
2743
|
+
return Object.values(this.#ontology.queryTypes);
|
|
2744
|
+
}
|
|
2745
|
+
getInterfaceType(interfaceType) {
|
|
2746
|
+
const ret = this.#ontology.interfaceTypes[interfaceType];
|
|
2747
|
+
if (ret === void 0) {
|
|
2748
|
+
throw new OpenApiCallError(404, ObjectNotFoundError(interfaceType, ""));
|
|
2749
|
+
}
|
|
2750
|
+
return this.#ontology.interfaceTypes[interfaceType];
|
|
2751
|
+
}
|
|
2752
|
+
getObjectTypeFullMetadata(objectTypeApiName) {
|
|
2753
|
+
return this.#ontology.objectTypes[objectTypeApiName];
|
|
2754
|
+
}
|
|
2755
|
+
getObjectTypeFullMetadataOrThrow(objectTypeApiName) {
|
|
2756
|
+
const objectType = this.#ontology.objectTypes[objectTypeApiName];
|
|
2757
|
+
if (objectType === void 0) {
|
|
2758
|
+
throw new OpenApiCallError(404, ObjectTypeDoesNotExistError(objectTypeApiName));
|
|
2759
|
+
}
|
|
2760
|
+
return objectType;
|
|
2761
|
+
}
|
|
2762
|
+
getActionDef(actionTypeApiName) {
|
|
2763
|
+
const actionType = this.#ontology.actionTypes[actionTypeApiName];
|
|
2764
|
+
if (actionType === void 0) {
|
|
2765
|
+
throw new OpenApiCallError(404, ActionNotFoundError());
|
|
2766
|
+
}
|
|
2767
|
+
return actionType;
|
|
2768
|
+
}
|
|
2769
|
+
getActionImpl(actionTypeApiName) {
|
|
2770
|
+
const impl = this.#actionImpl.get(actionTypeApiName);
|
|
2771
|
+
!impl ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Action implementation not found for " + actionTypeApiName) : invariant4__default.default(false) : void 0;
|
|
2772
|
+
return impl;
|
|
2773
|
+
}
|
|
2774
|
+
getQueryDef(queryTypeApiNameAndVersion) {
|
|
2775
|
+
const queryType = this.#ontology.queryTypes[this.#convertToVersionedApiName(queryTypeApiNameAndVersion)];
|
|
2776
|
+
if (queryType === void 0) {
|
|
2777
|
+
throw new OpenApiCallError(404, QueryNotFoundError(queryTypeApiNameAndVersion));
|
|
2778
|
+
}
|
|
2779
|
+
return queryType;
|
|
2780
|
+
}
|
|
2781
|
+
getQueryImpl(queryTypeApiName, version) {
|
|
2782
|
+
const versionMap = this.#queryImpl.get(queryTypeApiName);
|
|
2783
|
+
const impl = version !== void 0 ? versionMap?.get(version) : versionMap?.get(semver__default.default.rsort(Array.from(versionMap.keys() ?? []))[0]);
|
|
2784
|
+
if (!impl) {
|
|
2785
|
+
throw new OpenApiCallError(404, QueryNotFoundError(queryTypeApiName));
|
|
2786
|
+
}
|
|
2787
|
+
!impl ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Query implementation not found for " + queryTypeApiName) : invariant4__default.default(false) : void 0;
|
|
2788
|
+
return impl;
|
|
2789
|
+
}
|
|
2790
|
+
getInterfaceToObjectTypeMappings(objectApiNames) {
|
|
2791
|
+
const objectDefs = Array.from(objectApiNames).map((apiName) => this.getObjectTypeFullMetadataOrThrow(apiName));
|
|
2792
|
+
const ifaceToObjMap = {};
|
|
2793
|
+
for (const objDef of objectDefs) {
|
|
2794
|
+
for (const [ifaceApiName, {
|
|
2795
|
+
properties
|
|
2796
|
+
}] of Object.entries(objDef.implementsInterfaces2)) {
|
|
2797
|
+
if (ifaceToObjMap[ifaceApiName] === void 0) {
|
|
2798
|
+
ifaceToObjMap[ifaceApiName] = {};
|
|
2799
|
+
}
|
|
2800
|
+
ifaceToObjMap[ifaceApiName][objDef.objectType.apiName] = properties;
|
|
2801
|
+
}
|
|
2802
|
+
}
|
|
2803
|
+
return ifaceToObjMap;
|
|
2804
|
+
}
|
|
2805
|
+
getLinkTypeSideV2(objectTypeApiName, linkTypeName) {
|
|
2806
|
+
const objectType = this.getObjectTypeFullMetadataOrThrow(objectTypeApiName);
|
|
2807
|
+
const linkType = objectType.linkTypes.find((a) => a.apiName === linkTypeName);
|
|
2808
|
+
if (linkType === void 0) {
|
|
2809
|
+
throw new OpenApiCallError(404, LinkTypeNotFound(objectTypeApiName, linkTypeName));
|
|
2810
|
+
}
|
|
2811
|
+
return linkType;
|
|
2812
|
+
}
|
|
2813
|
+
getOtherLinkTypeSideV2OrThrow(objectTypeApiName, linkTypeName) {
|
|
2814
|
+
const thisSideLink = this.getLinkTypeSideV2(objectTypeApiName, linkTypeName);
|
|
2815
|
+
const otherObj = this.getObjectTypeFullMetadataOrThrow(thisSideLink.objectTypeApiName);
|
|
2816
|
+
const candidates = otherObj.linkTypes.filter((l) => l.linkTypeRid === thisSideLink.linkTypeRid);
|
|
2817
|
+
if (otherObj.objectType.apiName !== objectTypeApiName) {
|
|
2818
|
+
!(candidates.length === 1) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected only one candidate link type") : invariant4__default.default(false) : void 0;
|
|
2819
|
+
return candidates[0];
|
|
2820
|
+
}
|
|
2821
|
+
if (candidates.length === 1) {
|
|
2822
|
+
return candidates[0];
|
|
2823
|
+
}
|
|
2824
|
+
!(candidates.length === 2) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected only two candidate link types") : invariant4__default.default(false) : void 0;
|
|
2825
|
+
const candidate = candidates.find((l) => l.apiName !== thisSideLink.apiName);
|
|
2826
|
+
!candidate ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false, "Expected to find a candidate link type that is not the same as the one passed in") : invariant4__default.default(false) : void 0;
|
|
2827
|
+
return candidate;
|
|
2828
|
+
}
|
|
2829
|
+
getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType) {
|
|
2830
|
+
const leftTypeSideV2 = this.getLinkTypeSideV2(leftObjectType, leftLinkName);
|
|
2831
|
+
!(rightObjectType === leftTypeSideV2.objectTypeApiName) ? process.env.NODE_ENV !== "production" ? invariant4__default.default(false) : invariant4__default.default(false) : void 0;
|
|
2832
|
+
const rightTypeSideV2 = this.getOtherLinkTypeSideV2OrThrow(leftObjectType, leftLinkName);
|
|
2833
|
+
return [leftTypeSideV2, rightTypeSideV2];
|
|
2834
|
+
}
|
|
2835
|
+
registerObjectType(def) {
|
|
2836
|
+
if (def.objectType.apiName in this.#ontology.objectTypes) {
|
|
2837
|
+
throw new Error(`ObjectType ${def.objectType.apiName} already registered`);
|
|
2838
|
+
}
|
|
2839
|
+
this.#ontology.objectTypes[def.objectType.apiName] = def;
|
|
2840
|
+
}
|
|
2841
|
+
registerActionType(def, implementation) {
|
|
2842
|
+
if (def.apiName in this.#ontology.actionTypes) {
|
|
2843
|
+
throw new Error(`ActionType ${def.apiName} already registered`);
|
|
2844
|
+
}
|
|
2845
|
+
this.#ontology.actionTypes[def.apiName] = def;
|
|
2846
|
+
if (implementation) {
|
|
2847
|
+
this.#actionImpl.set(def.apiName, implementation);
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
registerQueryType(def, implementation) {
|
|
2851
|
+
if (`${def.apiName}:${def.version}` in this.#ontology.queryTypes) {
|
|
2852
|
+
throw new Error(`QueryType ${def.apiName} already registered`);
|
|
2853
|
+
}
|
|
2854
|
+
this.#ontology.queryTypes[`${def.apiName}:${def.version}`] = def;
|
|
2855
|
+
if (implementation) {
|
|
2856
|
+
if (!this.#queryImpl.has(def.apiName)) {
|
|
2857
|
+
this.#queryImpl.set(def.apiName, /* @__PURE__ */ new Map());
|
|
2858
|
+
}
|
|
2859
|
+
if (!semver.valid(def.version)) {
|
|
2860
|
+
throw new Error(`QueryType ${def.apiName} version ${def.version} is not semver valid`);
|
|
2861
|
+
}
|
|
2862
|
+
this.#queryImpl.get(def.apiName)?.set(def.version, implementation);
|
|
2863
|
+
}
|
|
2864
|
+
}
|
|
2865
|
+
registerInterfaceType(def) {
|
|
2866
|
+
if (def.apiName in this.#ontology.interfaceTypes) {
|
|
2867
|
+
throw new Error(`InterfaceType ${def.apiName} already registered`);
|
|
2868
|
+
}
|
|
2869
|
+
this.#ontology.interfaceTypes[def.apiName] = def;
|
|
2870
|
+
}
|
|
2871
|
+
registerSharedPropertyType(def) {
|
|
2872
|
+
if (def.apiName in this.#ontology.sharedPropertyTypes) {
|
|
2873
|
+
throw new Error(`SharedPropertyType ${def.apiName} already registered`);
|
|
2874
|
+
}
|
|
2875
|
+
this.#ontology.sharedPropertyTypes[def.apiName] = def;
|
|
2876
|
+
}
|
|
2877
|
+
#getFilteredQueryTypes(request) {
|
|
2878
|
+
const remappedQueryTypes = request.queryTypes.map((x) => this.#convertToVersionedApiName(x));
|
|
2879
|
+
return Object.fromEntries(Object.entries(this.#ontology.queryTypes).filter(([queryTypeApiName]) => remappedQueryTypes.includes(queryTypeApiName)).map(([queryTypeApiName, queryTypeDefinition]) => [request.queryTypes[remappedQueryTypes.indexOf(queryTypeApiName)], queryTypeDefinition]));
|
|
2880
|
+
}
|
|
2881
|
+
#convertToVersionedApiName(apiName) {
|
|
2882
|
+
if (extractVersion(apiName) !== void 0) {
|
|
2883
|
+
return apiName;
|
|
2884
|
+
}
|
|
2885
|
+
const version = semver__default.default.rsort(Object.keys(this.#ontology.queryTypes).filter((queryTypeApiName) => queryTypeApiName.startsWith(apiName)).map((x) => extractVersion(x)))[0];
|
|
2886
|
+
return `${apiName}:${version}`;
|
|
2887
|
+
}
|
|
2888
|
+
};
|
|
2889
|
+
function filterRecord(record, keys) {
|
|
2890
|
+
return Object.fromEntries(Object.entries(record).filter(([key]) => keys.includes(key)));
|
|
2891
|
+
}
|
|
2892
|
+
function extractVersion(apiName) {
|
|
2893
|
+
return apiName.split(":")[1];
|
|
2894
|
+
}
|
|
2895
|
+
|
|
2896
|
+
// src/FauxFoundry/FauxFoundry.ts
|
|
2897
|
+
var FauxFoundry = class {
|
|
2898
|
+
#ontologiesByRid = /* @__PURE__ */ new Map();
|
|
2899
|
+
#ontologiesByApiName = /* @__PURE__ */ new Map();
|
|
2900
|
+
#dataStoresByOntologyApiName = /* @__PURE__ */ new Map();
|
|
2901
|
+
#handlers;
|
|
2902
|
+
attachments = new FauxAttachmentStore();
|
|
2903
|
+
constructor(baseUrl, defaultOntology = {
|
|
2904
|
+
apiName: "default-ontology",
|
|
2905
|
+
displayName: "Ontology",
|
|
2906
|
+
description: "The default ontology",
|
|
2907
|
+
rid: `ri.ontology.main.ontology.${crypto__namespace.randomUUID()}`
|
|
2908
|
+
}, {
|
|
2909
|
+
logger
|
|
2910
|
+
} = {}) {
|
|
2911
|
+
this.baseUrl = baseUrl;
|
|
2912
|
+
this.#handlers = createFauxFoundryHandlers(baseUrl, this);
|
|
2913
|
+
this.createOntology(defaultOntology);
|
|
2914
|
+
this.defaultOntologyRid = defaultOntology.rid;
|
|
2915
|
+
this.logger = logger;
|
|
2916
|
+
}
|
|
2917
|
+
get handlers() {
|
|
2918
|
+
return this.#handlers;
|
|
2919
|
+
}
|
|
2920
|
+
getDefaultOntology() {
|
|
2921
|
+
return this.getOntology(this.defaultOntologyRid);
|
|
2922
|
+
}
|
|
2923
|
+
getDefaultDataStore() {
|
|
2924
|
+
return this.getDataStore(this.defaultOntologyRid);
|
|
2925
|
+
}
|
|
2926
|
+
createOntology(metadata) {
|
|
2927
|
+
const ret = new FauxOntology(metadata);
|
|
2928
|
+
this.registerOntology(ret);
|
|
2929
|
+
return ret;
|
|
2930
|
+
}
|
|
2931
|
+
registerOntology(ontology) {
|
|
2932
|
+
this.#ontologiesByApiName.set(ontology.getOntologyFullMetadata().ontology.apiName, ontology);
|
|
2933
|
+
this.#ontologiesByRid.set(ontology.getOntologyFullMetadata().ontology.rid, ontology);
|
|
2934
|
+
}
|
|
2935
|
+
getOntology(ontologyApiNameOrRid) {
|
|
2936
|
+
const ontology = this.#ontologiesByApiName.get(ontologyApiNameOrRid) ?? this.#ontologiesByRid.get(ontologyApiNameOrRid);
|
|
2937
|
+
if (!ontology) {
|
|
2938
|
+
throw new OpenApiCallError(404, OntologyNotFoundError(ontologyApiNameOrRid));
|
|
2939
|
+
}
|
|
2940
|
+
return ontology;
|
|
2941
|
+
}
|
|
2942
|
+
setDataStore(ontologyApiNameOrRid, fauxDataStore) {
|
|
2943
|
+
const ontology = this.getOntology(ontologyApiNameOrRid);
|
|
2944
|
+
this.#dataStoresByOntologyApiName.set(ontology.apiName, fauxDataStore);
|
|
2945
|
+
}
|
|
2946
|
+
getDataStore(ontologyApiNameOrRid) {
|
|
2947
|
+
const ontology = this.getOntology(ontologyApiNameOrRid);
|
|
2948
|
+
const dataStore = this.#dataStoresByOntologyApiName.get(ontology.apiName);
|
|
2949
|
+
if (!dataStore) {
|
|
2950
|
+
const ret = new FauxDataStore(ontology, this.attachments);
|
|
2951
|
+
this.setDataStore(ontologyApiNameOrRid, ret);
|
|
2952
|
+
return ret;
|
|
2953
|
+
}
|
|
2954
|
+
return dataStore;
|
|
2955
|
+
}
|
|
2956
|
+
getEveryOntology() {
|
|
2957
|
+
return Object.values(this.#ontologiesByApiName);
|
|
2958
|
+
}
|
|
2959
|
+
};
|
|
2960
|
+
|
|
2961
|
+
// src/withoutRid.ts
|
|
2962
|
+
function withoutRid(o) {
|
|
2963
|
+
const {
|
|
2964
|
+
__rid,
|
|
2965
|
+
...r
|
|
2966
|
+
} = o;
|
|
2967
|
+
return r;
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
exports.msw = msw__namespace;
|
|
2971
|
+
exports.Errors = errors_exports;
|
|
2972
|
+
exports.FauxDataStore = FauxDataStore;
|
|
2973
|
+
exports.FauxDataStoreBatch = FauxDataStoreBatch;
|
|
2974
|
+
exports.FauxFoundry = FauxFoundry;
|
|
2975
|
+
exports.FauxOntology = FauxOntology;
|
|
2976
|
+
exports.MockOntologiesV2 = OntologiesV2_exports2;
|
|
2977
|
+
exports.OpenApiCallError = OpenApiCallError;
|
|
2978
|
+
exports.TypeHelpers = typeHelpers_exports;
|
|
2979
|
+
exports.authHandlerMiddleware = authHandlerMiddleware;
|
|
2980
|
+
exports.isBaseApiError = isBaseApiError;
|
|
2981
|
+
exports.withoutRid = withoutRid;
|
|
2982
|
+
//# sourceMappingURL=index.cjs.map
|
|
2983
|
+
//# sourceMappingURL=index.cjs.map
|