@osdk/maker 0.10.0-beta.13 → 0.10.0-beta.14
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 +11 -0
- package/build/browser/api/defineObject.js +4 -0
- package/build/browser/api/defineObject.js.map +1 -1
- package/build/browser/api/defineOntology.js +38 -14
- package/build/browser/api/defineOntology.js.map +1 -1
- package/build/browser/api/overall.test.js +383 -0
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/api/types.js.map +1 -1
- package/build/browser/cli/main.js +1 -1
- package/build/cjs/index.cjs +62 -35
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +11 -1
- package/build/esm/api/defineObject.js +4 -0
- package/build/esm/api/defineObject.js.map +1 -1
- package/build/esm/api/defineOntology.js +38 -14
- package/build/esm/api/defineOntology.js.map +1 -1
- package/build/esm/api/overall.test.js +383 -0
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/api/types.js.map +1 -1
- package/build/esm/cli/main.js +1 -1
- package/build/types/api/defineObject.d.ts.map +1 -1
- package/build/types/api/defineOntology.d.ts.map +1 -1
- package/build/types/api/types.d.ts +11 -1
- package/build/types/api/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineOntology.js","names":["ontologyDefinition","namespace","defineOntology","ns","body","actionTypes","objectTypes","queryTypes","interfaceTypes","sharedPropertyTypes","valueTypes","linkTypes","importedTypes","e","console","error","ontology","convertToWireOntologyIr","valueType","convertOntologyToValueTypeIr","Object","values","map","definitions","metadata","apiName","displayMetadata","status","versions","definition","version","baseType","constraints","exampleValues","blockData","fromEntries","entries","objectType","convertObject","spt","sharedPropertyType","convertSpt","interfaceType","convertInterface","id","link","convertLink","blockPermissionInformation","propertyDatasource","properties","forEach","property","type","column","datasource","rid","concat","datasetV2","datasetRid","propertyMapping","editsConfiguration","onlyAllowPrivilegedEdits","redacted","implementations","implementsInterfaces","description","displayName","groupDisplayName","undefined","icon","blueprint","locator","color","pluralDisplayName","visibility","primaryKeys","propertyTypes","val","convertProperty","titlePropertyTypeRid","titlePropertyApiName","active","implementsInterfaces2","impl","interfaceTypeApiName","implements","mapping","interfaceProperty","propertyTypeRid","mapsTo","allImplementsInterfaces","datasources","entityMetadata","arePatchesEnabled","editsEnabled","output","sharedPropertyTypeApiName","indexedForSearch","ruleSetBinding","baseFormatter","convertType","typeClasses","inlineAction","dataConstraints","sharedPropertyTypeRid","linkType","oneToMany","cardinalityHint","manyToOneLinkMetadata","toMany","objectTypeRidManySide","object","objectTypeRidOneSide","one","oneToManyLinkMetadata","oneSidePrimaryKeyToManySidePropertyMapping","from","to","manyForeignKeyProperty","manyToMany","objectTypeAToBLinkMetadata","many","objectTypeBToALinkMetadata","objectTypeRidA","objectTypeRidB","peeringMetadata","objectTypeAPrimaryKeyPropertyMapping","objectTypeBPrimaryKeyPropertyMapping","dataset","writebackDatasetRid","objectTypeAPrimaryKeyMapping","objectTypeBPrimaryKeyMapping","propertiesV2","required","allExtendsInterfaces","allLinks","allProperties","allPropertiesV2","dumpOntologyFullMetadata","dumpValueTypeWireType","array","gothamMapping","dataConstraint","propertyTypeConstraints","nullability","nullabilityV2","noEmptyCollections","noNulls","subtype","aliases","provenance","marking","markingType","structFields","Array","key","structDefinition","fieldTypeDefinition","field","fieldType","push","struct","geohash","precision","scale","analyzerOverride","enableAsciiFolding","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","mediaReference","distributeTypeHelper"],"sources":["defineOntology.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n OntologyIr,\n OntologyIrInterfaceType,\n OntologyIrInterfaceTypeBlockDataV2,\n OntologyIrLinkDefinition,\n OntologyIrLinkTypeBlockDataV2,\n OntologyIrManyToManyLinkTypeDatasource,\n OntologyIrObjectTypeBlockDataV2,\n OntologyIrObjectTypeDatasource,\n OntologyIrPropertyType,\n OntologyIrSharedPropertyType,\n OntologyIrSharedPropertyTypeBlockDataV2,\n OntologyIrStructFieldType,\n OntologyIrType,\n OntologyIrValueTypeBlockData,\n OntologyIrValueTypeBlockDataEntry,\n PropertyTypeMappingInfo,\n} from \"@osdk/client.unstable\";\nimport type {\n InterfaceType,\n LinkTypeDefinition,\n ObjectPropertyType,\n ObjectType,\n Ontology,\n PropertyTypeType,\n SharedPropertyType,\n} from \"./types.js\";\n\n/** @internal */\nexport let ontologyDefinition: Ontology;\n\n/** @internal */\nexport let namespace: string;\n\ntype OntologyAndValueTypeIrs = {\n ontology: OntologyIr;\n valueType: OntologyIrValueTypeBlockData;\n};\n\nexport async function defineOntology(\n ns: string,\n body: () => void | Promise<void>,\n): Promise<OntologyAndValueTypeIrs> {\n namespace = ns;\n ontologyDefinition = {\n actionTypes: {},\n objectTypes: {},\n queryTypes: {},\n interfaceTypes: {},\n sharedPropertyTypes: {},\n valueTypes: {},\n linkTypes: {},\n importedTypes: {\n sharedPropertyTypes: [],\n },\n };\n\n try {\n await body();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Unexpected error while processing the body of the ontology\",\n e,\n );\n throw e;\n }\n\n return {\n ontology: convertToWireOntologyIr(ontologyDefinition),\n valueType: convertOntologyToValueTypeIr(ontologyDefinition),\n };\n}\n\nfunction convertOntologyToValueTypeIr(\n ontology: Ontology,\n): OntologyIrValueTypeBlockData {\n return {\n valueTypes: Object.values(ontology.valueTypes).map<\n OntologyIrValueTypeBlockDataEntry\n >(definitions => ({\n metadata: {\n apiName: definitions[0].apiName,\n displayMetadata: definitions[0].displayMetadata,\n status: definitions[0].status,\n },\n versions: definitions.map(definition => ({\n version: definition.version,\n baseType: definition.baseType,\n constraints: definition.constraints,\n exampleValues: definition.exampleValues,\n })),\n })),\n };\n}\n\nfunction convertToWireOntologyIr(\n ontology: Ontology,\n): OntologyIr {\n return {\n blockData: {\n objectTypes: Object.fromEntries(\n Object.entries(ontology.objectTypes).map<\n [string, OntologyIrObjectTypeBlockDataV2]\n >(([apiName, objectType]) => {\n return [apiName, convertObject(objectType)];\n }),\n ),\n sharedPropertyTypes: Object.fromEntries(\n Object.entries(\n ontology.sharedPropertyTypes,\n )\n .map<[string, OntologyIrSharedPropertyTypeBlockDataV2]>((\n [apiName, spt],\n ) => [apiName, { sharedPropertyType: convertSpt(spt) }]),\n ),\n interfaceTypes: Object.fromEntries(\n Object.entries(\n ontology.interfaceTypes,\n )\n .map<[string, OntologyIrInterfaceTypeBlockDataV2]>(\n ([apiName, interfaceType]) => {\n return [apiName, {\n interfaceType: convertInterface(interfaceType),\n }];\n },\n ),\n ),\n linkTypes: Object.fromEntries(\n Object.entries(ontology.linkTypes).map<\n [string, OntologyIrLinkTypeBlockDataV2]\n >(([id, link]) => {\n return [id, convertLink(link)];\n }),\n ),\n blockPermissionInformation: {\n actionTypes: {},\n linkTypes: {},\n objectTypes: {},\n },\n },\n importedTypes: ontology.importedTypes,\n };\n}\n\nfunction convertObject(\n objectType: ObjectType,\n): OntologyIrObjectTypeBlockDataV2 {\n const propertyDatasource: Record<string, PropertyTypeMappingInfo> = {};\n (objectType.properties ?? []).forEach((property) => {\n propertyDatasource[property.apiName] = {\n type: \"column\",\n column: property.apiName,\n };\n });\n\n const datasource: OntologyIrObjectTypeDatasource = {\n rid: \"ri.ontology.main.datasource.\".concat(objectType.apiName),\n datasource: {\n type: \"datasetV2\",\n datasetV2: {\n datasetRid: objectType.apiName,\n propertyMapping: propertyDatasource,\n },\n },\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: false,\n };\n\n const implementations = objectType.implementsInterfaces ?? [];\n\n return {\n objectType: {\n displayMetadata: {\n description: objectType.description,\n displayName: objectType.displayName,\n groupDisplayName: undefined,\n icon: {\n type: \"blueprint\",\n blueprint: objectType.icon ?? { locator: \"cube\", color: \"#2D72D2\" },\n },\n pluralDisplayName: objectType.pluralDisplayName,\n visibility: objectType.visibility ?? \"NORMAL\",\n },\n primaryKeys: objectType.primaryKeys,\n propertyTypes: Object.fromEntries(\n objectType.properties?.map<[string, OntologyIrPropertyType]>(\n val => [val.apiName, convertProperty(val)],\n ) ?? [],\n ),\n titlePropertyTypeRid: objectType.titlePropertyApiName,\n apiName: objectType.apiName,\n status: objectType.status ?? {\n type: \"active\",\n active: {},\n },\n redacted: false,\n implementsInterfaces2: implementations.map(impl => ({\n interfaceTypeApiName: impl.implements.apiName,\n properties: Object.fromEntries(\n impl.propertyMapping.map(\n mapping => [namespace + mapping.interfaceProperty, {\n propertyTypeRid: mapping.mapsTo,\n }],\n ),\n ),\n })),\n allImplementsInterfaces: {},\n },\n datasources: [datasource],\n entityMetadata: { arePatchesEnabled: objectType.editsEnabled ?? false },\n };\n}\n\nfunction convertProperty(property: ObjectPropertyType): OntologyIrPropertyType {\n const output: OntologyIrPropertyType = {\n apiName: property.apiName,\n sharedPropertyTypeApiName: property.sharedPropertyType?.apiName,\n displayMetadata: {\n displayName: property.displayName,\n description: property.description,\n visibility: property.visibility ?? \"NORMAL\",\n },\n indexedForSearch: property.indexedForSearch ?? true,\n ruleSetBinding: undefined,\n baseFormatter: property.baseFormatter,\n type: convertType(property.type),\n typeClasses: property.typeClasses ?? [],\n status: property.status ?? { type: \"active\", active: {} },\n inlineAction: undefined,\n dataConstraints: property.dataConstraints,\n sharedPropertyTypeRid: property.sharedPropertyType?.apiName,\n valueType: undefined,\n };\n return output;\n}\n\nfunction convertLink(\n linkType: LinkTypeDefinition,\n): OntologyIrLinkTypeBlockDataV2 {\n let definition: OntologyIrLinkDefinition;\n let datasource: OntologyIrManyToManyLinkTypeDatasource | undefined =\n undefined;\n if (\"one\" in linkType) {\n definition = {\n type: \"oneToMany\",\n oneToMany: {\n cardinalityHint: \"ONE_TO_ONE\",\n manyToOneLinkMetadata: linkType.toMany.metadata,\n objectTypeRidManySide: linkType.toMany.object.apiName,\n objectTypeRidOneSide: linkType.one.object.apiName,\n oneToManyLinkMetadata: linkType.one.metadata,\n oneSidePrimaryKeyToManySidePropertyMapping: [{\n from: {\n apiName: linkType.one.object.primaryKeys[0],\n object: linkType.one.object.apiName,\n },\n to: {\n apiName: linkType.manyForeignKeyProperty,\n object: linkType.toMany.object.apiName,\n },\n }],\n },\n };\n } else {\n definition = {\n type: \"manyToMany\",\n manyToMany: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: linkType.many.object.apiName,\n objectTypeRidB: linkType.toMany.object.apiName,\n peeringMetadata: undefined,\n objectTypeAPrimaryKeyPropertyMapping: [{\n from: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n to: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n }],\n objectTypeBPrimaryKeyPropertyMapping: [{\n from: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n to: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n }],\n },\n };\n\n datasource = {\n rid: \"ri.ontology.main.datasource.link-\".concat(linkType.id),\n datasource: {\n type: \"dataset\",\n dataset: {\n datasetRid: \"link-\".concat(linkType.id),\n writebackDatasetRid: undefined,\n objectTypeAPrimaryKeyMapping: [{\n property: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n column: linkType.many.object.primaryKeys[0],\n }],\n objectTypeBPrimaryKeyMapping: [{\n property: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n column: linkType.many.object.primaryKeys[0],\n }],\n },\n },\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: linkType.redacted,\n };\n }\n\n return {\n linkType: {\n definition: definition,\n id: linkType.id,\n status: linkType.status ?? { type: \"active\", active: {} },\n redacted: linkType.redacted ?? false,\n },\n datasources: datasource !== undefined ? [datasource] : [],\n entityMetadata: {\n arePatchesEnabled: linkType.editsEnabled ?? false,\n },\n };\n}\n\nfunction convertInterface(\n interfaceType: InterfaceType,\n): OntologyIrInterfaceType {\n return {\n ...interfaceType,\n propertiesV2: Object.fromEntries(\n Object.values(interfaceType.propertiesV2)\n .map((\n spt,\n ) => [spt.sharedPropertyType.apiName, {\n required: spt.required,\n sharedPropertyType: convertSpt(spt.sharedPropertyType),\n }]),\n ),\n // these are omitted from our internal types but we need to re-add them for the final json\n allExtendsInterfaces: [],\n allLinks: [],\n allProperties: [],\n allPropertiesV2: {},\n properties: [],\n };\n}\n\nexport function dumpOntologyFullMetadata(): OntologyIr {\n return convertToWireOntologyIr(ontologyDefinition);\n}\n\nexport function dumpValueTypeWireType(): OntologyIrValueTypeBlockData {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\n\nfunction convertSpt(\n {\n type,\n array,\n description,\n apiName,\n displayName,\n gothamMapping,\n typeClasses,\n valueType,\n }: SharedPropertyType,\n): OntologyIrSharedPropertyType {\n const dataConstraint:\n | OntologyIrSharedPropertyType[\"dataConstraints\"]\n | undefined = (typeof type === \"object\" && type.type === \"marking\")\n ? {\n propertyTypeConstraints: [],\n nullability: undefined,\n nullabilityV2: { noEmptyCollections: true, noNulls: true },\n }\n : undefined;\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\" as const,\n array: {\n subtype: convertType(type),\n },\n }\n : convertType(type),\n aliases: [],\n baseFormatter: undefined,\n dataConstraints: dataConstraint,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n provenance: undefined,\n typeClasses: typeClasses ?? [],\n valueType: valueType,\n };\n}\n\nfunction convertType(\n type: PropertyTypeType,\n): OntologyIrType {\n switch (true) {\n case (typeof type === \"object\" && \"markingType\" in type):\n return {\n \"type\": \"marking\",\n marking: { markingType: type.markingType },\n };\n\n case (typeof type === \"object\" && \"structDefinition\" in type):\n const structFields: Array<OntologyIrStructFieldType> = new Array();\n for (const key in type.structDefinition) {\n const fieldTypeDefinition = type.structDefinition[key];\n let field: OntologyIrStructFieldType;\n if (typeof fieldTypeDefinition === \"string\") {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n } else {\n // If it is a full form type definition then process it as such\n if (\"fieldType\" in fieldTypeDefinition) {\n field = {\n ...fieldTypeDefinition,\n apiName: key,\n fieldType: convertType(fieldTypeDefinition.fieldType),\n typeClasses: fieldTypeDefinition.typeClasses ?? [],\n aliases: fieldTypeDefinition.aliases ?? [],\n };\n } else {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n }\n }\n\n structFields.push(field);\n }\n\n return {\n type: \"struct\",\n struct: { structFields },\n };\n\n case (type === \"geopoint\"):\n return { type: \"geohash\", geohash: {} };\n\n case (type === \"decimal\"):\n return { type, [type]: { precision: undefined, scale: undefined } };\n\n case (type === \"string\"):\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsEfficientLeadingWildcard: false,\n supportsExactMatching: true,\n },\n };\n\n case (type === \"mediaReference\"):\n return {\n type: type,\n mediaReference: {},\n };\n\n default:\n // use helper function to distribute `type` properly\n return distributeTypeHelper(type);\n }\n}\n\n/**\n * Helper function to avoid duplication. Makes the types match properly with the correct\n * behavior without needing to switch on type.\n * @param type\n * @returns\n */\nfunction distributeTypeHelper<T extends string>(\n type: T,\n): T extends any ? { type: T } & { [K in T]: {} } : never {\n return { type, [type]: {} } as any; // any cast to match conditional return type\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"defineOntology.js","names":["ontologyDefinition","namespace","defineOntology","ns","body","actionTypes","objectTypes","queryTypes","interfaceTypes","sharedPropertyTypes","valueTypes","linkTypes","importedTypes","e","console","error","ontology","convertToWireOntologyIr","valueType","convertOntologyToValueTypeIr","Object","values","map","definitions","metadata","apiName","displayMetadata","status","versions","definition","version","baseType","constraints","exampleValues","blockData","fromEntries","entries","objectType","convertObject","spt","sharedPropertyType","convertSpt","interfaceType","convertInterface","id","link","convertLink","blockPermissionInformation","datasource","rid","concat","convertDatasourceDefinition","editsConfiguration","onlyAllowPrivilegedEdits","redacted","implementations","implementsInterfaces","description","displayName","groupDisplayName","undefined","icon","type","blueprint","locator","color","pluralDisplayName","visibility","primaryKeys","propertyTypes","properties","val","convertProperty","titlePropertyTypeRid","titlePropertyApiName","active","implementsInterfaces2","impl","interfaceTypeApiName","implements","propertyMapping","mapping","interfaceProperty","propertyTypeRid","mapsTo","allImplementsInterfaces","datasources","entityMetadata","arePatchesEnabled","editsEnabled","window","retentionPeriod","retentionPolicy","time","none","prop","streamV2","streamLocator","propertySecurityGroups","datasetV2","datasetRid","column","property","output","sharedPropertyTypeApiName","indexedForSearch","ruleSetBinding","baseFormatter","convertType","typeClasses","inlineAction","dataConstraints","sharedPropertyTypeRid","linkType","oneToMany","cardinalityHint","manyToOneLinkMetadata","toMany","objectTypeRidManySide","object","objectTypeRidOneSide","one","oneToManyLinkMetadata","oneSidePrimaryKeyToManySidePropertyMapping","from","to","manyForeignKeyProperty","manyToMany","objectTypeAToBLinkMetadata","many","objectTypeBToALinkMetadata","objectTypeRidA","objectTypeRidB","peeringMetadata","objectTypeAPrimaryKeyPropertyMapping","objectTypeBPrimaryKeyPropertyMapping","dataset","writebackDatasetRid","objectTypeAPrimaryKeyMapping","objectTypeBPrimaryKeyMapping","propertiesV2","required","allExtendsInterfaces","allLinks","allProperties","allPropertiesV2","dumpOntologyFullMetadata","dumpValueTypeWireType","array","gothamMapping","dataConstraint","propertyTypeConstraints","nullability","nullabilityV2","noEmptyCollections","noNulls","subtype","aliases","provenance","marking","markingType","structFields","Array","key","structDefinition","fieldTypeDefinition","field","fieldType","push","struct","geohash","precision","scale","analyzerOverride","enableAsciiFolding","isLongText","supportsEfficientLeadingWildcard","supportsExactMatching","mediaReference","distributeTypeHelper"],"sources":["defineOntology.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n OntologyIr,\n OntologyIrInterfaceType,\n OntologyIrInterfaceTypeBlockDataV2,\n OntologyIrLinkDefinition,\n OntologyIrLinkTypeBlockDataV2,\n OntologyIrManyToManyLinkTypeDatasource,\n OntologyIrObjectTypeBlockDataV2,\n OntologyIrObjectTypeDatasource,\n OntologyIrObjectTypeDatasourceDefinition,\n OntologyIrPropertyType,\n OntologyIrSharedPropertyType,\n OntologyIrSharedPropertyTypeBlockDataV2,\n OntologyIrStructFieldType,\n OntologyIrType,\n OntologyIrValueTypeBlockData,\n OntologyIrValueTypeBlockDataEntry,\n RetentionPolicy,\n} from \"@osdk/client.unstable\";\nimport type {\n InterfaceType,\n LinkTypeDefinition,\n ObjectPropertyType,\n ObjectType,\n Ontology,\n PropertyTypeType,\n SharedPropertyType,\n} from \"./types.js\";\n\n/** @internal */\nexport let ontologyDefinition: Ontology;\n\n/** @internal */\nexport let namespace: string;\n\ntype OntologyAndValueTypeIrs = {\n ontology: OntologyIr;\n valueType: OntologyIrValueTypeBlockData;\n};\n\nexport async function defineOntology(\n ns: string,\n body: () => void | Promise<void>,\n): Promise<OntologyAndValueTypeIrs> {\n namespace = ns;\n ontologyDefinition = {\n actionTypes: {},\n objectTypes: {},\n queryTypes: {},\n interfaceTypes: {},\n sharedPropertyTypes: {},\n valueTypes: {},\n linkTypes: {},\n importedTypes: {\n sharedPropertyTypes: [],\n },\n };\n\n try {\n await body();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Unexpected error while processing the body of the ontology\",\n e,\n );\n throw e;\n }\n\n return {\n ontology: convertToWireOntologyIr(ontologyDefinition),\n valueType: convertOntologyToValueTypeIr(ontologyDefinition),\n };\n}\n\nfunction convertOntologyToValueTypeIr(\n ontology: Ontology,\n): OntologyIrValueTypeBlockData {\n return {\n valueTypes: Object.values(ontology.valueTypes).map<\n OntologyIrValueTypeBlockDataEntry\n >(definitions => ({\n metadata: {\n apiName: definitions[0].apiName,\n displayMetadata: definitions[0].displayMetadata,\n status: definitions[0].status,\n },\n versions: definitions.map(definition => ({\n version: definition.version,\n baseType: definition.baseType,\n constraints: definition.constraints,\n exampleValues: definition.exampleValues,\n })),\n })),\n };\n}\n\nfunction convertToWireOntologyIr(\n ontology: Ontology,\n): OntologyIr {\n return {\n blockData: {\n objectTypes: Object.fromEntries(\n Object.entries(ontology.objectTypes).map<\n [string, OntologyIrObjectTypeBlockDataV2]\n >(([apiName, objectType]) => {\n return [apiName, convertObject(objectType)];\n }),\n ),\n sharedPropertyTypes: Object.fromEntries(\n Object.entries(\n ontology.sharedPropertyTypes,\n )\n .map<[string, OntologyIrSharedPropertyTypeBlockDataV2]>((\n [apiName, spt],\n ) => [apiName, { sharedPropertyType: convertSpt(spt) }]),\n ),\n interfaceTypes: Object.fromEntries(\n Object.entries(\n ontology.interfaceTypes,\n )\n .map<[string, OntologyIrInterfaceTypeBlockDataV2]>(\n ([apiName, interfaceType]) => {\n return [apiName, {\n interfaceType: convertInterface(interfaceType),\n }];\n },\n ),\n ),\n linkTypes: Object.fromEntries(\n Object.entries(ontology.linkTypes).map<\n [string, OntologyIrLinkTypeBlockDataV2]\n >(([id, link]) => {\n return [id, convertLink(link)];\n }),\n ),\n blockPermissionInformation: {\n actionTypes: {},\n linkTypes: {},\n objectTypes: {},\n },\n },\n importedTypes: ontology.importedTypes,\n };\n}\n\nfunction convertObject(\n objectType: ObjectType,\n): OntologyIrObjectTypeBlockDataV2 {\n const datasource: OntologyIrObjectTypeDatasource = {\n rid: \"ri.ontology.main.datasource.\".concat(objectType.apiName),\n datasource: convertDatasourceDefinition(objectType),\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: false,\n };\n\n const implementations = objectType.implementsInterfaces ?? [];\n\n return {\n objectType: {\n displayMetadata: {\n description: objectType.description,\n displayName: objectType.displayName,\n groupDisplayName: undefined,\n icon: {\n type: \"blueprint\",\n blueprint: objectType.icon ?? { locator: \"cube\", color: \"#2D72D2\" },\n },\n pluralDisplayName: objectType.pluralDisplayName,\n visibility: objectType.visibility ?? \"NORMAL\",\n },\n primaryKeys: objectType.primaryKeys,\n propertyTypes: Object.fromEntries(\n objectType.properties?.map<[string, OntologyIrPropertyType]>(\n val => [val.apiName, convertProperty(val)],\n ) ?? [],\n ),\n titlePropertyTypeRid: objectType.titlePropertyApiName,\n apiName: objectType.apiName,\n status: objectType.status ?? {\n type: \"active\",\n active: {},\n },\n redacted: false,\n implementsInterfaces2: implementations.map(impl => ({\n interfaceTypeApiName: impl.implements.apiName,\n properties: Object.fromEntries(\n impl.propertyMapping.map(\n mapping => [namespace + mapping.interfaceProperty, {\n propertyTypeRid: mapping.mapsTo,\n }],\n ),\n ),\n })),\n allImplementsInterfaces: {},\n },\n datasources: [datasource],\n entityMetadata: { arePatchesEnabled: objectType.editsEnabled ?? false },\n };\n}\n\nfunction convertDatasourceDefinition(\n objectType: ObjectType,\n): OntologyIrObjectTypeDatasourceDefinition {\n switch (objectType.datasource?.type) {\n case \"stream\":\n const window = objectType.datasource.retentionPeriod;\n const retentionPolicy: RetentionPolicy = window\n ? { type: \"time\", time: { window } }\n : { type: \"none\", none: {} };\n const propertyMapping = Object.fromEntries(\n (objectType.properties ?? []).map((\n prop,\n ) => [prop.apiName, prop.apiName]),\n );\n return {\n type: \"streamV2\",\n streamV2: {\n streamLocator: objectType.apiName,\n propertyMapping,\n retentionPolicy,\n propertySecurityGroups: undefined,\n },\n };\n case \"dataset\":\n default:\n return {\n type: \"datasetV2\",\n datasetV2: {\n datasetRid: objectType.apiName,\n propertyMapping: Object.fromEntries(\n (objectType.properties ?? []).map((prop) => [\n prop.apiName,\n { type: \"column\", column: prop.apiName },\n ]),\n ),\n },\n };\n }\n}\n\nfunction convertProperty(property: ObjectPropertyType): OntologyIrPropertyType {\n const output: OntologyIrPropertyType = {\n apiName: property.apiName,\n sharedPropertyTypeApiName: property.sharedPropertyType?.apiName,\n displayMetadata: {\n displayName: property.displayName,\n description: property.description,\n visibility: property.visibility ?? \"NORMAL\",\n },\n indexedForSearch: property.indexedForSearch ?? true,\n ruleSetBinding: undefined,\n baseFormatter: property.baseFormatter,\n type: convertType(property.type),\n typeClasses: property.typeClasses ?? [],\n status: property.status ?? { type: \"active\", active: {} },\n inlineAction: undefined,\n dataConstraints: property.dataConstraints,\n sharedPropertyTypeRid: property.sharedPropertyType?.apiName,\n valueType: undefined,\n };\n return output;\n}\n\nfunction convertLink(\n linkType: LinkTypeDefinition,\n): OntologyIrLinkTypeBlockDataV2 {\n let definition: OntologyIrLinkDefinition;\n let datasource: OntologyIrManyToManyLinkTypeDatasource | undefined =\n undefined;\n if (\"one\" in linkType) {\n definition = {\n type: \"oneToMany\",\n oneToMany: {\n cardinalityHint: \"ONE_TO_ONE\",\n manyToOneLinkMetadata: linkType.toMany.metadata,\n objectTypeRidManySide: linkType.toMany.object.apiName,\n objectTypeRidOneSide: linkType.one.object.apiName,\n oneToManyLinkMetadata: linkType.one.metadata,\n oneSidePrimaryKeyToManySidePropertyMapping: [{\n from: {\n apiName: linkType.one.object.primaryKeys[0],\n object: linkType.one.object.apiName,\n },\n to: {\n apiName: linkType.manyForeignKeyProperty,\n object: linkType.toMany.object.apiName,\n },\n }],\n },\n };\n } else {\n definition = {\n type: \"manyToMany\",\n manyToMany: {\n objectTypeAToBLinkMetadata: linkType.many.metadata,\n objectTypeBToALinkMetadata: linkType.toMany.metadata,\n objectTypeRidA: linkType.many.object.apiName,\n objectTypeRidB: linkType.toMany.object.apiName,\n peeringMetadata: undefined,\n objectTypeAPrimaryKeyPropertyMapping: [{\n from: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n to: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n }],\n objectTypeBPrimaryKeyPropertyMapping: [{\n from: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n to: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n }],\n },\n };\n\n datasource = {\n rid: \"ri.ontology.main.datasource.link-\".concat(linkType.id),\n datasource: {\n type: \"dataset\",\n dataset: {\n datasetRid: \"link-\".concat(linkType.id),\n writebackDatasetRid: undefined,\n objectTypeAPrimaryKeyMapping: [{\n property: {\n apiName: linkType.many.object.primaryKeys[0],\n object: linkType.many.object.apiName,\n },\n column: linkType.many.object.primaryKeys[0],\n }],\n objectTypeBPrimaryKeyMapping: [{\n property: {\n apiName: linkType.toMany.object.primaryKeys[0],\n object: linkType.toMany.object.apiName,\n },\n column: linkType.many.object.primaryKeys[0],\n }],\n },\n },\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: linkType.redacted,\n };\n }\n\n return {\n linkType: {\n definition: definition,\n id: linkType.id,\n status: linkType.status ?? { type: \"active\", active: {} },\n redacted: linkType.redacted ?? false,\n },\n datasources: datasource !== undefined ? [datasource] : [],\n entityMetadata: {\n arePatchesEnabled: linkType.editsEnabled ?? false,\n },\n };\n}\n\nfunction convertInterface(\n interfaceType: InterfaceType,\n): OntologyIrInterfaceType {\n return {\n ...interfaceType,\n propertiesV2: Object.fromEntries(\n Object.values(interfaceType.propertiesV2)\n .map((\n spt,\n ) => [spt.sharedPropertyType.apiName, {\n required: spt.required,\n sharedPropertyType: convertSpt(spt.sharedPropertyType),\n }]),\n ),\n // these are omitted from our internal types but we need to re-add them for the final json\n allExtendsInterfaces: [],\n allLinks: [],\n allProperties: [],\n allPropertiesV2: {},\n properties: [],\n };\n}\n\nexport function dumpOntologyFullMetadata(): OntologyIr {\n return convertToWireOntologyIr(ontologyDefinition);\n}\n\nexport function dumpValueTypeWireType(): OntologyIrValueTypeBlockData {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\n\nfunction convertSpt(\n {\n type,\n array,\n description,\n apiName,\n displayName,\n gothamMapping,\n typeClasses,\n valueType,\n }: SharedPropertyType,\n): OntologyIrSharedPropertyType {\n const dataConstraint:\n | OntologyIrSharedPropertyType[\"dataConstraints\"]\n | undefined = (typeof type === \"object\" && type.type === \"marking\")\n ? {\n propertyTypeConstraints: [],\n nullability: undefined,\n nullabilityV2: { noEmptyCollections: true, noNulls: true },\n }\n : undefined;\n return {\n apiName,\n displayMetadata: {\n displayName: displayName ?? apiName,\n visibility: \"NORMAL\",\n description,\n },\n type: array\n ? {\n type: \"array\" as const,\n array: {\n subtype: convertType(type),\n },\n }\n : convertType(type),\n aliases: [],\n baseFormatter: undefined,\n dataConstraints: dataConstraint,\n gothamMapping: gothamMapping,\n indexedForSearch: true,\n provenance: undefined,\n typeClasses: typeClasses ?? [],\n valueType: valueType,\n };\n}\n\nfunction convertType(\n type: PropertyTypeType,\n): OntologyIrType {\n switch (true) {\n case (typeof type === \"object\" && \"markingType\" in type):\n return {\n \"type\": \"marking\",\n marking: { markingType: type.markingType },\n };\n\n case (typeof type === \"object\" && \"structDefinition\" in type):\n const structFields: Array<OntologyIrStructFieldType> = new Array();\n for (const key in type.structDefinition) {\n const fieldTypeDefinition = type.structDefinition[key];\n let field: OntologyIrStructFieldType;\n if (typeof fieldTypeDefinition === \"string\") {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n } else {\n // If it is a full form type definition then process it as such\n if (\"fieldType\" in fieldTypeDefinition) {\n field = {\n ...fieldTypeDefinition,\n apiName: key,\n fieldType: convertType(fieldTypeDefinition.fieldType),\n typeClasses: fieldTypeDefinition.typeClasses ?? [],\n aliases: fieldTypeDefinition.aliases ?? [],\n };\n } else {\n field = {\n apiName: key,\n displayMetadata: { displayName: key, description: undefined },\n typeClasses: [],\n aliases: [],\n fieldType: convertType(fieldTypeDefinition),\n };\n }\n }\n\n structFields.push(field);\n }\n\n return {\n type: \"struct\",\n struct: { structFields },\n };\n\n case (type === \"geopoint\"):\n return { type: \"geohash\", geohash: {} };\n\n case (type === \"decimal\"):\n return { type, [type]: { precision: undefined, scale: undefined } };\n\n case (type === \"string\"):\n return {\n type,\n [type]: {\n analyzerOverride: undefined,\n enableAsciiFolding: undefined,\n isLongText: false,\n supportsEfficientLeadingWildcard: false,\n supportsExactMatching: true,\n },\n };\n\n case (type === \"mediaReference\"):\n return {\n type: type,\n mediaReference: {},\n };\n\n default:\n // use helper function to distribute `type` properly\n return distributeTypeHelper(type);\n }\n}\n\n/**\n * Helper function to avoid duplication. Makes the types match properly with the correct\n * behavior without needing to switch on type.\n * @param type\n * @returns\n */\nfunction distributeTypeHelper<T extends string>(\n type: T,\n): T extends any ? { type: T } & { [K in T]: {} } : never {\n return { type, [type]: {} } as any; // any cast to match conditional return type\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2584,6 +2584,389 @@ describe("Ontology Defining", () => {
|
|
|
2584
2584
|
}
|
|
2585
2585
|
`);
|
|
2586
2586
|
});
|
|
2587
|
+
it("Explicit datasource definitions are properly defined", () => {
|
|
2588
|
+
defineObject({
|
|
2589
|
+
titlePropertyApiName: "bar",
|
|
2590
|
+
displayName: "datasetBackedObject",
|
|
2591
|
+
pluralDisplayName: "datasetBackedObject",
|
|
2592
|
+
apiName: "foo",
|
|
2593
|
+
primaryKeys: ["bar"],
|
|
2594
|
+
properties: [{
|
|
2595
|
+
apiName: "bar",
|
|
2596
|
+
type: "string",
|
|
2597
|
+
displayName: "Bar"
|
|
2598
|
+
}],
|
|
2599
|
+
datasource: {
|
|
2600
|
+
type: "dataset"
|
|
2601
|
+
}
|
|
2602
|
+
});
|
|
2603
|
+
defineObject({
|
|
2604
|
+
titlePropertyApiName: "fizz",
|
|
2605
|
+
displayName: "streamBackedObjectNoRetention",
|
|
2606
|
+
pluralDisplayName: "streamBackedObjectNoRetention",
|
|
2607
|
+
apiName: "fizz",
|
|
2608
|
+
primaryKeys: ["fizz"],
|
|
2609
|
+
properties: [{
|
|
2610
|
+
apiName: "fizz",
|
|
2611
|
+
type: "string",
|
|
2612
|
+
displayName: "Fizz"
|
|
2613
|
+
}, {
|
|
2614
|
+
apiName: "bar",
|
|
2615
|
+
type: "string",
|
|
2616
|
+
displayName: "Bar"
|
|
2617
|
+
}],
|
|
2618
|
+
datasource: {
|
|
2619
|
+
type: "stream"
|
|
2620
|
+
}
|
|
2621
|
+
});
|
|
2622
|
+
defineObject({
|
|
2623
|
+
titlePropertyApiName: "buzz",
|
|
2624
|
+
displayName: "streamBackedObjectWithRetention",
|
|
2625
|
+
pluralDisplayName: "streamBackedObjectWithRetention",
|
|
2626
|
+
apiName: "buzz",
|
|
2627
|
+
primaryKeys: ["buzz"],
|
|
2628
|
+
properties: [{
|
|
2629
|
+
apiName: "buzz",
|
|
2630
|
+
type: "string",
|
|
2631
|
+
displayName: "Buzz"
|
|
2632
|
+
}],
|
|
2633
|
+
datasource: {
|
|
2634
|
+
type: "stream",
|
|
2635
|
+
retentionPeriod: "PT1H"
|
|
2636
|
+
}
|
|
2637
|
+
});
|
|
2638
|
+
expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`
|
|
2639
|
+
{
|
|
2640
|
+
"blockPermissionInformation": {
|
|
2641
|
+
"actionTypes": {},
|
|
2642
|
+
"linkTypes": {},
|
|
2643
|
+
"objectTypes": {},
|
|
2644
|
+
},
|
|
2645
|
+
"interfaceTypes": {},
|
|
2646
|
+
"linkTypes": {},
|
|
2647
|
+
"objectTypes": {
|
|
2648
|
+
"com.palantir.buzz": {
|
|
2649
|
+
"datasources": [
|
|
2650
|
+
{
|
|
2651
|
+
"datasource": {
|
|
2652
|
+
"streamV2": {
|
|
2653
|
+
"propertyMapping": {
|
|
2654
|
+
"buzz": "buzz",
|
|
2655
|
+
},
|
|
2656
|
+
"propertySecurityGroups": undefined,
|
|
2657
|
+
"retentionPolicy": {
|
|
2658
|
+
"time": {
|
|
2659
|
+
"window": "PT1H",
|
|
2660
|
+
},
|
|
2661
|
+
"type": "time",
|
|
2662
|
+
},
|
|
2663
|
+
"streamLocator": "com.palantir.buzz",
|
|
2664
|
+
},
|
|
2665
|
+
"type": "streamV2",
|
|
2666
|
+
},
|
|
2667
|
+
"editsConfiguration": {
|
|
2668
|
+
"onlyAllowPrivilegedEdits": false,
|
|
2669
|
+
},
|
|
2670
|
+
"redacted": false,
|
|
2671
|
+
"rid": "ri.ontology.main.datasource.com.palantir.buzz",
|
|
2672
|
+
},
|
|
2673
|
+
],
|
|
2674
|
+
"entityMetadata": {
|
|
2675
|
+
"arePatchesEnabled": false,
|
|
2676
|
+
},
|
|
2677
|
+
"objectType": {
|
|
2678
|
+
"allImplementsInterfaces": {},
|
|
2679
|
+
"apiName": "com.palantir.buzz",
|
|
2680
|
+
"displayMetadata": {
|
|
2681
|
+
"description": undefined,
|
|
2682
|
+
"displayName": "streamBackedObjectWithRetention",
|
|
2683
|
+
"groupDisplayName": undefined,
|
|
2684
|
+
"icon": {
|
|
2685
|
+
"blueprint": {
|
|
2686
|
+
"color": "#2D72D2",
|
|
2687
|
+
"locator": "cube",
|
|
2688
|
+
},
|
|
2689
|
+
"type": "blueprint",
|
|
2690
|
+
},
|
|
2691
|
+
"pluralDisplayName": "streamBackedObjectWithRetention",
|
|
2692
|
+
"visibility": "NORMAL",
|
|
2693
|
+
},
|
|
2694
|
+
"implementsInterfaces2": [],
|
|
2695
|
+
"primaryKeys": [
|
|
2696
|
+
"buzz",
|
|
2697
|
+
],
|
|
2698
|
+
"propertyTypes": {
|
|
2699
|
+
"buzz": {
|
|
2700
|
+
"apiName": "buzz",
|
|
2701
|
+
"baseFormatter": undefined,
|
|
2702
|
+
"dataConstraints": undefined,
|
|
2703
|
+
"displayMetadata": {
|
|
2704
|
+
"description": undefined,
|
|
2705
|
+
"displayName": "Buzz",
|
|
2706
|
+
"visibility": "NORMAL",
|
|
2707
|
+
},
|
|
2708
|
+
"indexedForSearch": true,
|
|
2709
|
+
"inlineAction": undefined,
|
|
2710
|
+
"ruleSetBinding": undefined,
|
|
2711
|
+
"sharedPropertyTypeApiName": undefined,
|
|
2712
|
+
"sharedPropertyTypeRid": undefined,
|
|
2713
|
+
"status": {
|
|
2714
|
+
"active": {},
|
|
2715
|
+
"type": "active",
|
|
2716
|
+
},
|
|
2717
|
+
"type": {
|
|
2718
|
+
"string": {
|
|
2719
|
+
"analyzerOverride": undefined,
|
|
2720
|
+
"enableAsciiFolding": undefined,
|
|
2721
|
+
"isLongText": false,
|
|
2722
|
+
"supportsEfficientLeadingWildcard": false,
|
|
2723
|
+
"supportsExactMatching": true,
|
|
2724
|
+
},
|
|
2725
|
+
"type": "string",
|
|
2726
|
+
},
|
|
2727
|
+
"typeClasses": [],
|
|
2728
|
+
"valueType": undefined,
|
|
2729
|
+
},
|
|
2730
|
+
},
|
|
2731
|
+
"redacted": false,
|
|
2732
|
+
"status": {
|
|
2733
|
+
"active": {},
|
|
2734
|
+
"type": "active",
|
|
2735
|
+
},
|
|
2736
|
+
"titlePropertyTypeRid": "buzz",
|
|
2737
|
+
},
|
|
2738
|
+
},
|
|
2739
|
+
"com.palantir.fizz": {
|
|
2740
|
+
"datasources": [
|
|
2741
|
+
{
|
|
2742
|
+
"datasource": {
|
|
2743
|
+
"streamV2": {
|
|
2744
|
+
"propertyMapping": {
|
|
2745
|
+
"bar": "bar",
|
|
2746
|
+
"fizz": "fizz",
|
|
2747
|
+
},
|
|
2748
|
+
"propertySecurityGroups": undefined,
|
|
2749
|
+
"retentionPolicy": {
|
|
2750
|
+
"none": {},
|
|
2751
|
+
"type": "none",
|
|
2752
|
+
},
|
|
2753
|
+
"streamLocator": "com.palantir.fizz",
|
|
2754
|
+
},
|
|
2755
|
+
"type": "streamV2",
|
|
2756
|
+
},
|
|
2757
|
+
"editsConfiguration": {
|
|
2758
|
+
"onlyAllowPrivilegedEdits": false,
|
|
2759
|
+
},
|
|
2760
|
+
"redacted": false,
|
|
2761
|
+
"rid": "ri.ontology.main.datasource.com.palantir.fizz",
|
|
2762
|
+
},
|
|
2763
|
+
],
|
|
2764
|
+
"entityMetadata": {
|
|
2765
|
+
"arePatchesEnabled": false,
|
|
2766
|
+
},
|
|
2767
|
+
"objectType": {
|
|
2768
|
+
"allImplementsInterfaces": {},
|
|
2769
|
+
"apiName": "com.palantir.fizz",
|
|
2770
|
+
"displayMetadata": {
|
|
2771
|
+
"description": undefined,
|
|
2772
|
+
"displayName": "streamBackedObjectNoRetention",
|
|
2773
|
+
"groupDisplayName": undefined,
|
|
2774
|
+
"icon": {
|
|
2775
|
+
"blueprint": {
|
|
2776
|
+
"color": "#2D72D2",
|
|
2777
|
+
"locator": "cube",
|
|
2778
|
+
},
|
|
2779
|
+
"type": "blueprint",
|
|
2780
|
+
},
|
|
2781
|
+
"pluralDisplayName": "streamBackedObjectNoRetention",
|
|
2782
|
+
"visibility": "NORMAL",
|
|
2783
|
+
},
|
|
2784
|
+
"implementsInterfaces2": [],
|
|
2785
|
+
"primaryKeys": [
|
|
2786
|
+
"fizz",
|
|
2787
|
+
],
|
|
2788
|
+
"propertyTypes": {
|
|
2789
|
+
"bar": {
|
|
2790
|
+
"apiName": "bar",
|
|
2791
|
+
"baseFormatter": undefined,
|
|
2792
|
+
"dataConstraints": undefined,
|
|
2793
|
+
"displayMetadata": {
|
|
2794
|
+
"description": undefined,
|
|
2795
|
+
"displayName": "Bar",
|
|
2796
|
+
"visibility": "NORMAL",
|
|
2797
|
+
},
|
|
2798
|
+
"indexedForSearch": true,
|
|
2799
|
+
"inlineAction": undefined,
|
|
2800
|
+
"ruleSetBinding": undefined,
|
|
2801
|
+
"sharedPropertyTypeApiName": undefined,
|
|
2802
|
+
"sharedPropertyTypeRid": undefined,
|
|
2803
|
+
"status": {
|
|
2804
|
+
"active": {},
|
|
2805
|
+
"type": "active",
|
|
2806
|
+
},
|
|
2807
|
+
"type": {
|
|
2808
|
+
"string": {
|
|
2809
|
+
"analyzerOverride": undefined,
|
|
2810
|
+
"enableAsciiFolding": undefined,
|
|
2811
|
+
"isLongText": false,
|
|
2812
|
+
"supportsEfficientLeadingWildcard": false,
|
|
2813
|
+
"supportsExactMatching": true,
|
|
2814
|
+
},
|
|
2815
|
+
"type": "string",
|
|
2816
|
+
},
|
|
2817
|
+
"typeClasses": [],
|
|
2818
|
+
"valueType": undefined,
|
|
2819
|
+
},
|
|
2820
|
+
"fizz": {
|
|
2821
|
+
"apiName": "fizz",
|
|
2822
|
+
"baseFormatter": undefined,
|
|
2823
|
+
"dataConstraints": undefined,
|
|
2824
|
+
"displayMetadata": {
|
|
2825
|
+
"description": undefined,
|
|
2826
|
+
"displayName": "Fizz",
|
|
2827
|
+
"visibility": "NORMAL",
|
|
2828
|
+
},
|
|
2829
|
+
"indexedForSearch": true,
|
|
2830
|
+
"inlineAction": undefined,
|
|
2831
|
+
"ruleSetBinding": undefined,
|
|
2832
|
+
"sharedPropertyTypeApiName": undefined,
|
|
2833
|
+
"sharedPropertyTypeRid": undefined,
|
|
2834
|
+
"status": {
|
|
2835
|
+
"active": {},
|
|
2836
|
+
"type": "active",
|
|
2837
|
+
},
|
|
2838
|
+
"type": {
|
|
2839
|
+
"string": {
|
|
2840
|
+
"analyzerOverride": undefined,
|
|
2841
|
+
"enableAsciiFolding": undefined,
|
|
2842
|
+
"isLongText": false,
|
|
2843
|
+
"supportsEfficientLeadingWildcard": false,
|
|
2844
|
+
"supportsExactMatching": true,
|
|
2845
|
+
},
|
|
2846
|
+
"type": "string",
|
|
2847
|
+
},
|
|
2848
|
+
"typeClasses": [],
|
|
2849
|
+
"valueType": undefined,
|
|
2850
|
+
},
|
|
2851
|
+
},
|
|
2852
|
+
"redacted": false,
|
|
2853
|
+
"status": {
|
|
2854
|
+
"active": {},
|
|
2855
|
+
"type": "active",
|
|
2856
|
+
},
|
|
2857
|
+
"titlePropertyTypeRid": "fizz",
|
|
2858
|
+
},
|
|
2859
|
+
},
|
|
2860
|
+
"com.palantir.foo": {
|
|
2861
|
+
"datasources": [
|
|
2862
|
+
{
|
|
2863
|
+
"datasource": {
|
|
2864
|
+
"datasetV2": {
|
|
2865
|
+
"datasetRid": "com.palantir.foo",
|
|
2866
|
+
"propertyMapping": {
|
|
2867
|
+
"bar": {
|
|
2868
|
+
"column": "bar",
|
|
2869
|
+
"type": "column",
|
|
2870
|
+
},
|
|
2871
|
+
},
|
|
2872
|
+
},
|
|
2873
|
+
"type": "datasetV2",
|
|
2874
|
+
},
|
|
2875
|
+
"editsConfiguration": {
|
|
2876
|
+
"onlyAllowPrivilegedEdits": false,
|
|
2877
|
+
},
|
|
2878
|
+
"redacted": false,
|
|
2879
|
+
"rid": "ri.ontology.main.datasource.com.palantir.foo",
|
|
2880
|
+
},
|
|
2881
|
+
],
|
|
2882
|
+
"entityMetadata": {
|
|
2883
|
+
"arePatchesEnabled": false,
|
|
2884
|
+
},
|
|
2885
|
+
"objectType": {
|
|
2886
|
+
"allImplementsInterfaces": {},
|
|
2887
|
+
"apiName": "com.palantir.foo",
|
|
2888
|
+
"displayMetadata": {
|
|
2889
|
+
"description": undefined,
|
|
2890
|
+
"displayName": "datasetBackedObject",
|
|
2891
|
+
"groupDisplayName": undefined,
|
|
2892
|
+
"icon": {
|
|
2893
|
+
"blueprint": {
|
|
2894
|
+
"color": "#2D72D2",
|
|
2895
|
+
"locator": "cube",
|
|
2896
|
+
},
|
|
2897
|
+
"type": "blueprint",
|
|
2898
|
+
},
|
|
2899
|
+
"pluralDisplayName": "datasetBackedObject",
|
|
2900
|
+
"visibility": "NORMAL",
|
|
2901
|
+
},
|
|
2902
|
+
"implementsInterfaces2": [],
|
|
2903
|
+
"primaryKeys": [
|
|
2904
|
+
"bar",
|
|
2905
|
+
],
|
|
2906
|
+
"propertyTypes": {
|
|
2907
|
+
"bar": {
|
|
2908
|
+
"apiName": "bar",
|
|
2909
|
+
"baseFormatter": undefined,
|
|
2910
|
+
"dataConstraints": undefined,
|
|
2911
|
+
"displayMetadata": {
|
|
2912
|
+
"description": undefined,
|
|
2913
|
+
"displayName": "Bar",
|
|
2914
|
+
"visibility": "NORMAL",
|
|
2915
|
+
},
|
|
2916
|
+
"indexedForSearch": true,
|
|
2917
|
+
"inlineAction": undefined,
|
|
2918
|
+
"ruleSetBinding": undefined,
|
|
2919
|
+
"sharedPropertyTypeApiName": undefined,
|
|
2920
|
+
"sharedPropertyTypeRid": undefined,
|
|
2921
|
+
"status": {
|
|
2922
|
+
"active": {},
|
|
2923
|
+
"type": "active",
|
|
2924
|
+
},
|
|
2925
|
+
"type": {
|
|
2926
|
+
"string": {
|
|
2927
|
+
"analyzerOverride": undefined,
|
|
2928
|
+
"enableAsciiFolding": undefined,
|
|
2929
|
+
"isLongText": false,
|
|
2930
|
+
"supportsEfficientLeadingWildcard": false,
|
|
2931
|
+
"supportsExactMatching": true,
|
|
2932
|
+
},
|
|
2933
|
+
"type": "string",
|
|
2934
|
+
},
|
|
2935
|
+
"typeClasses": [],
|
|
2936
|
+
"valueType": undefined,
|
|
2937
|
+
},
|
|
2938
|
+
},
|
|
2939
|
+
"redacted": false,
|
|
2940
|
+
"status": {
|
|
2941
|
+
"active": {},
|
|
2942
|
+
"type": "active",
|
|
2943
|
+
},
|
|
2944
|
+
"titlePropertyTypeRid": "bar",
|
|
2945
|
+
},
|
|
2946
|
+
},
|
|
2947
|
+
},
|
|
2948
|
+
"sharedPropertyTypes": {},
|
|
2949
|
+
}
|
|
2950
|
+
`);
|
|
2951
|
+
});
|
|
2952
|
+
it("Fail if stream retention period is not ISO 8601 compliant", () => {
|
|
2953
|
+
expect(() => defineObject({
|
|
2954
|
+
titlePropertyApiName: "buzz",
|
|
2955
|
+
displayName: "streamBackedObjectWithRetention",
|
|
2956
|
+
pluralDisplayName: "streamBackedObjectWithRetention",
|
|
2957
|
+
apiName: "buzz",
|
|
2958
|
+
primaryKeys: ["buzz"],
|
|
2959
|
+
properties: [{
|
|
2960
|
+
apiName: "buzz",
|
|
2961
|
+
type: "string",
|
|
2962
|
+
displayName: "Buzz"
|
|
2963
|
+
}],
|
|
2964
|
+
datasource: {
|
|
2965
|
+
type: "stream",
|
|
2966
|
+
retentionPeriod: "bad retention period string"
|
|
2967
|
+
}
|
|
2968
|
+
})).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Retention period "bad retention period string" on object "buzz" is not a valid ISO 8601 duration string]`);
|
|
2969
|
+
});
|
|
2587
2970
|
});
|
|
2588
2971
|
});
|
|
2589
2972
|
//# sourceMappingURL=overall.test.js.map
|