@pitcher/canvas-ui 2025.12.16-082908-beta → 2025.12.16-085511-beta
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/canvas-ui.js +56 -1
- package/canvas-ui.js.map +1 -1
- package/lib/sdk/api/HighLevelApi.d.ts +2 -0
- package/lib/sdk/api/modules/query.d.ts +41 -1
- package/lib/sdk/main.d.ts +6 -0
- package/lib/sdk/payload.types.d.ts +43 -0
- package/package.json +1 -1
package/canvas-ui.js
CHANGED
|
@@ -87815,6 +87815,49 @@ function crmSmartDeleteObjects(payload) {
|
|
|
87815
87815
|
}
|
|
87816
87816
|
return highLevelApi.API.request("crm_smart_delete_objects", payload);
|
|
87817
87817
|
}
|
|
87818
|
+
function crmCreate(payload) {
|
|
87819
|
+
if (!payload) {
|
|
87820
|
+
return Promise.reject(new Error("Payload is required"));
|
|
87821
|
+
}
|
|
87822
|
+
if (!payload.sobject || typeof payload.sobject !== "string" || payload.sobject.trim() === "") {
|
|
87823
|
+
return Promise.reject(new Error("sobject is required and must be a non-empty string"));
|
|
87824
|
+
}
|
|
87825
|
+
if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {
|
|
87826
|
+
return Promise.reject(new Error("records is required and must be a non-empty array"));
|
|
87827
|
+
}
|
|
87828
|
+
for (let i = 0; i < payload.records.length; i++) {
|
|
87829
|
+
const record = payload.records[i];
|
|
87830
|
+
if (!record || typeof record !== "object" || Array.isArray(record)) {
|
|
87831
|
+
return Promise.reject(
|
|
87832
|
+
new Error(`records contains invalid element at index ${i}. All records must be valid objects.`)
|
|
87833
|
+
);
|
|
87834
|
+
}
|
|
87835
|
+
}
|
|
87836
|
+
return highLevelApi.API.request("crm_create", payload);
|
|
87837
|
+
}
|
|
87838
|
+
function crmUpsert(payload) {
|
|
87839
|
+
if (!payload) {
|
|
87840
|
+
return Promise.reject(new Error("Payload is required"));
|
|
87841
|
+
}
|
|
87842
|
+
if (!payload.sobject || typeof payload.sobject !== "string" || payload.sobject.trim() === "") {
|
|
87843
|
+
return Promise.reject(new Error("sobject is required and must be a non-empty string"));
|
|
87844
|
+
}
|
|
87845
|
+
if (!payload.records || !Array.isArray(payload.records) || payload.records.length === 0) {
|
|
87846
|
+
return Promise.reject(new Error("records is required and must be a non-empty array"));
|
|
87847
|
+
}
|
|
87848
|
+
if (!payload.external_id_field || typeof payload.external_id_field !== "string" || payload.external_id_field.trim() === "") {
|
|
87849
|
+
return Promise.reject(new Error("external_id_field is required and must be a non-empty string"));
|
|
87850
|
+
}
|
|
87851
|
+
for (let i = 0; i < payload.records.length; i++) {
|
|
87852
|
+
const record = payload.records[i];
|
|
87853
|
+
if (!record || typeof record !== "object" || Array.isArray(record)) {
|
|
87854
|
+
return Promise.reject(
|
|
87855
|
+
new Error(`records contains invalid element at index ${i}. All records must be valid objects.`)
|
|
87856
|
+
);
|
|
87857
|
+
}
|
|
87858
|
+
}
|
|
87859
|
+
return highLevelApi.API.request("crm_upsert", payload);
|
|
87860
|
+
}
|
|
87818
87861
|
|
|
87819
87862
|
function getFolders(payload) {
|
|
87820
87863
|
return this.API.request("get_folders", payload);
|
|
@@ -87911,12 +87954,14 @@ const modules = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
|
87911
87954
|
createFavorite,
|
|
87912
87955
|
createFile,
|
|
87913
87956
|
createFolder,
|
|
87957
|
+
crmCreate,
|
|
87914
87958
|
crmQuery,
|
|
87915
87959
|
crmSmartDeleteObjects,
|
|
87916
87960
|
crmSmartObjectMetadata,
|
|
87917
87961
|
crmSmartObjectValidationRules,
|
|
87918
87962
|
crmSmartQuery,
|
|
87919
87963
|
crmSmartUpsertObjects,
|
|
87964
|
+
crmUpsert,
|
|
87920
87965
|
deleteCanvas,
|
|
87921
87966
|
deleteEvent,
|
|
87922
87967
|
deleteFavorite,
|
|
@@ -88505,6 +88550,15 @@ function getTopPitcherWindow(current = window) {
|
|
|
88505
88550
|
}
|
|
88506
88551
|
|
|
88507
88552
|
const TRUNCATE_LENGTH_TRIGGER = 10;
|
|
88553
|
+
const RAW_PAYLOAD_METHODS = [
|
|
88554
|
+
"crm_create",
|
|
88555
|
+
"crm_upsert",
|
|
88556
|
+
"crm_smart_query",
|
|
88557
|
+
"crm_smart_object_metadata",
|
|
88558
|
+
"crm_smart_object_validation_rules",
|
|
88559
|
+
"crm_smart_upsert_objects",
|
|
88560
|
+
"crm_smart_delete_objects"
|
|
88561
|
+
];
|
|
88508
88562
|
function updateOnlineHandlersEnv(env) {
|
|
88509
88563
|
env && setEnv(env);
|
|
88510
88564
|
}
|
|
@@ -88570,7 +88624,8 @@ class LowLevelApi extends EventEmitter {
|
|
|
88570
88624
|
throw new Error("unsupported response status");
|
|
88571
88625
|
}
|
|
88572
88626
|
};
|
|
88573
|
-
const
|
|
88627
|
+
const shouldSkipSnakeCase = RAW_PAYLOAD_METHODS.includes(type);
|
|
88628
|
+
const payload = shouldSkipSnakeCase ? cloneDeep(body) : cloneDeep(snakeCaseKeys(body));
|
|
88574
88629
|
this.callbacks[id] = {
|
|
88575
88630
|
dispatched_at: Date.now(),
|
|
88576
88631
|
type,
|