@osdk/maker 0.14.0-beta.6 → 0.14.0-beta.7

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +86 -22
  3. package/build/browser/api/defineCreateObjectAction.js +3 -1
  4. package/build/browser/api/defineCreateObjectAction.js.map +1 -1
  5. package/build/browser/api/defineCreateOrModifyObjectAction.js +2 -1
  6. package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -1
  7. package/build/browser/api/defineDeleteInterfaceObjectAction.js +53 -0
  8. package/build/browser/api/defineDeleteInterfaceObjectAction.js.map +1 -0
  9. package/build/browser/api/defineLink.js +5 -13
  10. package/build/browser/api/defineLink.js.map +1 -1
  11. package/build/browser/api/defineObject.js +94 -3
  12. package/build/browser/api/defineObject.js.map +1 -1
  13. package/build/browser/api/links/LinkType.js.map +1 -1
  14. package/build/browser/api/object/ObjectType.js.map +1 -1
  15. package/build/browser/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  16. package/build/browser/api/object/ObjectTypeDefinition.js.map +1 -1
  17. package/build/browser/api/test/actions.test.js +788 -2
  18. package/build/browser/api/test/actions.test.js.map +1 -1
  19. package/build/browser/api/test/objects.test.js +1109 -12
  20. package/build/browser/api/test/objects.test.js.map +1 -1
  21. package/build/browser/cli/main.js +1 -1
  22. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
  23. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  24. package/build/browser/conversion/toMarketplace/convertLink.js +109 -24
  25. package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -1
  26. package/build/browser/conversion/toMarketplace/convertObject.js +81 -4
  27. package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -1
  28. package/build/browser/index.js +1 -0
  29. package/build/browser/index.js.map +1 -1
  30. package/build/cjs/index.cjs +442 -194
  31. package/build/cjs/index.cjs.map +1 -1
  32. package/build/cjs/index.d.cts +139 -99
  33. package/build/esm/api/defineCreateObjectAction.js +3 -1
  34. package/build/esm/api/defineCreateObjectAction.js.map +1 -1
  35. package/build/esm/api/defineCreateOrModifyObjectAction.js +2 -1
  36. package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -1
  37. package/build/esm/api/defineDeleteInterfaceObjectAction.js +53 -0
  38. package/build/esm/api/defineDeleteInterfaceObjectAction.js.map +1 -0
  39. package/build/esm/api/defineLink.js +5 -13
  40. package/build/esm/api/defineLink.js.map +1 -1
  41. package/build/esm/api/defineObject.js +94 -3
  42. package/build/esm/api/defineObject.js.map +1 -1
  43. package/build/esm/api/links/LinkType.js.map +1 -1
  44. package/build/esm/api/object/ObjectType.js.map +1 -1
  45. package/build/esm/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  46. package/build/esm/api/object/ObjectTypeDefinition.js.map +1 -1
  47. package/build/esm/api/test/actions.test.js +788 -2
  48. package/build/esm/api/test/actions.test.js.map +1 -1
  49. package/build/esm/api/test/objects.test.js +1109 -12
  50. package/build/esm/api/test/objects.test.js.map +1 -1
  51. package/build/esm/cli/main.js +1 -1
  52. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
  53. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  54. package/build/esm/conversion/toMarketplace/convertLink.js +109 -24
  55. package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -1
  56. package/build/esm/conversion/toMarketplace/convertObject.js +81 -4
  57. package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -1
  58. package/build/esm/index.js +1 -0
  59. package/build/esm/index.js.map +1 -1
  60. package/build/types/api/defineCreateObjectAction.d.ts.map +1 -1
  61. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts +3 -0
  62. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts.map +1 -0
  63. package/build/types/api/defineLink.d.ts.map +1 -1
  64. package/build/types/api/defineObject.d.ts.map +1 -1
  65. package/build/types/api/links/LinkType.d.ts +7 -7
  66. package/build/types/api/object/ObjectType.d.ts +1 -1
  67. package/build/types/api/object/ObjectType.d.ts.map +1 -1
  68. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts +41 -1
  69. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts.map +1 -1
  70. package/build/types/api/object/ObjectTypeDefinition.d.ts +1 -1
  71. package/build/types/api/object/ObjectTypeDefinition.d.ts.map +1 -1
  72. package/build/types/conversion/toMarketplace/convertLink.d.ts +6 -0
  73. package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -1
  74. package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -1
  75. package/build/types/index.d.ts +1 -0
  76. package/build/types/index.d.ts.map +1 -1
  77. package/package.json +3 -3
