@osdk/maker 0.12.0-beta.8 → 0.12.0-rc.23

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 (59) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +88 -62
  3. package/build/browser/api/defineAction.js +403 -106
  4. package/build/browser/api/defineAction.js.map +1 -1
  5. package/build/browser/api/defineLink.js +2 -2
  6. package/build/browser/api/defineLink.js.map +1 -1
  7. package/build/browser/api/defineObject.js +6 -2
  8. package/build/browser/api/defineObject.js.map +1 -1
  9. package/build/browser/api/defineOntology.js +80 -35
  10. package/build/browser/api/defineOntology.js.map +1 -1
  11. package/build/browser/api/defineSpt.js.map +1 -1
  12. package/build/browser/api/ontologyUtils.js +80 -0
  13. package/build/browser/api/ontologyUtils.js.map +1 -1
  14. package/build/browser/api/overall.test.js +4741 -2358
  15. package/build/browser/api/overall.test.js.map +1 -1
  16. package/build/browser/api/types.js +2 -0
  17. package/build/browser/api/types.js.map +1 -1
  18. package/build/browser/cli/main.js +2 -10
  19. package/build/browser/cli/main.js.map +1 -1
  20. package/build/browser/index.js +5 -4
  21. package/build/browser/index.js.map +1 -1
  22. package/build/cjs/index.cjs +575 -153
  23. package/build/cjs/index.cjs.map +1 -1
  24. package/build/cjs/index.d.cts +98 -20
  25. package/build/esm/api/defineAction.js +403 -106
  26. package/build/esm/api/defineAction.js.map +1 -1
  27. package/build/esm/api/defineLink.js +2 -2
  28. package/build/esm/api/defineLink.js.map +1 -1
  29. package/build/esm/api/defineObject.js +6 -2
  30. package/build/esm/api/defineObject.js.map +1 -1
  31. package/build/esm/api/defineOntology.js +80 -35
  32. package/build/esm/api/defineOntology.js.map +1 -1
  33. package/build/esm/api/defineSpt.js.map +1 -1
  34. package/build/esm/api/ontologyUtils.js +80 -0
  35. package/build/esm/api/ontologyUtils.js.map +1 -1
  36. package/build/esm/api/overall.test.js +4741 -2358
  37. package/build/esm/api/overall.test.js.map +1 -1
  38. package/build/esm/api/types.js +2 -0
  39. package/build/esm/api/types.js.map +1 -1
  40. package/build/esm/cli/main.js +2 -10
  41. package/build/esm/cli/main.js.map +1 -1
  42. package/build/esm/index.js +5 -4
  43. package/build/esm/index.js.map +1 -1
  44. package/build/types/api/defineAction.d.ts +7 -6
  45. package/build/types/api/defineAction.d.ts.map +1 -1
  46. package/build/types/api/defineObject.d.ts +2 -2
  47. package/build/types/api/defineObject.d.ts.map +1 -1
  48. package/build/types/api/defineOntology.d.ts +3 -2
  49. package/build/types/api/defineOntology.d.ts.map +1 -1
  50. package/build/types/api/defineSpt.d.ts +2 -2
  51. package/build/types/api/defineSpt.d.ts.map +1 -1
  52. package/build/types/api/ontologyUtils.d.ts +5 -2
  53. package/build/types/api/ontologyUtils.d.ts.map +1 -1
  54. package/build/types/api/types.d.ts +83 -12
  55. package/build/types/api/types.d.ts.map +1 -1
  56. package/build/types/cli/main.d.ts.map +1 -1
  57. package/build/types/index.d.ts +6 -5
  58. package/build/types/index.d.ts.map +1 -1
  59. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,143 @@
1
1
  # @osdk/maker
2
2
 
