@stndrds/schema 0.1.0-alpha.60 → 0.1.0-alpha.62
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/dist/{chunk-KN6UXXVU.js → chunk-KMAKDHCL.js} +213 -146
- package/dist/{chunk-RRCPZUSK.mjs → chunk-MUJVBSBL.mjs} +212 -145
- package/dist/index.d.mts +164 -95
- package/dist/index.d.ts +164 -95
- package/dist/index.js +45 -14
- package/dist/index.mjs +40 -9
- package/dist/{runtime-Cx6QJ4QV.d.ts → runtime-7G9tZJYC.d.ts} +72 -37
- package/dist/{runtime-D0XMDY1D.d.mts → runtime-C4U2ppAk.d.mts} +72 -37
- package/dist/runtime.d.mts +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +2 -2
- package/dist/runtime.mjs +1 -1
- package/package.json +2 -2
|
@@ -1885,6 +1885,41 @@ function evaluateWithTrace(condition, context) {
|
|
|
1885
1885
|
return evaluateCondition(condition, context, true);
|
|
1886
1886
|
}
|
|
1887
1887
|
|
|
1888
|
+
// src/types/errors.ts
|
|
1889
|
+
var RecordReferencedError = class extends Error {
|
|
1890
|
+
constructor(recordId, references) {
|
|
1891
|
+
const total = references.reduce((sum, r) => sum + r.count, 0);
|
|
1892
|
+
super(`Cannot delete record: referenced by ${total} record${total > 1 ? "s" : ""}`);
|
|
1893
|
+
this.recordId = recordId;
|
|
1894
|
+
this.references = references;
|
|
1895
|
+
this.code = "RECORD_REFERENCED";
|
|
1896
|
+
this.name = "RecordReferencedError";
|
|
1897
|
+
}
|
|
1898
|
+
};
|
|
1899
|
+
var AttributeInUseError = class extends Error {
|
|
1900
|
+
constructor(attributeName, usage) {
|
|
1901
|
+
super(`Cannot delete attribute "${attributeName}": used in ${usage}`);
|
|
1902
|
+
this.attributeName = attributeName;
|
|
1903
|
+
this.usage = usage;
|
|
1904
|
+
this.code = "ATTRIBUTE_IN_USE";
|
|
1905
|
+
this.name = "AttributeInUseError";
|
|
1906
|
+
}
|
|
1907
|
+
};
|
|
1908
|
+
var ObjectReferencedError = class extends Error {
|
|
1909
|
+
constructor(objectName, referencingObjects) {
|
|
1910
|
+
super(
|
|
1911
|
+
`Cannot delete object "${objectName}": target of relations in ${referencingObjects.join(", ")}`
|
|
1912
|
+
);
|
|
1913
|
+
this.objectName = objectName;
|
|
1914
|
+
this.referencingObjects = referencingObjects;
|
|
1915
|
+
this.code = "OBJECT_REFERENCED";
|
|
1916
|
+
this.name = "ObjectReferencedError";
|
|
1917
|
+
}
|
|
1918
|
+
};
|
|
1919
|
+
function getErrorMessage(error2) {
|
|
1920
|
+
return error2 instanceof Error ? error2.message : String(error2);
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1888
1923
|
// src/runtime/executors/types.ts
|
|
1889
1924
|
var ExecutorRegistry = class {
|
|
1890
1925
|
constructor() {
|
|
@@ -1927,7 +1962,7 @@ var ExecutorRegistry = class {
|
|
|
1927
1962
|
return {
|
|
1928
1963
|
status: "error",
|
|
1929
1964
|
code: "EXECUTOR_ERROR",
|
|
1930
|
-
message: error2
|
|
1965
|
+
message: getErrorMessage(error2),
|
|
1931
1966
|
retryable: true
|
|
1932
1967
|
};
|
|
1933
1968
|
}
|
|
@@ -2418,7 +2453,7 @@ function evaluateFormulaWithResult(expression, values) {
|
|
|
2418
2453
|
} catch (error2) {
|
|
2419
2454
|
return {
|
|
2420
2455
|
value: null,
|
|
2421
|
-
error: error2
|
|
2456
|
+
error: getErrorMessage(error2)
|
|
2422
2457
|
};
|
|
2423
2458
|
}
|
|
2424
2459
|
}
|
|
@@ -2458,7 +2493,7 @@ function validateFormulaExpression(expression) {
|
|
|
2458
2493
|
} catch (error2) {
|
|
2459
2494
|
return {
|
|
2460
2495
|
valid: false,
|
|
2461
|
-
error: error2
|
|
2496
|
+
error: getErrorMessage(error2)
|
|
2462
2497
|
};
|
|
2463
2498
|
}
|
|
2464
2499
|
}
|
|
@@ -4089,7 +4124,6 @@ function createMockObjectRecordsRepository(stores) {
|
|
|
4089
4124
|
}
|
|
4090
4125
|
|
|
4091
4126
|
// src/runtime/mock/mock-relation-attributes.ts
|
|
4092
|
-
var _crypto = require('crypto');
|
|
4093
4127
|
function createMockRelationAttributesRepository(stores) {
|
|
4094
4128
|
return {
|
|
4095
4129
|
async upsertBatch(items) {
|
|
@@ -4110,7 +4144,7 @@ function createMockRelationAttributesRepository(stores) {
|
|
|
4110
4144
|
results.push(existing);
|
|
4111
4145
|
} else {
|
|
4112
4146
|
const row = {
|
|
4113
|
-
id:
|
|
4147
|
+
id: _chunkNEVERCM3js.generateId.call(void 0, ),
|
|
4114
4148
|
tenantId: context.tenantId,
|
|
4115
4149
|
fromObject: item.fromObject,
|
|
4116
4150
|
fromId: item.fromId,
|
|
@@ -6957,7 +6991,6 @@ function object(config) {
|
|
|
6957
6991
|
|
|
6958
6992
|
// src/builders/view-builder.ts
|
|
6959
6993
|
|
|
6960
|
-
|
|
6961
6994
|
var GroupBuilder = class {
|
|
6962
6995
|
constructor(id, label) {
|
|
6963
6996
|
this.data = { fields: [] };
|
|
@@ -7050,6 +7083,15 @@ var BaseTableTabConfig = class {
|
|
|
7050
7083
|
this.tabData.allowCreate = true;
|
|
7051
7084
|
return this;
|
|
7052
7085
|
}
|
|
7086
|
+
/**
|
|
7087
|
+
* Set creation behavior when clicking "+"
|
|
7088
|
+
* @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
|
|
7089
|
+
* @example .createMode("inline") or .createMode("modal")
|
|
7090
|
+
*/
|
|
7091
|
+
createMode(mode) {
|
|
7092
|
+
this.tabData.createMode = mode;
|
|
7093
|
+
return this;
|
|
7094
|
+
}
|
|
7053
7095
|
/**
|
|
7054
7096
|
* Allow inline editing
|
|
7055
7097
|
*/
|
|
@@ -7655,8 +7697,6 @@ var ListViewBuilder = class {
|
|
|
7655
7697
|
this.data = {
|
|
7656
7698
|
name,
|
|
7657
7699
|
label,
|
|
7658
|
-
layout: "table",
|
|
7659
|
-
columns: [],
|
|
7660
7700
|
tabs: []
|
|
7661
7701
|
};
|
|
7662
7702
|
}
|
|
@@ -7697,82 +7737,21 @@ var ListViewBuilder = class {
|
|
|
7697
7737
|
return this;
|
|
7698
7738
|
}
|
|
7699
7739
|
/**
|
|
7700
|
-
* Set
|
|
7701
|
-
|
|
7702
|
-
table() {
|
|
7703
|
-
this.data.layout = "table";
|
|
7704
|
-
return this;
|
|
7705
|
-
}
|
|
7706
|
-
/**
|
|
7707
|
-
* Set the layout to kanban and specify the grouping attribute
|
|
7708
|
-
* @param groupByAttribute - Attribute to group by (must be a select/status type)
|
|
7709
|
-
*/
|
|
7710
|
-
kanban(groupByAttribute) {
|
|
7711
|
-
this.data.layout = "kanban";
|
|
7712
|
-
this.data.groupByAttribute = groupByAttribute;
|
|
7713
|
-
return this;
|
|
7714
|
-
}
|
|
7715
|
-
/**
|
|
7716
|
-
* Set columns to display
|
|
7717
|
-
* @example .columns("name", "email", "status", "createdAt")
|
|
7718
|
-
*/
|
|
7719
|
-
columns(...names) {
|
|
7720
|
-
this.data.columns = names;
|
|
7721
|
-
return this;
|
|
7722
|
-
}
|
|
7723
|
-
/**
|
|
7724
|
-
* Set width for a specific column in pixels
|
|
7725
|
-
* @example .columnWidth("email", 200)
|
|
7726
|
-
*/
|
|
7727
|
-
columnWidth(columnName, width) {
|
|
7728
|
-
if (!this.data.columnSizing) {
|
|
7729
|
-
this.data.columnSizing = {};
|
|
7730
|
-
}
|
|
7731
|
-
this.data.columnSizing[columnName] = width;
|
|
7732
|
-
return this;
|
|
7733
|
-
}
|
|
7734
|
-
/**
|
|
7735
|
-
* Set widths for multiple columns
|
|
7736
|
-
* @example .columnWidths({ email: 200, name: 300, status: 100 })
|
|
7737
|
-
*/
|
|
7738
|
-
columnWidths(widths) {
|
|
7739
|
-
this.data.columnSizing = { ...this.data.columnSizing, ...widths };
|
|
7740
|
-
return this;
|
|
7741
|
-
}
|
|
7742
|
-
/**
|
|
7743
|
-
* Set default filters
|
|
7744
|
-
* @example .filter({ combinator: "and", rules: [{ attribute: "status", operator: "is", value: "active" }] })
|
|
7740
|
+
* Set base filters applied to ALL tabs (scoping, tenant, etc.)
|
|
7741
|
+
* @example .baseFilter({ combinator: "and", rules: [{ attribute: "tenant", operator: "is", value: "acme" }] })
|
|
7745
7742
|
*/
|
|
7746
|
-
|
|
7743
|
+
baseFilter(filters) {
|
|
7747
7744
|
this.data.defaultFilters = filters;
|
|
7748
7745
|
return this;
|
|
7749
7746
|
}
|
|
7750
7747
|
/**
|
|
7751
|
-
* Add a
|
|
7752
|
-
*
|
|
7753
|
-
*/
|
|
7754
|
-
sort(attribute, direction = "asc") {
|
|
7755
|
-
if (!this.data.defaultSorts) {
|
|
7756
|
-
this.data.defaultSorts = [];
|
|
7757
|
-
}
|
|
7758
|
-
this.data.defaultSorts.push({ attribute, direction });
|
|
7759
|
-
return this;
|
|
7760
|
-
}
|
|
7761
|
-
/**
|
|
7762
|
-
* Set multiple sort rules
|
|
7763
|
-
* @example .sorts([{ attribute: "lastName", direction: "asc" }, { attribute: "firstName", direction: "asc" }])
|
|
7764
|
-
*/
|
|
7765
|
-
sorts(rules) {
|
|
7766
|
-
this.data.defaultSorts = rules;
|
|
7767
|
-
return this;
|
|
7768
|
-
}
|
|
7769
|
-
/**
|
|
7770
|
-
* Add an internal tab (filter preset)
|
|
7771
|
-
* Returns a TabConfigBuilder for chaining tab configuration
|
|
7748
|
+
* Add a tab with its own full configuration (layout, columns, filters, sorts, groupBy)
|
|
7749
|
+
* Returns a ListViewTabConfigBuilder for chaining tab configuration
|
|
7772
7750
|
* @example
|
|
7773
7751
|
* ```typescript
|
|
7774
|
-
* .tab("all", "All Contacts").
|
|
7775
|
-
* .tab("active", "Active").
|
|
7752
|
+
* .tab("all", "All Contacts").columns("name", "email").default()
|
|
7753
|
+
* .tab("active", "Active").columns("name", "email").filter({ ... })
|
|
7754
|
+
* .tab("pipeline", "Pipeline").kanban("stage").columns("name", "amount")
|
|
7776
7755
|
* ```
|
|
7777
7756
|
*/
|
|
7778
7757
|
tab(id, label) {
|
|
@@ -7792,13 +7771,8 @@ var ListViewBuilder = class {
|
|
|
7792
7771
|
if (!this.data.object) {
|
|
7793
7772
|
throw new Error("[ListViewBuilder] for() is required - specify the target object");
|
|
7794
7773
|
}
|
|
7795
|
-
if (this.data.
|
|
7796
|
-
throw new Error("[ListViewBuilder]
|
|
7797
|
-
}
|
|
7798
|
-
if (this.data.layout === "kanban" && !this.data.groupByAttribute) {
|
|
7799
|
-
throw new Error(
|
|
7800
|
-
"[ListViewBuilder] kanban() requires a groupByAttribute - specify the attribute to group by"
|
|
7801
|
-
);
|
|
7774
|
+
if (this.data.tabs.length === 0) {
|
|
7775
|
+
throw new Error("[ListViewBuilder] At least one tab is required");
|
|
7802
7776
|
}
|
|
7803
7777
|
const tabIds = /* @__PURE__ */ new Set();
|
|
7804
7778
|
for (const tab of this.data.tabs) {
|
|
@@ -7811,28 +7785,39 @@ var ListViewBuilder = class {
|
|
|
7811
7785
|
if (defaultTabs.length > 1) {
|
|
7812
7786
|
throw new Error("[ListViewBuilder] Only one tab can be marked as default");
|
|
7813
7787
|
}
|
|
7788
|
+
for (const tab of this.data.tabs) {
|
|
7789
|
+
if (tab.columns.length === 0) {
|
|
7790
|
+
throw new Error(`[ListViewBuilder] Tab "${tab.id}" must have at least one column`);
|
|
7791
|
+
}
|
|
7792
|
+
if (tab.layout === "kanban" && !tab.groupByAttribute) {
|
|
7793
|
+
throw new Error(`[ListViewBuilder] Kanban tab "${tab.id}" requires a groupByAttribute`);
|
|
7794
|
+
}
|
|
7795
|
+
}
|
|
7814
7796
|
const config = {
|
|
7815
|
-
layout: this.data.layout,
|
|
7816
|
-
columns: this.data.columns,
|
|
7817
|
-
columnSizing: this.data.columnSizing,
|
|
7818
7797
|
defaultFilters: this.data.defaultFilters ? {
|
|
7819
|
-
id:
|
|
7798
|
+
id: _chunkNEVERCM3js.generateId.call(void 0, ),
|
|
7820
7799
|
combinator: this.data.defaultFilters.combinator,
|
|
7821
7800
|
rules: this.data.defaultFilters.rules
|
|
7822
7801
|
} : void 0,
|
|
7823
|
-
|
|
7824
|
-
groupByAttribute: this.data.groupByAttribute,
|
|
7825
|
-
tabs: this.data.tabs.length > 0 ? this.data.tabs.map((tab) => ({
|
|
7802
|
+
tabs: this.data.tabs.map((tab) => ({
|
|
7826
7803
|
id: tab.id,
|
|
7827
7804
|
label: tab.label,
|
|
7828
7805
|
icon: tab.icon,
|
|
7806
|
+
default: tab.default,
|
|
7807
|
+
layout: tab.layout,
|
|
7808
|
+
columns: tab.columns,
|
|
7809
|
+
columnSizing: tab.columnSizing,
|
|
7829
7810
|
filters: tab.filters ? {
|
|
7830
|
-
id:
|
|
7811
|
+
id: _chunkNEVERCM3js.generateId.call(void 0, ),
|
|
7831
7812
|
combinator: tab.filters.combinator,
|
|
7832
7813
|
rules: tab.filters.rules
|
|
7833
7814
|
} : void 0,
|
|
7834
|
-
|
|
7835
|
-
|
|
7815
|
+
sorts: tab.sorts,
|
|
7816
|
+
groupByAttribute: tab.groupByAttribute,
|
|
7817
|
+
cardUserAttribute: tab.cardUserAttribute,
|
|
7818
|
+
cardDateAttribute: tab.cardDateAttribute,
|
|
7819
|
+
createMode: tab.createMode
|
|
7820
|
+
}))
|
|
7836
7821
|
};
|
|
7837
7822
|
return {
|
|
7838
7823
|
name: this.data.name,
|
|
@@ -7867,7 +7852,12 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
|
|
|
7867
7852
|
/** @internal */
|
|
7868
7853
|
constructor(view2, id, label) {
|
|
7869
7854
|
this.view = view2;
|
|
7870
|
-
this.tabData = {
|
|
7855
|
+
this.tabData = {
|
|
7856
|
+
id,
|
|
7857
|
+
label,
|
|
7858
|
+
layout: "table",
|
|
7859
|
+
columns: []
|
|
7860
|
+
};
|
|
7871
7861
|
}
|
|
7872
7862
|
/**
|
|
7873
7863
|
* Set tab icon
|
|
@@ -7877,7 +7867,74 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
|
|
|
7877
7867
|
return this;
|
|
7878
7868
|
}
|
|
7879
7869
|
/**
|
|
7880
|
-
*
|
|
7870
|
+
* Mark this tab as the default tab
|
|
7871
|
+
*/
|
|
7872
|
+
default() {
|
|
7873
|
+
this.tabData.default = true;
|
|
7874
|
+
return this;
|
|
7875
|
+
}
|
|
7876
|
+
/**
|
|
7877
|
+
* Set the layout to table (default)
|
|
7878
|
+
*/
|
|
7879
|
+
table() {
|
|
7880
|
+
this.tabData.layout = "table";
|
|
7881
|
+
return this;
|
|
7882
|
+
}
|
|
7883
|
+
/**
|
|
7884
|
+
* Set the layout to kanban and specify the grouping attribute
|
|
7885
|
+
* @param groupByAttribute - Attribute to group by (must be a select/status type)
|
|
7886
|
+
*/
|
|
7887
|
+
kanban(groupByAttribute) {
|
|
7888
|
+
this.tabData.layout = "kanban";
|
|
7889
|
+
this.tabData.groupByAttribute = groupByAttribute;
|
|
7890
|
+
return this;
|
|
7891
|
+
}
|
|
7892
|
+
/**
|
|
7893
|
+
* Set the user attribute to display on kanban cards (bottom-left)
|
|
7894
|
+
* @param attributeName - Name of a user-type attribute
|
|
7895
|
+
*/
|
|
7896
|
+
cardUserAttribute(attributeName) {
|
|
7897
|
+
this.tabData.cardUserAttribute = attributeName;
|
|
7898
|
+
return this;
|
|
7899
|
+
}
|
|
7900
|
+
/**
|
|
7901
|
+
* Set the date attribute to display on kanban cards (bottom-right)
|
|
7902
|
+
* @param attributeName - Name of a date-type attribute
|
|
7903
|
+
*/
|
|
7904
|
+
cardDateAttribute(attributeName) {
|
|
7905
|
+
this.tabData.cardDateAttribute = attributeName;
|
|
7906
|
+
return this;
|
|
7907
|
+
}
|
|
7908
|
+
/**
|
|
7909
|
+
* Set creation behavior when clicking "+"
|
|
7910
|
+
* @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
|
|
7911
|
+
* @example .createMode("inline") or .createMode("modal")
|
|
7912
|
+
*/
|
|
7913
|
+
createMode(mode) {
|
|
7914
|
+
this.tabData.createMode = mode;
|
|
7915
|
+
return this;
|
|
7916
|
+
}
|
|
7917
|
+
/**
|
|
7918
|
+
* Set columns to display
|
|
7919
|
+
* @example .columns("name", "email", "status", "createdAt")
|
|
7920
|
+
*/
|
|
7921
|
+
columns(...names) {
|
|
7922
|
+
this.tabData.columns = names;
|
|
7923
|
+
return this;
|
|
7924
|
+
}
|
|
7925
|
+
/**
|
|
7926
|
+
* Set width for a specific column in pixels
|
|
7927
|
+
* @example .columnWidth("email", 200)
|
|
7928
|
+
*/
|
|
7929
|
+
columnWidth(columnName, width) {
|
|
7930
|
+
if (!this.tabData.columnSizing) {
|
|
7931
|
+
this.tabData.columnSizing = {};
|
|
7932
|
+
}
|
|
7933
|
+
this.tabData.columnSizing[columnName] = width;
|
|
7934
|
+
return this;
|
|
7935
|
+
}
|
|
7936
|
+
/**
|
|
7937
|
+
* Set filters for this tab
|
|
7881
7938
|
* @example .filter({ combinator: "and", rules: [{ attribute: "status", operator: "is", value: "active" }] })
|
|
7882
7939
|
*/
|
|
7883
7940
|
filter(filters) {
|
|
@@ -7885,10 +7942,22 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
|
|
|
7885
7942
|
return this;
|
|
7886
7943
|
}
|
|
7887
7944
|
/**
|
|
7888
|
-
*
|
|
7945
|
+
* Add a single sort rule
|
|
7946
|
+
* @example .sort("lastName", "asc")
|
|
7889
7947
|
*/
|
|
7890
|
-
|
|
7891
|
-
this.tabData.
|
|
7948
|
+
sort(attribute, direction = "asc") {
|
|
7949
|
+
if (!this.tabData.sorts) {
|
|
7950
|
+
this.tabData.sorts = [];
|
|
7951
|
+
}
|
|
7952
|
+
this.tabData.sorts.push({ attribute, direction });
|
|
7953
|
+
return this;
|
|
7954
|
+
}
|
|
7955
|
+
/**
|
|
7956
|
+
* Set multiple sort rules
|
|
7957
|
+
* @example .sorts([{ attribute: "lastName", direction: "asc" }, { attribute: "firstName", direction: "asc" }])
|
|
7958
|
+
*/
|
|
7959
|
+
sorts(rules) {
|
|
7960
|
+
this.tabData.sorts = rules;
|
|
7892
7961
|
return this;
|
|
7893
7962
|
}
|
|
7894
7963
|
/**
|
|
@@ -8484,38 +8553,6 @@ function isPresentationProperty(property) {
|
|
|
8484
8553
|
return PRESENTATION_PROPERTIES.includes(property);
|
|
8485
8554
|
}
|
|
8486
8555
|
|
|
8487
|
-
// src/types/errors.ts
|
|
8488
|
-
var RecordReferencedError = class extends Error {
|
|
8489
|
-
constructor(recordId, references) {
|
|
8490
|
-
const total = references.reduce((sum, r) => sum + r.count, 0);
|
|
8491
|
-
super(`Cannot delete record: referenced by ${total} record${total > 1 ? "s" : ""}`);
|
|
8492
|
-
this.recordId = recordId;
|
|
8493
|
-
this.references = references;
|
|
8494
|
-
this.code = "RECORD_REFERENCED";
|
|
8495
|
-
this.name = "RecordReferencedError";
|
|
8496
|
-
}
|
|
8497
|
-
};
|
|
8498
|
-
var AttributeInUseError = class extends Error {
|
|
8499
|
-
constructor(attributeName, usage) {
|
|
8500
|
-
super(`Cannot delete attribute "${attributeName}": used in ${usage}`);
|
|
8501
|
-
this.attributeName = attributeName;
|
|
8502
|
-
this.usage = usage;
|
|
8503
|
-
this.code = "ATTRIBUTE_IN_USE";
|
|
8504
|
-
this.name = "AttributeInUseError";
|
|
8505
|
-
}
|
|
8506
|
-
};
|
|
8507
|
-
var ObjectReferencedError = class extends Error {
|
|
8508
|
-
constructor(objectName, referencingObjects) {
|
|
8509
|
-
super(
|
|
8510
|
-
`Cannot delete object "${objectName}": target of relations in ${referencingObjects.join(", ")}`
|
|
8511
|
-
);
|
|
8512
|
-
this.objectName = objectName;
|
|
8513
|
-
this.referencingObjects = referencingObjects;
|
|
8514
|
-
this.code = "OBJECT_REFERENCED";
|
|
8515
|
-
this.name = "ObjectReferencedError";
|
|
8516
|
-
}
|
|
8517
|
-
};
|
|
8518
|
-
|
|
8519
8556
|
// src/types/system-attributes.ts
|
|
8520
8557
|
var SYSTEM_ATTRIBUTES = {
|
|
8521
8558
|
createdAt: {
|
|
@@ -11968,6 +12005,28 @@ var RecordService = class extends BaseService {
|
|
|
11968
12005
|
});
|
|
11969
12006
|
}
|
|
11970
12007
|
}
|
|
12008
|
+
/**
|
|
12009
|
+
* Delete multiple records (soft delete).
|
|
12010
|
+
* Each record goes through the full deleteRecord pipeline (permissions, policies, hooks, audit).
|
|
12011
|
+
*
|
|
12012
|
+
* @returns Summary with successfully deleted IDs and any errors encountered
|
|
12013
|
+
*/
|
|
12014
|
+
async bulkDeleteRecords(recordIds, options) {
|
|
12015
|
+
const deleted = [];
|
|
12016
|
+
const errors = [];
|
|
12017
|
+
for (const id of recordIds) {
|
|
12018
|
+
try {
|
|
12019
|
+
await this.deleteRecord(id, options);
|
|
12020
|
+
deleted.push(id);
|
|
12021
|
+
} catch (err) {
|
|
12022
|
+
errors.push({
|
|
12023
|
+
id,
|
|
12024
|
+
error: err instanceof Error ? err.message : String(err)
|
|
12025
|
+
});
|
|
12026
|
+
}
|
|
12027
|
+
}
|
|
12028
|
+
return { deleted, errors };
|
|
12029
|
+
}
|
|
11971
12030
|
/**
|
|
11972
12031
|
* Permanently delete a record (hard delete)
|
|
11973
12032
|
*/
|
|
@@ -12387,7 +12446,7 @@ var DocumentRendererService = class {
|
|
|
12387
12446
|
throw error2;
|
|
12388
12447
|
}
|
|
12389
12448
|
throw new DocumentRenderError(
|
|
12390
|
-
`Failed to render document: ${
|
|
12449
|
+
`Failed to render document: ${getErrorMessage(error2)}`,
|
|
12391
12450
|
template.id,
|
|
12392
12451
|
error2
|
|
12393
12452
|
);
|
|
@@ -12659,7 +12718,7 @@ var DocumentProcessingHook = class extends BaseService {
|
|
|
12659
12718
|
metadata: { ...metadata, status: "completed" }
|
|
12660
12719
|
};
|
|
12661
12720
|
} catch (error2) {
|
|
12662
|
-
const errorMessage =
|
|
12721
|
+
const errorMessage = getErrorMessage(error2);
|
|
12663
12722
|
updatedDocuments[nodeId] = {
|
|
12664
12723
|
...doc,
|
|
12665
12724
|
metadata: { ...metadata, status: "failed", error: errorMessage }
|
|
@@ -13126,7 +13185,7 @@ var WorkflowInstanceService = class extends BaseService {
|
|
|
13126
13185
|
status: "failed",
|
|
13127
13186
|
error: {
|
|
13128
13187
|
code: "UNEXPECTED_ERROR",
|
|
13129
|
-
message:
|
|
13188
|
+
message: getErrorMessage(error2),
|
|
13130
13189
|
nodeId: instance.currentNodeId,
|
|
13131
13190
|
timestamp: /* @__PURE__ */ new Date()
|
|
13132
13191
|
},
|
|
@@ -13172,7 +13231,7 @@ var WorkflowInstanceService = class extends BaseService {
|
|
|
13172
13231
|
status: "failed",
|
|
13173
13232
|
error: {
|
|
13174
13233
|
code: "UNEXPECTED_ERROR",
|
|
13175
|
-
message:
|
|
13234
|
+
message: getErrorMessage(error2),
|
|
13176
13235
|
nodeId: updatedInstance.currentNodeId,
|
|
13177
13236
|
timestamp: /* @__PURE__ */ new Date()
|
|
13178
13237
|
},
|
|
@@ -13613,7 +13672,7 @@ var WorkflowInstanceService = class extends BaseService {
|
|
|
13613
13672
|
const rolledBackSlots = await this.rollbackSlotOperations(completedOperations);
|
|
13614
13673
|
const rollbackInfo = rolledBackSlots.length > 0 ? ` Rolled back slots: [${rolledBackSlots.join(", ")}].` : "";
|
|
13615
13674
|
throw new SchemaError(
|
|
13616
|
-
`Failed to persist slot "${slot.id}" (${slot.objectName}): ${
|
|
13675
|
+
`Failed to persist slot "${slot.id}" (${slot.objectName}): ${getErrorMessage(error2)}.${rollbackInfo}`,
|
|
13617
13676
|
SchemaErrorCode.VALIDATION_FAILED
|
|
13618
13677
|
);
|
|
13619
13678
|
}
|
|
@@ -15652,7 +15711,7 @@ var DocumentProcessingService = class extends BaseService {
|
|
|
15652
15711
|
await this.documentService.recalculateStatus(job.documentId);
|
|
15653
15712
|
return completedJob;
|
|
15654
15713
|
} catch (error2) {
|
|
15655
|
-
const errorMessage = error2
|
|
15714
|
+
const errorMessage = getErrorMessage(error2);
|
|
15656
15715
|
const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
|
|
15657
15716
|
if (job.slotName) {
|
|
15658
15717
|
const slot = await this.adapter.documentSlots.findByDocumentAndSlot(
|
|
@@ -15747,7 +15806,7 @@ var DocumentProcessingService = class extends BaseService {
|
|
|
15747
15806
|
await this.documentService.updateStatus(job.documentId, "processing");
|
|
15748
15807
|
return updatedJob;
|
|
15749
15808
|
} catch (error2) {
|
|
15750
|
-
const errorMessage = error2
|
|
15809
|
+
const errorMessage = getErrorMessage(error2);
|
|
15751
15810
|
const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
|
|
15752
15811
|
await this.documentService.recalculateStatus(job.documentId);
|
|
15753
15812
|
return failedJob;
|
|
@@ -15916,7 +15975,7 @@ var DocumentProcessingService = class extends BaseService {
|
|
|
15916
15975
|
await this.documentService.recalculateStatus(job.documentId);
|
|
15917
15976
|
return completedJob;
|
|
15918
15977
|
} catch (error2) {
|
|
15919
|
-
const errorMessage = error2
|
|
15978
|
+
const errorMessage = getErrorMessage(error2);
|
|
15920
15979
|
const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
|
|
15921
15980
|
await this.documentService.recalculateStatus(job.documentId);
|
|
15922
15981
|
return failedJob;
|
|
@@ -17240,8 +17299,15 @@ var ViewService = class extends BaseService {
|
|
|
17240
17299
|
);
|
|
17241
17300
|
const columns = visibleAttrs.sort((a, b) => (_nullishCoalesce(a.order, () => ( 999))) - (_nullishCoalesce(b.order, () => ( 999)))).slice(0, 5).map((attr) => attr.name);
|
|
17242
17301
|
const config = {
|
|
17243
|
-
|
|
17244
|
-
|
|
17302
|
+
tabs: [
|
|
17303
|
+
{
|
|
17304
|
+
id: "all",
|
|
17305
|
+
label: "All",
|
|
17306
|
+
default: true,
|
|
17307
|
+
layout: "table",
|
|
17308
|
+
columns
|
|
17309
|
+
}
|
|
17310
|
+
]
|
|
17245
17311
|
};
|
|
17246
17312
|
return {
|
|
17247
17313
|
name: "default",
|
|
@@ -17647,7 +17713,7 @@ function handleViewSyncError(result, view2, error2) {
|
|
|
17647
17713
|
result.errors.push({
|
|
17648
17714
|
viewName: view2.name,
|
|
17649
17715
|
objectName: view2.object,
|
|
17650
|
-
error:
|
|
17716
|
+
error: getErrorMessage(error2)
|
|
17651
17717
|
});
|
|
17652
17718
|
}
|
|
17653
17719
|
async function cleanupOrphanViews(tx, viewsByObjectAndType, result, options) {
|
|
@@ -17668,7 +17734,7 @@ function handleTransactionError(result, error2) {
|
|
|
17668
17734
|
result.errors.push({
|
|
17669
17735
|
viewName: "transaction",
|
|
17670
17736
|
objectName: "",
|
|
17671
|
-
error:
|
|
17737
|
+
error: getErrorMessage(error2)
|
|
17672
17738
|
});
|
|
17673
17739
|
}
|
|
17674
17740
|
function logSyncComplete(result, options) {
|
|
@@ -17739,7 +17805,7 @@ async function syncNativeObjects(adapter, nativeRegistry, options = {}) {
|
|
|
17739
17805
|
result.success = false;
|
|
17740
17806
|
result.errors.push({
|
|
17741
17807
|
objectName: nativeObject.name,
|
|
17742
|
-
error:
|
|
17808
|
+
error: getErrorMessage(error2)
|
|
17743
17809
|
});
|
|
17744
17810
|
}
|
|
17745
17811
|
}
|
|
@@ -17748,7 +17814,7 @@ async function syncNativeObjects(adapter, nativeRegistry, options = {}) {
|
|
|
17748
17814
|
result.success = false;
|
|
17749
17815
|
result.errors.push({
|
|
17750
17816
|
objectName: "transaction",
|
|
17751
|
-
error:
|
|
17817
|
+
error: getErrorMessage(error2)
|
|
17752
17818
|
});
|
|
17753
17819
|
}
|
|
17754
17820
|
if (options.verbose) {
|
|
@@ -18261,4 +18327,5 @@ var NoopGeocodingAdapter = class {
|
|
|
18261
18327
|
|
|
18262
18328
|
|
|
18263
18329
|
|
|
18264
|
-
exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES; exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES; exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES; exports.isIdentityProperty = isIdentityProperty; exports.isBehaviorProperty = isBehaviorProperty; exports.isPresentationProperty = isPresentationProperty; exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY; exports.isUniversalRelation = isUniversalRelation; exports.RecordReferencedError = RecordReferencedError; exports.AttributeInUseError = AttributeInUseError; exports.ObjectReferencedError = ObjectReferencedError; exports.NoopGeocodingAdapter = NoopGeocodingAdapter; exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES; exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES; exports.PolicyViolationError = PolicyViolationError; exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES; exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES; exports.getSystemAttributeList = getSystemAttributeList; exports.isSystemAttribute = isSystemAttribute; exports.isSystemAttributeObject = isSystemAttributeObject; exports.isSimpleFormNode = isSimpleFormNode; exports.isAdvancedFormNode = isAdvancedFormNode; exports.isStartNode = isStartNode; exports.isFormNode = isFormNode; exports.isConditionNode = isConditionNode; exports.isDocumentNode = isDocumentNode; exports.isEndNode = isEndNode; exports.getNodeOutputs = getNodeOutputs; exports.isConditionRule = isConditionRule; exports.isConditionGroup = isConditionGroup; exports.eq = eq; exports.neq = neq; exports.and = and; exports.or = or; exports.inValues = inValues; exports.isWorkflowDefinition = isWorkflowDefinition; exports.isWorkflowPublished = isWorkflowPublished; exports.isSystemWorkflow = isSystemWorkflow; exports.isInstanceTerminal = isInstanceTerminal; exports.isInstanceWaiting = isInstanceWaiting; exports.canResumeInstance = canResumeInstance; exports.createStartTransition = createStartTransition; exports.isInvitationValid = isInvitationValid; exports.isInvitationAccepted = isInvitationAccepted; exports.isInvitationExpired = isInvitationExpired; exports.isGrantValid = isGrantValid; exports.isGrantRevoked = isGrantRevoked; exports.isTokenRevoked = isTokenRevoked; exports.isGrantExpired = isGrantExpired; exports.canAccessNode = canAccessNode; exports.createEmptyContext = createEmptyContext; exports.getContextValue = getContextValue; exports.setContextValue = setContextValue; exports.DEFAULT_THEME = DEFAULT_THEME; exports.mergeWithDefaults = mergeWithDefaults; exports.generateCssVariables = generateCssVariables; exports.isInstanceEvent = isInstanceEvent; exports.isNodeEvent = isNodeEvent; exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent; exports.ConditionOperatorSchema = ConditionOperatorSchema; exports.ConditionRuleSchema = ConditionRuleSchema; exports.ConditionGroupSchema = ConditionGroupSchema; exports.StartNodeSchema = StartNodeSchema; exports.FormFieldRefSchema = FormFieldRefSchema; exports.FlowRowFieldSchema = FlowRowFieldSchema; exports.FlowRowSchema = FlowRowSchema; exports.FormNodeSchema = FormNodeSchema; exports.ConditionNodeSchema = ConditionNodeSchema; exports.DocumentNodeSchema = DocumentNodeSchema; exports.EndNodeSchema = EndNodeSchema; exports.WorkflowNodeSchema = WorkflowNodeSchema; exports.SlotModeSchema = SlotModeSchema; exports.WorkflowSlotSchema = WorkflowSlotSchema; exports.AuthMethodSchema = AuthMethodSchema; exports.ShareStatusSchema = ShareStatusSchema; exports.WorkflowShareSchema = WorkflowShareSchema; exports.CreateShareInputSchema = CreateShareInputSchema; exports.NodePositionSchema = NodePositionSchema; exports.ViewportSchema = ViewportSchema; exports.WorkflowLayoutSchema = WorkflowLayoutSchema; exports.ThemeColorsSchema = ThemeColorsSchema; exports.ThemeLogoSchema = ThemeLogoSchema; exports.WorkflowThemeSchema = WorkflowThemeSchema; exports.WorkflowConfigSchema = WorkflowConfigSchema; exports.WorkflowStatusSchema = WorkflowStatusSchema; exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema; exports.isEmpty = isEmpty; exports.isNotEmpty = isNotEmpty; exports.toUndefinedIfEmpty = toUndefinedIfEmpty; exports.hasProperties = hasProperties; exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER; exports.formatAttributeValue = formatAttributeValue; exports.SchemaErrorCode = SchemaErrorCode; exports.SchemaError = SchemaError; exports.NotFoundError = NotFoundError; exports.ObjectNotFoundError = ObjectNotFoundError; exports.AttributeNotFoundError = AttributeNotFoundError; exports.RecordNotFoundError = RecordNotFoundError; exports.UserProfileNotFoundError = UserProfileNotFoundError; exports.FileNotFoundError = FileNotFoundError; exports.ValidationError = ValidationError; exports.ProtectedResourceError = ProtectedResourceError; exports.SyncError = SyncError; exports.NotSystemObjectError = NotSystemObjectError; exports.DuplicateError = DuplicateError; exports.isSchemaError = isSchemaError; exports.isNotFoundError = isNotFoundError; exports.isValidationError = isValidationError; exports.isProtectedResourceError = isProtectedResourceError; exports.ForbiddenError = ForbiddenError; exports.ProtectedRoleError = ProtectedRoleError; exports.RoleNotFoundError = RoleNotFoundError; exports.isForbiddenError = isForbiddenError; exports.ConcurrentModificationError = ConcurrentModificationError; exports.PropertySchemaBuilder = PropertySchemaBuilder; exports.PropertyTypeBuilder = PropertyTypeBuilder; exports.BasePropertyBuilder = BasePropertyBuilder; exports.TextPropertyBuilder = TextPropertyBuilder; exports.TextareaPropertyBuilder = TextareaPropertyBuilder; exports.NumberPropertyBuilder = NumberPropertyBuilder; exports.CheckboxPropertyBuilder = CheckboxPropertyBuilder; exports.DatePropertyBuilder = DatePropertyBuilder; exports.PhonePropertyBuilder = PhonePropertyBuilder; exports.CurrencyPropertyBuilder = CurrencyPropertyBuilder; exports.StatusPropertyBuilder = StatusPropertyBuilder; exports.SelectPropertyBuilder = SelectPropertyBuilder; exports.MultiselectPropertyBuilder = MultiselectPropertyBuilder; exports.RatingPropertyBuilder = RatingPropertyBuilder; exports.LocationPropertyBuilder = LocationPropertyBuilder; exports.validatePropertyType = validatePropertyType; exports.text = text; exports.textarea = textarea; exports.richtext = richtext; exports.number = number; exports.checkbox = checkbox; exports.date = date; exports.phone = phone; exports.currency = currency; exports.status = status; exports.select = select; exports.multiselect = multiselect; exports.location = location; exports.file = file; exports.user = user; exports.relation = relation; exports.rating = rating; exports.formula = formula; exports.rollup = rollup; exports.document = document; exports.ObjectBuilder = ObjectBuilder; exports.object = object; exports.GroupBuilder = GroupBuilder; exports.DirectTableTabConfig = DirectTableTabConfig; exports.InverseTableTabConfig = InverseTableTabConfig; exports.CustomTabConfig = CustomTabConfig; exports.NotesTabConfig = NotesTabConfig; exports.ActivityTabConfig = ActivityTabConfig; exports.FlowsTabConfig = FlowsTabConfig; exports.DocumentsTabConfig = DocumentsTabConfig; exports.TabBuilder = TabBuilder; exports.DetailViewBuilder = DetailViewBuilder; exports.ViewBuilder = ViewBuilder; exports.detailView = detailView; exports.view = view; exports.ListViewBuilder = ListViewBuilder; exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder; exports.listView = listView; exports.group = group; exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder; exports.WorkflowFormBuilder = WorkflowFormBuilder; exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder; exports.WorkflowConditionBuilder = WorkflowConditionBuilder; exports.WorkflowEndBuilder = WorkflowEndBuilder; exports.WorkflowStartBuilder = WorkflowStartBuilder; exports.WorkflowBuilder = WorkflowBuilder; exports.workflow = workflow; exports.registry = registry; exports.SYSTEM_TEMPLATE_IDS = SYSTEM_TEMPLATE_IDS; exports.FRENCH_ID_CARD = FRENCH_ID_CARD; exports.PASSPORT = PASSPORT; exports.DRIVING_LICENSE = DRIVING_LICENSE; exports.PROOF_OF_ADDRESS = PROOF_OF_ADDRESS; exports.SIGNABLE_CONTRACT = SIGNABLE_CONTRACT; exports.GENERIC_DOCUMENT = GENERIC_DOCUMENT; exports.SYSTEM_TEMPLATES = SYSTEM_TEMPLATES; exports.getSystemTemplate = getSystemTemplate; exports.isSystemTemplate = isSystemTemplate; exports.WorkflowJwtService = WorkflowJwtService; exports.hashOptions = hashOptions; exports.cacheKeys = cacheKeys; exports.cacheTtl = cacheTtl; exports.defaultTtl = defaultTtl; exports.NoopCacheAdapter = NoopCacheAdapter; exports.formatRecord = formatRecord; exports.formatRecords = formatRecords; exports.createDefaultState = createDefaultState; exports.SHORTCUT_TO_FILTER_OPERATOR = SHORTCUT_TO_FILTER_OPERATOR; exports.QueryNoResultError = QueryNoResultError; exports.QueryMultipleResultsError = QueryMultipleResultsError; exports.TenantContextError = TenantContextError; exports.FeatureFlagsContextError = FeatureFlagsContextError; exports.isFeatureEnabled = isFeatureEnabled; exports.getFeatureValue = getFeatureValue; exports.getFeatureFlags = getFeatureFlags; exports.tryGetFeatureValue = tryGetFeatureValue; exports.hasFeatureFlagsContext = hasFeatureFlagsContext; exports.runWithFeatureFlags = runWithFeatureFlags; exports.withFeatureFlags = withFeatureFlags; exports.getSchemaFromContext = getSchemaFromContext; exports.getSchemaByNameFromContext = getSchemaByNameFromContext; exports.hasSchemaContext = hasSchemaContext; exports.getSchemaContext = getSchemaContext; exports.addSchemaToContext = addSchemaToContext; exports.runWithSchemaContext = runWithSchemaContext; exports.runWithMergedSchemaContext = runWithMergedSchemaContext; exports.getContext = getContext2; exports.getTenantId = getTenantId; exports.getUserId = getUserId; exports.hasContext = hasContext; exports.runWithContext = runWithContext; exports.withTenantContext = withTenantContext; exports.QueryBuilder = QueryBuilder; exports.createQueryBuilder = createQueryBuilder; exports.evaluateCondition = evaluateCondition; exports.evaluate = evaluate; exports.evaluateWithTrace = evaluateWithTrace; exports.ExecutorRegistry = ExecutorRegistry; exports.success = success; exports.wait = wait; exports.complete = complete; exports.error = error; exports.ConditionExecutor = ConditionExecutor; exports.DocumentExecutor = DocumentExecutor; exports.EndExecutor = EndExecutor; exports.FormExecutor = FormExecutor; exports.StartExecutor = StartExecutor; exports.createDefaultExecutorRegistry = createDefaultExecutorRegistry; exports.getDefaultExecutorRegistry = getDefaultExecutorRegistry; exports.evaluateFormula = evaluateFormula; exports.evaluateFormulaWithResult = evaluateFormulaWithResult; exports.formatFormulaResult = formatFormulaResult; exports.evaluateFormulaAttribute = evaluateFormulaAttribute; exports.validateFormulaExpression = validateFormulaExpression; exports.extractFormulaVariables = extractFormulaVariables; exports.extractRelationReferences = extractRelationReferences; exports.extractRelationNames = extractRelationNames; exports.hasRelationReferences = hasRelationReferences; exports.flattenRelationsForEval = flattenRelationsForEval; exports.evaluateFormulaWithRelations = evaluateFormulaWithRelations; exports.evaluateFormulaAttributeWithRelations = evaluateFormulaAttributeWithRelations; exports.InvalidPathError = InvalidPathError; exports.MaxDepthExceededError = MaxDepthExceededError; exports.parsePath = parsePath; exports.validatePath = validatePath; exports.pathHasManyCardinality = pathHasManyCardinality; exports.getPathDepth = getPathDepth; exports.getTargetAttributeName = getTargetAttributeName; exports.getRelationPath = getRelationPath; exports.traversePath = traversePath; exports.resolveSingleValue = resolveSingleValue; exports.resolveMultiplePaths = resolveMultiplePaths; exports.NoopHookRegistry = NoopHookRegistry; exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK; exports.renderLabelExpression = renderLabelExpression; exports.isLabelExpression = isLabelExpression; exports.extractAttributeNames = extractAttributeNames; exports.enrichValuesForDisplay = enrichValuesForDisplay; exports.enrichValuesWithSelectLabels = enrichValuesWithSelectLabels; exports.extractRelationIds = extractRelationIds; exports.computeLabelWithRelations = computeLabelWithRelations; exports.createMockAdapter = createMockAdapter; exports.PolicyRegistry = PolicyRegistry; exports.defaultPolicyRegistry = defaultPolicyRegistry; exports.notesPolicy = notesPolicy; exports.BaseService = BaseService; exports.BaseRepository = BaseRepository; exports.SchemaContextAwareRepository = SchemaContextAwareRepository; exports.buildAuditChanges = buildAuditChanges; exports.ObjectSchemaService = ObjectSchemaService; exports.AuditService = AuditService; exports.UserService = UserService; exports.applyDefaultValues = applyDefaultValues; exports.checkPermission = checkPermission; exports.getPolicy = getPolicy; exports.buildPolicyContext = buildPolicyContext; exports.checkRecordAccess = checkRecordAccess; exports.checkRecordModifyOrThrow = checkRecordModifyOrThrow; exports.checkRecordDeleteOrThrow = checkRecordDeleteOrThrow; exports.checkSharedObjectWriteAccess = checkSharedObjectWriteAccess; exports.computeLabel = computeLabel; exports.enrichWithFormulas = enrichWithFormulas; exports.enrichRecordsWithFormulas = enrichRecordsWithFormulas; exports.createContextForCreate = createContextForCreate; exports.createContextForUpdate = createContextForUpdate; exports.createContextForDelete = createContextForDelete; exports.createContextForRestore = createContextForRestore; exports.recalculateParentRollups = recalculateParentRollups; exports.RecordQueryService = RecordQueryService; exports.RecordResolverService = RecordResolverService; exports.RelationPropertiesService = RelationPropertiesService; exports.RelationService = RelationService; exports.RollupService = RollupService; exports.RecordService = RecordService; exports.FormulaResolverService = FormulaResolverService; exports.RollupScheduler = RollupScheduler; exports.DocumentRenderError = DocumentRenderError; exports.StorageDownloadNotSupportedError = StorageDownloadNotSupportedError; exports.DocumentRendererService = DocumentRendererService; exports.DocumentProcessingHook = DocumentProcessingHook; exports.GrantNotFoundError = GrantNotFoundError; exports.GrantExpiredError = GrantExpiredError; exports.GrantRevokedError = GrantRevokedError; exports.TokenRevokedError = TokenRevokedError; exports.WorkflowAccessGrantService = WorkflowAccessGrantService; exports.WorkflowInstanceService = WorkflowInstanceService; exports.InvitationNotFoundError = InvitationNotFoundError; exports.InvitationExpiredError = InvitationExpiredError; exports.InvitationAlreadyAcceptedError = InvitationAlreadyAcceptedError; exports.InvitationRevokedError = InvitationRevokedError; exports.WorkflowInvitationService = WorkflowInvitationService; exports.WorkflowRelationService = WorkflowRelationService; exports.WorkflowService = WorkflowService; exports.UserProfileService = UserProfileService; exports.DocumentGenerationTemplateNotFoundError = DocumentGenerationTemplateNotFoundError; exports.DocumentGenerationNotConfiguredError = DocumentGenerationNotConfiguredError; exports.DocumentGenerationService = DocumentGenerationService; exports.DocumentTemplateService = DocumentTemplateService; exports.DocumentService = DocumentService; exports.DocumentProcessingService = DocumentProcessingService; exports.FileService = FileService; exports.GeocodingService = GeocodingService; exports.GlobalSearchService = GlobalSearchService; exports.PermissionService = PermissionService; exports.ViewService = ViewService; exports.seedRegistryViews = seedRegistryViews; exports.syncNativeViews = syncNativeViews; exports.verifyRegistryViewsSeeded = verifyRegistryViewsSeeded; exports.verifyNativeViewsSync = verifyNativeViewsSync; exports.getViewSeedPreview = getViewSeedPreview; exports.getViewSyncPreview = getViewSyncPreview; exports.syncNativeObjects = syncNativeObjects; exports.verifyNativeObjectsSync = verifyNativeObjectsSync; exports.getSyncPreview = getSyncPreview; exports.syncAll = syncAll;
|
|
18330
|
+
|
|
18331
|
+
exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES; exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES; exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES; exports.isIdentityProperty = isIdentityProperty; exports.isBehaviorProperty = isBehaviorProperty; exports.isPresentationProperty = isPresentationProperty; exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY; exports.isUniversalRelation = isUniversalRelation; exports.RecordReferencedError = RecordReferencedError; exports.AttributeInUseError = AttributeInUseError; exports.ObjectReferencedError = ObjectReferencedError; exports.getErrorMessage = getErrorMessage; exports.NoopGeocodingAdapter = NoopGeocodingAdapter; exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES; exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES; exports.PolicyViolationError = PolicyViolationError; exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES; exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES; exports.getSystemAttributeList = getSystemAttributeList; exports.isSystemAttribute = isSystemAttribute; exports.isSystemAttributeObject = isSystemAttributeObject; exports.isSimpleFormNode = isSimpleFormNode; exports.isAdvancedFormNode = isAdvancedFormNode; exports.isStartNode = isStartNode; exports.isFormNode = isFormNode; exports.isConditionNode = isConditionNode; exports.isDocumentNode = isDocumentNode; exports.isEndNode = isEndNode; exports.getNodeOutputs = getNodeOutputs; exports.isConditionRule = isConditionRule; exports.isConditionGroup = isConditionGroup; exports.eq = eq; exports.neq = neq; exports.and = and; exports.or = or; exports.inValues = inValues; exports.isWorkflowDefinition = isWorkflowDefinition; exports.isWorkflowPublished = isWorkflowPublished; exports.isSystemWorkflow = isSystemWorkflow; exports.isInstanceTerminal = isInstanceTerminal; exports.isInstanceWaiting = isInstanceWaiting; exports.canResumeInstance = canResumeInstance; exports.createStartTransition = createStartTransition; exports.isInvitationValid = isInvitationValid; exports.isInvitationAccepted = isInvitationAccepted; exports.isInvitationExpired = isInvitationExpired; exports.isGrantValid = isGrantValid; exports.isGrantRevoked = isGrantRevoked; exports.isTokenRevoked = isTokenRevoked; exports.isGrantExpired = isGrantExpired; exports.canAccessNode = canAccessNode; exports.createEmptyContext = createEmptyContext; exports.getContextValue = getContextValue; exports.setContextValue = setContextValue; exports.DEFAULT_THEME = DEFAULT_THEME; exports.mergeWithDefaults = mergeWithDefaults; exports.generateCssVariables = generateCssVariables; exports.isInstanceEvent = isInstanceEvent; exports.isNodeEvent = isNodeEvent; exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent; exports.ConditionOperatorSchema = ConditionOperatorSchema; exports.ConditionRuleSchema = ConditionRuleSchema; exports.ConditionGroupSchema = ConditionGroupSchema; exports.StartNodeSchema = StartNodeSchema; exports.FormFieldRefSchema = FormFieldRefSchema; exports.FlowRowFieldSchema = FlowRowFieldSchema; exports.FlowRowSchema = FlowRowSchema; exports.FormNodeSchema = FormNodeSchema; exports.ConditionNodeSchema = ConditionNodeSchema; exports.DocumentNodeSchema = DocumentNodeSchema; exports.EndNodeSchema = EndNodeSchema; exports.WorkflowNodeSchema = WorkflowNodeSchema; exports.SlotModeSchema = SlotModeSchema; exports.WorkflowSlotSchema = WorkflowSlotSchema; exports.AuthMethodSchema = AuthMethodSchema; exports.ShareStatusSchema = ShareStatusSchema; exports.WorkflowShareSchema = WorkflowShareSchema; exports.CreateShareInputSchema = CreateShareInputSchema; exports.NodePositionSchema = NodePositionSchema; exports.ViewportSchema = ViewportSchema; exports.WorkflowLayoutSchema = WorkflowLayoutSchema; exports.ThemeColorsSchema = ThemeColorsSchema; exports.ThemeLogoSchema = ThemeLogoSchema; exports.WorkflowThemeSchema = WorkflowThemeSchema; exports.WorkflowConfigSchema = WorkflowConfigSchema; exports.WorkflowStatusSchema = WorkflowStatusSchema; exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema; exports.isEmpty = isEmpty; exports.isNotEmpty = isNotEmpty; exports.toUndefinedIfEmpty = toUndefinedIfEmpty; exports.hasProperties = hasProperties; exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER; exports.formatAttributeValue = formatAttributeValue; exports.SchemaErrorCode = SchemaErrorCode; exports.SchemaError = SchemaError; exports.NotFoundError = NotFoundError; exports.ObjectNotFoundError = ObjectNotFoundError; exports.AttributeNotFoundError = AttributeNotFoundError; exports.RecordNotFoundError = RecordNotFoundError; exports.UserProfileNotFoundError = UserProfileNotFoundError; exports.FileNotFoundError = FileNotFoundError; exports.ValidationError = ValidationError; exports.ProtectedResourceError = ProtectedResourceError; exports.SyncError = SyncError; exports.NotSystemObjectError = NotSystemObjectError; exports.DuplicateError = DuplicateError; exports.isSchemaError = isSchemaError; exports.isNotFoundError = isNotFoundError; exports.isValidationError = isValidationError; exports.isProtectedResourceError = isProtectedResourceError; exports.ForbiddenError = ForbiddenError; exports.ProtectedRoleError = ProtectedRoleError; exports.RoleNotFoundError = RoleNotFoundError; exports.isForbiddenError = isForbiddenError; exports.ConcurrentModificationError = ConcurrentModificationError; exports.PropertySchemaBuilder = PropertySchemaBuilder; exports.PropertyTypeBuilder = PropertyTypeBuilder; exports.BasePropertyBuilder = BasePropertyBuilder; exports.TextPropertyBuilder = TextPropertyBuilder; exports.TextareaPropertyBuilder = TextareaPropertyBuilder; exports.NumberPropertyBuilder = NumberPropertyBuilder; exports.CheckboxPropertyBuilder = CheckboxPropertyBuilder; exports.DatePropertyBuilder = DatePropertyBuilder; exports.PhonePropertyBuilder = PhonePropertyBuilder; exports.CurrencyPropertyBuilder = CurrencyPropertyBuilder; exports.StatusPropertyBuilder = StatusPropertyBuilder; exports.SelectPropertyBuilder = SelectPropertyBuilder; exports.MultiselectPropertyBuilder = MultiselectPropertyBuilder; exports.RatingPropertyBuilder = RatingPropertyBuilder; exports.LocationPropertyBuilder = LocationPropertyBuilder; exports.validatePropertyType = validatePropertyType; exports.text = text; exports.textarea = textarea; exports.richtext = richtext; exports.number = number; exports.checkbox = checkbox; exports.date = date; exports.phone = phone; exports.currency = currency; exports.status = status; exports.select = select; exports.multiselect = multiselect; exports.location = location; exports.file = file; exports.user = user; exports.relation = relation; exports.rating = rating; exports.formula = formula; exports.rollup = rollup; exports.document = document; exports.ObjectBuilder = ObjectBuilder; exports.object = object; exports.GroupBuilder = GroupBuilder; exports.DirectTableTabConfig = DirectTableTabConfig; exports.InverseTableTabConfig = InverseTableTabConfig; exports.CustomTabConfig = CustomTabConfig; exports.NotesTabConfig = NotesTabConfig; exports.ActivityTabConfig = ActivityTabConfig; exports.FlowsTabConfig = FlowsTabConfig; exports.DocumentsTabConfig = DocumentsTabConfig; exports.TabBuilder = TabBuilder; exports.DetailViewBuilder = DetailViewBuilder; exports.ViewBuilder = ViewBuilder; exports.detailView = detailView; exports.view = view; exports.ListViewBuilder = ListViewBuilder; exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder; exports.listView = listView; exports.group = group; exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder; exports.WorkflowFormBuilder = WorkflowFormBuilder; exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder; exports.WorkflowConditionBuilder = WorkflowConditionBuilder; exports.WorkflowEndBuilder = WorkflowEndBuilder; exports.WorkflowStartBuilder = WorkflowStartBuilder; exports.WorkflowBuilder = WorkflowBuilder; exports.workflow = workflow; exports.registry = registry; exports.SYSTEM_TEMPLATE_IDS = SYSTEM_TEMPLATE_IDS; exports.FRENCH_ID_CARD = FRENCH_ID_CARD; exports.PASSPORT = PASSPORT; exports.DRIVING_LICENSE = DRIVING_LICENSE; exports.PROOF_OF_ADDRESS = PROOF_OF_ADDRESS; exports.SIGNABLE_CONTRACT = SIGNABLE_CONTRACT; exports.GENERIC_DOCUMENT = GENERIC_DOCUMENT; exports.SYSTEM_TEMPLATES = SYSTEM_TEMPLATES; exports.getSystemTemplate = getSystemTemplate; exports.isSystemTemplate = isSystemTemplate; exports.WorkflowJwtService = WorkflowJwtService; exports.hashOptions = hashOptions; exports.cacheKeys = cacheKeys; exports.cacheTtl = cacheTtl; exports.defaultTtl = defaultTtl; exports.NoopCacheAdapter = NoopCacheAdapter; exports.formatRecord = formatRecord; exports.formatRecords = formatRecords; exports.createDefaultState = createDefaultState; exports.SHORTCUT_TO_FILTER_OPERATOR = SHORTCUT_TO_FILTER_OPERATOR; exports.QueryNoResultError = QueryNoResultError; exports.QueryMultipleResultsError = QueryMultipleResultsError; exports.TenantContextError = TenantContextError; exports.FeatureFlagsContextError = FeatureFlagsContextError; exports.isFeatureEnabled = isFeatureEnabled; exports.getFeatureValue = getFeatureValue; exports.getFeatureFlags = getFeatureFlags; exports.tryGetFeatureValue = tryGetFeatureValue; exports.hasFeatureFlagsContext = hasFeatureFlagsContext; exports.runWithFeatureFlags = runWithFeatureFlags; exports.withFeatureFlags = withFeatureFlags; exports.getSchemaFromContext = getSchemaFromContext; exports.getSchemaByNameFromContext = getSchemaByNameFromContext; exports.hasSchemaContext = hasSchemaContext; exports.getSchemaContext = getSchemaContext; exports.addSchemaToContext = addSchemaToContext; exports.runWithSchemaContext = runWithSchemaContext; exports.runWithMergedSchemaContext = runWithMergedSchemaContext; exports.getContext = getContext2; exports.getTenantId = getTenantId; exports.getUserId = getUserId; exports.hasContext = hasContext; exports.runWithContext = runWithContext; exports.withTenantContext = withTenantContext; exports.QueryBuilder = QueryBuilder; exports.createQueryBuilder = createQueryBuilder; exports.evaluateCondition = evaluateCondition; exports.evaluate = evaluate; exports.evaluateWithTrace = evaluateWithTrace; exports.ExecutorRegistry = ExecutorRegistry; exports.success = success; exports.wait = wait; exports.complete = complete; exports.error = error; exports.ConditionExecutor = ConditionExecutor; exports.DocumentExecutor = DocumentExecutor; exports.EndExecutor = EndExecutor; exports.FormExecutor = FormExecutor; exports.StartExecutor = StartExecutor; exports.createDefaultExecutorRegistry = createDefaultExecutorRegistry; exports.getDefaultExecutorRegistry = getDefaultExecutorRegistry; exports.evaluateFormula = evaluateFormula; exports.evaluateFormulaWithResult = evaluateFormulaWithResult; exports.formatFormulaResult = formatFormulaResult; exports.evaluateFormulaAttribute = evaluateFormulaAttribute; exports.validateFormulaExpression = validateFormulaExpression; exports.extractFormulaVariables = extractFormulaVariables; exports.extractRelationReferences = extractRelationReferences; exports.extractRelationNames = extractRelationNames; exports.hasRelationReferences = hasRelationReferences; exports.flattenRelationsForEval = flattenRelationsForEval; exports.evaluateFormulaWithRelations = evaluateFormulaWithRelations; exports.evaluateFormulaAttributeWithRelations = evaluateFormulaAttributeWithRelations; exports.InvalidPathError = InvalidPathError; exports.MaxDepthExceededError = MaxDepthExceededError; exports.parsePath = parsePath; exports.validatePath = validatePath; exports.pathHasManyCardinality = pathHasManyCardinality; exports.getPathDepth = getPathDepth; exports.getTargetAttributeName = getTargetAttributeName; exports.getRelationPath = getRelationPath; exports.traversePath = traversePath; exports.resolveSingleValue = resolveSingleValue; exports.resolveMultiplePaths = resolveMultiplePaths; exports.NoopHookRegistry = NoopHookRegistry; exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK; exports.renderLabelExpression = renderLabelExpression; exports.isLabelExpression = isLabelExpression; exports.extractAttributeNames = extractAttributeNames; exports.enrichValuesForDisplay = enrichValuesForDisplay; exports.enrichValuesWithSelectLabels = enrichValuesWithSelectLabels; exports.extractRelationIds = extractRelationIds; exports.computeLabelWithRelations = computeLabelWithRelations; exports.createMockAdapter = createMockAdapter; exports.PolicyRegistry = PolicyRegistry; exports.defaultPolicyRegistry = defaultPolicyRegistry; exports.notesPolicy = notesPolicy; exports.BaseService = BaseService; exports.BaseRepository = BaseRepository; exports.SchemaContextAwareRepository = SchemaContextAwareRepository; exports.buildAuditChanges = buildAuditChanges; exports.ObjectSchemaService = ObjectSchemaService; exports.AuditService = AuditService; exports.UserService = UserService; exports.applyDefaultValues = applyDefaultValues; exports.checkPermission = checkPermission; exports.getPolicy = getPolicy; exports.buildPolicyContext = buildPolicyContext; exports.checkRecordAccess = checkRecordAccess; exports.checkRecordModifyOrThrow = checkRecordModifyOrThrow; exports.checkRecordDeleteOrThrow = checkRecordDeleteOrThrow; exports.checkSharedObjectWriteAccess = checkSharedObjectWriteAccess; exports.computeLabel = computeLabel; exports.enrichWithFormulas = enrichWithFormulas; exports.enrichRecordsWithFormulas = enrichRecordsWithFormulas; exports.createContextForCreate = createContextForCreate; exports.createContextForUpdate = createContextForUpdate; exports.createContextForDelete = createContextForDelete; exports.createContextForRestore = createContextForRestore; exports.recalculateParentRollups = recalculateParentRollups; exports.RecordQueryService = RecordQueryService; exports.RecordResolverService = RecordResolverService; exports.RelationPropertiesService = RelationPropertiesService; exports.RelationService = RelationService; exports.RollupService = RollupService; exports.RecordService = RecordService; exports.FormulaResolverService = FormulaResolverService; exports.RollupScheduler = RollupScheduler; exports.DocumentRenderError = DocumentRenderError; exports.StorageDownloadNotSupportedError = StorageDownloadNotSupportedError; exports.DocumentRendererService = DocumentRendererService; exports.DocumentProcessingHook = DocumentProcessingHook; exports.GrantNotFoundError = GrantNotFoundError; exports.GrantExpiredError = GrantExpiredError; exports.GrantRevokedError = GrantRevokedError; exports.TokenRevokedError = TokenRevokedError; exports.WorkflowAccessGrantService = WorkflowAccessGrantService; exports.WorkflowInstanceService = WorkflowInstanceService; exports.InvitationNotFoundError = InvitationNotFoundError; exports.InvitationExpiredError = InvitationExpiredError; exports.InvitationAlreadyAcceptedError = InvitationAlreadyAcceptedError; exports.InvitationRevokedError = InvitationRevokedError; exports.WorkflowInvitationService = WorkflowInvitationService; exports.WorkflowRelationService = WorkflowRelationService; exports.WorkflowService = WorkflowService; exports.UserProfileService = UserProfileService; exports.DocumentGenerationTemplateNotFoundError = DocumentGenerationTemplateNotFoundError; exports.DocumentGenerationNotConfiguredError = DocumentGenerationNotConfiguredError; exports.DocumentGenerationService = DocumentGenerationService; exports.DocumentTemplateService = DocumentTemplateService; exports.DocumentService = DocumentService; exports.DocumentProcessingService = DocumentProcessingService; exports.FileService = FileService; exports.GeocodingService = GeocodingService; exports.GlobalSearchService = GlobalSearchService; exports.PermissionService = PermissionService; exports.ViewService = ViewService; exports.seedRegistryViews = seedRegistryViews; exports.syncNativeViews = syncNativeViews; exports.verifyRegistryViewsSeeded = verifyRegistryViewsSeeded; exports.verifyNativeViewsSync = verifyNativeViewsSync; exports.getViewSeedPreview = getViewSeedPreview; exports.getViewSyncPreview = getViewSyncPreview; exports.syncNativeObjects = syncNativeObjects; exports.verifyNativeObjectsSync = verifyNativeObjectsSync; exports.getSyncPreview = getSyncPreview; exports.syncAll = syncAll;
|