@@ -12,7 +12,7 @@
12
12
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
- */import{beforeEach,describe,expect,it}from"vitest";import{OntologyEntityTypeEnum}from"../common/OntologyEntityTypeEnum.js";import{CREATE_INTERFACE_OBJECT_PARAMETER,CREATE_OR_MODIFY_OBJECT_PARAMETER,defineAction,MODIFY_INTERFACE_OBJECT_PARAMETER,MODIFY_OBJECT_PARAMETER}from"../defineAction.js";import{defineCreateInterfaceObjectAction}from"../defineCreateInterfaceObjectAction.js";import{defineCreateObjectAction}from"../defineCreateObjectAction.js";import{defineCreateOrModifyObjectAction}from"../defineCreateOrModifyObjectAction.js";import{defineDeleteObjectAction}from"../defineDeleteObjectAction.js";import{defineInterface}from"../defineInterface.js";import{defineModifyInterfaceObjectAction}from"../defineModifyInterfaceObjectAction.js";import{defineModifyObjectAction}from"../defineModifyObjectAction.js";import{defineObject}from"../defineObject.js";import{defineOntology,dumpOntologyFullMetadata}from"../defineOntology.js";import{defineSharedPropertyType}from"../defineSpt.js";import{importOntologyEntity}from"../importOntologyEntity.js";describe("Action Types",()=>{beforeEach(async()=>{await defineOntology("com.palantir.",()=>{},"/tmp/");});it("Concrete actions are properly defined",()=>{defineAction({apiName:"foo",displayName:"exampleAction",status:"active",rules:[{type:"addOrModifyObjectRuleV2",addOrModifyObjectRuleV2:{objectToModify:"objectToModifyParameter",propertyValues:{"bar":{type:"parameterId",parameterId:"param1"}},structFieldValues:{}}}],parameters:[{id:"param1",displayName:"param1",type:"boolean",validation:{required:true,allowedValues:{type:"boolean"}}}]});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
15
+ */import{beforeEach,describe,expect,it}from"vitest";import{OntologyEntityTypeEnum}from"../common/OntologyEntityTypeEnum.js";import{CREATE_INTERFACE_OBJECT_PARAMETER,CREATE_OR_MODIFY_OBJECT_PARAMETER,defineAction,MODIFY_INTERFACE_OBJECT_PARAMETER,MODIFY_OBJECT_PARAMETER}from"../defineAction.js";import{defineCreateInterfaceObjectAction}from"../defineCreateInterfaceObjectAction.js";import{defineCreateObjectAction}from"../defineCreateObjectAction.js";import{defineCreateOrModifyObjectAction}from"../defineCreateOrModifyObjectAction.js";import{defineDeleteInterfaceObjectAction}from"../defineDeleteInterfaceObjectAction.js";import{defineDeleteObjectAction}from"../defineDeleteObjectAction.js";import{defineInterface}from"../defineInterface.js";import{defineModifyInterfaceObjectAction}from"../defineModifyInterfaceObjectAction.js";import{defineModifyObjectAction}from"../defineModifyObjectAction.js";import{defineObject}from"../defineObject.js";import{defineOntology,dumpOntologyFullMetadata}from"../defineOntology.js";import{defineSharedPropertyType}from"../defineSpt.js";import{importOntologyEntity}from"../importOntologyEntity.js";describe("Action Types",()=>{beforeEach(async()=>{await defineOntology("com.palantir.",()=>{},"/tmp/");});it("Concrete actions are properly defined",()=>{defineAction({apiName:"foo",displayName:"exampleAction",status:"active",rules:[{type:"addOrModifyObjectRuleV2",addOrModifyObjectRuleV2:{objectToModify:"objectToModifyParameter",propertyValues:{"bar":{type:"parameterId",parameterId:"param1"}},structFieldValues:{}}}],parameters:[{id:"param1",displayName:"param1",type:"boolean",validation:{required:true,allowedValues:{type:"boolean"}}}]});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
16
16
  {
17
17
  "importedOntology": {
18
18
  "actionTypes": {},
@@ -1829,7 +1829,793 @@
1829
1829
  "valueTypes": [],
1830
1830
  },
1831
1831
  }
1832
- `);});it("Interface actions with customizations are properly defined",()=>{const property1=defineSharedPropertyType({apiName:"property1",type:"string"});const property2=defineSharedPropertyType({apiName:"property2",type:"string"});const property3=defineSharedPropertyType({apiName:"property3",type:"string"});const exampleInterface=defineInterface({apiName:"exampleInterface",properties:{property1,property2,property3}});defineCreateInterfaceObjectAction({interfaceType:exampleInterface,apiName:"custom-api-name-1",displayName:"Custom Create Action",status:"experimental",actionLevelValidation:[{condition:{type:"group",name:"actionLevelGroup"}}],parameterConfiguration:{[property3.apiName]:{required:false,conditionalOverrides:[{type:"required",condition:{type:"and",conditions:[{type:"group",name:"parameterLevelGroup"},{type:"parameter",parameterId:property1.apiName,matches:{type:"staticValue",staticValue:{type:"string",string:"bar"}}}]}}],defaultValue:{type:"staticValue",staticValue:{type:"string",string:"default_fizz"}},displayName:"fizz_display",description:"fizz_description"}},excludedProperties:[property2.apiName],parameterOrdering:[property1.apiName,property3.apiName],enableLayoutSwitch:true,defaultFormat:"TABLE",tableConfiguration:{columnWidthByParameterRid:{},enableFileImport:false,fitHorizontally:true,frozenColumnCount:1,rowHeightInLines:10},submissionMetadata:{successMessage:"Custom success message",undoButtonConfiguration:true,submitButtonDisplayMetadata:{intent:"DANGER",text:"Custom button"}}});defineModifyInterfaceObjectAction({interfaceType:exampleInterface,apiName:"custom-api-name-2",displayName:"Custom Modify Action",status:"experimental",actionLevelValidation:[{condition:{type:"group",name:"actionLevelGroup"}}],parameterConfiguration:{[property3.apiName]:{required:false,conditionalOverrides:[{type:"required",condition:{type:"and",conditions:[{type:"group",name:"parameterLevelGroup"},{type:"parameter",parameterId:property1.apiName,matches:{type:"staticValue",staticValue:{type:"string",string:"bar"}}}]}}],defaultValue:{type:"staticValue",staticValue:{type:"string",string:"default_fizz"}},displayName:"fizz_display",description:"fizz_description"}},excludedProperties:[property2.apiName],parameterOrdering:[property1.apiName,property3.apiName],enableLayoutSwitch:true,defaultFormat:"TABLE",tableConfiguration:{columnWidthByParameterRid:{},enableFileImport:false,fitHorizontally:true,frozenColumnCount:1,rowHeightInLines:10},submissionMetadata:{successMessage:"Custom success message",undoButtonConfiguration:true,submitButtonDisplayMetadata:{intent:"DANGER",text:"Custom button"}}});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1832
+ `);});it("Simple interface delete action is properly defined",()=>{const exampleInterface=defineInterface({apiName:"exampleInterface",properties:{property1:"string"}});defineDeleteInterfaceObjectAction({interfaceType:exampleInterface});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1833
+ {
1834
+ "importedOntology": {
1835
+ "actionTypes": {},
1836
+ "blockPermissionInformation": {
1837
+ "actionTypes": {},
1838
+ "linkTypes": {},
1839
+ "objectTypes": {},
1840
+ },
1841
+ "interfaceTypes": {},
1842
+ "linkTypes": {},
1843
+ "objectTypes": {},
1844
+ "sharedPropertyTypes": {},
1845
+ },
1846
+ "importedValueTypes": {
1847
+ "valueTypes": [],
1848
+ },
1849
+ "ontology": {
1850
+ "actionTypes": {
1851
+ "com.palantir.delete-interface-object-example-interface": {
1852
+ "actionType": {
1853
+ "actionTypeLogic": {
1854
+ "logic": {
1855
+ "rules": [
1856
+ {
1857
+ "deleteObjectRule": {
1858
+ "objectToDelete": "objectToDeleteParameter",
1859
+ },
1860
+ "type": "deleteObjectRule",
1861
+ },
1862
+ ],
1863
+ },
1864
+ "validation": {
1865
+ "actionTypeLevelValidation": {
1866
+ "rules": {
1867
+ "0": {
1868
+ "condition": {
1869
+ "true": {},
1870
+ "type": "true",
1871
+ },
1872
+ "displayMetadata": {
1873
+ "failureMessage": "",
1874
+ "typeClasses": [],
1875
+ },
1876
+ },
1877
+ },
1878
+ },
1879
+ "parameterValidations": {
1880
+ "objectToDeleteParameter": {
1881
+ "conditionalOverrides": [],
1882
+ "defaultValidation": {
1883
+ "display": {
1884
+ "renderHint": {
1885
+ "dropdown": {},
1886
+ "type": "dropdown",
1887
+ },
1888
+ "visibility": {
1889
+ "editable": {},
1890
+ "type": "editable",
1891
+ },
1892
+ },
1893
+ "validation": {
1894
+ "allowedValues": {
1895
+ "interfaceObjectQuery": {
1896
+ "interfaceObjectQuery": {},
1897
+ "type": "interfaceObjectQuery",
1898
+ },
1899
+ "type": "interfaceObjectQuery",
1900
+ },
1901
+ "required": {
1902
+ "required": {},
1903
+ "type": "required",
1904
+ },
1905
+ },
1906
+ },
1907
+ },
1908
+ },
1909
+ "sectionValidations": {},
1910
+ },
1911
+ },
1912
+ "metadata": {
1913
+ "apiName": "com.palantir.delete-interface-object-example-interface",
1914
+ "displayMetadata": {
1915
+ "configuration": {
1916
+ "defaultLayout": "FORM",
1917
+ "displayAndFormat": {
1918
+ "table": {
1919
+ "columnWidthByParameterRid": {},
1920
+ "enableFileImport": true,
1921
+ "fitHorizontally": false,
1922
+ "frozenColumnCount": 0,
1923
+ "rowHeightInLines": 1,
1924
+ },
1925
+ },
1926
+ "enableLayoutUserSwitch": false,
1927
+ },
1928
+ "description": "",
1929
+ "displayName": "Delete exampleInterface",
1930
+ "icon": {
1931
+ "blueprint": {
1932
+ "color": "#000000",
1933
+ "locator": "edit",
1934
+ },
1935
+ "type": "blueprint",
1936
+ },
1937
+ "successMessage": [],
1938
+ "typeClasses": [],
1939
+ },
1940
+ "entities": {
1941
+ "affectedInterfaceTypes": [],
1942
+ "affectedLinkTypes": [],
1943
+ "affectedObjectTypes": [
1944
+ "com.palantir.exampleInterface",
1945
+ ],
1946
+ "typeGroups": [],
1947
+ },
1948
+ "formContentOrdering": [],
1949
+ "parameterOrdering": [
1950
+ "objectToDeleteParameter",
1951
+ ],
1952
+ "parameters": {
1953
+ "objectToDeleteParameter": {
1954
+ "displayMetadata": {
1955
+ "description": "",
1956
+ "displayName": "Delete object",
1957
+ "typeClasses": [],
1958
+ },
1959
+ "id": "objectToDeleteParameter",
1960
+ "type": {
1961
+ "interfaceReference": {
1962
+ "interfaceTypeRid": "com.palantir.exampleInterface",
1963
+ },
1964
+ "type": "interfaceReference",
1965
+ },
1966
+ },
1967
+ },
1968
+ "sections": {},
1969
+ "status": {
1970
+ "active": {},
1971
+ "type": "active",
1972
+ },
1973
+ },
1974
+ },
1975
+ },
1976
+ },
1977
+ "blockPermissionInformation": {
1978
+ "actionTypes": {},
1979
+ "linkTypes": {},
1980
+ "objectTypes": {},
1981
+ },
1982
+ "interfaceTypes": {
1983
+ "com.palantir.exampleInterface": {
1984
+ "interfaceType": {
1985
+ "apiName": "com.palantir.exampleInterface",
1986
+ "displayMetadata": {
1987
+ "description": "exampleInterface",
1988
+ "displayName": "exampleInterface",
1989
+ "icon": {
1990
+ "blueprint": {
1991
+ "color": "#4C90F0",
1992
+ "locator": "layout-hierarchy",
1993
+ },
1994
+ "type": "blueprint",
1995
+ },
1996
+ },
1997
+ "extendsInterfaces": [],
1998
+ "links": [],
1999
+ "properties": [],
2000
+ "propertiesV2": {
2001
+ "com.palantir.property1": {
2002
+ "required": true,
2003
+ "sharedPropertyType": {
2004
+ "aliases": [],
2005
+ "apiName": "com.palantir.property1",
2006
+ "baseFormatter": undefined,
2007
+ "dataConstraints": undefined,
2008
+ "displayMetadata": {
2009
+ "description": undefined,
2010
+ "displayName": "property1",
2011
+ "visibility": "NORMAL",
2012
+ },
2013
+ "gothamMapping": undefined,
2014
+ "indexedForSearch": true,
2015
+ "type": {
2016
+ "string": {
2017
+ "analyzerOverride": undefined,
2018
+ "enableAsciiFolding": undefined,
2019
+ "isLongText": false,
2020
+ "supportsEfficientLeadingWildcard": false,
2021
+ "supportsExactMatching": true,
2022
+ },
2023
+ "type": "string",
2024
+ },
2025
+ "typeClasses": [
2026
+ {
2027
+ "kind": "render_hint",
2028
+ "name": "SELECTABLE",
2029
+ },
2030
+ {
2031
+ "kind": "render_hint",
2032
+ "name": "SORTABLE",
2033
+ },
2034
+ ],
2035
+ "valueType": undefined,
2036
+ },
2037
+ },
2038
+ },
2039
+ "propertiesV3": {},
2040
+ "searchable": true,
2041
+ "status": {
2042
+ "active": {},
2043
+ "type": "active",
2044
+ },
2045
+ },
2046
+ },
2047
+ },
2048
+ "linkTypes": {},
2049
+ "objectTypes": {},
2050
+ "sharedPropertyTypes": {
2051
+ "com.palantir.property1": {
2052
+ "sharedPropertyType": {
2053
+ "aliases": [],
2054
+ "apiName": "com.palantir.property1",
2055
+ "baseFormatter": undefined,
2056
+ "dataConstraints": undefined,
2057
+ "displayMetadata": {
2058
+ "description": undefined,
2059
+ "displayName": "property1",
2060
+ "visibility": "NORMAL",
2061
+ },
2062
+ "gothamMapping": undefined,
2063
+ "indexedForSearch": true,
2064
+ "type": {
2065
+ "string": {
2066
+ "analyzerOverride": undefined,
2067
+ "enableAsciiFolding": undefined,
2068
+ "isLongText": false,
2069
+ "supportsEfficientLeadingWildcard": false,
2070
+ "supportsExactMatching": true,
2071
+ },
2072
+ "type": "string",
2073
+ },
2074
+ "typeClasses": [
2075
+ {
2076
+ "kind": "render_hint",
2077
+ "name": "SELECTABLE",
2078
+ },
2079
+ {
2080
+ "kind": "render_hint",
2081
+ "name": "SORTABLE",
2082
+ },
2083
+ ],
2084
+ "valueType": undefined,
2085
+ },
2086
+ },
2087
+ },
2088
+ },
2089
+ "randomnessKey": undefined,
2090
+ "valueTypes": {
2091
+ "valueTypes": [],
2092
+ },
2093
+ }
2094
+ `);});it("Interface delete action with customizations is properly defined",()=>{const exampleInterface=defineInterface({apiName:"exampleInterface",properties:{property1:"string"}});defineDeleteInterfaceObjectAction({interfaceType:exampleInterface,apiName:"custom-delete-api-name",displayName:"Custom Delete Action",status:"experimental"});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
2095
+ {
2096
+ "importedOntology": {
2097
+ "actionTypes": {},
2098
+ "blockPermissionInformation": {
2099
+ "actionTypes": {},
2100
+ "linkTypes": {},
2101
+ "objectTypes": {},
2102
+ },
2103
+ "interfaceTypes": {},
2104
+ "linkTypes": {},
2105
+ "objectTypes": {},
2106
+ "sharedPropertyTypes": {},
2107
+ },
2108
+ "importedValueTypes": {
2109
+ "valueTypes": [],
2110
+ },
2111
+ "ontology": {
2112
+ "actionTypes": {
2113
+ "com.palantir.custom-delete-api-name": {
2114
+ "actionType": {
2115
+ "actionTypeLogic": {
2116
+ "logic": {
2117
+ "rules": [
2118
+ {
2119
+ "deleteObjectRule": {
2120
+ "objectToDelete": "objectToDeleteParameter",
2121
+ },
2122
+ "type": "deleteObjectRule",
2123
+ },
2124
+ ],
2125
+ },
2126
+ "validation": {
2127
+ "actionTypeLevelValidation": {
2128
+ "rules": {
2129
+ "0": {
2130
+ "condition": {
2131
+ "true": {},
2132
+ "type": "true",
2133
+ },
2134
+ "displayMetadata": {
2135
+ "failureMessage": "",
2136
+ "typeClasses": [],
2137
+ },
2138
+ },
2139
+ },
2140
+ },
2141
+ "parameterValidations": {
2142
+ "objectToDeleteParameter": {
2143
+ "conditionalOverrides": [],
2144
+ "defaultValidation": {
2145
+ "display": {
2146
+ "renderHint": {
2147
+ "dropdown": {},
2148
+ "type": "dropdown",
2149
+ },
2150
+ "visibility": {
2151
+ "editable": {},
2152
+ "type": "editable",
2153
+ },
2154
+ },
2155
+ "validation": {
2156
+ "allowedValues": {
2157
+ "interfaceObjectQuery": {
2158
+ "interfaceObjectQuery": {},
2159
+ "type": "interfaceObjectQuery",
2160
+ },
2161
+ "type": "interfaceObjectQuery",
2162
+ },
2163
+ "required": {
2164
+ "required": {},
2165
+ "type": "required",
2166
+ },
2167
+ },
2168
+ },
2169
+ },
2170
+ },
2171
+ "sectionValidations": {},
2172
+ },
2173
+ },
2174
+ "metadata": {
2175
+ "apiName": "com.palantir.custom-delete-api-name",
2176
+ "displayMetadata": {
2177
+ "configuration": {
2178
+ "defaultLayout": "FORM",
2179
+ "displayAndFormat": {
2180
+ "table": {
2181
+ "columnWidthByParameterRid": {},
2182
+ "enableFileImport": true,
2183
+ "fitHorizontally": false,
2184
+ "frozenColumnCount": 0,
2185
+ "rowHeightInLines": 1,
2186
+ },
2187
+ },
2188
+ "enableLayoutUserSwitch": false,
2189
+ },
2190
+ "description": "",
2191
+ "displayName": "Custom Delete Action",
2192
+ "icon": {
2193
+ "blueprint": {
2194
+ "color": "#000000",
2195
+ "locator": "edit",
2196
+ },
2197
+ "type": "blueprint",
2198
+ },
2199
+ "successMessage": [],
2200
+ "typeClasses": [],
2201
+ },
2202
+ "entities": {
2203
+ "affectedInterfaceTypes": [],
2204
+ "affectedLinkTypes": [],
2205
+ "affectedObjectTypes": [
2206
+ "com.palantir.exampleInterface",
2207
+ ],
2208
+ "typeGroups": [],
2209
+ },
2210
+ "formContentOrdering": [],
2211
+ "parameterOrdering": [
2212
+ "objectToDeleteParameter",
2213
+ ],
2214
+ "parameters": {
2215
+ "objectToDeleteParameter": {
2216
+ "displayMetadata": {
2217
+ "description": "",
2218
+ "displayName": "Delete object",
2219
+ "typeClasses": [],
2220
+ },
2221
+ "id": "objectToDeleteParameter",
2222
+ "type": {
2223
+ "interfaceReference": {
2224
+ "interfaceTypeRid": "com.palantir.exampleInterface",
2225
+ },
2226
+ "type": "interfaceReference",
2227
+ },
2228
+ },
2229
+ },
2230
+ "sections": {},
2231
+ "status": {
2232
+ "experimental": {},
2233
+ "type": "experimental",
2234
+ },
2235
+ },
2236
+ },
2237
+ },
2238
+ },
2239
+ "blockPermissionInformation": {
2240
+ "actionTypes": {},
2241
+ "linkTypes": {},
2242
+ "objectTypes": {},
2243
+ },
2244
+ "interfaceTypes": {
2245
+ "com.palantir.exampleInterface": {
2246
+ "interfaceType": {
2247
+ "apiName": "com.palantir.exampleInterface",
2248
+ "displayMetadata": {
2249
+ "description": "exampleInterface",
2250
+ "displayName": "exampleInterface",
2251
+ "icon": {
2252
+ "blueprint": {
2253
+ "color": "#4C90F0",
2254
+ "locator": "layout-hierarchy",
2255
+ },
2256
+ "type": "blueprint",
2257
+ },
2258
+ },
2259
+ "extendsInterfaces": [],
2260
+ "links": [],
2261
+ "properties": [],
2262
+ "propertiesV2": {
2263
+ "com.palantir.property1": {
2264
+ "required": true,
2265
+ "sharedPropertyType": {
2266
+ "aliases": [],
2267
+ "apiName": "com.palantir.property1",
2268
+ "baseFormatter": undefined,
2269
+ "dataConstraints": undefined,
2270
+ "displayMetadata": {
2271
+ "description": undefined,
2272
+ "displayName": "property1",
2273
+ "visibility": "NORMAL",
2274
+ },
2275
+ "gothamMapping": undefined,
2276
+ "indexedForSearch": true,
2277
+ "type": {
2278
+ "string": {
2279
+ "analyzerOverride": undefined,
2280
+ "enableAsciiFolding": undefined,
2281
+ "isLongText": false,
2282
+ "supportsEfficientLeadingWildcard": false,
2283
+ "supportsExactMatching": true,
2284
+ },
2285
+ "type": "string",
2286
+ },
2287
+ "typeClasses": [
2288
+ {
2289
+ "kind": "render_hint",
2290
+ "name": "SELECTABLE",
2291
+ },
2292
+ {
2293
+ "kind": "render_hint",
2294
+ "name": "SORTABLE",
2295
+ },
2296
+ ],
2297
+ "valueType": undefined,
2298
+ },
2299
+ },
2300
+ },
2301
+ "propertiesV3": {},
2302
+ "searchable": true,
2303
+ "status": {
2304
+ "active": {},
2305
+ "type": "active",
2306
+ },
2307
+ },
2308
+ },
2309
+ },
2310
+ "linkTypes": {},
2311
+ "objectTypes": {},
2312
+ "sharedPropertyTypes": {
2313
+ "com.palantir.property1": {
2314
+ "sharedPropertyType": {
2315
+ "aliases": [],
2316
+ "apiName": "com.palantir.property1",
2317
+ "baseFormatter": undefined,
2318
+ "dataConstraints": undefined,
2319
+ "displayMetadata": {
2320
+ "description": undefined,
2321
+ "displayName": "property1",
2322
+ "visibility": "NORMAL",
2323
+ },
2324
+ "gothamMapping": undefined,
2325
+ "indexedForSearch": true,
2326
+ "type": {
2327
+ "string": {
2328
+ "analyzerOverride": undefined,
2329
+ "enableAsciiFolding": undefined,
2330
+ "isLongText": false,
2331
+ "supportsEfficientLeadingWildcard": false,
2332
+ "supportsExactMatching": true,
2333
+ },
2334
+ "type": "string",
2335
+ },
2336
+ "typeClasses": [
2337
+ {
2338
+ "kind": "render_hint",
2339
+ "name": "SELECTABLE",
2340
+ },
2341
+ {
2342
+ "kind": "render_hint",
2343
+ "name": "SORTABLE",
2344
+ },
2345
+ ],
2346
+ "valueType": undefined,
2347
+ },
2348
+ },
2349
+ },
2350
+ },
2351
+ "randomnessKey": undefined,
2352
+ "valueTypes": {
2353
+ "valueTypes": [],
2354
+ },
2355
+ }
2356
+ `);});it("Interface delete action with action level validation is properly defined",()=>{const exampleInterface=defineInterface({apiName:"exampleInterface",properties:{property1:"string"}});defineDeleteInterfaceObjectAction({interfaceType:exampleInterface,actionLevelValidation:[{condition:{type:"group",name:"deleteValidationGroup"}}]});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
2357
+ {
2358
+ "importedOntology": {
2359
+ "actionTypes": {},
2360
+ "blockPermissionInformation": {
2361
+ "actionTypes": {},
2362
+ "linkTypes": {},
2363
+ "objectTypes": {},
2364
+ },
2365
+ "interfaceTypes": {},
2366
+ "linkTypes": {},
2367
+ "objectTypes": {},
2368
+ "sharedPropertyTypes": {},
2369
+ },
2370
+ "importedValueTypes": {
2371
+ "valueTypes": [],
2372
+ },
2373
+ "ontology": {
2374
+ "actionTypes": {
2375
+ "com.palantir.delete-interface-object-example-interface": {
2376
+ "actionType": {
2377
+ "actionTypeLogic": {
2378
+ "logic": {
2379
+ "rules": [
2380
+ {
2381
+ "deleteObjectRule": {
2382
+ "objectToDelete": "objectToDeleteParameter",
2383
+ },
2384
+ "type": "deleteObjectRule",
2385
+ },
2386
+ ],
2387
+ },
2388
+ "validation": {
2389
+ "actionTypeLevelValidation": {
2390
+ "rules": {
2391
+ "0": {
2392
+ "condition": {
2393
+ "true": {},
2394
+ "type": "true",
2395
+ },
2396
+ "displayMetadata": {
2397
+ "failureMessage": "",
2398
+ "typeClasses": [],
2399
+ },
2400
+ },
2401
+ },
2402
+ },
2403
+ "parameterValidations": {
2404
+ "objectToDeleteParameter": {
2405
+ "conditionalOverrides": [],
2406
+ "defaultValidation": {
2407
+ "display": {
2408
+ "renderHint": {
2409
+ "dropdown": {},
2410
+ "type": "dropdown",
2411
+ },
2412
+ "visibility": {
2413
+ "editable": {},
2414
+ "type": "editable",
2415
+ },
2416
+ },
2417
+ "validation": {
2418
+ "allowedValues": {
2419
+ "interfaceObjectQuery": {
2420
+ "interfaceObjectQuery": {},
2421
+ "type": "interfaceObjectQuery",
2422
+ },
2423
+ "type": "interfaceObjectQuery",
2424
+ },
2425
+ "required": {
2426
+ "required": {},
2427
+ "type": "required",
2428
+ },
2429
+ },
2430
+ },
2431
+ },
2432
+ },
2433
+ "sectionValidations": {},
2434
+ },
2435
+ },
2436
+ "metadata": {
2437
+ "apiName": "com.palantir.delete-interface-object-example-interface",
2438
+ "displayMetadata": {
2439
+ "configuration": {
2440
+ "defaultLayout": "FORM",
2441
+ "displayAndFormat": {
2442
+ "table": {
2443
+ "columnWidthByParameterRid": {},
2444
+ "enableFileImport": true,
2445
+ "fitHorizontally": false,
2446
+ "frozenColumnCount": 0,
2447
+ "rowHeightInLines": 1,
2448
+ },
2449
+ },
2450
+ "enableLayoutUserSwitch": false,
2451
+ },
2452
+ "description": "",
2453
+ "displayName": "Delete exampleInterface",
2454
+ "icon": {
2455
+ "blueprint": {
2456
+ "color": "#000000",
2457
+ "locator": "edit",
2458
+ },
2459
+ "type": "blueprint",
2460
+ },
2461
+ "successMessage": [],
2462
+ "typeClasses": [],
2463
+ },
2464
+ "entities": {
2465
+ "affectedInterfaceTypes": [],
2466
+ "affectedLinkTypes": [],
2467
+ "affectedObjectTypes": [
2468
+ "com.palantir.exampleInterface",
2469
+ ],
2470
+ "typeGroups": [],
2471
+ },
2472
+ "formContentOrdering": [],
2473
+ "parameterOrdering": [
2474
+ "objectToDeleteParameter",
2475
+ ],
2476
+ "parameters": {
2477
+ "objectToDeleteParameter": {
2478
+ "displayMetadata": {
2479
+ "description": "",
2480
+ "displayName": "Delete object",
2481
+ "typeClasses": [],
2482
+ },
2483
+ "id": "objectToDeleteParameter",
2484
+ "type": {
2485
+ "interfaceReference": {
2486
+ "interfaceTypeRid": "com.palantir.exampleInterface",
2487
+ },
2488
+ "type": "interfaceReference",
2489
+ },
2490
+ },
2491
+ },
2492
+ "sections": {},
2493
+ "status": {
2494
+ "active": {},
2495
+ "type": "active",
2496
+ },
2497
+ },
2498
+ },
2499
+ },
2500
+ },
2501
+ "blockPermissionInformation": {
2502
+ "actionTypes": {},
2503
+ "linkTypes": {},
2504
+ "objectTypes": {},
2505
+ },
2506
+ "interfaceTypes": {
2507
+ "com.palantir.exampleInterface": {
2508
+ "interfaceType": {
2509
+ "apiName": "com.palantir.exampleInterface",
2510
+ "displayMetadata": {
2511
+ "description": "exampleInterface",
2512
+ "displayName": "exampleInterface",
2513
+ "icon": {
2514
+ "blueprint": {
2515
+ "color": "#4C90F0",
2516
+ "locator": "layout-hierarchy",
2517
+ },
2518
+ "type": "blueprint",
2519
+ },
2520
+ },
2521
+ "extendsInterfaces": [],
2522
+ "links": [],
2523
+ "properties": [],
2524
+ "propertiesV2": {
2525
+ "com.palantir.property1": {
2526
+ "required": true,
2527
+ "sharedPropertyType": {
2528
+ "aliases": [],
2529
+ "apiName": "com.palantir.property1",
2530
+ "baseFormatter": undefined,
2531
+ "dataConstraints": undefined,
2532
+ "displayMetadata": {
2533
+ "description": undefined,
2534
+ "displayName": "property1",
2535
+ "visibility": "NORMAL",
2536
+ },
2537
+ "gothamMapping": undefined,
2538
+ "indexedForSearch": true,
2539
+ "type": {
2540
+ "string": {
2541
+ "analyzerOverride": undefined,
2542
+ "enableAsciiFolding": undefined,
2543
+ "isLongText": false,
2544
+ "supportsEfficientLeadingWildcard": false,
2545
+ "supportsExactMatching": true,
2546
+ },
2547
+ "type": "string",
2548
+ },
2549
+ "typeClasses": [
2550
+ {
2551
+ "kind": "render_hint",
2552
+ "name": "SELECTABLE",
2553
+ },
2554
+ {
2555
+ "kind": "render_hint",
2556
+ "name": "SORTABLE",
2557
+ },
2558
+ ],
2559
+ "valueType": undefined,
2560
+ },
2561
+ },
2562
+ },
2563
+ "propertiesV3": {},
2564
+ "searchable": true,
2565
+ "status": {
2566
+ "active": {},
2567
+ "type": "active",
2568
+ },
2569
+ },
2570
+ },
2571
+ },
2572
+ "linkTypes": {},
2573
+ "objectTypes": {},
2574
+ "sharedPropertyTypes": {
2575
+ "com.palantir.property1": {
2576
+ "sharedPropertyType": {
2577
+ "aliases": [],
2578
+ "apiName": "com.palantir.property1",
2579
+ "baseFormatter": undefined,
2580
+ "dataConstraints": undefined,
2581
+ "displayMetadata": {
2582
+ "description": undefined,
2583
+ "displayName": "property1",
2584
+ "visibility": "NORMAL",
2585
+ },
2586
+ "gothamMapping": undefined,
2587
+ "indexedForSearch": true,
2588
+ "type": {
2589
+ "string": {
2590
+ "analyzerOverride": undefined,
2591
+ "enableAsciiFolding": undefined,
2592
+ "isLongText": false,
2593
+ "supportsEfficientLeadingWildcard": false,
2594
+ "supportsExactMatching": true,
2595
+ },
2596
+ "type": "string",
2597
+ },
2598
+ "typeClasses": [
2599
+ {
2600
+ "kind": "render_hint",
2601
+ "name": "SELECTABLE",
2602
+ },
2603
+ {
2604
+ "kind": "render_hint",
2605
+ "name": "SORTABLE",
2606
+ },
2607
+ ],
2608
+ "valueType": undefined,
2609
+ },
2610
+ },
2611
+ },
2612
+ },
2613
+ "randomnessKey": undefined,
2614
+ "valueTypes": {
2615
+ "valueTypes": [],
2616
+ },
2617
+ }
2618
+ `);});it("Interface actions with customizations are properly defined",()=>{const property1=defineSharedPropertyType({apiName:"property1",type:"string"});const property2=defineSharedPropertyType({apiName:"property2",type:"string"});const property3=defineSharedPropertyType({apiName:"property3",type:"string"});const exampleInterface=defineInterface({apiName:"exampleInterface",properties:{property1,property2,property3}});defineCreateInterfaceObjectAction({interfaceType:exampleInterface,apiName:"custom-api-name-1",displayName:"Custom Create Action",status:"experimental",actionLevelValidation:[{condition:{type:"group",name:"actionLevelGroup"}}],parameterConfiguration:{[property3.apiName]:{required:false,conditionalOverrides:[{type:"required",condition:{type:"and",conditions:[{type:"group",name:"parameterLevelGroup"},{type:"parameter",parameterId:property1.apiName,matches:{type:"staticValue",staticValue:{type:"string",string:"bar"}}}]}}],defaultValue:{type:"staticValue",staticValue:{type:"string",string:"default_fizz"}},displayName:"fizz_display",description:"fizz_description"}},excludedProperties:[property2.apiName],parameterOrdering:[property1.apiName,property3.apiName],enableLayoutSwitch:true,defaultFormat:"TABLE",tableConfiguration:{columnWidthByParameterRid:{},enableFileImport:false,fitHorizontally:true,frozenColumnCount:1,rowHeightInLines:10},submissionMetadata:{successMessage:"Custom success message",undoButtonConfiguration:true,submitButtonDisplayMetadata:{intent:"DANGER",text:"Custom button"}}});defineModifyInterfaceObjectAction({interfaceType:exampleInterface,apiName:"custom-api-name-2",displayName:"Custom Modify Action",status:"experimental",actionLevelValidation:[{condition:{type:"group",name:"actionLevelGroup"}}],parameterConfiguration:{[property3.apiName]:{required:false,conditionalOverrides:[{type:"required",condition:{type:"and",conditions:[{type:"group",name:"parameterLevelGroup"},{type:"parameter",parameterId:property1.apiName,matches:{type:"staticValue",staticValue:{type:"string",string:"bar"}}}]}}],defaultValue:{type:"staticValue",staticValue:{type:"string",string:"default_fizz"}},displayName:"fizz_display",description:"fizz_description"}},excludedProperties:[property2.apiName],parameterOrdering:[property1.apiName,property3.apiName],enableLayoutSwitch:true,defaultFormat:"TABLE",tableConfiguration:{columnWidthByParameterRid:{},enableFileImport:false,fitHorizontally:true,frozenColumnCount:1,rowHeightInLines:10},submissionMetadata:{successMessage:"Custom success message",undoButtonConfiguration:true,submitButtonDisplayMetadata:{intent:"DANGER",text:"Custom button"}}});expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1833
2619
  {
1834
2620
  "importedOntology": {
1835
2621
  "actionTypes": {},