3
+ ## 0.12.0-rc.23
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [8dd6229]
8
+ - @osdk/api@2.4.0-rc.19
9
+
10
+ ## 0.12.0-beta.22
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [722c89a]
15
+ - Updated dependencies [44bbbe0]
16
+ - @osdk/api@2.4.0-beta.18
17
+
18
+ ## 0.12.0-beta.21
19
+
20
+ ### Minor Changes
21
+
22
+ - 3ff44da: Existing OTs as action parameters in OAC
23
+ - 367cc04: Add default value and constraint overrides to OAC action parameters
24
+ - 283905f: Better error message for invalid parameter ordering on actions
25
+ - e62a890: Custom submission options for OAC actions
26
+ - 94beece: Enable "other" option for oneOf constraints on OAC actions
27
+
28
+ ### Patch Changes
29
+
30
+ - @osdk/api@2.4.0-beta.17
31
+
32
+ ## 0.12.0-beta.20
33
+
34
+ ### Minor Changes
35
+
36
+ - 45ed433: Target objects are configurable and default parameter ordering is better in OAC actions
37
+
38
+ ## 0.12.0-beta.19
39
+
40
+ ### Patch Changes
41
+
42
+ - @osdk/api@2.4.0-beta.16
43
+
44
+ ## 0.12.0-beta.18
45
+
46
+ ### Patch Changes
47
+
48
+ - @osdk/api@2.4.0-beta.15
49
+
50
+ ## 0.12.0-beta.17
51
+
52
+ ### Minor Changes
53
+
54
+ - f1f587b: Support custom parameters in OAC actions
55
+ - 641bc0c: Fix create-or-modify non parameter mapped property bug
56
+ - 25bae67: OAC modify object actions set parameter defaults to match the selected object
57
+ - 5c76e33: Trim value type before putting it in SPT IR
58
+
59
+ ### Patch Changes
60
+
61
+ - @osdk/api@2.4.0-beta.14
62
+
63
+ ## 0.12.0-beta.16
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [4bc848b]
68
+ - @osdk/api@2.4.0-beta.13
69
+
70
+ ## 0.12.0-beta.15
71
+
72
+ ### Minor Changes
73
+
74
+ - a1736f3: Actions can have properties that are not mapped to parameters
75
+ - c621638: Create or Modify actions in OAC
76
+
77
+ ### Patch Changes
78
+
79
+ - @osdk/api@2.4.0-beta.12
80
+
81
+ ## 0.12.0-beta.14
82
+
83
+ ### Minor Changes
84
+
85
+ - d384b4c: Add custom display names and descriptions for action parameters in OAC
86
+ - 02be685: Remove jiti
87
+
88
+ ### Patch Changes
89
+
90
+ - @osdk/api@2.4.0-beta.11
91
+
92
+ ## 0.12.0-beta.13
93
+
94
+ ### Minor Changes
95
+
96
+ - ed41359: Action sections in OAC
97
+
98
+ ## 0.12.0-beta.12
99
+
100
+ ### Minor Changes
101
+
102
+ - 666787f: fix text allowed values name
103
+
104
+ ### Patch Changes
105
+
106
+ - @osdk/api@2.4.0-beta.10
107
+
108
+ ## 0.12.0-beta.11
109
+
110
+ ### Minor Changes
111
+
112
+ - b0955ef: Action parameter defaults and table forms
113
+ - defc2cf: change parameterLevelValidations to parameterConfiguration
114
+
115
+ ### Patch Changes
116
+
117
+ - Updated dependencies [9101bad]
118
+ - @osdk/api@2.4.0-beta.9
119
+
120
+ ## 0.12.0-beta.10
121
+
122
+ ### Minor Changes
123
+
124
+ - 4dffba1: Support extended string params in actions
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies [9f4fe9e]
129
+ - @osdk/api@2.4.0-beta.8
130
+
131
+ ## 0.12.0-beta.9
132
+
133
+ ### Minor Changes
134
+
135
+ - ac0029e: Improve CRUD actions customization
136
+
137
+ ### Patch Changes
138
+
139
+ - @osdk/api@2.4.0-beta.7
140
+
3
141
  ## 0.12.0-beta.8
4
142
 
5
143
  ### Minor Changes
