@osdk/maker 0.13.0-beta.12 → 0.13.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 +22 -0
- package/README.md +49 -13
- package/build/browser/api/defineAction.js +30 -30
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/defineLink.js +30 -9
- package/build/browser/api/defineLink.js.map +1 -1
- package/build/browser/api/defineOntology.js +1 -1
- package/build/browser/api/defineOntology.js.map +1 -1
- package/build/browser/api/links/LinkType.js.map +1 -1
- package/build/browser/api/overall.test.js +1798 -695
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/cli/main.js +10 -1
- package/build/browser/cli/main.js.map +1 -1
- package/build/browser/conversion/toMarketplace/convertLink.js +14 -1
- package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -1
- package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +2 -2
- package/build/browser/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -1
- package/build/cjs/index.cjs +87 -44
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +38 -3
- package/build/esm/api/defineAction.js +30 -30
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/defineLink.js +30 -9
- package/build/esm/api/defineLink.js.map +1 -1
- package/build/esm/api/defineOntology.js +1 -1
- package/build/esm/api/defineOntology.js.map +1 -1
- package/build/esm/api/links/LinkType.js.map +1 -1
- package/build/esm/api/overall.test.js +1798 -695
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/cli/main.js +10 -1
- package/build/esm/cli/main.js.map +1 -1
- package/build/esm/conversion/toMarketplace/convertLink.js +14 -1
- package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -1
- package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js +2 -2
- package/build/esm/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.js.map +1 -1
- package/build/types/api/defineAction.d.ts +8 -2
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/defineLink.d.ts.map +1 -1
- package/build/types/api/defineOntology.d.ts +1 -1
- package/build/types/api/defineOntology.d.ts.map +1 -1
- package/build/types/api/links/LinkType.d.ts +29 -0
- package/build/types/api/links/LinkType.d.ts.map +1 -1
- package/build/types/cli/main.d.ts.map +1 -1
- package/build/types/conversion/toMarketplace/convertOntologyDefinitionToWireBlockData.d.ts.map +1 -1
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @osdk/maker
|
|
2
2
|
|
|
3
|
+
## 0.13.0-beta.14
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9dd5a63: Intermediary links in oac
|
|
8
|
+
- e62408b: Fix Maker Rid Generation
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [b7edfb5]
|
|
13
|
+
- @osdk/api@2.5.0-beta.14
|
|
14
|
+
|
|
15
|
+
## 0.13.0-beta.13
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- d815339: Allow interface props to be excluded from actions
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- @osdk/api@2.5.0-beta.13
|
|
24
|
+
|
|
3
25
|
## 0.13.0-beta.12
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -495,18 +495,18 @@ const departmentToEmployeesLink = defineLink({
|
|
|
495
495
|
one: {
|
|
496
496
|
object: departmentObject, // The "one" side of the relationship
|
|
497
497
|
metadata: {
|
|
498
|
-
apiName: "
|
|
499
|
-
displayName: "
|
|
500
|
-
pluralDisplayName: "
|
|
498
|
+
apiName: "employees",
|
|
499
|
+
displayName: "Employee",
|
|
500
|
+
pluralDisplayName: "Employees",
|
|
501
501
|
visibility: "NORMAL",
|
|
502
502
|
},
|
|
503
503
|
},
|
|
504
504
|
toMany: {
|
|
505
505
|
object: employeeObject, // The "many" side of the relationship
|
|
506
506
|
metadata: {
|
|
507
|
-
apiName: "
|
|
508
|
-
displayName: "
|
|
509
|
-
pluralDisplayName: "
|
|
507
|
+
apiName: "department",
|
|
508
|
+
displayName: "Department",
|
|
509
|
+
pluralDisplayName: "Departments",
|
|
510
510
|
visibility: "NORMAL",
|
|
511
511
|
},
|
|
512
512
|
},
|
|
@@ -522,6 +522,15 @@ const productToCategoriesLink = defineLink({
|
|
|
522
522
|
apiName: "productToCategories",
|
|
523
523
|
many: {
|
|
524
524
|
object: productObject, // One side of the many-to-many relationship
|
|
525
|
+
metadata: {
|
|
526
|
+
apiName: "categories",
|
|
527
|
+
displayName: "Category",
|
|
528
|
+
pluralDisplayName: "Categories",
|
|
529
|
+
visibility: "NORMAL",
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
toMany: {
|
|
533
|
+
object: categoryObject, // Other side of the many-to-many relationship
|
|
525
534
|
metadata: {
|
|
526
535
|
apiName: "products",
|
|
527
536
|
displayName: "Product",
|
|
@@ -529,15 +538,38 @@ const productToCategoriesLink = defineLink({
|
|
|
529
538
|
visibility: "NORMAL",
|
|
530
539
|
},
|
|
531
540
|
},
|
|
541
|
+
});
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### Intermediary Link
|
|
545
|
+
|
|
546
|
+
```typescript
|
|
547
|
+
// Define an object-backed link type between aircraft and flights using a manifest
|
|
548
|
+
const manifest = defineObject(...); // define an intermediary object
|
|
549
|
+
const aircraftToManifestLink = defineLink(...); // define a one-to-many link between aircraft and intermediary object
|
|
550
|
+
const flightsToManifestLink = defineLink(...); // define a one-to-many link between flights and intermediary object
|
|
551
|
+
|
|
552
|
+
const aircraftToFlightsLink = defineLink({
|
|
553
|
+
apiName: "aircraftToFlights",
|
|
554
|
+
many: {
|
|
555
|
+
object: aircraft,
|
|
556
|
+
metadata: {
|
|
557
|
+
displayName: "Flight",
|
|
558
|
+
pluralDisplayName: "Flights",
|
|
559
|
+
apiName: "flights",
|
|
560
|
+
},
|
|
561
|
+
linkToIntermediary: aircraftToManifestLink,
|
|
562
|
+
},
|
|
532
563
|
toMany: {
|
|
533
|
-
object:
|
|
564
|
+
object: flight,
|
|
534
565
|
metadata: {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
visibility: "NORMAL",
|
|
566
|
+
displayName: "Aircraft",
|
|
567
|
+
pluralDisplayName: "Aircraft",
|
|
568
|
+
apiName: "aircraft",
|
|
539
569
|
},
|
|
570
|
+
linkToIntermediary: flightsToManifestLink,
|
|
540
571
|
},
|
|
572
|
+
intermediaryObjectType: manifest,
|
|
541
573
|
});
|
|
542
574
|
```
|
|
543
575
|
|
|
@@ -609,7 +641,9 @@ import {
|
|
|
609
641
|
} from "@osdk/maker";
|
|
610
642
|
|
|
611
643
|
// Define an action to create objects implementing an interface
|
|
612
|
-
const createPersonAction = defineCreateInterfaceObjectAction(
|
|
644
|
+
const createPersonAction = defineCreateInterfaceObjectAction({
|
|
645
|
+
interfaceType: personInterface,
|
|
646
|
+
});
|
|
613
647
|
|
|
614
648
|
// Define an action for a specific object type that implements an interface
|
|
615
649
|
const createEmployeePersonAction = defineCreateInterfaceObjectAction(
|
|
@@ -618,7 +652,9 @@ const createEmployeePersonAction = defineCreateInterfaceObjectAction(
|
|
|
618
652
|
);
|
|
619
653
|
|
|
620
654
|
// Define an action to modify objects implementing an interface
|
|
621
|
-
const modifyPersonAction = defineModifyInterfaceObjectAction(
|
|
655
|
+
const modifyPersonAction = defineModifyInterfaceObjectAction({
|
|
656
|
+
interfaceType: personInterface,
|
|
657
|
+
});
|
|
622
658
|
```
|
|
623
659
|
|
|
624
660
|
### Custom Action
|
|
@@ -26,36 +26,36 @@ import { getFlattenedInterfaceProperties } from "./interface/getFlattenedInterfa
|
|
|
26
26
|
import { isStruct } from "./properties/PropertyTypeType.js";
|
|
27
27
|
export const MODIFY_OBJECT_PARAMETER = "objectToModifyParameter";
|
|
28
28
|
export const CREATE_OR_MODIFY_OBJECT_PARAMETER = "objectToCreateOrModifyParameter";
|
|
29
|
-
export function defineCreateInterfaceObjectAction(
|
|
30
|
-
const allProperties = Object.entries(getFlattenedInterfaceProperties(interfaceType)).filter(([_, prop]) => !isStruct(prop.sharedPropertyType.type));
|
|
31
|
-
if (allProperties.length !== Object.entries(getFlattenedInterfaceProperties(interfaceType)).length) {
|
|
32
|
-
consola.info(`Some properties on ${interfaceType.apiName} were skipped in the create action because they are structs`);
|
|
29
|
+
export function defineCreateInterfaceObjectAction(def) {
|
|
30
|
+
const allProperties = Object.entries(getFlattenedInterfaceProperties(def.interfaceType)).filter(([_, prop]) => !isStruct(prop.sharedPropertyType.type) && !(def.excludedProperties ?? []).includes(prop.sharedPropertyType.nonNameSpacedApiName));
|
|
31
|
+
if (allProperties.length !== Object.entries(getFlattenedInterfaceProperties(def.interfaceType)).length) {
|
|
32
|
+
consola.info(`Some properties on ${def.interfaceType.apiName} were skipped in the create action because they are structs`);
|
|
33
33
|
}
|
|
34
34
|
return defineAction({
|
|
35
|
-
apiName: `create-${kebab(interfaceType.apiName.split(".").pop() ?? interfaceType.apiName)}${objectType === undefined ? "" : `-${kebab(objectType.apiName.split(".").pop() ?? objectType.apiName)}`}`,
|
|
36
|
-
displayName: `Create ${interfaceType.displayMetadata.displayName}`,
|
|
35
|
+
apiName: `create-${kebab(def.interfaceType.apiName.split(".").pop() ?? def.interfaceType.apiName)}${def.objectType === undefined ? "" : `-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`}`,
|
|
36
|
+
displayName: `Create ${def.interfaceType.displayMetadata.displayName}`,
|
|
37
37
|
parameters: [{
|
|
38
38
|
id: "objectTypeParameter",
|
|
39
39
|
displayName: "Object type to create",
|
|
40
40
|
type: {
|
|
41
41
|
type: "objectTypeReference",
|
|
42
42
|
objectTypeReference: {
|
|
43
|
-
interfaceTypeRids: [interfaceType.apiName]
|
|
43
|
+
interfaceTypeRids: [def.interfaceType.apiName]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
validation: {
|
|
47
47
|
required: true,
|
|
48
|
-
allowedValues: objectType === undefined ? {
|
|
48
|
+
allowedValues: def.objectType === undefined ? {
|
|
49
49
|
type: "objectTypeReference",
|
|
50
|
-
interfaceTypes: [interfaceType.apiName]
|
|
50
|
+
interfaceTypes: [def.interfaceType.apiName]
|
|
51
51
|
} : {
|
|
52
52
|
type: "oneOf",
|
|
53
53
|
oneOf: [{
|
|
54
|
-
label: objectType.displayName,
|
|
54
|
+
label: def.objectType.displayName,
|
|
55
55
|
value: {
|
|
56
56
|
type: "objectType",
|
|
57
57
|
objectType: {
|
|
58
|
-
objectTypeId: objectType.apiName
|
|
58
|
+
objectTypeId: def.objectType.apiName
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}]
|
|
@@ -73,9 +73,9 @@ export function defineCreateInterfaceObjectAction(interfaceType, objectType, val
|
|
|
73
73
|
allowedValues: extractAllowedValuesFromPropertyType(prop.sharedPropertyType.type)
|
|
74
74
|
}
|
|
75
75
|
}))],
|
|
76
|
-
status: interfaceType.status.type !== "deprecated" ? interfaceType.status.type : interfaceType.status,
|
|
76
|
+
status: def.interfaceType.status.type !== "deprecated" ? def.interfaceType.status.type : def.interfaceType.status,
|
|
77
77
|
entities: {
|
|
78
|
-
affectedInterfaceTypes: [interfaceType.apiName],
|
|
78
|
+
affectedInterfaceTypes: [def.interfaceType.apiName],
|
|
79
79
|
affectedObjectTypes: [],
|
|
80
80
|
affectedLinkTypes: [],
|
|
81
81
|
typeGroups: []
|
|
@@ -83,7 +83,7 @@ export function defineCreateInterfaceObjectAction(interfaceType, objectType, val
|
|
|
83
83
|
rules: [{
|
|
84
84
|
type: "addInterfaceRule",
|
|
85
85
|
addInterfaceRule: {
|
|
86
|
-
interfaceApiName: interfaceType.apiName,
|
|
86
|
+
interfaceApiName: def.interfaceType.apiName,
|
|
87
87
|
objectTypeParameter: "objectTypeParameter",
|
|
88
88
|
sharedPropertyValues: Object.fromEntries(allProperties.map(([id, _prop]) => [id, {
|
|
89
89
|
type: "parameterId",
|
|
@@ -91,8 +91,8 @@ export function defineCreateInterfaceObjectAction(interfaceType, objectType, val
|
|
|
91
91
|
}]))
|
|
92
92
|
}
|
|
93
93
|
}],
|
|
94
|
-
...(validation ? {
|
|
95
|
-
validation: convertValidationRule(validation)
|
|
94
|
+
...(def.validation ? {
|
|
95
|
+
validation: convertValidationRule(def.validation)
|
|
96
96
|
} : {})
|
|
97
97
|
});
|
|
98
98
|
}
|
|
@@ -153,35 +153,35 @@ export function defineCreateObjectAction(def) {
|
|
|
153
153
|
})
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
|
-
export function defineModifyInterfaceObjectAction(
|
|
157
|
-
const allProperties = Object.entries(getFlattenedInterfaceProperties(interfaceType)).filter(([_, prop]) => !isStruct(prop.sharedPropertyType.type));
|
|
158
|
-
if (allProperties.length !== Object.entries(getFlattenedInterfaceProperties(interfaceType)).length) {
|
|
159
|
-
consola.info(`Some properties on ${interfaceType.apiName} were skipped in the modify action because they are structs`);
|
|
156
|
+
export function defineModifyInterfaceObjectAction(def) {
|
|
157
|
+
const allProperties = Object.entries(getFlattenedInterfaceProperties(def.interfaceType)).filter(([_, prop]) => !isStruct(prop.sharedPropertyType.type) && !(def.excludedProperties ?? []).includes(prop.sharedPropertyType.nonNameSpacedApiName));
|
|
158
|
+
if (allProperties.length !== Object.entries(getFlattenedInterfaceProperties(def.interfaceType)).length) {
|
|
159
|
+
consola.info(`Some properties on ${def.interfaceType.apiName} were skipped in the modify action because they are structs`);
|
|
160
160
|
}
|
|
161
161
|
return defineAction({
|
|
162
|
-
apiName: `modify-${kebab(interfaceType.apiName.split(".").pop() ?? interfaceType.apiName)}${objectType === undefined ? "" : `-${kebab(objectType.apiName.split(".").pop() ?? objectType.apiName)}`}`,
|
|
163
|
-
displayName: `Modify ${interfaceType.displayMetadata.displayName}`,
|
|
162
|
+
apiName: `modify-${kebab(def.interfaceType.apiName.split(".").pop() ?? def.interfaceType.apiName)}${def.objectType === undefined ? "" : `-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`}`,
|
|
163
|
+
displayName: `Modify ${def.interfaceType.displayMetadata.displayName}`,
|
|
164
164
|
parameters: [{
|
|
165
165
|
id: "interfaceObjectToModifyParameter",
|
|
166
166
|
displayName: "Object type to modify",
|
|
167
167
|
type: {
|
|
168
168
|
type: "interfaceReference",
|
|
169
169
|
interfaceReference: {
|
|
170
|
-
interfaceTypeRid: interfaceType.apiName
|
|
170
|
+
interfaceTypeRid: def.interfaceType.apiName
|
|
171
171
|
}
|
|
172
172
|
},
|
|
173
173
|
validation: {
|
|
174
174
|
required: true,
|
|
175
|
-
allowedValues: objectType === undefined ? {
|
|
175
|
+
allowedValues: def.objectType === undefined ? {
|
|
176
176
|
type: "interfaceObjectQuery"
|
|
177
177
|
} : {
|
|
178
178
|
type: "oneOf",
|
|
179
179
|
oneOf: [{
|
|
180
|
-
label: objectType.displayName,
|
|
180
|
+
label: def.objectType.displayName,
|
|
181
181
|
value: {
|
|
182
182
|
type: "objectType",
|
|
183
183
|
objectType: {
|
|
184
|
-
objectTypeId: objectType.apiName
|
|
184
|
+
objectTypeId: def.objectType.apiName
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
}]
|
|
@@ -199,9 +199,9 @@ export function defineModifyInterfaceObjectAction(interfaceType, objectType, val
|
|
|
199
199
|
allowedValues: extractAllowedValuesFromPropertyType(prop.sharedPropertyType.type)
|
|
200
200
|
}
|
|
201
201
|
}))],
|
|
202
|
-
status: interfaceType.status.type !== "deprecated" ? interfaceType.status.type : interfaceType.status,
|
|
202
|
+
status: def.interfaceType.status.type !== "deprecated" ? def.interfaceType.status.type : def.interfaceType.status,
|
|
203
203
|
entities: {
|
|
204
|
-
affectedInterfaceTypes: [interfaceType.apiName],
|
|
204
|
+
affectedInterfaceTypes: [def.interfaceType.apiName],
|
|
205
205
|
affectedObjectTypes: [],
|
|
206
206
|
affectedLinkTypes: [],
|
|
207
207
|
typeGroups: []
|
|
@@ -216,8 +216,8 @@ export function defineModifyInterfaceObjectAction(interfaceType, objectType, val
|
|
|
216
216
|
}]))
|
|
217
217
|
}
|
|
218
218
|
}],
|
|
219
|
-
...(validation ? {
|
|
220
|
-
validation: convertValidationRule(validation)
|
|
219
|
+
...(def.validation ? {
|
|
220
|
+
validation: convertValidationRule(def.validation)
|
|
221
221
|
} : {})
|
|
222
222
|
});
|
|
223
223
|
}
|