package/README.md CHANGED
@@ -567,72 +567,15 @@ const personToAddressLink = defineInterfaceLinkConstraint({
567
567
 
568
568
  Actions define operations that can be performed on objects and interfaces.
569
569
 
570
- ### Custom Action
571
-
572
- ```typescript
573
- import { defineAction } from "@osdk/maker";
574
-
575
- // Define a custom action
576
- const markAsInactiveAction = defineAction({
577
- apiName: "mark-as-inactive",
578
- displayName: "Mark as Inactive",
579
- parameters: [
580
- {
581
- id: "reason",
582
- displayName: "Reason",
583
- type: "string",
584
- validation: {
585
- required: true,
586
- allowedValues: { type: "text" },
587
- },
588
- },
589
- {
590
- id: "effectiveDate",
591
- displayName: "Effective Date",
592
- type: "date",
593
- validation: {
594
- required: true,
595
- allowedValues: { type: "datetime" },
596
- },
597
- },
598
- ],
599
- status: "active",
600
- rules: [
601
- {
602
- type: "addOrModifyObjectRuleV2",
603
- addOrModifyObjectRuleV2: {
604
- objectToModify: "objectToModifyParameter",
605
- propertyValues: {
606
- "isActive": {
607
- type: "staticValue",
608
- staticValue: {
609
- type: "boolean",
610
- boolean: false,
611
- },
612
- },
613
- "inactiveReason": {
614
- type: "parameterId",
615
- parameterId: "reason",
616
- },
617
- "inactiveDate": {
618
- type: "parameterId",
619
- parameterId: "effectiveDate",
620
- },
621
- },
622
- structFieldValues: {},
623
- },
624
- },
625
- ],
626
- });
627
- ```
628
-
629
570
  ### Create Object Action
630
571
 
631
572
  ```typescript
632
573
  import { defineCreateObjectAction } from "@osdk/maker";
633
574
 
634
575
  // Define an action to create an employee
635
- const createEmployeeAction = defineCreateObjectAction(employeeObject);
576
+ const createEmployeeAction = defineCreateObjectAction({
577
+ objectType: employeeObject,
578
+ });
636
579
  ```
637
580
 
638
581
  ### Modify Object Action
@@ -641,7 +584,9 @@ const createEmployeeAction = defineCreateObjectAction(employeeObject);
641
584
  import { defineModifyObjectAction } from "@osdk/maker";
642
585
 
643
586
  // Define an action to modify an employee
644
- const modifyEmployeeAction = defineModifyObjectAction(employeeObject);
587
+ const modifyEmployeeAction = defineModifyObjectAction({
588
+ objectType: employeeObject,
589
+ });
645
590
  ```
646
591
 
647
592
  ### Delete Object Action
@@ -650,7 +595,9 @@ const modifyEmployeeAction = defineModifyObjectAction(employeeObject);
650
595
  import { defineDeleteObjectAction } from "@osdk/maker";
651
596
 
652
597
  // Define an action to delete an employee
653
- const deleteEmployeeAction = defineDeleteObjectAction(employeeObject);
598
+ const deleteEmployeeAction = defineDeleteObjectAction({
599
+ objectType: employeeObject,
600
+ });
654
601
  ```
655
602
 
656
603
  ### Interface Actions
@@ -673,3 +620,82 @@ const createEmployeePersonAction = defineCreateInterfaceObjectAction(
673
620
  // Define an action to modify objects implementing an interface
674
621
  const modifyPersonAction = defineModifyInterfaceObjectAction(personInterface);
675
622
  ```
623
+
624
+ ### Custom Action
625
+
626
+ More customization such as security/submission criteria, constraints on parameter values, parameter overrides, etc.
627
+ can also be added.
628
+
629
+ ```typescript
630
+ import {
631
+ ActionParameterConditionalOverride,
632
+ ConditionDefinition,
633
+ defineModifyObjectAction,
634
+ defineObject,
635
+ } from "@osdk/maker";
636
+
637
+ const employeeObject = defineObject({
638
+ apiName: "employee",
639
+ displayName: "Employee",
640
+ pluralDisplayName: "Employees",
641
+ titlePropertyApiName: "id",
642
+ primaryKeyPropertyApiName: "id",
643
+ properties: {
644
+ "id": { type: "string", displayName: "ID" },
645
+ "team": { type: "string" },
646
+ "numDeals": { type: "integer" },
647
+ "experience": { type: "integer" },
648
+ },
649
+ });
650
+
651
+ const mustBeManagerCondition: ConditionDefinition = {
652
+ type: "group",
653
+ name: "managerGroup", // Actual group assigned during installation
654
+ };
655
+
656
+ const mustBeInTeamCondition: ConditionDefinition = {
657
+ type: "group",
658
+ name: "teamGroup",
659
+ };
660
+
661
+ const teamEqualsSalesParameterCondition: ConditionDefinition = {
662
+ type: "parameter",
663
+ parameterId: "team",
664
+ matches: {
665
+ type: "staticValue",
666
+ staticValue: {
667
+ type: "string",
668
+ string: "sales",
669
+ },
670
+ },
671
+ };
672
+
673
+ const makeDealsVisible: ActionParameterConditionalOverride = {
674
+ type: "visibility",
675
+ condition: {
676
+ type: "and",
677
+ conditions: [
678
+ mustBeInTeamCondition,
679
+ teamEqualsSalesParameterCondition,
680
+ ],
681
+ },
682
+ };
683
+
684
+ const modifyObjectActionType = defineModifyObjectAction(
685
+ {
686
+ objectType: employeeObject,
687
+ actionLevelValidation: {
688
+ condition: mustBeManagerCondition,
689
+ },
690
+ parameterConfiguration: {
691
+ "numDeals": {
692
+ defaultVisibility: "hidden",
693
+ conditionalOverrides: [
694
+ makeDealsVisible,
695
+ ],
696
+ },
697
+ },
698
+ excludedProperties: ["experience"],
699
+ },
700
+ );
701
+ ```