@budibase/shared-core 2.9.24-alpha.3 → 2.9.24
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/filters.d.ts +56 -5
- package/dist/index.js +26 -19
- package/dist/index.js.map +2 -2
- package/dist/index.js.meta.json +1 -1
- package/package.json +3 -3
package/dist/filters.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Datasource, FieldType,
|
|
1
|
+
import { Datasource, FieldType, SortDirection, SortType } from "@budibase/types";
|
|
2
|
+
import { SqlNumberTypeRangeMap } from "./constants";
|
|
2
3
|
/**
|
|
3
4
|
* Returns the valid operator options for a certain data type
|
|
4
5
|
* @param type the data type
|
|
@@ -12,18 +13,67 @@ export declare const getValidOperatorsForType: (type: FieldType, field: string,
|
|
|
12
13
|
/**
|
|
13
14
|
* Operators which do not support empty strings as values
|
|
14
15
|
*/
|
|
15
|
-
export declare const NoEmptyFilterStrings: (
|
|
16
|
+
export declare const NoEmptyFilterStrings: (keyof QueryFields)[];
|
|
17
|
+
declare type Filter = {
|
|
18
|
+
operator: keyof Query;
|
|
19
|
+
field: string;
|
|
20
|
+
type: any;
|
|
21
|
+
value: any;
|
|
22
|
+
externalType: keyof typeof SqlNumberTypeRangeMap;
|
|
23
|
+
};
|
|
24
|
+
declare type Query = QueryFields & QueryConfig;
|
|
25
|
+
declare type QueryFields = {
|
|
26
|
+
string?: {
|
|
27
|
+
[key: string]: string;
|
|
28
|
+
};
|
|
29
|
+
fuzzy?: {
|
|
30
|
+
[key: string]: string;
|
|
31
|
+
};
|
|
32
|
+
range?: {
|
|
33
|
+
[key: string]: {
|
|
34
|
+
high: number | string;
|
|
35
|
+
low: number | string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
equal?: {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
};
|
|
41
|
+
notEqual?: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
};
|
|
44
|
+
empty?: {
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
};
|
|
47
|
+
notEmpty?: {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
oneOf?: {
|
|
51
|
+
[key: string]: any[];
|
|
52
|
+
};
|
|
53
|
+
contains?: {
|
|
54
|
+
[key: string]: any[];
|
|
55
|
+
};
|
|
56
|
+
notContains?: {
|
|
57
|
+
[key: string]: any[];
|
|
58
|
+
};
|
|
59
|
+
containsAny?: {
|
|
60
|
+
[key: string]: any[];
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
declare type QueryConfig = {
|
|
64
|
+
allOr?: boolean;
|
|
65
|
+
};
|
|
16
66
|
/**
|
|
17
67
|
* Builds a lucene JSON query from the filter structure generated in the builder
|
|
18
68
|
* @param filter the builder filter structure
|
|
19
69
|
*/
|
|
20
|
-
export declare const buildLuceneQuery: (filter:
|
|
70
|
+
export declare const buildLuceneQuery: (filter: Filter[]) => Query;
|
|
21
71
|
/**
|
|
22
72
|
* Performs a client-side lucene search on an array of data
|
|
23
73
|
* @param docs the data
|
|
24
74
|
* @param query the JSON lucene query
|
|
25
75
|
*/
|
|
26
|
-
export declare const runLuceneQuery: (docs: any[], query?:
|
|
76
|
+
export declare const runLuceneQuery: (docs: any[], query?: Query) => any[];
|
|
27
77
|
/**
|
|
28
78
|
* Performs a client-side sort from the equivalent server-side lucene sort
|
|
29
79
|
* parameters.
|
|
@@ -40,4 +90,5 @@ export declare const luceneSort: (docs: any[], sort: string, sortOrder: SortDire
|
|
|
40
90
|
* @param limit the number of docs to limit to
|
|
41
91
|
*/
|
|
42
92
|
export declare const luceneLimit: (docs: any[], limit: string) => any[];
|
|
43
|
-
export declare const hasFilters: (query?:
|
|
93
|
+
export declare const hasFilters: (query?: Query) => boolean;
|
|
94
|
+
export {};
|
package/dist/index.js
CHANGED
|
@@ -253,11 +253,12 @@ var deepGet = (obj, key) => {
|
|
|
253
253
|
}
|
|
254
254
|
const split = key.split(".");
|
|
255
255
|
for (let i = 0; i < split.length; i++) {
|
|
256
|
-
obj = obj
|
|
256
|
+
obj = obj == null ? void 0 : obj[split[i]];
|
|
257
257
|
}
|
|
258
258
|
return obj;
|
|
259
259
|
};
|
|
260
260
|
var getUserInitials = (user) => {
|
|
261
|
+
var _a;
|
|
261
262
|
if (!user) {
|
|
262
263
|
return "?";
|
|
263
264
|
}
|
|
@@ -267,10 +268,10 @@ var getUserInitials = (user) => {
|
|
|
267
268
|
if (initials !== "") {
|
|
268
269
|
return initials;
|
|
269
270
|
}
|
|
270
|
-
return user.email
|
|
271
|
+
return ((_a = user.email) == null ? void 0 : _a[0]) || "U";
|
|
271
272
|
};
|
|
272
273
|
var getUserColor = (user) => {
|
|
273
|
-
let id = user
|
|
274
|
+
let id = user == null ? void 0 : user._id;
|
|
274
275
|
if (!id) {
|
|
275
276
|
return "var(--spectrum-global-color-blue-400)";
|
|
276
277
|
}
|
|
@@ -318,6 +319,7 @@ function isSQL(datasource) {
|
|
|
318
319
|
// src/filters.ts
|
|
319
320
|
var HBS_REGEX = /{{([^{].*?)}}/g;
|
|
320
321
|
var getValidOperatorsForType = (type, field, datasource) => {
|
|
322
|
+
var _a;
|
|
321
323
|
const Op = OperatorOptions;
|
|
322
324
|
const stringOps = [
|
|
323
325
|
Op.Equals,
|
|
@@ -355,7 +357,7 @@ var getValidOperatorsForType = (type, field, datasource) => {
|
|
|
355
357
|
} else if (type === "formula") {
|
|
356
358
|
ops = stringOps.concat([Op.MoreThan, Op.LessThan]);
|
|
357
359
|
}
|
|
358
|
-
const externalTable = datasource
|
|
360
|
+
const externalTable = (_a = datasource == null ? void 0 : datasource.tableId) == null ? void 0 : _a.includes("datasource_plus");
|
|
359
361
|
if (field === "_id" && externalTable) {
|
|
360
362
|
ops = [Op.Equals, Op.NotEquals, Op.In];
|
|
361
363
|
}
|
|
@@ -410,6 +412,7 @@ var buildLuceneQuery = (filter) => {
|
|
|
410
412
|
};
|
|
411
413
|
if (Array.isArray(filter)) {
|
|
412
414
|
filter.forEach((expression) => {
|
|
415
|
+
var _a, _b, _c;
|
|
413
416
|
let { operator, field, type, value, externalType } = expression;
|
|
414
417
|
const isHbs = typeof value === "string" && (value.match(HBS_REGEX) || []).length > 0;
|
|
415
418
|
if (operator === "allOr") {
|
|
@@ -434,14 +437,14 @@ var buildLuceneQuery = (filter) => {
|
|
|
434
437
|
}
|
|
435
438
|
}
|
|
436
439
|
if (type === "boolean") {
|
|
437
|
-
value = `${value}
|
|
440
|
+
value = ((_a = `${value}`) == null ? void 0 : _a.toLowerCase()) === "true";
|
|
438
441
|
}
|
|
439
442
|
if (["contains", "notContains", "containsAny"].includes(operator) && type === "array" && typeof value === "string") {
|
|
440
443
|
value = value.split(",");
|
|
441
444
|
}
|
|
442
445
|
if (operator.startsWith("range") && query.range) {
|
|
443
|
-
const minint = SqlNumberTypeRangeMap[externalType]
|
|
444
|
-
const maxint = SqlNumberTypeRangeMap[externalType]
|
|
446
|
+
const minint = ((_b = SqlNumberTypeRangeMap[externalType]) == null ? void 0 : _b.min) || Number.MIN_SAFE_INTEGER;
|
|
447
|
+
const maxint = ((_c = SqlNumberTypeRangeMap[externalType]) == null ? void 0 : _c.max) || Number.MAX_SAFE_INTEGER;
|
|
445
448
|
if (!query.range[field]) {
|
|
446
449
|
query.range[field] = {
|
|
447
450
|
low: type === "number" ? minint : "0000-00-00T00:00:00.000Z",
|
|
@@ -494,10 +497,10 @@ var runLuceneQuery = (docs, query) => {
|
|
|
494
497
|
return true;
|
|
495
498
|
};
|
|
496
499
|
const stringMatch = match("string", (docValue, testValue) => {
|
|
497
|
-
return !docValue || !docValue
|
|
500
|
+
return !docValue || !(docValue == null ? void 0 : docValue.toLowerCase().startsWith(testValue == null ? void 0 : testValue.toLowerCase()));
|
|
498
501
|
});
|
|
499
502
|
const fuzzyMatch = match("fuzzy", (docValue, testValue) => {
|
|
500
|
-
return !docValue || !docValue
|
|
503
|
+
return !docValue || !(docValue == null ? void 0 : docValue.toLowerCase().startsWith(testValue == null ? void 0 : testValue.toLowerCase()));
|
|
501
504
|
});
|
|
502
505
|
const rangeMatch = match(
|
|
503
506
|
"range",
|
|
@@ -530,21 +533,21 @@ var runLuceneQuery = (docs, query) => {
|
|
|
530
533
|
testValue = testValue.map((item) => parseFloat(item));
|
|
531
534
|
}
|
|
532
535
|
}
|
|
533
|
-
return !testValue
|
|
536
|
+
return !(testValue == null ? void 0 : testValue.includes(docValue));
|
|
534
537
|
});
|
|
535
538
|
const containsAny = match("containsAny", (docValue, testValue) => {
|
|
536
|
-
return !docValue
|
|
539
|
+
return !(docValue == null ? void 0 : docValue.includes(...testValue));
|
|
537
540
|
});
|
|
538
541
|
const contains = match(
|
|
539
542
|
"contains",
|
|
540
543
|
(docValue, testValue) => {
|
|
541
|
-
return !testValue
|
|
544
|
+
return !(testValue == null ? void 0 : testValue.every((item) => docValue == null ? void 0 : docValue.includes(item)));
|
|
542
545
|
}
|
|
543
546
|
);
|
|
544
547
|
const notContains = match(
|
|
545
548
|
"notContains",
|
|
546
549
|
(docValue, testValue) => {
|
|
547
|
-
return testValue
|
|
550
|
+
return testValue == null ? void 0 : testValue.every((item) => docValue == null ? void 0 : docValue.includes(item));
|
|
548
551
|
}
|
|
549
552
|
);
|
|
550
553
|
const docMatch = (doc) => {
|
|
@@ -679,12 +682,13 @@ __export(users_exports, {
|
|
|
679
682
|
isGlobalBuilder: () => isGlobalBuilder
|
|
680
683
|
});
|
|
681
684
|
function isBuilder(user, appId) {
|
|
685
|
+
var _a, _b, _c;
|
|
682
686
|
if (!user) {
|
|
683
687
|
return false;
|
|
684
688
|
}
|
|
685
|
-
if (user.builder
|
|
689
|
+
if ((_a = user.builder) == null ? void 0 : _a.global) {
|
|
686
690
|
return true;
|
|
687
|
-
} else if (appId && user.builder
|
|
691
|
+
} else if (appId && ((_c = (_b = user.builder) == null ? void 0 : _b.apps) == null ? void 0 : _c.includes(getProdAppID(appId)))) {
|
|
688
692
|
return true;
|
|
689
693
|
}
|
|
690
694
|
return false;
|
|
@@ -702,24 +706,27 @@ function isAdminOrBuilder(user, appId) {
|
|
|
702
706
|
return isBuilder(user, appId) || isAdmin(user);
|
|
703
707
|
}
|
|
704
708
|
function hasAppBuilderPermissions(user) {
|
|
709
|
+
var _a, _b, _c;
|
|
705
710
|
if (!user) {
|
|
706
711
|
return false;
|
|
707
712
|
}
|
|
708
|
-
const appLength = user.builder
|
|
709
|
-
const isGlobalBuilder2 = !!user.builder
|
|
713
|
+
const appLength = (_b = (_a = user.builder) == null ? void 0 : _a.apps) == null ? void 0 : _b.length;
|
|
714
|
+
const isGlobalBuilder2 = !!((_c = user.builder) == null ? void 0 : _c.global);
|
|
710
715
|
return !isGlobalBuilder2 && appLength != null && appLength > 0;
|
|
711
716
|
}
|
|
712
717
|
function hasBuilderPermissions(user) {
|
|
718
|
+
var _a;
|
|
713
719
|
if (!user) {
|
|
714
720
|
return false;
|
|
715
721
|
}
|
|
716
|
-
return user.builder
|
|
722
|
+
return ((_a = user.builder) == null ? void 0 : _a.global) || hasAppBuilderPermissions(user);
|
|
717
723
|
}
|
|
718
724
|
function hasAdminPermissions(user) {
|
|
725
|
+
var _a;
|
|
719
726
|
if (!user) {
|
|
720
727
|
return false;
|
|
721
728
|
}
|
|
722
|
-
return !!user.admin
|
|
729
|
+
return !!((_a = user.admin) == null ? void 0 : _a.global);
|
|
723
730
|
}
|
|
724
731
|
// Annotate the CommonJS export names for ESM import in node:
|
|
725
732
|
0 && (module.exports = {
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/constants.ts", "../src/filters.ts", "../../types/src/sdk/events/event.ts", "../../types/src/sdk/cli/constants.ts", "../../types/src/documents/app/automation.ts", "../../types/src/documents/document.ts", "../../types/src/documents/global/plugin.ts", "../../types/src/documents/global/quotas.ts", "../src/helpers/index.ts", "../src/helpers/helpers.ts", "../src/helpers/integrations.ts", "../src/utils.ts", "../src/sdk/index.ts", "../src/sdk/documents/applications.ts", "../src/sdk/documents/users.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./constants\"\nexport * as dataFilters from \"./filters\"\nexport * as helpers from \"./helpers\"\nexport * as utils from \"./utils\"\nexport * as sdk from \"./sdk\"\n", "export const OperatorOptions = {\n Equals: {\n value: \"equal\",\n label: \"Equals\",\n },\n NotEquals: {\n value: \"notEqual\",\n label: \"Not equals\",\n },\n Empty: {\n value: \"empty\",\n label: \"Is empty\",\n },\n NotEmpty: {\n value: \"notEmpty\",\n label: \"Is not empty\",\n },\n StartsWith: {\n value: \"string\",\n label: \"Starts with\",\n },\n Like: {\n value: \"fuzzy\",\n label: \"Like\",\n },\n MoreThan: {\n value: \"rangeLow\",\n label: \"More than or equal to\",\n },\n LessThan: {\n value: \"rangeHigh\",\n label: \"Less than or equal to\",\n },\n Contains: {\n value: \"contains\",\n label: \"Contains\",\n },\n NotContains: {\n value: \"notContains\",\n label: \"Does not contain\",\n },\n In: {\n value: \"oneOf\",\n label: \"Is in\",\n },\n ContainsAny: {\n value: \"containsAny\",\n label: \"Has any\",\n },\n}\n\nexport const SqlNumberTypeRangeMap = {\n integer: {\n max: 2147483647,\n min: -2147483648,\n },\n int: {\n max: 2147483647,\n min: -2147483648,\n },\n smallint: {\n max: 32767,\n min: -32768,\n },\n mediumint: {\n max: 8388607,\n min: -8388608,\n },\n}\n\nexport enum SocketEvent {\n UserUpdate = \"UserUpdate\",\n UserDisconnect = \"UserDisconnect\",\n Heartbeat = \"Heartbeat\",\n}\n\nexport enum GridSocketEvent {\n RowChange = \"RowChange\",\n TableChange = \"TableChange\",\n SelectTable = \"SelectTable\",\n SelectCell = \"SelectCell\",\n}\n\nexport enum BuilderSocketEvent {\n SelectApp = \"SelectApp\",\n TableChange = \"TableChange\",\n DatasourceChange = \"DatasourceChange\",\n LockTransfer = \"LockTransfer\",\n ScreenChange = \"ScreenChange\",\n AppMetadataChange = \"AppMetadataChange\",\n SelectResource = \"SelectResource\",\n AppPublishChange = \"AppPublishChange\",\n AutomationChange = \"AutomationChange\",\n}\n\nexport const SocketSessionTTL = 60\nexport const ValidQueryNameRegex = /^[^()]*$/\nexport const ValidColumnNameRegex = /^[_a-zA-Z0-9\\s]*$/g\n", "import {\n Datasource,\n FieldType,\n SearchFilter,\n SearchQuery,\n SearchQueryFields,\n SortDirection,\n SortType,\n} from \"@budibase/types\"\nimport { OperatorOptions, SqlNumberTypeRangeMap } from \"./constants\"\nimport { deepGet } from \"./helpers\"\n\nconst HBS_REGEX = /{{([^{].*?)}}/g\n\n/**\n * Returns the valid operator options for a certain data type\n * @param type the data type\n */\nexport const getValidOperatorsForType = (\n type: FieldType,\n field: string,\n datasource: Datasource & { tableId: any } // TODO: is this table id ever populated?\n) => {\n const Op = OperatorOptions\n const stringOps = [\n Op.Equals,\n Op.NotEquals,\n Op.StartsWith,\n Op.Like,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n const numOps = [\n Op.Equals,\n Op.NotEquals,\n Op.MoreThan,\n Op.LessThan,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n let ops: {\n value: string\n label: string\n }[] = []\n if (type === \"string\") {\n ops = stringOps\n } else if (type === \"number\" || type === \"bigint\") {\n ops = numOps\n } else if (type === \"options\") {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === \"array\") {\n ops = [Op.Contains, Op.NotContains, Op.Empty, Op.NotEmpty, Op.ContainsAny]\n } else if (type === \"boolean\") {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty]\n } else if (type === \"longform\") {\n ops = stringOps\n } else if (type === \"datetime\") {\n ops = numOps\n } else if (type === \"formula\") {\n ops = stringOps.concat([Op.MoreThan, Op.LessThan])\n }\n\n // Only allow equal/not equal for _id in SQL tables\n const externalTable = datasource?.tableId?.includes(\"datasource_plus\")\n if (field === \"_id\" && externalTable) {\n ops = [Op.Equals, Op.NotEquals, Op.In]\n }\n\n return ops\n}\n\n/**\n * Operators which do not support empty strings as values\n */\nexport const NoEmptyFilterStrings = [\n OperatorOptions.StartsWith.value,\n OperatorOptions.Like.value,\n OperatorOptions.Equals.value,\n OperatorOptions.NotEquals.value,\n OperatorOptions.Contains.value,\n OperatorOptions.NotContains.value,\n] as (keyof SearchQueryFields)[]\n\n/**\n * Removes any fields that contain empty strings that would cause inconsistent\n * behaviour with how backend tables are filtered (no value means no filter).\n */\nconst cleanupQuery = (query: SearchQuery) => {\n if (!query) {\n return query\n }\n for (let filterField of NoEmptyFilterStrings) {\n if (!query[filterField]) {\n continue\n }\n\n for (let [key, value] of Object.entries(query[filterField]!)) {\n if (value == null || value === \"\") {\n delete query[filterField]![key]\n }\n }\n }\n return query\n}\n\n/**\n * Removes a numeric prefix on field names designed to give fields uniqueness\n */\nconst removeKeyNumbering = (key: string) => {\n if (typeof key === \"string\" && key.match(/\\d[0-9]*:/g) != null) {\n const parts = key.split(\":\")\n parts.shift()\n return parts.join(\":\")\n } else {\n return key\n }\n}\n\n/**\n * Builds a lucene JSON query from the filter structure generated in the builder\n * @param filter the builder filter structure\n */\nexport const buildLuceneQuery = (filter: SearchFilter[]) => {\n let query: SearchQuery = {\n string: {},\n fuzzy: {},\n range: {},\n equal: {},\n notEqual: {},\n empty: {},\n notEmpty: {},\n contains: {},\n notContains: {},\n oneOf: {},\n containsAny: {},\n }\n if (Array.isArray(filter)) {\n filter.forEach(expression => {\n let { operator, field, type, value, externalType } = expression\n const isHbs =\n typeof value === \"string\" && (value.match(HBS_REGEX) || []).length > 0\n // Parse all values into correct types\n if (operator === \"allOr\") {\n query.allOr = true\n return\n }\n if (\n type === \"datetime\" &&\n !isHbs &&\n operator !== \"empty\" &&\n operator !== \"notEmpty\"\n ) {\n // Ensure date value is a valid date and parse into correct format\n if (!value) {\n return\n }\n try {\n value = new Date(value).toISOString()\n } catch (error) {\n return\n }\n }\n if (type === \"number\" && typeof value === \"string\") {\n if (operator === \"oneOf\") {\n value = value.split(\",\").map(item => parseFloat(item))\n } else if (!isHbs) {\n value = parseFloat(value)\n }\n }\n if (type === \"boolean\") {\n value = `${value}`?.toLowerCase() === \"true\"\n }\n if (\n [\"contains\", \"notContains\", \"containsAny\"].includes(operator) &&\n type === \"array\" &&\n typeof value === \"string\"\n ) {\n value = value.split(\",\")\n }\n if (operator.startsWith(\"range\") && query.range) {\n const minint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.min || Number.MIN_SAFE_INTEGER\n const maxint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.max || Number.MAX_SAFE_INTEGER\n if (!query.range[field]) {\n query.range[field] = {\n low: type === \"number\" ? minint : \"0000-00-00T00:00:00.000Z\",\n high: type === \"number\" ? maxint : \"9999-00-00T00:00:00.000Z\",\n }\n }\n if ((operator as any) === \"rangeLow\" && value != null && value !== \"\") {\n query.range[field].low = value\n } else if (\n (operator as any) === \"rangeHigh\" &&\n value != null &&\n value !== \"\"\n ) {\n query.range[field].high = value\n }\n } else if (query[operator]) {\n if (type === \"boolean\") {\n // Transform boolean filters to cope with null.\n // \"equals false\" needs to be \"not equals true\"\n // \"not equals false\" needs to be \"equals true\"\n if (operator === \"equal\" && value === false) {\n query.notEqual = query.notEqual || {}\n query.notEqual[field] = true\n } else if (operator === \"notEqual\" && value === false) {\n query.equal = query.equal || {}\n query.equal[field] = true\n } else {\n query[operator] = query[operator] || {}\n query[operator]![field] = value\n }\n } else {\n query[operator] = query[operator] || {}\n query[operator]![field] = value\n }\n }\n })\n }\n return query\n}\n\n/**\n * Performs a client-side lucene search on an array of data\n * @param docs the data\n * @param query the JSON lucene query\n */\nexport const runLuceneQuery = (docs: any[], query?: SearchQuery) => {\n if (!docs || !Array.isArray(docs)) {\n return []\n }\n if (!query) {\n return docs\n }\n\n // Make query consistent first\n query = cleanupQuery(query)\n\n // Iterates over a set of filters and evaluates a fail function against a doc\n const match =\n (\n type: keyof SearchQueryFields,\n failFn: (docValue: any, testValue: any) => boolean\n ) =>\n (doc: any) => {\n const filters = Object.entries(query![type] || {})\n for (let i = 0; i < filters.length; i++) {\n const [key, testValue] = filters[i]\n const docValue = deepGet(doc, removeKeyNumbering(key))\n if (failFn(docValue, testValue)) {\n return false\n }\n }\n return true\n }\n\n // Process a string match (fails if the value does not start with the string)\n const stringMatch = match(\"string\", (docValue: string, testValue: string) => {\n return (\n !docValue || !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n })\n\n // Process a fuzzy match (treat the same as starts with when running locally)\n const fuzzyMatch = match(\"fuzzy\", (docValue: string, testValue: string) => {\n return (\n !docValue || !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n })\n\n // Process a range match\n const rangeMatch = match(\n \"range\",\n (\n docValue: string | number | null,\n testValue: { low: number; high: number }\n ) => {\n return (\n docValue == null ||\n docValue === \"\" ||\n +docValue < testValue.low ||\n +docValue > testValue.high\n )\n }\n )\n\n // Process an equal match (fails if the value is different)\n const equalMatch = match(\n \"equal\",\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue !== testValue\n }\n )\n\n // Process a not-equal match (fails if the value is the same)\n const notEqualMatch = match(\n \"notEqual\",\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue === testValue\n }\n )\n\n // Process an empty match (fails if the value is not empty)\n const emptyMatch = match(\"empty\", (docValue: string | null) => {\n return docValue != null && docValue !== \"\"\n })\n\n // Process a not-empty match (fails is the value is empty)\n const notEmptyMatch = match(\"notEmpty\", (docValue: string | null) => {\n return docValue == null || docValue === \"\"\n })\n\n // Process an includes match (fails if the value is not included)\n const oneOf = match(\"oneOf\", (docValue: any, testValue: any) => {\n if (typeof testValue === \"string\") {\n testValue = testValue.split(\",\")\n if (typeof docValue === \"number\") {\n testValue = testValue.map((item: string) => parseFloat(item))\n }\n }\n return !testValue?.includes(docValue)\n })\n\n const containsAny = match(\"containsAny\", (docValue: any, testValue: any) => {\n return !docValue?.includes(...testValue)\n })\n\n const contains = match(\n \"contains\",\n (docValue: string | any[], testValue: any[]) => {\n return !testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const notContains = match(\n \"notContains\",\n (docValue: string | any[], testValue: any[]) => {\n return testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n // Match a document against all criteria\n const docMatch = (doc: any) => {\n return (\n stringMatch(doc) &&\n fuzzyMatch(doc) &&\n rangeMatch(doc) &&\n equalMatch(doc) &&\n notEqualMatch(doc) &&\n emptyMatch(doc) &&\n notEmptyMatch(doc) &&\n oneOf(doc) &&\n contains(doc) &&\n containsAny(doc) &&\n notContains(doc)\n )\n }\n\n // Process all docs\n return docs.filter(docMatch)\n}\n\n/**\n * Performs a client-side sort from the equivalent server-side lucene sort\n * parameters.\n * @param docs the data\n * @param sort the sort column\n * @param sortOrder the sort order (\"ascending\" or \"descending\")\n * @param sortType the type of sort (\"string\" or \"number\")\n */\nexport const luceneSort = (\n docs: any[],\n sort: string,\n sortOrder: SortDirection,\n sortType = SortType.STRING\n) => {\n if (!sort || !sortOrder || !sortType) {\n return docs\n }\n const parse =\n sortType === \"string\" ? (x: any) => `${x}` : (x: string) => parseFloat(x)\n return docs\n .slice()\n .sort((a: { [x: string]: any }, b: { [x: string]: any }) => {\n const colA = parse(a[sort])\n const colB = parse(b[sort])\n if (sortOrder.toLowerCase() === \"descending\") {\n return colA > colB ? -1 : 1\n } else {\n return colA > colB ? 1 : -1\n }\n })\n}\n\n/**\n * Limits the specified docs to the specified number of rows from the equivalent\n * server-side lucene limit parameters.\n * @param docs the data\n * @param limit the number of docs to limit to\n */\nexport const luceneLimit = (docs: any[], limit: string) => {\n const numLimit = parseFloat(limit)\n if (isNaN(numLimit)) {\n return docs\n }\n return docs.slice(0, numLimit)\n}\n\nexport const hasFilters = (query?: SearchQuery) => {\n if (!query) {\n return false\n }\n const skipped = [\"allOr\"]\n for (let [key, value] of Object.entries(query)) {\n if (skipped.includes(key) || typeof value !== \"object\") {\n continue\n }\n if (Object.keys(value).length !== 0) {\n return true\n }\n }\n return false\n}\n", "import { Hosting } from \"../hosting\"\nimport { Group, Identity } from \"./identification\"\n\nexport enum Event {\n // USER\n USER_CREATED = \"user:created\",\n USER_UPDATED = \"user:updated\",\n USER_DELETED = \"user:deleted\",\n\n // USER / ONBOARDING\n USER_ONBOARDING_COMPLETE = \"user:onboarding:complete\",\n\n // USER / PERMISSIONS\n USER_PERMISSION_ADMIN_ASSIGNED = \"user:admin:assigned\",\n USER_PERMISSION_ADMIN_REMOVED = \"user:admin:removed\",\n USER_PERMISSION_BUILDER_ASSIGNED = \"user:builder:assigned\",\n USER_PERMISSION_BUILDER_REMOVED = \"user:builder:removed\",\n\n // USER / INVITE\n USER_INVITED = \"user:invited\",\n USER_INVITED_ACCEPTED = \"user:invite:accepted\",\n\n // USER / PASSWORD\n USER_PASSWORD_FORCE_RESET = \"user:password:force:reset\",\n USER_PASSWORD_UPDATED = \"user:password:updated\",\n USER_PASSWORD_RESET_REQUESTED = \"user:password:reset:requested\",\n USER_PASSWORD_RESET = \"user:password:reset\",\n\n // USER / COLLABORATION\n USER_DATA_COLLABORATION = \"user:data:collaboration\",\n\n // EMAIL\n EMAIL_SMTP_CREATED = \"email:smtp:created\",\n EMAIL_SMTP_UPDATED = \"email:smtp:updated\",\n\n // AUTH\n AUTH_SSO_CREATED = \"auth:sso:created\",\n AUTH_SSO_UPDATED = \"auth:sso:updated\",\n AUTH_SSO_ACTIVATED = \"auth:sso:activated\",\n AUTH_SSO_DEACTIVATED = \"auth:sso:deactivated\",\n AUTH_LOGIN = \"auth:login\",\n AUTH_LOGOUT = \"auth:logout\",\n\n // ORG\n ORG_NAME_UPDATED = \"org:info:name:updated\",\n ORG_LOGO_UPDATED = \"org:info:logo:updated\",\n ORG_PLATFORM_URL_UPDATED = \"org:platformurl:updated\",\n\n // INSTALLATION\n INSTALLATION_VERSION_CHECKED = \"installation:version:checked\",\n INSTALLATION_VERSION_UPGRADED = \"installation:version:upgraded\",\n INSTALLATION_VERSION_DOWNGRADED = \"installation:version:downgraded\",\n INSTALLATION_FIRST_STARTUP = \"installation:firstStartup\",\n\n // ORG / ANALYTICS\n ANALYTICS_OPT_OUT = \"analytics:opt:out\",\n ANALYTICS_OPT_IN = \"analytics:opt:in\",\n\n // APP\n APP_CREATED = \"app:created\",\n APP_UPDATED = \"app:updated\",\n APP_DELETED = \"app:deleted\",\n APP_PUBLISHED = \"app:published\",\n APP_UNPUBLISHED = \"app:unpublished\",\n APP_TEMPLATE_IMPORTED = \"app:template:imported\",\n APP_FILE_IMPORTED = \"app:file:imported\",\n APP_VERSION_UPDATED = \"app:version:updated\",\n APP_VERSION_REVERTED = \"app:version:reverted\",\n APP_REVERTED = \"app:reverted\",\n APP_EXPORTED = \"app:exported\",\n\n // ROLE\n ROLE_CREATED = \"role:created\",\n ROLE_UPDATED = \"role:updated\",\n ROLE_DELETED = \"role:deleted\",\n ROLE_ASSIGNED = \"role:assigned\",\n ROLE_UNASSIGNED = \"role:unassigned\",\n\n // SERVE\n SERVED_BUILDER = \"served:builder\",\n SERVED_APP = \"served:app\",\n SERVED_APP_PREVIEW = \"served:app:preview\",\n\n // DATASOURCE\n DATASOURCE_CREATED = \"datasource:created\",\n DATASOURCE_UPDATED = \"datasource:updated\",\n DATASOURCE_DELETED = \"datasource:deleted\",\n\n // QUERY\n QUERY_CREATED = \"query:created\",\n QUERY_UPDATED = \"query:updated\",\n QUERY_DELETED = \"query:deleted\",\n QUERY_IMPORT = \"query:import\",\n QUERIES_RUN = \"queries:run\",\n QUERY_PREVIEWED = \"query:previewed\",\n\n // TABLE\n TABLE_CREATED = \"table:created\",\n TABLE_UPDATED = \"table:updated\",\n TABLE_DELETED = \"table:deleted\",\n TABLE_EXPORTED = \"table:exported\",\n TABLE_IMPORTED = \"table:imported\",\n TABLE_DATA_IMPORTED = \"table:data:imported\",\n\n // VIEW\n VIEW_CREATED = \"view:created\",\n VIEW_UPDATED = \"view:updated\",\n VIEW_DELETED = \"view:deleted\",\n VIEW_EXPORTED = \"view:exported\",\n VIEW_FILTER_CREATED = \"view:filter:created\",\n VIEW_FILTER_UPDATED = \"view:filter:updated\",\n VIEW_FILTER_DELETED = \"view:filter:deleted\",\n VIEW_CALCULATION_CREATED = \"view:calculation:created\",\n VIEW_CALCULATION_UPDATED = \"view:calculation:updated\",\n VIEW_CALCULATION_DELETED = \"view:calculation:deleted\",\n\n // ROWS\n ROWS_CREATED = \"rows:created\",\n ROWS_IMPORTED = \"rows:imported\",\n\n // COMPONENT\n COMPONENT_CREATED = \"component:created\",\n COMPONENT_DELETED = \"component:deleted\",\n\n // SCREEN\n SCREEN_CREATED = \"screen:created\",\n SCREEN_DELETED = \"screen:deleted\",\n\n // LAYOUT\n LAYOUT_CREATED = \"layout:created\",\n LAYOUT_DELETED = \"layout:deleted\",\n\n // AUTOMATION\n AUTOMATION_CREATED = \"automation:created\",\n AUTOMATION_DELETED = \"automation:deleted\",\n AUTOMATION_TESTED = \"automation:tested\",\n AUTOMATIONS_RUN = \"automations:run\",\n AUTOMATION_STEP_CREATED = \"automation:step:created\",\n AUTOMATION_STEP_DELETED = \"automation:step:deleted\",\n AUTOMATION_TRIGGER_UPDATED = \"automation:trigger:updated\",\n\n // LICENSE\n LICENSE_PLAN_CHANGED = \"license:plan:changed\",\n LICENSE_ACTIVATED = \"license:activated\",\n LICENSE_PAYMENT_FAILED = \"license:payment:failed\",\n LICENSE_PAYMENT_RECOVERED = \"license:payment:recovered\",\n LICENSE_CHECKOUT_OPENED = \"license:checkout:opened\",\n LICENSE_CHECKOUT_SUCCESS = \"license:checkout:success\",\n LICENSE_PORTAL_OPENED = \"license:portal:opened\",\n\n // ACCOUNT\n ACCOUNT_CREATED = \"account:created\",\n ACCOUNT_DELETED = \"account:deleted\",\n ACCOUNT_VERIFIED = \"account:verified\",\n\n // BACKFILL\n APP_BACKFILL_SUCCEEDED = \"app:backfill:succeeded\",\n APP_BACKFILL_FAILED = \"app:backfill:failed\",\n TENANT_BACKFILL_SUCCEEDED = \"tenant:backfill:succeeded\",\n TENANT_BACKFILL_FAILED = \"tenant:backfill:failed\",\n INSTALLATION_BACKFILL_SUCCEEDED = \"installation:backfill:succeeded\",\n INSTALLATION_BACKFILL_FAILED = \"installation:backfill:failed\",\n\n // USER\n USER_GROUP_CREATED = \"user_group:created\",\n USER_GROUP_UPDATED = \"user_group:updated\",\n USER_GROUP_DELETED = \"user_group:deleted\",\n USER_GROUP_USERS_ADDED = \"user_group:user_added\",\n USER_GROUP_USERS_REMOVED = \"user_group:users_deleted\",\n USER_GROUP_PERMISSIONS_EDITED = \"user_group:permissions_edited\",\n USER_GROUP_ONBOARDING = \"user_group:onboarding_added\",\n\n // PLUGIN\n PLUGIN_INIT = \"plugin:init\",\n PLUGIN_IMPORTED = \"plugin:imported\",\n PLUGIN_DELETED = \"plugin:deleted\",\n\n // BACKUP\n APP_BACKUP_RESTORED = \"app:backup:restored\",\n APP_BACKUP_TRIGGERED = \"app:backup:triggered\",\n\n // ENVIRONMENT VARIABLE\n ENVIRONMENT_VARIABLE_CREATED = \"environment_variable:created\",\n ENVIRONMENT_VARIABLE_DELETED = \"environment_variable:deleted\",\n ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED = \"environment_variable:upgrade_panel_opened\",\n\n // AUDIT LOG\n AUDIT_LOGS_FILTERED = \"audit_log:filtered\",\n AUDIT_LOGS_DOWNLOADED = \"audit_log:downloaded\",\n}\n\nexport const UserGroupSyncEvents: Event[] = [\n Event.USER_CREATED,\n Event.USER_UPDATED,\n Event.USER_DELETED,\n Event.USER_PERMISSION_ADMIN_ASSIGNED,\n Event.USER_PERMISSION_ADMIN_REMOVED,\n Event.USER_PERMISSION_BUILDER_ASSIGNED,\n Event.USER_PERMISSION_BUILDER_REMOVED,\n Event.USER_GROUP_CREATED,\n Event.USER_GROUP_UPDATED,\n Event.USER_GROUP_DELETED,\n Event.USER_GROUP_USERS_ADDED,\n Event.USER_GROUP_USERS_REMOVED,\n Event.USER_GROUP_PERMISSIONS_EDITED,\n]\n\nexport const AsyncEvents: Event[] = [...UserGroupSyncEvents]\n\n// all events that are not audited have been added to this record as undefined, this means\n// that Typescript can protect us against new events being added and auditing of those\n// events not being considered. This might be a little ugly, but provides a level of\n// Typescript build protection for the audit log feature, any new event also needs to be\n// added to this map, during which the developer will need to consider if it should be\n// a user facing event or not.\nexport const AuditedEventFriendlyName: Record<Event, string | undefined> = {\n // USER\n [Event.USER_CREATED]: `User \"{{ email }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_UPDATED]: `User \"{{ email }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_DELETED]: `User \"{{ email }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User \"{{ email }}\" admin role assigned`,\n [Event.USER_PERMISSION_ADMIN_REMOVED]: `User \"{{ email }}\" admin role removed`,\n [Event.USER_PERMISSION_BUILDER_ASSIGNED]: `User \"{{ email }}\" builder role assigned`,\n [Event.USER_PERMISSION_BUILDER_REMOVED]: `User \"{{ email }}\" builder role removed`,\n [Event.USER_INVITED]: `User \"{{ email }}\" invited`,\n [Event.USER_INVITED_ACCEPTED]: `User \"{{ email }}\" accepted invite`,\n [Event.USER_PASSWORD_UPDATED]: `User \"{{ email }}\" password updated`,\n [Event.USER_PASSWORD_RESET_REQUESTED]: `User \"{{ email }}\" password reset requested`,\n [Event.USER_PASSWORD_RESET]: `User \"{{ email }}\" password reset`,\n [Event.USER_GROUP_CREATED]: `User group \"{{ name }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_UPDATED]: `User group \"{{ name }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_DELETED]: `User group \"{{ name }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_ADDED]: `User group \"{{ name }}\" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_REMOVED]: `User group \"{{ name }}\" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_PERMISSIONS_EDITED]: `User group \"{{ name }}\" permissions edited`,\n [Event.USER_PASSWORD_FORCE_RESET]: undefined,\n [Event.USER_GROUP_ONBOARDING]: undefined,\n [Event.USER_ONBOARDING_COMPLETE]: undefined,\n [Event.USER_DATA_COLLABORATION]: undefined,\n\n // EMAIL\n [Event.EMAIL_SMTP_CREATED]: `Email configuration created`,\n [Event.EMAIL_SMTP_UPDATED]: `Email configuration updated`,\n\n // AUTH\n [Event.AUTH_SSO_CREATED]: `SSO configuration created`,\n [Event.AUTH_SSO_UPDATED]: `SSO configuration updated`,\n [Event.AUTH_SSO_ACTIVATED]: `SSO configuration activated`,\n [Event.AUTH_SSO_DEACTIVATED]: `SSO configuration deactivated`,\n [Event.AUTH_LOGIN]: `User \"{{ email }}\" logged in`,\n [Event.AUTH_LOGOUT]: `User \"{{ email }}\" logged out`,\n\n // ORG\n [Event.ORG_NAME_UPDATED]: `Organisation name updated`,\n [Event.ORG_LOGO_UPDATED]: `Organisation logo updated`,\n [Event.ORG_PLATFORM_URL_UPDATED]: `Organisation platform URL updated`,\n\n // APP\n [Event.APP_CREATED]: `App \"{{ name }}\" created`,\n [Event.APP_UPDATED]: `App \"{{ name }}\" updated`,\n [Event.APP_DELETED]: `App \"{{ name }}\" deleted`,\n [Event.APP_PUBLISHED]: `App \"{{ name }}\" published`,\n [Event.APP_UNPUBLISHED]: `App \"{{ name }}\" unpublished`,\n [Event.APP_TEMPLATE_IMPORTED]: `App \"{{ name }}\" template imported`,\n [Event.APP_FILE_IMPORTED]: `App \"{{ name }}\" file imported`,\n [Event.APP_VERSION_UPDATED]: `App \"{{ name }}\" version updated`,\n [Event.APP_VERSION_REVERTED]: `App \"{{ name }}\" version reverted`,\n [Event.APP_REVERTED]: `App \"{{ name }}\" reverted`,\n [Event.APP_EXPORTED]: `App \"{{ name }}\" exported`,\n [Event.APP_BACKUP_RESTORED]: `App backup \"{{ name }}\" restored`,\n [Event.APP_BACKUP_TRIGGERED]: `App backup \"{{ name }}\" triggered`,\n\n // DATASOURCE\n [Event.DATASOURCE_CREATED]: `Datasource created`,\n [Event.DATASOURCE_UPDATED]: `Datasource updated`,\n [Event.DATASOURCE_DELETED]: `Datasource deleted`,\n\n // QUERY\n [Event.QUERY_CREATED]: `Query created`,\n [Event.QUERY_UPDATED]: `Query updated`,\n [Event.QUERY_DELETED]: `Query deleted`,\n [Event.QUERY_IMPORT]: `Query import`,\n [Event.QUERIES_RUN]: undefined,\n [Event.QUERY_PREVIEWED]: undefined,\n\n // TABLE\n [Event.TABLE_CREATED]: `Table \"{{ name }}\" created`,\n [Event.TABLE_UPDATED]: `Table \"{{ name }}\" updated`,\n [Event.TABLE_DELETED]: `Table \"{{ name }}\" deleted`,\n [Event.TABLE_EXPORTED]: `Table \"{{ name }}\" exported`,\n [Event.TABLE_IMPORTED]: `Table \"{{ name }}\" imported`,\n [Event.TABLE_DATA_IMPORTED]: `Data imported to table`,\n\n // ROWS\n [Event.ROWS_CREATED]: `Rows created`,\n [Event.ROWS_IMPORTED]: `Rows imported`,\n\n // AUTOMATION\n [Event.AUTOMATION_CREATED]: `Automation \"{{ name }}\" created`,\n [Event.AUTOMATION_DELETED]: `Automation \"{{ name }}\" deleted`,\n [Event.AUTOMATION_STEP_CREATED]: `Automation \"{{ name }}\" step added`,\n [Event.AUTOMATION_STEP_DELETED]: `Automation \"{{ name }}\" step removed`,\n [Event.AUTOMATION_TESTED]: undefined,\n [Event.AUTOMATIONS_RUN]: undefined,\n [Event.AUTOMATION_TRIGGER_UPDATED]: undefined,\n\n // SCREEN\n [Event.SCREEN_CREATED]: `Screen \"{{ name }}\" created`,\n [Event.SCREEN_DELETED]: `Screen \"{{ name }}\" deleted`,\n\n // COMPONENT\n [Event.COMPONENT_CREATED]: `Component created`,\n [Event.COMPONENT_DELETED]: `Component deleted`,\n\n // ENVIRONMENT VARIABLE\n [Event.ENVIRONMENT_VARIABLE_CREATED]: `Environment variable created`,\n [Event.ENVIRONMENT_VARIABLE_DELETED]: `Environment variable deleted`,\n [Event.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED]: undefined,\n\n // PLUGIN\n [Event.PLUGIN_IMPORTED]: `Plugin imported`,\n [Event.PLUGIN_DELETED]: `Plugin deleted`,\n [Event.PLUGIN_INIT]: undefined,\n\n // ROLE - NOT AUDITED\n [Event.ROLE_CREATED]: undefined,\n [Event.ROLE_UPDATED]: undefined,\n [Event.ROLE_DELETED]: undefined,\n [Event.ROLE_ASSIGNED]: undefined,\n [Event.ROLE_UNASSIGNED]: undefined,\n\n // LICENSE - NOT AUDITED\n [Event.LICENSE_PLAN_CHANGED]: undefined,\n [Event.LICENSE_ACTIVATED]: undefined,\n [Event.LICENSE_PAYMENT_FAILED]: undefined,\n [Event.LICENSE_PAYMENT_RECOVERED]: undefined,\n [Event.LICENSE_CHECKOUT_OPENED]: undefined,\n [Event.LICENSE_CHECKOUT_SUCCESS]: undefined,\n [Event.LICENSE_PORTAL_OPENED]: undefined,\n\n // ACCOUNT - NOT AUDITED\n [Event.ACCOUNT_CREATED]: undefined,\n [Event.ACCOUNT_DELETED]: undefined,\n [Event.ACCOUNT_VERIFIED]: undefined,\n\n // BACKFILL - NOT AUDITED\n [Event.APP_BACKFILL_SUCCEEDED]: undefined,\n [Event.APP_BACKFILL_FAILED]: undefined,\n [Event.TENANT_BACKFILL_SUCCEEDED]: undefined,\n [Event.TENANT_BACKFILL_FAILED]: undefined,\n [Event.INSTALLATION_BACKFILL_SUCCEEDED]: undefined,\n [Event.INSTALLATION_BACKFILL_FAILED]: undefined,\n\n // LAYOUT - NOT AUDITED\n [Event.LAYOUT_CREATED]: undefined,\n [Event.LAYOUT_DELETED]: undefined,\n\n // VIEW - NOT AUDITED\n [Event.VIEW_CREATED]: undefined,\n [Event.VIEW_UPDATED]: undefined,\n [Event.VIEW_DELETED]: undefined,\n [Event.VIEW_EXPORTED]: undefined,\n [Event.VIEW_FILTER_CREATED]: undefined,\n [Event.VIEW_FILTER_UPDATED]: undefined,\n [Event.VIEW_FILTER_DELETED]: undefined,\n [Event.VIEW_CALCULATION_CREATED]: undefined,\n [Event.VIEW_CALCULATION_UPDATED]: undefined,\n [Event.VIEW_CALCULATION_DELETED]: undefined,\n\n // SERVED - NOT AUDITED\n [Event.SERVED_BUILDER]: undefined,\n [Event.SERVED_APP]: undefined,\n [Event.SERVED_APP_PREVIEW]: undefined,\n\n // ANALYTICS - NOT AUDITED\n [Event.ANALYTICS_OPT_OUT]: undefined,\n [Event.ANALYTICS_OPT_IN]: undefined,\n\n // INSTALLATION - NOT AUDITED\n [Event.INSTALLATION_VERSION_CHECKED]: undefined,\n [Event.INSTALLATION_VERSION_UPGRADED]: undefined,\n [Event.INSTALLATION_VERSION_DOWNGRADED]: undefined,\n [Event.INSTALLATION_FIRST_STARTUP]: undefined,\n\n // AUDIT LOG - NOT AUDITED\n [Event.AUDIT_LOGS_FILTERED]: undefined,\n [Event.AUDIT_LOGS_DOWNLOADED]: undefined,\n}\n\n// properties added at the final stage of the event pipeline\nexport interface BaseEvent {\n version?: string\n service?: string\n environment?: string\n appId?: string\n installationId?: string\n tenantId?: string\n hosting?: Hosting\n // any props in the audited section will be removed before passing events\n // up out of system (purely for use with auditing)\n audited?: {\n [key: string]: any\n }\n}\n\nexport type TableExportFormat = \"json\" | \"csv\"\n\nexport type DocUpdateEvent = {\n id: string\n tenantId: string\n appId?: string\n}\n\nexport interface EventProcessor {\n processEvent(\n event: Event,\n identity: Identity,\n properties: any,\n timestamp?: string | number\n ): Promise<void>\n identify?(identity: Identity, timestamp?: string | number): Promise<void>\n identifyGroup?(group: Group, timestamp?: string | number): Promise<void>\n shutdown?(): void\n}\n", "import { Event } from \"../events\"\n\nexport enum CommandWord {\n BACKUPS = \"backups\",\n HOSTING = \"hosting\",\n ANALYTICS = \"analytics\",\n HELP = \"help\",\n PLUGIN = \"plugins\",\n}\n\nexport enum InitType {\n QUICK = \"quick\",\n DIGITAL_OCEAN = \"do\",\n}\n\nexport const AnalyticsEvent = {\n OptOut: \"analytics:opt:out\",\n OptIn: \"analytics:opt:in\",\n SelfHostInit: \"hosting:init\",\n PluginInit: Event.PLUGIN_INIT,\n}\n", "import { Document } from \"../document\"\nimport { EventEmitter } from \"events\"\nimport { User } from \"../global\"\n\nexport enum AutomationIOType {\n OBJECT = \"object\",\n STRING = \"string\",\n BOOLEAN = \"boolean\",\n NUMBER = \"number\",\n ARRAY = \"array\",\n JSON = \"json\",\n DATE = \"date\",\n}\n\nexport enum AutomationCustomIOType {\n TABLE = \"table\",\n ROW = \"row\",\n ROWS = \"rows\",\n WIDE = \"wide\",\n QUERY = \"query\",\n QUERY_PARAMS = \"queryParams\",\n QUERY_LIMIT = \"queryLimit\",\n LOOP_OPTION = \"loopOption\",\n ITEM = \"item\",\n CODE = \"code\",\n FILTERS = \"filters\",\n COLUMN = \"column\",\n TRIGGER_SCHEMA = \"triggerSchema\",\n CRON = \"cron\",\n WEBHOOK_URL = \"webhookUrl\",\n}\n\nexport enum AutomationTriggerStepId {\n ROW_SAVED = \"ROW_SAVED\",\n ROW_UPDATED = \"ROW_UPDATED\",\n ROW_DELETED = \"ROW_DELETED\",\n WEBHOOK = \"WEBHOOK\",\n APP = \"APP\",\n CRON = \"CRON\",\n}\n\nexport enum AutomationStepType {\n LOGIC = \"LOGIC\",\n ACTION = \"ACTION\",\n TRIGGER = \"TRIGGER\",\n}\n\nexport enum AutomationActionStepId {\n SEND_EMAIL_SMTP = \"SEND_EMAIL_SMTP\",\n CREATE_ROW = \"CREATE_ROW\",\n UPDATE_ROW = \"UPDATE_ROW\",\n DELETE_ROW = \"DELETE_ROW\",\n EXECUTE_BASH = \"EXECUTE_BASH\",\n OUTGOING_WEBHOOK = \"OUTGOING_WEBHOOK\",\n EXECUTE_SCRIPT = \"EXECUTE_SCRIPT\",\n EXECUTE_QUERY = \"EXECUTE_QUERY\",\n SERVER_LOG = \"SERVER_LOG\",\n DELAY = \"DELAY\",\n FILTER = \"FILTER\",\n QUERY_ROWS = \"QUERY_ROWS\",\n LOOP = \"LOOP\",\n COLLECT = \"COLLECT\",\n OPENAI = \"OPENAI\",\n // these used to be lowercase step IDs, maintain for backwards compat\n discord = \"discord\",\n slack = \"slack\",\n zapier = \"zapier\",\n integromat = \"integromat\",\n}\n\nexport interface EmailInvite {\n startTime: Date\n endTime: Date\n summary: string\n location?: string\n url?: string\n}\n\nexport interface SendEmailOpts {\n // workspaceId If finer grain controls being used then this will lookup config for workspace.\n workspaceId?: string\n // user If sending to an existing user the object can be provided, this is used in the context.\n user: User\n // from If sending from an address that is not what is configured in the SMTP config.\n from?: string\n // contents If sending a custom email then can supply contents which will be added to it.\n contents?: string\n // subject A custom subject can be specified if the config one is not desired.\n subject?: string\n // info Pass in a structure of information to be stored alongside the invitation.\n info?: any\n cc?: boolean\n bcc?: boolean\n automation?: boolean\n invite?: EmailInvite\n}\n\nexport const AutomationStepIdArray = [\n ...Object.values(AutomationActionStepId),\n ...Object.values(AutomationTriggerStepId),\n]\n\nexport enum AutomationState {\n DISABLED = \"disabled\",\n}\n\nexport interface Automation extends Document {\n definition: {\n steps: AutomationStep[]\n trigger: AutomationTrigger\n }\n screenId?: string\n uiTree?: any\n appId: string\n live?: boolean\n name: string\n internal?: boolean\n type?: string\n state?: AutomationState\n}\n\ninterface BaseIOStructure {\n type?: AutomationIOType\n customType?: AutomationCustomIOType\n title?: string\n description?: string\n dependsOn?: string\n enum?: string[]\n pretty?: string[]\n properties?: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\ninterface InputOutputBlock {\n properties: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\nexport interface AutomationStepSchema {\n name: string\n stepTitle?: string\n tagline: string\n icon: string\n description: string\n type: AutomationStepType\n internal?: boolean\n deprecated?: boolean\n stepId: AutomationTriggerStepId | AutomationActionStepId\n blockToLoop?: string\n inputs: {\n [key: string]: any\n }\n schema: {\n inputs: InputOutputBlock\n outputs: InputOutputBlock\n }\n custom?: boolean\n features?: Partial<Record<AutomationFeature, boolean>>\n}\n\nexport enum AutomationFeature {\n LOOPING = \"LOOPING\",\n}\n\nexport interface AutomationStep extends AutomationStepSchema {\n id: string\n}\n\nexport interface AutomationTriggerSchema extends AutomationStepSchema {\n event?: string\n cronJobId?: string\n}\n\nexport interface AutomationTrigger extends AutomationTriggerSchema {\n id: string\n}\n\nexport enum AutomationStatus {\n SUCCESS = \"success\",\n ERROR = \"error\",\n STOPPED = \"stopped\",\n STOPPED_ERROR = \"stopped_error\",\n NO_ITERATIONS = \"no_iterations\",\n}\n\nexport interface AutomationResults {\n automationId?: string\n status?: AutomationStatus\n trigger?: any\n steps: {\n stepId: AutomationTriggerStepId | AutomationActionStepId\n inputs: {\n [key: string]: any\n }\n outputs: {\n [key: string]: any\n }\n }[]\n}\n\nexport interface AutomationLog extends AutomationResults, Document {\n automationName: string\n _rev?: string\n}\n\nexport interface AutomationLogPage {\n data: AutomationLog[]\n hasNextPage: boolean\n nextPage?: string\n}\n\nexport type AutomationStepInput = {\n inputs: Record<string, any>\n context: Record<string, any>\n emitter: EventEmitter\n appId: string\n apiKey?: string\n}\n\nexport interface AutomationMetadata extends Document {\n errorCount?: number\n automationChainCount?: number\n}\n", "export const SEPARATOR = \"_\"\nexport const UNICODE_MAX = \"\\ufff0\"\n\nexport const prefixed = (type: DocumentType) => `${type}${SEPARATOR}`\n\nexport enum DocumentType {\n USER = \"us\",\n GROUP = \"gr\",\n WORKSPACE = \"workspace\",\n CONFIG = \"config\",\n TEMPLATE = \"template\",\n APP = \"app\",\n DEV = \"dev\",\n APP_DEV = \"app_dev\",\n APP_METADATA = \"app_metadata\",\n ROLE = \"role\",\n MIGRATIONS = \"migrations\",\n DEV_INFO = \"devinfo\",\n AUTOMATION_LOG = \"log_au\",\n ACCOUNT_METADATA = \"acc_metadata\",\n PLUGIN = \"plg\",\n DATASOURCE = \"datasource\",\n DATASOURCE_PLUS = \"datasource_plus\",\n APP_BACKUP = \"backup\",\n TABLE = \"ta\",\n ROW = \"ro\",\n AUTOMATION = \"au\",\n LINK = \"li\",\n WEBHOOK = \"wh\",\n INSTANCE = \"inst\",\n LAYOUT = \"layout\",\n SCREEN = \"screen\",\n QUERY = \"query\",\n DEPLOYMENTS = \"deployments\",\n METADATA = \"metadata\",\n MEM_VIEW = \"view\",\n USER_FLAG = \"flag\",\n AUTOMATION_METADATA = \"meta_au\",\n AUDIT_LOG = \"al\",\n}\n\n// these documents don't really exist, they are part of other\n// documents or enriched into existence as part of get requests\nexport enum VirtualDocumentType {\n VIEW = \"view\",\n}\n\nexport interface Document {\n _id?: string\n _rev?: string\n createdAt?: string | number\n updatedAt?: string\n}\n\nexport interface AnyDocument extends Document {\n [key: string]: any\n}\n", "import { Document } from \"../document\"\n\nexport enum PluginType {\n DATASOURCE = \"datasource\",\n COMPONENT = \"component\",\n AUTOMATION = \"automation\",\n}\n\nexport enum PluginSource {\n NPM = \"NPM\",\n GITHUB = \"Github\",\n URL = \"URL\",\n FILE = \"File Upload\",\n}\nexport interface FileType {\n path: string\n name: string\n}\n\nexport interface Plugin extends Document {\n description: string\n name: string\n version: string\n source: PluginSource\n package: { [key: string]: any }\n hash: string\n schema: {\n type: PluginType\n [key: string]: any\n }\n iconFileName?: string\n // Populated on read\n jsUrl?: string\n // Populated on read\n iconUrl?: string\n}\n\nexport const PLUGIN_TYPE_ARR = Object.values(PluginType)\n", "import { MonthlyQuotaName, StaticQuotaName } from \"../../sdk\"\n\nexport enum BreakdownQuotaName {\n ROW_QUERIES = \"rowQueries\",\n DATASOURCE_QUERIES = \"datasourceQueries\",\n AUTOMATIONS = \"automations\",\n}\n\nexport const APP_QUOTA_NAMES = [\n StaticQuotaName.ROWS,\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport const BREAKDOWN_QUOTA_NAMES = [\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport interface UsageBreakdown {\n parent: MonthlyQuotaName\n values: {\n [key: string]: number\n }\n}\n\nexport type QuotaTriggers = {\n [key: string]: string | undefined\n}\n\nexport interface StaticUsage {\n [StaticQuotaName.APPS]: number\n [StaticQuotaName.PLUGINS]: number\n [StaticQuotaName.USERS]: number\n [StaticQuotaName.USER_GROUPS]: number\n [StaticQuotaName.ROWS]: number\n triggers: {\n [key in StaticQuotaName]?: QuotaTriggers\n }\n}\n\nexport interface MonthlyUsage {\n [MonthlyQuotaName.QUERIES]: number\n [MonthlyQuotaName.AUTOMATIONS]: number\n [MonthlyQuotaName.DAY_PASSES]: number\n triggers: {\n [key in MonthlyQuotaName]?: QuotaTriggers\n }\n breakdown?: {\n [key in BreakdownQuotaName]?: UsageBreakdown\n }\n}\n\nexport interface BaseQuotaUsage {\n usageQuota: StaticUsage\n monthly: {\n [key: string]: MonthlyUsage\n }\n}\n\nexport interface QuotaUsage extends BaseQuotaUsage {\n _id: string\n _rev?: string\n quotaReset: string\n apps?: {\n [key: string]: BaseQuotaUsage\n }\n}\n\nexport type SetUsageValues = {\n total: number\n app?: number\n breakdown?: number\n triggers?: QuotaTriggers\n}\n\nexport type UsageValues = {\n total: number\n app?: number\n breakdown?: number\n}\n", "export * from \"./helpers\"\nexport * from \"./integrations\"\n", "import { User } from \"@budibase/types\"\n\n/**\n * Gets a key within an object. The key supports dot syntax for retrieving deep\n * fields - e.g. \"a.b.c\".\n * Exact matches of keys with dots in them take precedence over nested keys of\n * the same path - e.g. getting \"a.b\" from { \"a.b\": \"foo\", a: { b: \"bar\" } }\n * will return \"foo\" over \"bar\".\n * @param obj the object\n * @param key the key\n * @return {*|null} the value or null if a value was not found for this key\n */\nexport const deepGet = (obj: { [x: string]: any }, key: string) => {\n if (!obj || !key) {\n return null\n }\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key]\n }\n const split = key.split(\".\")\n for (let i = 0; i < split.length; i++) {\n obj = obj?.[split[i]]\n }\n return obj\n}\n\n/**\n * Gets the initials to show in a user avatar.\n * @param user the user\n */\nexport const getUserInitials = (user: User) => {\n if (!user) {\n return \"?\"\n }\n let initials = \"\"\n initials += user.firstName ? user.firstName[0] : \"\"\n initials += user.lastName ? user.lastName[0] : \"\"\n if (initials !== \"\") {\n return initials\n }\n return user.email?.[0] || \"U\"\n}\n\n/**\n * Gets a deterministic colour for a particular user\n * @param user the user\n */\nexport const getUserColor = (user: User) => {\n let id = user?._id\n if (!id) {\n return \"var(--spectrum-global-color-blue-400)\"\n }\n\n // In order to generate the same color for global users as app users, we need\n // to remove the app-specific table prefix\n id = id.replace(\"ro_ta_users_\", \"\")\n\n // Generate a hue based on the ID\n let hue = 1\n for (let i = 0; i < id.length; i++) {\n hue += id.charCodeAt(i)\n hue = hue % 36\n }\n return `hsl(${hue * 10}, 50%, 40%)`\n}\n\n/**\n * Gets a friendly label to describe who a user is.\n * @param user the user\n */\nexport const getUserLabel = (user: User) => {\n if (!user) {\n return \"\"\n }\n const { firstName, lastName, email } = user\n if (firstName && lastName) {\n return `${firstName} ${lastName}`\n } else if (firstName) {\n return firstName\n } else if (lastName) {\n return lastName\n } else {\n return email\n }\n}\n", "import { Datasource, SourceName } from \"@budibase/types\"\n\nexport function isGoogleSheets(type: SourceName) {\n return type === SourceName.GOOGLE_SHEETS\n}\n\nexport function isSQL(datasource: Datasource): boolean {\n if (!datasource || !datasource.source) {\n return false\n }\n const SQL = [\n SourceName.POSTGRES,\n SourceName.SQL_SERVER,\n SourceName.MYSQL,\n SourceName.ORACLE,\n ]\n return SQL.indexOf(datasource.source) !== -1\n}\n", "export function unreachable(\n value: never,\n message = `No such case in exhaustive switch: ${value}`\n) {\n throw new Error(message)\n}\n\nexport async function parallelForeach<T>(\n items: T[],\n task: (item: T) => Promise<void>,\n maxConcurrency: number\n): Promise<void> {\n const promises: Promise<void>[] = []\n let index = 0\n\n const processItem = async (item: T) => {\n try {\n await task(item)\n } finally {\n processNext()\n }\n }\n\n const processNext = () => {\n if (index >= items.length) {\n // No more items to process\n return\n }\n\n const item = items[index]\n index++\n\n const promise = processItem(item)\n promises.push(promise)\n\n if (promises.length >= maxConcurrency) {\n Promise.race(promises).then(processNext)\n } else {\n processNext()\n }\n }\n processNext()\n\n await Promise.all(promises)\n}\n", "export * from \"./documents\"\n", "import { DocumentType, prefixed } from \"@budibase/types\"\n\nconst APP_PREFIX = prefixed(DocumentType.APP)\nconst APP_DEV_PREFIX = prefixed(DocumentType.APP_DEV)\n\nexport function getDevAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_ element, then join it together incase any other app_ exist\n const split = appId.split(APP_PREFIX)\n split.shift()\n const rest = split.join(APP_PREFIX)\n return `${APP_DEV_PREFIX}${rest}`\n}\n\n/**\n * Convert a development app ID to a deployed app ID.\n */\nexport function getProdAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (!appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_dev element, then join it together incase any other app_ exist\n const split = appId.split(APP_DEV_PREFIX)\n split.shift()\n const rest = split.join(APP_DEV_PREFIX)\n return `${APP_PREFIX}${rest}`\n}\n", "import { ContextUser, User } from \"@budibase/types\"\nimport { getProdAppID } from \"./applications\"\n\n// checks if a user is specifically a builder, given an app ID\nexport function isBuilder(user: User | ContextUser, appId?: string): boolean {\n if (!user) {\n return false\n }\n if (user.builder?.global) {\n return true\n } else if (appId && user.builder?.apps?.includes(getProdAppID(appId))) {\n return true\n }\n return false\n}\n\nexport function isGlobalBuilder(user: User | ContextUser): boolean {\n return (isBuilder(user) && !hasAppBuilderPermissions(user)) || isAdmin(user)\n}\n\n// alias for hasAdminPermission, currently do the same thing\n// in future whether someone has admin permissions and whether they are\n// an admin for a specific resource could be separated\nexport function isAdmin(user: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return hasAdminPermissions(user)\n}\n\nexport function isAdminOrBuilder(\n user: User | ContextUser,\n appId?: string\n): boolean {\n return isBuilder(user, appId) || isAdmin(user)\n}\n\n// check if they are a builder within an app (not necessarily a global builder)\nexport function hasAppBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n const appLength = user.builder?.apps?.length\n const isGlobalBuilder = !!user.builder?.global\n return !isGlobalBuilder && appLength != null && appLength > 0\n}\n\n// checks if a user is capable of building any app\nexport function hasBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return user.builder?.global || hasAppBuilderPermissions(user)\n}\n\n// checks if a user is capable of being an admin\nexport function hasAdminPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.admin?.global\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export * from \"./constants\"\nexport * as dataFilters from \"./filters\"\nexport * as helpers from \"./helpers\"\nexport * as utils from \"./utils\"\nexport * as sdk from \"./sdk\"\n", "export const OperatorOptions = {\n Equals: {\n value: \"equal\",\n label: \"Equals\",\n },\n NotEquals: {\n value: \"notEqual\",\n label: \"Not equals\",\n },\n Empty: {\n value: \"empty\",\n label: \"Is empty\",\n },\n NotEmpty: {\n value: \"notEmpty\",\n label: \"Is not empty\",\n },\n StartsWith: {\n value: \"string\",\n label: \"Starts with\",\n },\n Like: {\n value: \"fuzzy\",\n label: \"Like\",\n },\n MoreThan: {\n value: \"rangeLow\",\n label: \"More than or equal to\",\n },\n LessThan: {\n value: \"rangeHigh\",\n label: \"Less than or equal to\",\n },\n Contains: {\n value: \"contains\",\n label: \"Contains\",\n },\n NotContains: {\n value: \"notContains\",\n label: \"Does not contain\",\n },\n In: {\n value: \"oneOf\",\n label: \"Is in\",\n },\n ContainsAny: {\n value: \"containsAny\",\n label: \"Has any\",\n },\n}\n\nexport const SqlNumberTypeRangeMap = {\n integer: {\n max: 2147483647,\n min: -2147483648,\n },\n int: {\n max: 2147483647,\n min: -2147483648,\n },\n smallint: {\n max: 32767,\n min: -32768,\n },\n mediumint: {\n max: 8388607,\n min: -8388608,\n },\n}\n\nexport enum SocketEvent {\n UserUpdate = \"UserUpdate\",\n UserDisconnect = \"UserDisconnect\",\n Heartbeat = \"Heartbeat\",\n}\n\nexport enum GridSocketEvent {\n RowChange = \"RowChange\",\n TableChange = \"TableChange\",\n SelectTable = \"SelectTable\",\n SelectCell = \"SelectCell\",\n}\n\nexport enum BuilderSocketEvent {\n SelectApp = \"SelectApp\",\n TableChange = \"TableChange\",\n DatasourceChange = \"DatasourceChange\",\n LockTransfer = \"LockTransfer\",\n ScreenChange = \"ScreenChange\",\n AppMetadataChange = \"AppMetadataChange\",\n SelectResource = \"SelectResource\",\n AppPublishChange = \"AppPublishChange\",\n AutomationChange = \"AutomationChange\",\n}\n\nexport const SocketSessionTTL = 60\nexport const ValidQueryNameRegex = /^[^()]*$/\nexport const ValidColumnNameRegex = /^[_a-zA-Z0-9\\s]*$/g\n", "import { Datasource, FieldType, SortDirection, SortType } from \"@budibase/types\"\nimport { OperatorOptions, SqlNumberTypeRangeMap } from \"./constants\"\nimport { deepGet } from \"./helpers\"\n\nconst HBS_REGEX = /{{([^{].*?)}}/g\n\n/**\n * Returns the valid operator options for a certain data type\n * @param type the data type\n */\nexport const getValidOperatorsForType = (\n type: FieldType,\n field: string,\n datasource: Datasource & { tableId: any } // TODO: is this table id ever populated?\n) => {\n const Op = OperatorOptions\n const stringOps = [\n Op.Equals,\n Op.NotEquals,\n Op.StartsWith,\n Op.Like,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n const numOps = [\n Op.Equals,\n Op.NotEquals,\n Op.MoreThan,\n Op.LessThan,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n let ops: {\n value: string\n label: string\n }[] = []\n if (type === \"string\") {\n ops = stringOps\n } else if (type === \"number\" || type === \"bigint\") {\n ops = numOps\n } else if (type === \"options\") {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === \"array\") {\n ops = [Op.Contains, Op.NotContains, Op.Empty, Op.NotEmpty, Op.ContainsAny]\n } else if (type === \"boolean\") {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty]\n } else if (type === \"longform\") {\n ops = stringOps\n } else if (type === \"datetime\") {\n ops = numOps\n } else if (type === \"formula\") {\n ops = stringOps.concat([Op.MoreThan, Op.LessThan])\n }\n\n // Only allow equal/not equal for _id in SQL tables\n const externalTable = datasource?.tableId?.includes(\"datasource_plus\")\n if (field === \"_id\" && externalTable) {\n ops = [Op.Equals, Op.NotEquals, Op.In]\n }\n\n return ops\n}\n\n/**\n * Operators which do not support empty strings as values\n */\nexport const NoEmptyFilterStrings = [\n OperatorOptions.StartsWith.value,\n OperatorOptions.Like.value,\n OperatorOptions.Equals.value,\n OperatorOptions.NotEquals.value,\n OperatorOptions.Contains.value,\n OperatorOptions.NotContains.value,\n] as (keyof QueryFields)[]\n\n/**\n * Removes any fields that contain empty strings that would cause inconsistent\n * behaviour with how backend tables are filtered (no value means no filter).\n */\nconst cleanupQuery = (query: Query) => {\n if (!query) {\n return query\n }\n for (let filterField of NoEmptyFilterStrings) {\n if (!query[filterField]) {\n continue\n }\n\n for (let [key, value] of Object.entries(query[filterField]!)) {\n if (value == null || value === \"\") {\n delete query[filterField]![key]\n }\n }\n }\n return query\n}\n\n/**\n * Removes a numeric prefix on field names designed to give fields uniqueness\n */\nconst removeKeyNumbering = (key: string) => {\n if (typeof key === \"string\" && key.match(/\\d[0-9]*:/g) != null) {\n const parts = key.split(\":\")\n parts.shift()\n return parts.join(\":\")\n } else {\n return key\n }\n}\n\ntype Filter = {\n operator: keyof Query\n field: string\n type: any\n value: any\n externalType: keyof typeof SqlNumberTypeRangeMap\n}\n\ntype Query = QueryFields & QueryConfig\ntype QueryFields = {\n string?: {\n [key: string]: string\n }\n fuzzy?: {\n [key: string]: string\n }\n range?: {\n [key: string]: {\n high: number | string\n low: number | string\n }\n }\n equal?: {\n [key: string]: any\n }\n notEqual?: {\n [key: string]: any\n }\n empty?: {\n [key: string]: any\n }\n notEmpty?: {\n [key: string]: any\n }\n oneOf?: {\n [key: string]: any[]\n }\n contains?: {\n [key: string]: any[]\n }\n notContains?: {\n [key: string]: any[]\n }\n containsAny?: {\n [key: string]: any[]\n }\n}\n\ntype QueryConfig = {\n allOr?: boolean\n}\n\ntype QueryFieldsType = keyof QueryFields\n\n/**\n * Builds a lucene JSON query from the filter structure generated in the builder\n * @param filter the builder filter structure\n */\nexport const buildLuceneQuery = (filter: Filter[]) => {\n let query: Query = {\n string: {},\n fuzzy: {},\n range: {},\n equal: {},\n notEqual: {},\n empty: {},\n notEmpty: {},\n contains: {},\n notContains: {},\n oneOf: {},\n containsAny: {},\n }\n if (Array.isArray(filter)) {\n filter.forEach(expression => {\n let { operator, field, type, value, externalType } = expression\n const isHbs =\n typeof value === \"string\" && (value.match(HBS_REGEX) || []).length > 0\n // Parse all values into correct types\n if (operator === \"allOr\") {\n query.allOr = true\n return\n }\n if (\n type === \"datetime\" &&\n !isHbs &&\n operator !== \"empty\" &&\n operator !== \"notEmpty\"\n ) {\n // Ensure date value is a valid date and parse into correct format\n if (!value) {\n return\n }\n try {\n value = new Date(value).toISOString()\n } catch (error) {\n return\n }\n }\n if (type === \"number\" && typeof value === \"string\") {\n if (operator === \"oneOf\") {\n value = value.split(\",\").map(item => parseFloat(item))\n } else if (!isHbs) {\n value = parseFloat(value)\n }\n }\n if (type === \"boolean\") {\n value = `${value}`?.toLowerCase() === \"true\"\n }\n if (\n [\"contains\", \"notContains\", \"containsAny\"].includes(operator) &&\n type === \"array\" &&\n typeof value === \"string\"\n ) {\n value = value.split(\",\")\n }\n if (operator.startsWith(\"range\") && query.range) {\n const minint =\n SqlNumberTypeRangeMap[externalType]?.min || Number.MIN_SAFE_INTEGER\n const maxint =\n SqlNumberTypeRangeMap[externalType]?.max || Number.MAX_SAFE_INTEGER\n if (!query.range[field]) {\n query.range[field] = {\n low: type === \"number\" ? minint : \"0000-00-00T00:00:00.000Z\",\n high: type === \"number\" ? maxint : \"9999-00-00T00:00:00.000Z\",\n }\n }\n if ((operator as any) === \"rangeLow\" && value != null && value !== \"\") {\n query.range[field].low = value\n } else if (\n (operator as any) === \"rangeHigh\" &&\n value != null &&\n value !== \"\"\n ) {\n query.range[field].high = value\n }\n } else if (query[operator]) {\n if (type === \"boolean\") {\n // Transform boolean filters to cope with null.\n // \"equals false\" needs to be \"not equals true\"\n // \"not equals false\" needs to be \"equals true\"\n if (operator === \"equal\" && value === false) {\n query.notEqual = query.notEqual || {}\n query.notEqual[field] = true\n } else if (operator === \"notEqual\" && value === false) {\n query.equal = query.equal || {}\n query.equal[field] = true\n } else {\n query[operator] = query[operator] || {}\n query[operator]![field] = value\n }\n } else {\n query[operator] = query[operator] || {}\n query[operator]![field] = value\n }\n }\n })\n }\n return query\n}\n\n/**\n * Performs a client-side lucene search on an array of data\n * @param docs the data\n * @param query the JSON lucene query\n */\nexport const runLuceneQuery = (docs: any[], query?: Query) => {\n if (!docs || !Array.isArray(docs)) {\n return []\n }\n if (!query) {\n return docs\n }\n\n // Make query consistent first\n query = cleanupQuery(query)\n\n // Iterates over a set of filters and evaluates a fail function against a doc\n const match =\n (\n type: QueryFieldsType,\n failFn: (docValue: any, testValue: any) => boolean\n ) =>\n (doc: any) => {\n const filters = Object.entries(query![type] || {})\n for (let i = 0; i < filters.length; i++) {\n const [key, testValue] = filters[i]\n const docValue = deepGet(doc, removeKeyNumbering(key))\n if (failFn(docValue, testValue)) {\n return false\n }\n }\n return true\n }\n\n // Process a string match (fails if the value does not start with the string)\n const stringMatch = match(\"string\", (docValue: string, testValue: string) => {\n return (\n !docValue || !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n })\n\n // Process a fuzzy match (treat the same as starts with when running locally)\n const fuzzyMatch = match(\"fuzzy\", (docValue: string, testValue: string) => {\n return (\n !docValue || !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n })\n\n // Process a range match\n const rangeMatch = match(\n \"range\",\n (\n docValue: string | number | null,\n testValue: { low: number; high: number }\n ) => {\n return (\n docValue == null ||\n docValue === \"\" ||\n +docValue < testValue.low ||\n +docValue > testValue.high\n )\n }\n )\n\n // Process an equal match (fails if the value is different)\n const equalMatch = match(\n \"equal\",\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue !== testValue\n }\n )\n\n // Process a not-equal match (fails if the value is the same)\n const notEqualMatch = match(\n \"notEqual\",\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue === testValue\n }\n )\n\n // Process an empty match (fails if the value is not empty)\n const emptyMatch = match(\"empty\", (docValue: string | null) => {\n return docValue != null && docValue !== \"\"\n })\n\n // Process a not-empty match (fails is the value is empty)\n const notEmptyMatch = match(\"notEmpty\", (docValue: string | null) => {\n return docValue == null || docValue === \"\"\n })\n\n // Process an includes match (fails if the value is not included)\n const oneOf = match(\"oneOf\", (docValue: any, testValue: any) => {\n if (typeof testValue === \"string\") {\n testValue = testValue.split(\",\")\n if (typeof docValue === \"number\") {\n testValue = testValue.map((item: string) => parseFloat(item))\n }\n }\n return !testValue?.includes(docValue)\n })\n\n const containsAny = match(\"containsAny\", (docValue: any, testValue: any) => {\n return !docValue?.includes(...testValue)\n })\n\n const contains = match(\n \"contains\",\n (docValue: string | any[], testValue: any[]) => {\n return !testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const notContains = match(\n \"notContains\",\n (docValue: string | any[], testValue: any[]) => {\n return testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n // Match a document against all criteria\n const docMatch = (doc: any) => {\n return (\n stringMatch(doc) &&\n fuzzyMatch(doc) &&\n rangeMatch(doc) &&\n equalMatch(doc) &&\n notEqualMatch(doc) &&\n emptyMatch(doc) &&\n notEmptyMatch(doc) &&\n oneOf(doc) &&\n contains(doc) &&\n containsAny(doc) &&\n notContains(doc)\n )\n }\n\n // Process all docs\n return docs.filter(docMatch)\n}\n\n/**\n * Performs a client-side sort from the equivalent server-side lucene sort\n * parameters.\n * @param docs the data\n * @param sort the sort column\n * @param sortOrder the sort order (\"ascending\" or \"descending\")\n * @param sortType the type of sort (\"string\" or \"number\")\n */\nexport const luceneSort = (\n docs: any[],\n sort: string,\n sortOrder: SortDirection,\n sortType = SortType.STRING\n) => {\n if (!sort || !sortOrder || !sortType) {\n return docs\n }\n const parse =\n sortType === \"string\" ? (x: any) => `${x}` : (x: string) => parseFloat(x)\n return docs\n .slice()\n .sort((a: { [x: string]: any }, b: { [x: string]: any }) => {\n const colA = parse(a[sort])\n const colB = parse(b[sort])\n if (sortOrder.toLowerCase() === \"descending\") {\n return colA > colB ? -1 : 1\n } else {\n return colA > colB ? 1 : -1\n }\n })\n}\n\n/**\n * Limits the specified docs to the specified number of rows from the equivalent\n * server-side lucene limit parameters.\n * @param docs the data\n * @param limit the number of docs to limit to\n */\nexport const luceneLimit = (docs: any[], limit: string) => {\n const numLimit = parseFloat(limit)\n if (isNaN(numLimit)) {\n return docs\n }\n return docs.slice(0, numLimit)\n}\n\nexport const hasFilters = (query?: Query) => {\n if (!query) {\n return false\n }\n const skipped = [\"allOr\"]\n for (let [key, value] of Object.entries(query)) {\n if (skipped.includes(key) || typeof value !== \"object\") {\n continue\n }\n if (Object.keys(value).length !== 0) {\n return true\n }\n }\n return false\n}\n", "import { Hosting } from \"../hosting\"\nimport { Group, Identity } from \"./identification\"\n\nexport enum Event {\n // USER\n USER_CREATED = \"user:created\",\n USER_UPDATED = \"user:updated\",\n USER_DELETED = \"user:deleted\",\n\n // USER / ONBOARDING\n USER_ONBOARDING_COMPLETE = \"user:onboarding:complete\",\n\n // USER / PERMISSIONS\n USER_PERMISSION_ADMIN_ASSIGNED = \"user:admin:assigned\",\n USER_PERMISSION_ADMIN_REMOVED = \"user:admin:removed\",\n USER_PERMISSION_BUILDER_ASSIGNED = \"user:builder:assigned\",\n USER_PERMISSION_BUILDER_REMOVED = \"user:builder:removed\",\n\n // USER / INVITE\n USER_INVITED = \"user:invited\",\n USER_INVITED_ACCEPTED = \"user:invite:accepted\",\n\n // USER / PASSWORD\n USER_PASSWORD_FORCE_RESET = \"user:password:force:reset\",\n USER_PASSWORD_UPDATED = \"user:password:updated\",\n USER_PASSWORD_RESET_REQUESTED = \"user:password:reset:requested\",\n USER_PASSWORD_RESET = \"user:password:reset\",\n\n // USER / COLLABORATION\n USER_DATA_COLLABORATION = \"user:data:collaboration\",\n\n // EMAIL\n EMAIL_SMTP_CREATED = \"email:smtp:created\",\n EMAIL_SMTP_UPDATED = \"email:smtp:updated\",\n\n // AUTH\n AUTH_SSO_CREATED = \"auth:sso:created\",\n AUTH_SSO_UPDATED = \"auth:sso:updated\",\n AUTH_SSO_ACTIVATED = \"auth:sso:activated\",\n AUTH_SSO_DEACTIVATED = \"auth:sso:deactivated\",\n AUTH_LOGIN = \"auth:login\",\n AUTH_LOGOUT = \"auth:logout\",\n\n // ORG\n ORG_NAME_UPDATED = \"org:info:name:updated\",\n ORG_LOGO_UPDATED = \"org:info:logo:updated\",\n ORG_PLATFORM_URL_UPDATED = \"org:platformurl:updated\",\n\n // INSTALLATION\n INSTALLATION_VERSION_CHECKED = \"installation:version:checked\",\n INSTALLATION_VERSION_UPGRADED = \"installation:version:upgraded\",\n INSTALLATION_VERSION_DOWNGRADED = \"installation:version:downgraded\",\n INSTALLATION_FIRST_STARTUP = \"installation:firstStartup\",\n\n // ORG / ANALYTICS\n ANALYTICS_OPT_OUT = \"analytics:opt:out\",\n ANALYTICS_OPT_IN = \"analytics:opt:in\",\n\n // APP\n APP_CREATED = \"app:created\",\n APP_UPDATED = \"app:updated\",\n APP_DELETED = \"app:deleted\",\n APP_PUBLISHED = \"app:published\",\n APP_UNPUBLISHED = \"app:unpublished\",\n APP_TEMPLATE_IMPORTED = \"app:template:imported\",\n APP_FILE_IMPORTED = \"app:file:imported\",\n APP_VERSION_UPDATED = \"app:version:updated\",\n APP_VERSION_REVERTED = \"app:version:reverted\",\n APP_REVERTED = \"app:reverted\",\n APP_EXPORTED = \"app:exported\",\n\n // ROLE\n ROLE_CREATED = \"role:created\",\n ROLE_UPDATED = \"role:updated\",\n ROLE_DELETED = \"role:deleted\",\n ROLE_ASSIGNED = \"role:assigned\",\n ROLE_UNASSIGNED = \"role:unassigned\",\n\n // SERVE\n SERVED_BUILDER = \"served:builder\",\n SERVED_APP = \"served:app\",\n SERVED_APP_PREVIEW = \"served:app:preview\",\n\n // DATASOURCE\n DATASOURCE_CREATED = \"datasource:created\",\n DATASOURCE_UPDATED = \"datasource:updated\",\n DATASOURCE_DELETED = \"datasource:deleted\",\n\n // QUERY\n QUERY_CREATED = \"query:created\",\n QUERY_UPDATED = \"query:updated\",\n QUERY_DELETED = \"query:deleted\",\n QUERY_IMPORT = \"query:import\",\n QUERIES_RUN = \"queries:run\",\n QUERY_PREVIEWED = \"query:previewed\",\n\n // TABLE\n TABLE_CREATED = \"table:created\",\n TABLE_UPDATED = \"table:updated\",\n TABLE_DELETED = \"table:deleted\",\n TABLE_EXPORTED = \"table:exported\",\n TABLE_IMPORTED = \"table:imported\",\n TABLE_DATA_IMPORTED = \"table:data:imported\",\n\n // VIEW\n VIEW_CREATED = \"view:created\",\n VIEW_UPDATED = \"view:updated\",\n VIEW_DELETED = \"view:deleted\",\n VIEW_EXPORTED = \"view:exported\",\n VIEW_FILTER_CREATED = \"view:filter:created\",\n VIEW_FILTER_UPDATED = \"view:filter:updated\",\n VIEW_FILTER_DELETED = \"view:filter:deleted\",\n VIEW_CALCULATION_CREATED = \"view:calculation:created\",\n VIEW_CALCULATION_UPDATED = \"view:calculation:updated\",\n VIEW_CALCULATION_DELETED = \"view:calculation:deleted\",\n\n // ROWS\n ROWS_CREATED = \"rows:created\",\n ROWS_IMPORTED = \"rows:imported\",\n\n // COMPONENT\n COMPONENT_CREATED = \"component:created\",\n COMPONENT_DELETED = \"component:deleted\",\n\n // SCREEN\n SCREEN_CREATED = \"screen:created\",\n SCREEN_DELETED = \"screen:deleted\",\n\n // LAYOUT\n LAYOUT_CREATED = \"layout:created\",\n LAYOUT_DELETED = \"layout:deleted\",\n\n // AUTOMATION\n AUTOMATION_CREATED = \"automation:created\",\n AUTOMATION_DELETED = \"automation:deleted\",\n AUTOMATION_TESTED = \"automation:tested\",\n AUTOMATIONS_RUN = \"automations:run\",\n AUTOMATION_STEP_CREATED = \"automation:step:created\",\n AUTOMATION_STEP_DELETED = \"automation:step:deleted\",\n AUTOMATION_TRIGGER_UPDATED = \"automation:trigger:updated\",\n\n // LICENSE\n LICENSE_PLAN_CHANGED = \"license:plan:changed\",\n LICENSE_ACTIVATED = \"license:activated\",\n LICENSE_PAYMENT_FAILED = \"license:payment:failed\",\n LICENSE_PAYMENT_RECOVERED = \"license:payment:recovered\",\n LICENSE_CHECKOUT_OPENED = \"license:checkout:opened\",\n LICENSE_CHECKOUT_SUCCESS = \"license:checkout:success\",\n LICENSE_PORTAL_OPENED = \"license:portal:opened\",\n\n // ACCOUNT\n ACCOUNT_CREATED = \"account:created\",\n ACCOUNT_DELETED = \"account:deleted\",\n ACCOUNT_VERIFIED = \"account:verified\",\n\n // BACKFILL\n APP_BACKFILL_SUCCEEDED = \"app:backfill:succeeded\",\n APP_BACKFILL_FAILED = \"app:backfill:failed\",\n TENANT_BACKFILL_SUCCEEDED = \"tenant:backfill:succeeded\",\n TENANT_BACKFILL_FAILED = \"tenant:backfill:failed\",\n INSTALLATION_BACKFILL_SUCCEEDED = \"installation:backfill:succeeded\",\n INSTALLATION_BACKFILL_FAILED = \"installation:backfill:failed\",\n\n // USER\n USER_GROUP_CREATED = \"user_group:created\",\n USER_GROUP_UPDATED = \"user_group:updated\",\n USER_GROUP_DELETED = \"user_group:deleted\",\n USER_GROUP_USERS_ADDED = \"user_group:user_added\",\n USER_GROUP_USERS_REMOVED = \"user_group:users_deleted\",\n USER_GROUP_PERMISSIONS_EDITED = \"user_group:permissions_edited\",\n USER_GROUP_ONBOARDING = \"user_group:onboarding_added\",\n\n // PLUGIN\n PLUGIN_INIT = \"plugin:init\",\n PLUGIN_IMPORTED = \"plugin:imported\",\n PLUGIN_DELETED = \"plugin:deleted\",\n\n // BACKUP\n APP_BACKUP_RESTORED = \"app:backup:restored\",\n APP_BACKUP_TRIGGERED = \"app:backup:triggered\",\n\n // ENVIRONMENT VARIABLE\n ENVIRONMENT_VARIABLE_CREATED = \"environment_variable:created\",\n ENVIRONMENT_VARIABLE_DELETED = \"environment_variable:deleted\",\n ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED = \"environment_variable:upgrade_panel_opened\",\n\n // AUDIT LOG\n AUDIT_LOGS_FILTERED = \"audit_log:filtered\",\n AUDIT_LOGS_DOWNLOADED = \"audit_log:downloaded\",\n}\n\nexport const UserGroupSyncEvents: Event[] = [\n Event.USER_CREATED,\n Event.USER_UPDATED,\n Event.USER_DELETED,\n Event.USER_PERMISSION_ADMIN_ASSIGNED,\n Event.USER_PERMISSION_ADMIN_REMOVED,\n Event.USER_PERMISSION_BUILDER_ASSIGNED,\n Event.USER_PERMISSION_BUILDER_REMOVED,\n Event.USER_GROUP_CREATED,\n Event.USER_GROUP_UPDATED,\n Event.USER_GROUP_DELETED,\n Event.USER_GROUP_USERS_ADDED,\n Event.USER_GROUP_USERS_REMOVED,\n Event.USER_GROUP_PERMISSIONS_EDITED,\n]\n\nexport const AsyncEvents: Event[] = [...UserGroupSyncEvents]\n\n// all events that are not audited have been added to this record as undefined, this means\n// that Typescript can protect us against new events being added and auditing of those\n// events not being considered. This might be a little ugly, but provides a level of\n// Typescript build protection for the audit log feature, any new event also needs to be\n// added to this map, during which the developer will need to consider if it should be\n// a user facing event or not.\nexport const AuditedEventFriendlyName: Record<Event, string | undefined> = {\n // USER\n [Event.USER_CREATED]: `User \"{{ email }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_UPDATED]: `User \"{{ email }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_DELETED]: `User \"{{ email }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User \"{{ email }}\" admin role assigned`,\n [Event.USER_PERMISSION_ADMIN_REMOVED]: `User \"{{ email }}\" admin role removed`,\n [Event.USER_PERMISSION_BUILDER_ASSIGNED]: `User \"{{ email }}\" builder role assigned`,\n [Event.USER_PERMISSION_BUILDER_REMOVED]: `User \"{{ email }}\" builder role removed`,\n [Event.USER_INVITED]: `User \"{{ email }}\" invited`,\n [Event.USER_INVITED_ACCEPTED]: `User \"{{ email }}\" accepted invite`,\n [Event.USER_PASSWORD_UPDATED]: `User \"{{ email }}\" password updated`,\n [Event.USER_PASSWORD_RESET_REQUESTED]: `User \"{{ email }}\" password reset requested`,\n [Event.USER_PASSWORD_RESET]: `User \"{{ email }}\" password reset`,\n [Event.USER_GROUP_CREATED]: `User group \"{{ name }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_UPDATED]: `User group \"{{ name }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_DELETED]: `User group \"{{ name }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_ADDED]: `User group \"{{ name }}\" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_REMOVED]: `User group \"{{ name }}\" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_PERMISSIONS_EDITED]: `User group \"{{ name }}\" permissions edited`,\n [Event.USER_PASSWORD_FORCE_RESET]: undefined,\n [Event.USER_GROUP_ONBOARDING]: undefined,\n [Event.USER_ONBOARDING_COMPLETE]: undefined,\n [Event.USER_DATA_COLLABORATION]: undefined,\n\n // EMAIL\n [Event.EMAIL_SMTP_CREATED]: `Email configuration created`,\n [Event.EMAIL_SMTP_UPDATED]: `Email configuration updated`,\n\n // AUTH\n [Event.AUTH_SSO_CREATED]: `SSO configuration created`,\n [Event.AUTH_SSO_UPDATED]: `SSO configuration updated`,\n [Event.AUTH_SSO_ACTIVATED]: `SSO configuration activated`,\n [Event.AUTH_SSO_DEACTIVATED]: `SSO configuration deactivated`,\n [Event.AUTH_LOGIN]: `User \"{{ email }}\" logged in`,\n [Event.AUTH_LOGOUT]: `User \"{{ email }}\" logged out`,\n\n // ORG\n [Event.ORG_NAME_UPDATED]: `Organisation name updated`,\n [Event.ORG_LOGO_UPDATED]: `Organisation logo updated`,\n [Event.ORG_PLATFORM_URL_UPDATED]: `Organisation platform URL updated`,\n\n // APP\n [Event.APP_CREATED]: `App \"{{ name }}\" created`,\n [Event.APP_UPDATED]: `App \"{{ name }}\" updated`,\n [Event.APP_DELETED]: `App \"{{ name }}\" deleted`,\n [Event.APP_PUBLISHED]: `App \"{{ name }}\" published`,\n [Event.APP_UNPUBLISHED]: `App \"{{ name }}\" unpublished`,\n [Event.APP_TEMPLATE_IMPORTED]: `App \"{{ name }}\" template imported`,\n [Event.APP_FILE_IMPORTED]: `App \"{{ name }}\" file imported`,\n [Event.APP_VERSION_UPDATED]: `App \"{{ name }}\" version updated`,\n [Event.APP_VERSION_REVERTED]: `App \"{{ name }}\" version reverted`,\n [Event.APP_REVERTED]: `App \"{{ name }}\" reverted`,\n [Event.APP_EXPORTED]: `App \"{{ name }}\" exported`,\n [Event.APP_BACKUP_RESTORED]: `App backup \"{{ name }}\" restored`,\n [Event.APP_BACKUP_TRIGGERED]: `App backup \"{{ name }}\" triggered`,\n\n // DATASOURCE\n [Event.DATASOURCE_CREATED]: `Datasource created`,\n [Event.DATASOURCE_UPDATED]: `Datasource updated`,\n [Event.DATASOURCE_DELETED]: `Datasource deleted`,\n\n // QUERY\n [Event.QUERY_CREATED]: `Query created`,\n [Event.QUERY_UPDATED]: `Query updated`,\n [Event.QUERY_DELETED]: `Query deleted`,\n [Event.QUERY_IMPORT]: `Query import`,\n [Event.QUERIES_RUN]: undefined,\n [Event.QUERY_PREVIEWED]: undefined,\n\n // TABLE\n [Event.TABLE_CREATED]: `Table \"{{ name }}\" created`,\n [Event.TABLE_UPDATED]: `Table \"{{ name }}\" updated`,\n [Event.TABLE_DELETED]: `Table \"{{ name }}\" deleted`,\n [Event.TABLE_EXPORTED]: `Table \"{{ name }}\" exported`,\n [Event.TABLE_IMPORTED]: `Table \"{{ name }}\" imported`,\n [Event.TABLE_DATA_IMPORTED]: `Data imported to table`,\n\n // ROWS\n [Event.ROWS_CREATED]: `Rows created`,\n [Event.ROWS_IMPORTED]: `Rows imported`,\n\n // AUTOMATION\n [Event.AUTOMATION_CREATED]: `Automation \"{{ name }}\" created`,\n [Event.AUTOMATION_DELETED]: `Automation \"{{ name }}\" deleted`,\n [Event.AUTOMATION_STEP_CREATED]: `Automation \"{{ name }}\" step added`,\n [Event.AUTOMATION_STEP_DELETED]: `Automation \"{{ name }}\" step removed`,\n [Event.AUTOMATION_TESTED]: undefined,\n [Event.AUTOMATIONS_RUN]: undefined,\n [Event.AUTOMATION_TRIGGER_UPDATED]: undefined,\n\n // SCREEN\n [Event.SCREEN_CREATED]: `Screen \"{{ name }}\" created`,\n [Event.SCREEN_DELETED]: `Screen \"{{ name }}\" deleted`,\n\n // COMPONENT\n [Event.COMPONENT_CREATED]: `Component created`,\n [Event.COMPONENT_DELETED]: `Component deleted`,\n\n // ENVIRONMENT VARIABLE\n [Event.ENVIRONMENT_VARIABLE_CREATED]: `Environment variable created`,\n [Event.ENVIRONMENT_VARIABLE_DELETED]: `Environment variable deleted`,\n [Event.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED]: undefined,\n\n // PLUGIN\n [Event.PLUGIN_IMPORTED]: `Plugin imported`,\n [Event.PLUGIN_DELETED]: `Plugin deleted`,\n [Event.PLUGIN_INIT]: undefined,\n\n // ROLE - NOT AUDITED\n [Event.ROLE_CREATED]: undefined,\n [Event.ROLE_UPDATED]: undefined,\n [Event.ROLE_DELETED]: undefined,\n [Event.ROLE_ASSIGNED]: undefined,\n [Event.ROLE_UNASSIGNED]: undefined,\n\n // LICENSE - NOT AUDITED\n [Event.LICENSE_PLAN_CHANGED]: undefined,\n [Event.LICENSE_ACTIVATED]: undefined,\n [Event.LICENSE_PAYMENT_FAILED]: undefined,\n [Event.LICENSE_PAYMENT_RECOVERED]: undefined,\n [Event.LICENSE_CHECKOUT_OPENED]: undefined,\n [Event.LICENSE_CHECKOUT_SUCCESS]: undefined,\n [Event.LICENSE_PORTAL_OPENED]: undefined,\n\n // ACCOUNT - NOT AUDITED\n [Event.ACCOUNT_CREATED]: undefined,\n [Event.ACCOUNT_DELETED]: undefined,\n [Event.ACCOUNT_VERIFIED]: undefined,\n\n // BACKFILL - NOT AUDITED\n [Event.APP_BACKFILL_SUCCEEDED]: undefined,\n [Event.APP_BACKFILL_FAILED]: undefined,\n [Event.TENANT_BACKFILL_SUCCEEDED]: undefined,\n [Event.TENANT_BACKFILL_FAILED]: undefined,\n [Event.INSTALLATION_BACKFILL_SUCCEEDED]: undefined,\n [Event.INSTALLATION_BACKFILL_FAILED]: undefined,\n\n // LAYOUT - NOT AUDITED\n [Event.LAYOUT_CREATED]: undefined,\n [Event.LAYOUT_DELETED]: undefined,\n\n // VIEW - NOT AUDITED\n [Event.VIEW_CREATED]: undefined,\n [Event.VIEW_UPDATED]: undefined,\n [Event.VIEW_DELETED]: undefined,\n [Event.VIEW_EXPORTED]: undefined,\n [Event.VIEW_FILTER_CREATED]: undefined,\n [Event.VIEW_FILTER_UPDATED]: undefined,\n [Event.VIEW_FILTER_DELETED]: undefined,\n [Event.VIEW_CALCULATION_CREATED]: undefined,\n [Event.VIEW_CALCULATION_UPDATED]: undefined,\n [Event.VIEW_CALCULATION_DELETED]: undefined,\n\n // SERVED - NOT AUDITED\n [Event.SERVED_BUILDER]: undefined,\n [Event.SERVED_APP]: undefined,\n [Event.SERVED_APP_PREVIEW]: undefined,\n\n // ANALYTICS - NOT AUDITED\n [Event.ANALYTICS_OPT_OUT]: undefined,\n [Event.ANALYTICS_OPT_IN]: undefined,\n\n // INSTALLATION - NOT AUDITED\n [Event.INSTALLATION_VERSION_CHECKED]: undefined,\n [Event.INSTALLATION_VERSION_UPGRADED]: undefined,\n [Event.INSTALLATION_VERSION_DOWNGRADED]: undefined,\n [Event.INSTALLATION_FIRST_STARTUP]: undefined,\n\n // AUDIT LOG - NOT AUDITED\n [Event.AUDIT_LOGS_FILTERED]: undefined,\n [Event.AUDIT_LOGS_DOWNLOADED]: undefined,\n}\n\n// properties added at the final stage of the event pipeline\nexport interface BaseEvent {\n version?: string\n service?: string\n environment?: string\n appId?: string\n installationId?: string\n tenantId?: string\n hosting?: Hosting\n // any props in the audited section will be removed before passing events\n // up out of system (purely for use with auditing)\n audited?: {\n [key: string]: any\n }\n}\n\nexport type TableExportFormat = \"json\" | \"csv\"\n\nexport type DocUpdateEvent = {\n id: string\n tenantId: string\n appId?: string\n}\n\nexport interface EventProcessor {\n processEvent(\n event: Event,\n identity: Identity,\n properties: any,\n timestamp?: string | number\n ): Promise<void>\n identify?(identity: Identity, timestamp?: string | number): Promise<void>\n identifyGroup?(group: Group, timestamp?: string | number): Promise<void>\n shutdown?(): void\n}\n", "import { Event } from \"../events\"\n\nexport enum CommandWord {\n BACKUPS = \"backups\",\n HOSTING = \"hosting\",\n ANALYTICS = \"analytics\",\n HELP = \"help\",\n PLUGIN = \"plugins\",\n}\n\nexport enum InitType {\n QUICK = \"quick\",\n DIGITAL_OCEAN = \"do\",\n}\n\nexport const AnalyticsEvent = {\n OptOut: \"analytics:opt:out\",\n OptIn: \"analytics:opt:in\",\n SelfHostInit: \"hosting:init\",\n PluginInit: Event.PLUGIN_INIT,\n}\n", "import { Document } from \"../document\"\nimport { EventEmitter } from \"events\"\nimport { User } from \"../global\"\n\nexport enum AutomationIOType {\n OBJECT = \"object\",\n STRING = \"string\",\n BOOLEAN = \"boolean\",\n NUMBER = \"number\",\n ARRAY = \"array\",\n JSON = \"json\",\n DATE = \"date\",\n}\n\nexport enum AutomationCustomIOType {\n TABLE = \"table\",\n ROW = \"row\",\n ROWS = \"rows\",\n WIDE = \"wide\",\n QUERY = \"query\",\n QUERY_PARAMS = \"queryParams\",\n QUERY_LIMIT = \"queryLimit\",\n LOOP_OPTION = \"loopOption\",\n ITEM = \"item\",\n CODE = \"code\",\n FILTERS = \"filters\",\n COLUMN = \"column\",\n TRIGGER_SCHEMA = \"triggerSchema\",\n CRON = \"cron\",\n WEBHOOK_URL = \"webhookUrl\",\n}\n\nexport enum AutomationTriggerStepId {\n ROW_SAVED = \"ROW_SAVED\",\n ROW_UPDATED = \"ROW_UPDATED\",\n ROW_DELETED = \"ROW_DELETED\",\n WEBHOOK = \"WEBHOOK\",\n APP = \"APP\",\n CRON = \"CRON\",\n}\n\nexport enum AutomationStepType {\n LOGIC = \"LOGIC\",\n ACTION = \"ACTION\",\n TRIGGER = \"TRIGGER\",\n}\n\nexport enum AutomationActionStepId {\n SEND_EMAIL_SMTP = \"SEND_EMAIL_SMTP\",\n CREATE_ROW = \"CREATE_ROW\",\n UPDATE_ROW = \"UPDATE_ROW\",\n DELETE_ROW = \"DELETE_ROW\",\n EXECUTE_BASH = \"EXECUTE_BASH\",\n OUTGOING_WEBHOOK = \"OUTGOING_WEBHOOK\",\n EXECUTE_SCRIPT = \"EXECUTE_SCRIPT\",\n EXECUTE_QUERY = \"EXECUTE_QUERY\",\n SERVER_LOG = \"SERVER_LOG\",\n DELAY = \"DELAY\",\n FILTER = \"FILTER\",\n QUERY_ROWS = \"QUERY_ROWS\",\n LOOP = \"LOOP\",\n COLLECT = \"COLLECT\",\n OPENAI = \"OPENAI\",\n // these used to be lowercase step IDs, maintain for backwards compat\n discord = \"discord\",\n slack = \"slack\",\n zapier = \"zapier\",\n integromat = \"integromat\",\n}\n\nexport interface EmailInvite {\n startTime: Date\n endTime: Date\n summary: string\n location?: string\n url?: string\n}\n\nexport interface SendEmailOpts {\n // workspaceId If finer grain controls being used then this will lookup config for workspace.\n workspaceId?: string\n // user If sending to an existing user the object can be provided, this is used in the context.\n user: User\n // from If sending from an address that is not what is configured in the SMTP config.\n from?: string\n // contents If sending a custom email then can supply contents which will be added to it.\n contents?: string\n // subject A custom subject can be specified if the config one is not desired.\n subject?: string\n // info Pass in a structure of information to be stored alongside the invitation.\n info?: any\n cc?: boolean\n bcc?: boolean\n automation?: boolean\n invite?: EmailInvite\n}\n\nexport const AutomationStepIdArray = [\n ...Object.values(AutomationActionStepId),\n ...Object.values(AutomationTriggerStepId),\n]\n\nexport enum AutomationState {\n DISABLED = \"disabled\",\n}\n\nexport interface Automation extends Document {\n definition: {\n steps: AutomationStep[]\n trigger: AutomationTrigger\n }\n screenId?: string\n uiTree?: any\n appId: string\n live?: boolean\n name: string\n internal?: boolean\n type?: string\n state?: AutomationState\n}\n\ninterface BaseIOStructure {\n type?: AutomationIOType\n customType?: AutomationCustomIOType\n title?: string\n description?: string\n dependsOn?: string\n enum?: string[]\n pretty?: string[]\n properties?: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\ninterface InputOutputBlock {\n properties: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\nexport interface AutomationStepSchema {\n name: string\n stepTitle?: string\n tagline: string\n icon: string\n description: string\n type: AutomationStepType\n internal?: boolean\n deprecated?: boolean\n stepId: AutomationTriggerStepId | AutomationActionStepId\n blockToLoop?: string\n inputs: {\n [key: string]: any\n }\n schema: {\n inputs: InputOutputBlock\n outputs: InputOutputBlock\n }\n custom?: boolean\n features?: Partial<Record<AutomationFeature, boolean>>\n}\n\nexport enum AutomationFeature {\n LOOPING = \"LOOPING\",\n}\n\nexport interface AutomationStep extends AutomationStepSchema {\n id: string\n}\n\nexport interface AutomationTriggerSchema extends AutomationStepSchema {\n event?: string\n cronJobId?: string\n}\n\nexport interface AutomationTrigger extends AutomationTriggerSchema {\n id: string\n}\n\nexport enum AutomationStatus {\n SUCCESS = \"success\",\n ERROR = \"error\",\n STOPPED = \"stopped\",\n STOPPED_ERROR = \"stopped_error\",\n NO_ITERATIONS = \"no_iterations\",\n}\n\nexport interface AutomationResults {\n automationId?: string\n status?: AutomationStatus\n trigger?: any\n steps: {\n stepId: AutomationTriggerStepId | AutomationActionStepId\n inputs: {\n [key: string]: any\n }\n outputs: {\n [key: string]: any\n }\n }[]\n}\n\nexport interface AutomationLog extends AutomationResults, Document {\n automationName: string\n _rev?: string\n}\n\nexport interface AutomationLogPage {\n data: AutomationLog[]\n hasNextPage: boolean\n nextPage?: string\n}\n\nexport type AutomationStepInput = {\n inputs: Record<string, any>\n context: Record<string, any>\n emitter: EventEmitter\n appId: string\n apiKey?: string\n}\n\nexport interface AutomationMetadata extends Document {\n errorCount?: number\n automationChainCount?: number\n}\n", "export const SEPARATOR = \"_\"\nexport const UNICODE_MAX = \"\\ufff0\"\n\nexport const prefixed = (type: DocumentType) => `${type}${SEPARATOR}`\n\nexport enum DocumentType {\n USER = \"us\",\n GROUP = \"gr\",\n WORKSPACE = \"workspace\",\n CONFIG = \"config\",\n TEMPLATE = \"template\",\n APP = \"app\",\n DEV = \"dev\",\n APP_DEV = \"app_dev\",\n APP_METADATA = \"app_metadata\",\n ROLE = \"role\",\n MIGRATIONS = \"migrations\",\n DEV_INFO = \"devinfo\",\n AUTOMATION_LOG = \"log_au\",\n ACCOUNT_METADATA = \"acc_metadata\",\n PLUGIN = \"plg\",\n DATASOURCE = \"datasource\",\n DATASOURCE_PLUS = \"datasource_plus\",\n APP_BACKUP = \"backup\",\n TABLE = \"ta\",\n ROW = \"ro\",\n AUTOMATION = \"au\",\n LINK = \"li\",\n WEBHOOK = \"wh\",\n INSTANCE = \"inst\",\n LAYOUT = \"layout\",\n SCREEN = \"screen\",\n QUERY = \"query\",\n DEPLOYMENTS = \"deployments\",\n METADATA = \"metadata\",\n MEM_VIEW = \"view\",\n USER_FLAG = \"flag\",\n AUTOMATION_METADATA = \"meta_au\",\n AUDIT_LOG = \"al\",\n}\n\nexport interface Document {\n _id?: string\n _rev?: string\n createdAt?: string | number\n updatedAt?: string\n}\n\nexport interface AnyDocument extends Document {\n [key: string]: any\n}\n", "import { Document } from \"../document\"\n\nexport enum PluginType {\n DATASOURCE = \"datasource\",\n COMPONENT = \"component\",\n AUTOMATION = \"automation\",\n}\n\nexport enum PluginSource {\n NPM = \"NPM\",\n GITHUB = \"Github\",\n URL = \"URL\",\n FILE = \"File Upload\",\n}\nexport interface FileType {\n path: string\n name: string\n}\n\nexport interface Plugin extends Document {\n description: string\n name: string\n version: string\n source: PluginSource\n package: { [key: string]: any }\n hash: string\n schema: {\n type: PluginType\n [key: string]: any\n }\n iconFileName?: string\n // Populated on read\n jsUrl?: string\n // Populated on read\n iconUrl?: string\n}\n\nexport const PLUGIN_TYPE_ARR = Object.values(PluginType)\n", "import { MonthlyQuotaName, StaticQuotaName } from \"../../sdk\"\n\nexport enum BreakdownQuotaName {\n ROW_QUERIES = \"rowQueries\",\n DATASOURCE_QUERIES = \"datasourceQueries\",\n AUTOMATIONS = \"automations\",\n}\n\nexport const APP_QUOTA_NAMES = [\n StaticQuotaName.ROWS,\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport const BREAKDOWN_QUOTA_NAMES = [\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport interface UsageBreakdown {\n parent: MonthlyQuotaName\n values: {\n [key: string]: number\n }\n}\n\nexport type QuotaTriggers = {\n [key: string]: string | undefined\n}\n\nexport interface StaticUsage {\n [StaticQuotaName.APPS]: number\n [StaticQuotaName.PLUGINS]: number\n [StaticQuotaName.USERS]: number\n [StaticQuotaName.USER_GROUPS]: number\n [StaticQuotaName.ROWS]: number\n triggers: {\n [key in StaticQuotaName]?: QuotaTriggers\n }\n}\n\nexport interface MonthlyUsage {\n [MonthlyQuotaName.QUERIES]: number\n [MonthlyQuotaName.AUTOMATIONS]: number\n [MonthlyQuotaName.DAY_PASSES]: number\n triggers: {\n [key in MonthlyQuotaName]?: QuotaTriggers\n }\n breakdown?: {\n [key in BreakdownQuotaName]?: UsageBreakdown\n }\n}\n\nexport interface BaseQuotaUsage {\n usageQuota: StaticUsage\n monthly: {\n [key: string]: MonthlyUsage\n }\n}\n\nexport interface QuotaUsage extends BaseQuotaUsage {\n _id: string\n _rev?: string\n quotaReset: string\n apps?: {\n [key: string]: BaseQuotaUsage\n }\n}\n\nexport type SetUsageValues = {\n total: number\n app?: number\n breakdown?: number\n triggers?: QuotaTriggers\n}\n\nexport type UsageValues = {\n total: number\n app?: number\n breakdown?: number\n}\n", "export * from \"./helpers\"\nexport * from \"./integrations\"\n", "import { User } from \"@budibase/types\"\n\n/**\n * Gets a key within an object. The key supports dot syntax for retrieving deep\n * fields - e.g. \"a.b.c\".\n * Exact matches of keys with dots in them take precedence over nested keys of\n * the same path - e.g. getting \"a.b\" from { \"a.b\": \"foo\", a: { b: \"bar\" } }\n * will return \"foo\" over \"bar\".\n * @param obj the object\n * @param key the key\n * @return {*|null} the value or null if a value was not found for this key\n */\nexport const deepGet = (obj: { [x: string]: any }, key: string) => {\n if (!obj || !key) {\n return null\n }\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key]\n }\n const split = key.split(\".\")\n for (let i = 0; i < split.length; i++) {\n obj = obj?.[split[i]]\n }\n return obj\n}\n\n/**\n * Gets the initials to show in a user avatar.\n * @param user the user\n */\nexport const getUserInitials = (user: User) => {\n if (!user) {\n return \"?\"\n }\n let initials = \"\"\n initials += user.firstName ? user.firstName[0] : \"\"\n initials += user.lastName ? user.lastName[0] : \"\"\n if (initials !== \"\") {\n return initials\n }\n return user.email?.[0] || \"U\"\n}\n\n/**\n * Gets a deterministic colour for a particular user\n * @param user the user\n */\nexport const getUserColor = (user: User) => {\n let id = user?._id\n if (!id) {\n return \"var(--spectrum-global-color-blue-400)\"\n }\n\n // In order to generate the same color for global users as app users, we need\n // to remove the app-specific table prefix\n id = id.replace(\"ro_ta_users_\", \"\")\n\n // Generate a hue based on the ID\n let hue = 1\n for (let i = 0; i < id.length; i++) {\n hue += id.charCodeAt(i)\n hue = hue % 36\n }\n return `hsl(${hue * 10}, 50%, 40%)`\n}\n\n/**\n * Gets a friendly label to describe who a user is.\n * @param user the user\n */\nexport const getUserLabel = (user: User) => {\n if (!user) {\n return \"\"\n }\n const { firstName, lastName, email } = user\n if (firstName && lastName) {\n return `${firstName} ${lastName}`\n } else if (firstName) {\n return firstName\n } else if (lastName) {\n return lastName\n } else {\n return email\n }\n}\n", "import { Datasource, SourceName } from \"@budibase/types\"\n\nexport function isGoogleSheets(type: SourceName) {\n return type === SourceName.GOOGLE_SHEETS\n}\n\nexport function isSQL(datasource: Datasource): boolean {\n if (!datasource || !datasource.source) {\n return false\n }\n const SQL = [\n SourceName.POSTGRES,\n SourceName.SQL_SERVER,\n SourceName.MYSQL,\n SourceName.ORACLE,\n ]\n return SQL.indexOf(datasource.source) !== -1\n}\n", "export function unreachable(\n value: never,\n message = `No such case in exhaustive switch: ${value}`\n) {\n throw new Error(message)\n}\n\nexport async function parallelForeach<T>(\n items: T[],\n task: (item: T) => Promise<void>,\n maxConcurrency: number\n): Promise<void> {\n const promises: Promise<void>[] = []\n let index = 0\n\n const processItem = async (item: T) => {\n try {\n await task(item)\n } finally {\n processNext()\n }\n }\n\n const processNext = () => {\n if (index >= items.length) {\n // No more items to process\n return\n }\n\n const item = items[index]\n index++\n\n const promise = processItem(item)\n promises.push(promise)\n\n if (promises.length >= maxConcurrency) {\n Promise.race(promises).then(processNext)\n } else {\n processNext()\n }\n }\n processNext()\n\n await Promise.all(promises)\n}\n", "export * from \"./documents\"\n", "import { DocumentType, prefixed } from \"@budibase/types\"\n\nconst APP_PREFIX = prefixed(DocumentType.APP)\nconst APP_DEV_PREFIX = prefixed(DocumentType.APP_DEV)\n\nexport function getDevAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_ element, then join it together incase any other app_ exist\n const split = appId.split(APP_PREFIX)\n split.shift()\n const rest = split.join(APP_PREFIX)\n return `${APP_DEV_PREFIX}${rest}`\n}\n\n/**\n * Convert a development app ID to a deployed app ID.\n */\nexport function getProdAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (!appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_dev element, then join it together incase any other app_ exist\n const split = appId.split(APP_DEV_PREFIX)\n split.shift()\n const rest = split.join(APP_DEV_PREFIX)\n return `${APP_PREFIX}${rest}`\n}\n", "import { ContextUser, User } from \"@budibase/types\"\nimport { getProdAppID } from \"./applications\"\n\n// checks if a user is specifically a builder, given an app ID\nexport function isBuilder(user: User | ContextUser, appId?: string): boolean {\n if (!user) {\n return false\n }\n if (user.builder?.global) {\n return true\n } else if (appId && user.builder?.apps?.includes(getProdAppID(appId))) {\n return true\n }\n return false\n}\n\nexport function isGlobalBuilder(user: User | ContextUser): boolean {\n return (isBuilder(user) && !hasAppBuilderPermissions(user)) || isAdmin(user)\n}\n\n// alias for hasAdminPermission, currently do the same thing\n// in future whether someone has admin permissions and whether they are\n// an admin for a specific resource could be separated\nexport function isAdmin(user: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return hasAdminPermissions(user)\n}\n\nexport function isAdminOrBuilder(\n user: User | ContextUser,\n appId?: string\n): boolean {\n return isBuilder(user, appId) || isAdmin(user)\n}\n\n// check if they are a builder within an app (not necessarily a global builder)\nexport function hasAppBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n const appLength = user.builder?.apps?.length\n const isGlobalBuilder = !!user.builder?.global\n return !isGlobalBuilder && appLength != null && appLength > 0\n}\n\n// checks if a user is capable of building any app\nexport function hasBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return user.builder?.global || hasAppBuilderPermissions(user)\n}\n\n// checks if a user is capable of being an admin\nexport function hasAdminPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.admin?.global\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["SocketEvent", "GridSocketEvent", "BuilderSocketEvent", "AutomationTriggerStepId", "AutomationActionStepId", "PluginType", "isGlobalBuilder"]
|
|
7
7
|
}
|
package/dist/index.js.meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/constants.ts":{"bytes":1879,"imports":[],"format":"esm"},"../types/src/sdk/automations/index.ts":{"bytes":368,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"bull","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/hosting.ts":{"bytes":60,"imports":[],"format":"esm"},"../types/src/sdk/context.ts":{"bytes":495,"imports":[{"path":"../documents","kind":"import-statement","external":true},{"path":"./events","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/app.ts":{"bytes":1402,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/auth.ts":{"bytes":738,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/automation.ts":{"bytes":1198,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/email.ts":{"bytes":148,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/datasource.ts":{"bytes":399,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/event.ts":{"bytes":15483,"imports":[{"path":"../hosting","kind":"import-statement","external":true},{"path":"./identification","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/layout.ts":{"bytes":192,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/license.ts":{"bytes":749,"imports":[{"path":"../licensing","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/version.ts":{"bytes":208,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/query.ts":{"bytes":793,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/role.ts":{"bytes":573,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/rows.ts":{"bytes":201,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/screen.ts":{"bytes":334,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/serve.ts":{"bytes":329,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/table.ts":{"bytes":635,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/user.ts":{"bytes":1557,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/view.ts":{"bytes":1028,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/account.ts":{"bytes":330,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/backfill.ts":{"bytes":945,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/identification.ts":{"bytes":1157,"imports":[{"path":"..","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/userGroup.ts":{"bytes":990,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/plugin.ts":{"bytes":544,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/backup.ts":{"bytes":405,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/environmentVariable.ts":{"bytes":335,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/auditLog.ts":{"bytes":275,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../api","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/index.ts":{"bytes":646,"imports":[{"path":"../types/src/sdk/events/app.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/sdk/events/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/sdk/events/automation.ts","kind":"import-statement","original":"./automation"},{"path":"../types/src/sdk/events/email.ts","kind":"import-statement","original":"./email"},{"path":"../types/src/sdk/events/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/sdk/events/event.ts","kind":"import-statement","original":"./event"},{"path":"../types/src/sdk/events/layout.ts","kind":"import-statement","original":"./layout"},{"path":"../types/src/sdk/events/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/sdk/events/version.ts","kind":"import-statement","original":"./version"},{"path":"../types/src/sdk/events/query.ts","kind":"import-statement","original":"./query"},{"path":"../types/src/sdk/events/role.ts","kind":"import-statement","original":"./role"},{"path":"../types/src/sdk/events/rows.ts","kind":"import-statement","original":"./rows"},{"path":"../types/src/sdk/events/screen.ts","kind":"import-statement","original":"./screen"},{"path":"../types/src/sdk/events/serve.ts","kind":"import-statement","original":"./serve"},{"path":"../types/src/sdk/events/table.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/sdk/events/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/sdk/events/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/sdk/events/account.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/sdk/events/backfill.ts","kind":"import-statement","original":"./backfill"},{"path":"../types/src/sdk/events/identification.ts","kind":"import-statement","original":"./identification"},{"path":"../types/src/sdk/events/userGroup.ts","kind":"import-statement","original":"./userGroup"},{"path":"../types/src/sdk/events/plugin.ts","kind":"import-statement","original":"./plugin"},{"path":"../types/src/sdk/events/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/sdk/events/environmentVariable.ts","kind":"import-statement","original":"./environmentVariable"},{"path":"../types/src/sdk/events/auditLog.ts","kind":"import-statement","original":"./auditLog"}],"format":"esm"},"../types/src/sdk/licensing/license.ts":{"bytes":417,"imports":[{"path":".","kind":"import-statement","external":true},{"path":"../../shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/plan.ts":{"bytes":873,"imports":[],"format":"esm"},"../types/src/sdk/licensing/quota.ts":{"bytes":2503,"imports":[{"path":".","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/feature.ts":{"bytes":445,"imports":[{"path":"./plan","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/billing.ts":{"bytes":504,"imports":[{"path":"./plan","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/index.ts":{"bytes":125,"imports":[{"path":"../types/src/sdk/licensing/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/sdk/licensing/plan.ts","kind":"import-statement","original":"./plan"},{"path":"../types/src/sdk/licensing/quota.ts","kind":"import-statement","original":"./quota"},{"path":"../types/src/sdk/licensing/feature.ts","kind":"import-statement","original":"./feature"},{"path":"../types/src/sdk/licensing/billing.ts","kind":"import-statement","original":"./billing"}],"format":"esm"},"../types/src/sdk/migrations.ts":{"bytes":1388,"imports":[],"format":"esm"},"../types/src/sdk/datasources.ts":{"bytes":4083,"imports":[{"path":"../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/search.ts":{"bytes":1670,"imports":[{"path":"./datasources","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true},{"path":"../api","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/koa.ts":{"bytes":1114,"imports":[{"path":"koa","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true},{"path":"../sdk","kind":"import-statement","external":true},{"path":"formidable","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/auth.ts":{"bytes":653,"imports":[{"path":"./koa","kind":"import-statement","external":true},{"path":"./hosting","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/locks.ts":{"bytes":1313,"imports":[{"path":"redlock","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/db.ts":{"bytes":2792,"imports":[{"path":"@budibase/nano","kind":"import-statement","external":true},{"path":"../","kind":"import-statement","external":true},{"path":"stream","kind":"import-statement","external":true},{"path":"pouchdb","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/middleware/matchers.ts":{"bytes":417,"imports":[],"format":"esm"},"../types/src/sdk/middleware/tenancy.ts":{"bytes":307,"imports":[],"format":"esm"},"../types/src/sdk/middleware/index.ts":{"bytes":53,"imports":[{"path":"../types/src/sdk/middleware/matchers.ts","kind":"import-statement","original":"./matchers"},{"path":"../types/src/sdk/middleware/tenancy.ts","kind":"import-statement","original":"./tenancy"}],"format":"esm"},"../types/src/sdk/featureFlag.ts":{"bytes":127,"imports":[],"format":"esm"},"../types/src/sdk/environmentVariables.ts":{"bytes":91,"imports":[],"format":"esm"},"../types/src/sdk/auditLogs.ts":{"bytes":442,"imports":[{"path":"./events","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/sso.ts":{"bytes":622,"imports":[{"path":"../documents","kind":"import-statement","external":true},{"path":"./user","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/user.ts":{"bytes":112,"imports":[],"format":"esm"},"../types/src/sdk/cli/constants.ts":{"bytes":404,"imports":[{"path":"../types/src/sdk/events/index.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"../types/src/sdk/cli/index.ts":{"bytes":28,"imports":[{"path":"../types/src/sdk/cli/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"../types/src/sdk/websocket.ts":{"bytes":164,"imports":[],"format":"esm"},"../types/src/sdk/permissions.ts":{"bytes":399,"imports":[],"format":"esm"},"../types/src/sdk/row.ts":{"bytes":349,"imports":[{"path":"../api","kind":"import-statement","external":true},{"path":"./search","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/index.ts":{"bytes":582,"imports":[{"path":"../types/src/sdk/automations/index.ts","kind":"import-statement","original":"./automations"},{"path":"../types/src/sdk/hosting.ts","kind":"import-statement","original":"./hosting"},{"path":"../types/src/sdk/context.ts","kind":"import-statement","original":"./context"},{"path":"../types/src/sdk/events/index.ts","kind":"import-statement","original":"./events"},{"path":"../types/src/sdk/licensing/index.ts","kind":"import-statement","original":"./licensing"},{"path":"../types/src/sdk/migrations.ts","kind":"import-statement","original":"./migrations"},{"path":"../types/src/sdk/datasources.ts","kind":"import-statement","original":"./datasources"},{"path":"../types/src/sdk/search.ts","kind":"import-statement","original":"./search"},{"path":"../types/src/sdk/koa.ts","kind":"import-statement","original":"./koa"},{"path":"../types/src/sdk/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/sdk/locks.ts","kind":"import-statement","original":"./locks"},{"path":"../types/src/sdk/db.ts","kind":"import-statement","original":"./db"},{"path":"../types/src/sdk/middleware/index.ts","kind":"import-statement","original":"./middleware"},{"path":"../types/src/sdk/featureFlag.ts","kind":"import-statement","original":"./featureFlag"},{"path":"../types/src/sdk/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/sdk/auditLogs.ts","kind":"import-statement","original":"./auditLogs"},{"path":"../types/src/sdk/sso.ts","kind":"import-statement","original":"./sso"},{"path":"../types/src/sdk/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/sdk/cli/index.ts","kind":"import-statement","original":"./cli"},{"path":"../types/src/sdk/websocket.ts","kind":"import-statement","original":"./websocket"},{"path":"../types/src/sdk/permissions.ts","kind":"import-statement","original":"./permissions"},{"path":"../types/src/sdk/row.ts","kind":"import-statement","original":"./row"}],"format":"esm"},"../types/src/documents/account/account.ts":{"bytes":2589,"imports":[{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"../../sdk"},{"path":"../../shared","kind":"import-statement","external":true},{"path":"../global","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/account/user.ts":{"bytes":206,"imports":[],"format":"esm"},"../types/src/documents/account/index.ts":{"bytes":49,"imports":[{"path":"../types/src/documents/account/account.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/documents/account/user.ts","kind":"import-statement","original":"./user"}],"format":"esm"},"../types/src/documents/app/app.ts":{"bytes":1367,"imports":[{"path":"../","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/automation.ts":{"bytes":5052,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"events","kind":"import-statement","external":true},{"path":"../global","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/datasource.ts":{"bytes":1028,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true},{"path":"./table","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/layout.ts":{"bytes":98,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/query.ts":{"bytes":1040,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/role.ts":{"bytes":188,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/table.ts":{"bytes":712,"imports":[{"path":"../../document","kind":"import-statement","external":true},{"path":"../view","kind":"import-statement","external":true},{"path":"../../../sdk","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/schema.ts":{"bytes":2264,"imports":[{"path":"../row","kind":"import-statement","external":true},{"path":"./constants","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/constants.ts":{"bytes":187,"imports":[],"format":"esm"},"../types/src/documents/app/table/index.ts":{"bytes":77,"imports":[{"path":"../types/src/documents/app/table/table.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/documents/app/table/schema.ts","kind":"import-statement","original":"./schema"},{"path":"../types/src/documents/app/table/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"../types/src/documents/app/screen.ts":{"bytes":483,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"./component","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/view.ts":{"bytes":1107,"imports":[{"path":"../../api","kind":"import-statement","external":true},{"path":"./table","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/document.ts":{"bytes":1288,"imports":[],"format":"esm"},"../types/src/documents/app/row.ts":{"bytes":655,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/user.ts":{"bytes":125,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/backup.ts":{"bytes":1331,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/webhook.ts":{"bytes":263,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/links.ts":{"bytes":344,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/component.ts":{"bytes":214,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/index.ts":{"bytes":400,"imports":[{"path":"../types/src/documents/app/app.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/documents/app/automation.ts","kind":"import-statement","original":"./automation"},{"path":"../types/src/documents/app/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/documents/app/layout.ts","kind":"import-statement","original":"./layout"},{"path":"../types/src/documents/app/query.ts","kind":"import-statement","original":"./query"},{"path":"../types/src/documents/app/role.ts","kind":"import-statement","original":"./role"},{"path":"../types/src/documents/app/table/index.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/documents/app/screen.ts","kind":"import-statement","original":"./screen"},{"path":"../types/src/documents/app/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/documents/document.ts","kind":"import-statement","original":"../document"},{"path":"../types/src/documents/app/row.ts","kind":"import-statement","original":"./row"},{"path":"../types/src/documents/app/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/documents/app/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/documents/app/webhook.ts","kind":"import-statement","original":"./webhook"},{"path":"../types/src/documents/app/links.ts","kind":"import-statement","original":"./links"},{"path":"../types/src/documents/app/component.ts","kind":"import-statement","original":"./component"}],"format":"esm"},"../types/src/documents/global/config.ts":{"bytes":3014,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/user.ts":{"bytes":1733,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/userGroup.ts":{"bytes":653,"imports":[{"path":"../../api","kind":"import-statement","external":true},{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/plugin.ts":{"bytes":714,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/quotas.ts":{"bytes":1623,"imports":[{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"../../sdk"}],"format":"esm"},"../types/src/documents/global/schedule.ts":{"bytes":665,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/templates.ts":{"bytes":175,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/environmentVariables.ts":{"bytes":474,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/auditLogs.ts":{"bytes":362,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/index.ts":{"bytes":248,"imports":[{"path":"../types/src/documents/global/config.ts","kind":"import-statement","original":"./config"},{"path":"../types/src/documents/global/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/documents/global/userGroup.ts","kind":"import-statement","original":"./userGroup"},{"path":"../types/src/documents/global/plugin.ts","kind":"import-statement","original":"./plugin"},{"path":"../types/src/documents/global/quotas.ts","kind":"import-statement","original":"./quotas"},{"path":"../types/src/documents/global/schedule.ts","kind":"import-statement","original":"./schedule"},{"path":"../types/src/documents/global/templates.ts","kind":"import-statement","original":"./templates"},{"path":"../types/src/documents/global/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/documents/global/auditLogs.ts","kind":"import-statement","original":"./auditLogs"}],"format":"esm"},"../types/src/documents/platform/info.ts":{"bytes":175,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/users.ts":{"bytes":336,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/accounts.ts":{"bytes":110,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/tenants.ts":{"bytes":108,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/index.ts":{"bytes":100,"imports":[{"path":"../types/src/documents/platform/info.ts","kind":"import-statement","original":"./info"},{"path":"../types/src/documents/platform/users.ts","kind":"import-statement","original":"./users"},{"path":"../types/src/documents/platform/accounts.ts","kind":"import-statement","original":"./accounts"},{"path":"../types/src/documents/platform/tenants.ts","kind":"import-statement","original":"./tenants"}],"format":"esm"},"../types/src/documents/pouch.ts":{"bytes":482,"imports":[],"format":"esm"},"../types/src/documents/index.ts":{"bytes":151,"imports":[{"path":"../types/src/documents/account/index.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/documents/app/index.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/documents/global/index.ts","kind":"import-statement","original":"./global"},{"path":"../types/src/documents/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"../types/src/documents/document.ts","kind":"import-statement","original":"./document"},{"path":"../types/src/documents/pouch.ts","kind":"import-statement","original":"./pouch"}],"format":"esm"},"../types/src/api/account/accounts.ts":{"bytes":451,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/account/user.ts":{"bytes":156,"imports":[],"format":"esm"},"../types/src/api/account/license.ts":{"bytes":860,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true},{"path":"../../shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/account/status.ts":{"bytes":116,"imports":[],"format":"esm"},"../types/src/api/account/index.ts":{"bytes":101,"imports":[{"path":"../types/src/api/account/accounts.ts","kind":"import-statement","original":"./accounts"},{"path":"../types/src/api/account/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/api/account/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/api/account/status.ts","kind":"import-statement","original":"./status"}],"format":"esm"},"../types/src/api/web/analytics.ts":{"bytes":169,"imports":[],"format":"esm"},"../types/src/api/web/auth.ts":{"bytes":444,"imports":[],"format":"esm"},"../types/src/api/web/user.ts":{"bytes":1532,"imports":[{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/errors.ts":{"bytes":104,"imports":[],"format":"esm"},"../types/src/api/web/debug.ts":{"bytes":223,"imports":[],"format":"esm"},"../types/src/api/web/schedule.ts":{"bytes":327,"imports":[{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/system/environment.ts":{"bytes":179,"imports":[],"format":"esm"},"../types/src/api/web/system/index.ts":{"bytes":30,"imports":[{"path":"../types/src/api/web/system/environment.ts","kind":"import-statement","original":"./environment"}],"format":"esm"},"../types/src/api/web/app/backup.ts":{"bytes":422,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/datasource.ts":{"bytes":719,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/row.ts":{"bytes":208,"imports":[{"path":"../../../documents/app/row","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/view.ts":{"bytes":390,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/rows.ts":{"bytes":568,"imports":[{"path":"../../../sdk","kind":"import-statement","external":true},{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/table.ts":{"bytes":342,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/index.ts":{"bytes":146,"imports":[{"path":"../types/src/api/web/app/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/api/web/app/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/api/web/app/row.ts","kind":"import-statement","original":"./row"},{"path":"../types/src/api/web/app/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/api/web/app/rows.ts","kind":"import-statement","original":"./rows"},{"path":"../types/src/api/web/app/table.ts","kind":"import-statement","original":"./table"}],"format":"esm"},"../types/src/api/web/global/environmentVariables.ts":{"bytes":376,"imports":[],"format":"esm"},"../types/src/api/web/global/auditLogs.ts":{"bytes":1095,"imports":[{"path":"../../../sdk","kind":"import-statement","external":true},{"path":"../","kind":"import-statement","external":true},{"path":"../../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/events.ts":{"bytes":195,"imports":[],"format":"esm"},"../types/src/api/web/global/configs.ts":{"bytes":609,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/users.ts":{"bytes":1127,"imports":[{"path":"scim-patch","kind":"import-statement","external":true},{"path":"./shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/groups.ts":{"bytes":736,"imports":[{"path":"scim-patch","kind":"import-statement","external":true},{"path":"./shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/shared.ts":{"bytes":376,"imports":[{"path":"scim-patch","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/index.ts":{"bytes":74,"imports":[{"path":"../types/src/api/web/global/scim/users.ts","kind":"import-statement","original":"./users"},{"path":"../types/src/api/web/global/scim/groups.ts","kind":"import-statement","original":"./groups"},{"path":"../types/src/api/web/global/scim/shared.ts","kind":"import-statement","original":"./shared"}],"format":"esm"},"../types/src/api/web/global/license.ts":{"bytes":432,"imports":[],"format":"esm"},"../types/src/api/web/global/index.ts":{"bytes":167,"imports":[{"path":"../types/src/api/web/global/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/api/web/global/auditLogs.ts","kind":"import-statement","original":"./auditLogs"},{"path":"../types/src/api/web/global/events.ts","kind":"import-statement","original":"./events"},{"path":"../types/src/api/web/global/configs.ts","kind":"import-statement","original":"./configs"},{"path":"../types/src/api/web/global/scim/index.ts","kind":"import-statement","original":"./scim"},{"path":"../types/src/api/web/global/license.ts","kind":"import-statement","original":"./license"}],"format":"esm"},"../types/src/api/web/pagination.ts":{"bytes":472,"imports":[],"format":"esm"},"../types/src/api/web/searchFilter.ts":{"bytes":811,"imports":[{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/index.ts":{"bytes":282,"imports":[{"path":"../types/src/api/web/analytics.ts","kind":"import-statement","original":"./analytics"},{"path":"../types/src/api/web/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/api/web/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/api/web/errors.ts","kind":"import-statement","original":"./errors"},{"path":"../types/src/api/web/debug.ts","kind":"import-statement","original":"./debug"},{"path":"../types/src/api/web/schedule.ts","kind":"import-statement","original":"./schedule"},{"path":"../types/src/api/web/system/index.ts","kind":"import-statement","original":"./system"},{"path":"../types/src/api/web/app/index.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/api/web/global/index.ts","kind":"import-statement","original":"./global"},{"path":"../types/src/api/web/pagination.ts","kind":"import-statement","original":"./pagination"},{"path":"../types/src/api/web/searchFilter.ts","kind":"import-statement","original":"./searchFilter"}],"format":"esm"},"../types/src/api/index.ts":{"bytes":48,"imports":[{"path":"../types/src/api/account/index.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/api/web/index.ts","kind":"import-statement","original":"./web"}],"format":"esm"},"../types/src/core/installation.ts":{"bytes":66,"imports":[],"format":"esm"},"../types/src/core/index.ts":{"bytes":31,"imports":[{"path":"../types/src/core/installation.ts","kind":"import-statement","original":"./installation"}],"format":"esm"},"../types/src/shared/typeUtils.ts":{"bytes":197,"imports":[],"format":"esm"},"../types/src/shared/index.ts":{"bytes":28,"imports":[{"path":"../types/src/shared/typeUtils.ts","kind":"import-statement","original":"./typeUtils"}],"format":"esm"},"../types/src/index.ts":{"bytes":120,"imports":[{"path":"../types/src/documents/index.ts","kind":"import-statement","original":"./documents"},{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"./sdk"},{"path":"../types/src/api/index.ts","kind":"import-statement","original":"./api"},{"path":"../types/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"../types/src/shared/index.ts","kind":"import-statement","original":"./shared"}],"format":"esm"},"src/helpers/helpers.ts":{"bytes":2120,"imports":[{"path":"@budibase/types","kind":"import-statement","external":true}],"format":"esm"},"src/helpers/integrations.ts":{"bytes":442,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"}],"format":"esm"},"src/helpers/index.ts":{"bytes":57,"imports":[{"path":"src/helpers/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/helpers/integrations.ts","kind":"import-statement","original":"./integrations"}],"format":"esm"},"src/filters.ts":{"bytes":11951,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/utils.ts":{"bytes":862,"imports":[],"format":"esm"},"src/sdk/documents/applications.ts":{"bytes":1017,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"}],"format":"esm"},"src/sdk/documents/users.ts":{"bytes":1833,"imports":[{"path":"@budibase/types","kind":"import-statement","external":true},{"path":"src/sdk/documents/applications.ts","kind":"import-statement","original":"./applications"}],"format":"esm"},"src/sdk/documents/index.ts":{"bytes":80,"imports":[{"path":"src/sdk/documents/applications.ts","kind":"import-statement","original":"./applications"},{"path":"src/sdk/documents/users.ts","kind":"import-statement","original":"./users"}],"format":"esm"},"src/sdk/index.ts":{"bytes":28,"imports":[{"path":"src/sdk/documents/index.ts","kind":"import-statement","original":"./documents"}],"format":"esm"},"src/index.ts":{"bytes":168,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/filters.ts","kind":"import-statement","original":"./filters"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/sdk/index.ts","kind":"import-statement","original":"./sdk"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":61077},"dist/index.js":{"imports":[],"exports":[],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":587},"src/constants.ts":{"bytesInOutput":2403},"src/filters.ts":{"bytesInOutput":8668},"../types/src/sdk/index.ts":{"bytesInOutput":0},"../types/src/sdk/events/index.ts":{"bytesInOutput":0},"../types/src/sdk/events/event.ts":{"bytesInOutput":772},"../types/src/sdk/licensing/index.ts":{"bytesInOutput":0},"../types/src/sdk/middleware/index.ts":{"bytesInOutput":0},"../types/src/sdk/cli/constants.ts":{"bytesInOutput":164},"../types/src/sdk/cli/index.ts":{"bytesInOutput":0},"../types/src/documents/account/index.ts":{"bytesInOutput":0},"../types/src/documents/index.ts":{"bytesInOutput":0},"../types/src/documents/app/index.ts":{"bytesInOutput":0},"../types/src/documents/app/automation.ts":{"bytesInOutput":1763},"../types/src/documents/app/table/index.ts":{"bytesInOutput":0},"../types/src/documents/document.ts":{"bytesInOutput":69},"../types/src/documents/global/index.ts":{"bytesInOutput":0},"../types/src/documents/global/plugin.ts":{"bytesInOutput":276},"../types/src/documents/global/quotas.ts":{"bytesInOutput":203},"../types/src/documents/platform/index.ts":{"bytesInOutput":0},"../types/src/index.ts":{"bytesInOutput":0},"../types/src/api/account/index.ts":{"bytesInOutput":0},"../types/src/api/index.ts":{"bytesInOutput":0},"../types/src/api/web/index.ts":{"bytesInOutput":0},"../types/src/api/web/system/index.ts":{"bytesInOutput":0},"../types/src/api/web/app/index.ts":{"bytesInOutput":0},"../types/src/api/web/global/index.ts":{"bytesInOutput":0},"../types/src/api/web/global/scim/index.ts":{"bytesInOutput":0},"../types/src/core/index.ts":{"bytesInOutput":0},"../types/src/shared/index.ts":{"bytesInOutput":0},"src/helpers/index.ts":{"bytesInOutput":259},"src/helpers/helpers.ts":{"bytesInOutput":1184},"src/helpers/integrations.ts":{"bytesInOutput":371},"src/utils.ts":{"bytesInOutput":852},"src/sdk/index.ts":{"bytesInOutput":123},"src/sdk/documents/applications.ts":{"bytesInOutput":829},"src/sdk/documents/index.ts":{"bytesInOutput":0},"src/sdk/documents/users.ts":{"bytesInOutput":1393}},"bytes":21562}}}
|
|
1
|
+
{"inputs":{"src/constants.ts":{"bytes":1879,"imports":[],"format":"esm"},"../types/src/sdk/automations/index.ts":{"bytes":368,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"bull","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/hosting.ts":{"bytes":60,"imports":[],"format":"esm"},"../types/src/sdk/context.ts":{"bytes":495,"imports":[{"path":"../documents","kind":"import-statement","external":true},{"path":"./events","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/app.ts":{"bytes":1402,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/auth.ts":{"bytes":738,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/automation.ts":{"bytes":1198,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/email.ts":{"bytes":148,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/datasource.ts":{"bytes":399,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/event.ts":{"bytes":15483,"imports":[{"path":"../hosting","kind":"import-statement","external":true},{"path":"./identification","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/layout.ts":{"bytes":192,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/license.ts":{"bytes":749,"imports":[{"path":"../licensing","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/version.ts":{"bytes":208,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/query.ts":{"bytes":793,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/role.ts":{"bytes":573,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/rows.ts":{"bytes":201,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/screen.ts":{"bytes":334,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/serve.ts":{"bytes":329,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/table.ts":{"bytes":635,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/user.ts":{"bytes":1557,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/view.ts":{"bytes":1028,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/account.ts":{"bytes":330,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/backfill.ts":{"bytes":945,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/identification.ts":{"bytes":1157,"imports":[{"path":"..","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/userGroup.ts":{"bytes":990,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/plugin.ts":{"bytes":544,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/backup.ts":{"bytes":405,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/environmentVariable.ts":{"bytes":335,"imports":[{"path":"./event","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/auditLog.ts":{"bytes":275,"imports":[{"path":"./event","kind":"import-statement","external":true},{"path":"../../api","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/events/index.ts":{"bytes":646,"imports":[{"path":"../types/src/sdk/events/app.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/sdk/events/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/sdk/events/automation.ts","kind":"import-statement","original":"./automation"},{"path":"../types/src/sdk/events/email.ts","kind":"import-statement","original":"./email"},{"path":"../types/src/sdk/events/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/sdk/events/event.ts","kind":"import-statement","original":"./event"},{"path":"../types/src/sdk/events/layout.ts","kind":"import-statement","original":"./layout"},{"path":"../types/src/sdk/events/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/sdk/events/version.ts","kind":"import-statement","original":"./version"},{"path":"../types/src/sdk/events/query.ts","kind":"import-statement","original":"./query"},{"path":"../types/src/sdk/events/role.ts","kind":"import-statement","original":"./role"},{"path":"../types/src/sdk/events/rows.ts","kind":"import-statement","original":"./rows"},{"path":"../types/src/sdk/events/screen.ts","kind":"import-statement","original":"./screen"},{"path":"../types/src/sdk/events/serve.ts","kind":"import-statement","original":"./serve"},{"path":"../types/src/sdk/events/table.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/sdk/events/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/sdk/events/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/sdk/events/account.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/sdk/events/backfill.ts","kind":"import-statement","original":"./backfill"},{"path":"../types/src/sdk/events/identification.ts","kind":"import-statement","original":"./identification"},{"path":"../types/src/sdk/events/userGroup.ts","kind":"import-statement","original":"./userGroup"},{"path":"../types/src/sdk/events/plugin.ts","kind":"import-statement","original":"./plugin"},{"path":"../types/src/sdk/events/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/sdk/events/environmentVariable.ts","kind":"import-statement","original":"./environmentVariable"},{"path":"../types/src/sdk/events/auditLog.ts","kind":"import-statement","original":"./auditLog"}],"format":"esm"},"../types/src/sdk/licensing/license.ts":{"bytes":417,"imports":[{"path":".","kind":"import-statement","external":true},{"path":"../../shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/plan.ts":{"bytes":873,"imports":[],"format":"esm"},"../types/src/sdk/licensing/quota.ts":{"bytes":2503,"imports":[{"path":".","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/feature.ts":{"bytes":445,"imports":[{"path":"./plan","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/billing.ts":{"bytes":504,"imports":[{"path":"./plan","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/licensing/index.ts":{"bytes":125,"imports":[{"path":"../types/src/sdk/licensing/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/sdk/licensing/plan.ts","kind":"import-statement","original":"./plan"},{"path":"../types/src/sdk/licensing/quota.ts","kind":"import-statement","original":"./quota"},{"path":"../types/src/sdk/licensing/feature.ts","kind":"import-statement","original":"./feature"},{"path":"../types/src/sdk/licensing/billing.ts","kind":"import-statement","original":"./billing"}],"format":"esm"},"../types/src/sdk/migrations.ts":{"bytes":1388,"imports":[],"format":"esm"},"../types/src/sdk/datasources.ts":{"bytes":3966,"imports":[{"path":"../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/search.ts":{"bytes":1670,"imports":[{"path":"./datasources","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true},{"path":"../api","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/koa.ts":{"bytes":1114,"imports":[{"path":"koa","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true},{"path":"../sdk","kind":"import-statement","external":true},{"path":"formidable","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/auth.ts":{"bytes":653,"imports":[{"path":"./koa","kind":"import-statement","external":true},{"path":"./hosting","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/locks.ts":{"bytes":1313,"imports":[{"path":"redlock","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/db.ts":{"bytes":2792,"imports":[{"path":"@budibase/nano","kind":"import-statement","external":true},{"path":"../","kind":"import-statement","external":true},{"path":"stream","kind":"import-statement","external":true},{"path":"pouchdb","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/middleware/matchers.ts":{"bytes":417,"imports":[],"format":"esm"},"../types/src/sdk/middleware/tenancy.ts":{"bytes":307,"imports":[],"format":"esm"},"../types/src/sdk/middleware/index.ts":{"bytes":53,"imports":[{"path":"../types/src/sdk/middleware/matchers.ts","kind":"import-statement","original":"./matchers"},{"path":"../types/src/sdk/middleware/tenancy.ts","kind":"import-statement","original":"./tenancy"}],"format":"esm"},"../types/src/sdk/featureFlag.ts":{"bytes":127,"imports":[],"format":"esm"},"../types/src/sdk/environmentVariables.ts":{"bytes":91,"imports":[],"format":"esm"},"../types/src/sdk/auditLogs.ts":{"bytes":442,"imports":[{"path":"./events","kind":"import-statement","external":true},{"path":"../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/sso.ts":{"bytes":622,"imports":[{"path":"../documents","kind":"import-statement","external":true},{"path":"./user","kind":"import-statement","external":true}],"format":"esm"},"../types/src/sdk/user.ts":{"bytes":112,"imports":[],"format":"esm"},"../types/src/sdk/cli/constants.ts":{"bytes":404,"imports":[{"path":"../types/src/sdk/events/index.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"../types/src/sdk/cli/index.ts":{"bytes":28,"imports":[{"path":"../types/src/sdk/cli/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"../types/src/sdk/websocket.ts":{"bytes":164,"imports":[],"format":"esm"},"../types/src/sdk/permissions.ts":{"bytes":416,"imports":[],"format":"esm"},"../types/src/sdk/index.ts":{"bytes":560,"imports":[{"path":"../types/src/sdk/automations/index.ts","kind":"import-statement","original":"./automations"},{"path":"../types/src/sdk/hosting.ts","kind":"import-statement","original":"./hosting"},{"path":"../types/src/sdk/context.ts","kind":"import-statement","original":"./context"},{"path":"../types/src/sdk/events/index.ts","kind":"import-statement","original":"./events"},{"path":"../types/src/sdk/licensing/index.ts","kind":"import-statement","original":"./licensing"},{"path":"../types/src/sdk/migrations.ts","kind":"import-statement","original":"./migrations"},{"path":"../types/src/sdk/datasources.ts","kind":"import-statement","original":"./datasources"},{"path":"../types/src/sdk/search.ts","kind":"import-statement","original":"./search"},{"path":"../types/src/sdk/koa.ts","kind":"import-statement","original":"./koa"},{"path":"../types/src/sdk/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/sdk/locks.ts","kind":"import-statement","original":"./locks"},{"path":"../types/src/sdk/db.ts","kind":"import-statement","original":"./db"},{"path":"../types/src/sdk/middleware/index.ts","kind":"import-statement","original":"./middleware"},{"path":"../types/src/sdk/featureFlag.ts","kind":"import-statement","original":"./featureFlag"},{"path":"../types/src/sdk/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/sdk/auditLogs.ts","kind":"import-statement","original":"./auditLogs"},{"path":"../types/src/sdk/sso.ts","kind":"import-statement","original":"./sso"},{"path":"../types/src/sdk/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/sdk/cli/index.ts","kind":"import-statement","original":"./cli"},{"path":"../types/src/sdk/websocket.ts","kind":"import-statement","original":"./websocket"},{"path":"../types/src/sdk/permissions.ts","kind":"import-statement","original":"./permissions"}],"format":"esm"},"../types/src/documents/account/account.ts":{"bytes":2589,"imports":[{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"../../sdk"},{"path":"../../shared","kind":"import-statement","external":true},{"path":"../global","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/account/user.ts":{"bytes":206,"imports":[],"format":"esm"},"../types/src/documents/account/index.ts":{"bytes":49,"imports":[{"path":"../types/src/documents/account/account.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/documents/account/user.ts","kind":"import-statement","original":"./user"}],"format":"esm"},"../types/src/documents/app/app.ts":{"bytes":1367,"imports":[{"path":"../","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/automation.ts":{"bytes":5052,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"events","kind":"import-statement","external":true},{"path":"../global","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/datasource.ts":{"bytes":1028,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true},{"path":"./table","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/layout.ts":{"bytes":98,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/query.ts":{"bytes":1040,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/role.ts":{"bytes":188,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/table.ts":{"bytes":712,"imports":[{"path":"../../document","kind":"import-statement","external":true},{"path":"../view","kind":"import-statement","external":true},{"path":"../../../sdk","kind":"import-statement","external":true},{"path":"./schema","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/schema.ts":{"bytes":2264,"imports":[{"path":"../row","kind":"import-statement","external":true},{"path":"./constants","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/table/constants.ts":{"bytes":187,"imports":[],"format":"esm"},"../types/src/documents/app/table/index.ts":{"bytes":77,"imports":[{"path":"../types/src/documents/app/table/table.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/documents/app/table/schema.ts","kind":"import-statement","original":"./schema"},{"path":"../types/src/documents/app/table/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"../types/src/documents/app/screen.ts":{"bytes":483,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"./component","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/view.ts":{"bytes":1147,"imports":[{"path":"../../api","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true},{"path":"./table","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/document.ts":{"bytes":1108,"imports":[],"format":"esm"},"../types/src/documents/app/row.ts":{"bytes":655,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/user.ts":{"bytes":125,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/backup.ts":{"bytes":1331,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/webhook.ts":{"bytes":263,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/links.ts":{"bytes":344,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/component.ts":{"bytes":214,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/app/index.ts":{"bytes":400,"imports":[{"path":"../types/src/documents/app/app.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/documents/app/automation.ts","kind":"import-statement","original":"./automation"},{"path":"../types/src/documents/app/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/documents/app/layout.ts","kind":"import-statement","original":"./layout"},{"path":"../types/src/documents/app/query.ts","kind":"import-statement","original":"./query"},{"path":"../types/src/documents/app/role.ts","kind":"import-statement","original":"./role"},{"path":"../types/src/documents/app/table/index.ts","kind":"import-statement","original":"./table"},{"path":"../types/src/documents/app/screen.ts","kind":"import-statement","original":"./screen"},{"path":"../types/src/documents/app/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/documents/document.ts","kind":"import-statement","original":"../document"},{"path":"../types/src/documents/app/row.ts","kind":"import-statement","original":"./row"},{"path":"../types/src/documents/app/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/documents/app/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/documents/app/webhook.ts","kind":"import-statement","original":"./webhook"},{"path":"../types/src/documents/app/links.ts","kind":"import-statement","original":"./links"},{"path":"../types/src/documents/app/component.ts","kind":"import-statement","original":"./component"}],"format":"esm"},"../types/src/documents/global/config.ts":{"bytes":3014,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/user.ts":{"bytes":1733,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/userGroup.ts":{"bytes":653,"imports":[{"path":"../../api","kind":"import-statement","external":true},{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/plugin.ts":{"bytes":714,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/quotas.ts":{"bytes":1623,"imports":[{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"../../sdk"}],"format":"esm"},"../types/src/documents/global/schedule.ts":{"bytes":665,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/templates.ts":{"bytes":175,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/environmentVariables.ts":{"bytes":474,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/auditLogs.ts":{"bytes":362,"imports":[{"path":"../document","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/global/index.ts":{"bytes":248,"imports":[{"path":"../types/src/documents/global/config.ts","kind":"import-statement","original":"./config"},{"path":"../types/src/documents/global/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/documents/global/userGroup.ts","kind":"import-statement","original":"./userGroup"},{"path":"../types/src/documents/global/plugin.ts","kind":"import-statement","original":"./plugin"},{"path":"../types/src/documents/global/quotas.ts","kind":"import-statement","original":"./quotas"},{"path":"../types/src/documents/global/schedule.ts","kind":"import-statement","original":"./schedule"},{"path":"../types/src/documents/global/templates.ts","kind":"import-statement","original":"./templates"},{"path":"../types/src/documents/global/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/documents/global/auditLogs.ts","kind":"import-statement","original":"./auditLogs"}],"format":"esm"},"../types/src/documents/platform/info.ts":{"bytes":175,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/users.ts":{"bytes":336,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/accounts.ts":{"bytes":110,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/tenants.ts":{"bytes":108,"imports":[{"path":"../document","kind":"import-statement","external":true}],"format":"esm"},"../types/src/documents/platform/index.ts":{"bytes":100,"imports":[{"path":"../types/src/documents/platform/info.ts","kind":"import-statement","original":"./info"},{"path":"../types/src/documents/platform/users.ts","kind":"import-statement","original":"./users"},{"path":"../types/src/documents/platform/accounts.ts","kind":"import-statement","original":"./accounts"},{"path":"../types/src/documents/platform/tenants.ts","kind":"import-statement","original":"./tenants"}],"format":"esm"},"../types/src/documents/pouch.ts":{"bytes":482,"imports":[],"format":"esm"},"../types/src/documents/index.ts":{"bytes":151,"imports":[{"path":"../types/src/documents/account/index.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/documents/app/index.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/documents/global/index.ts","kind":"import-statement","original":"./global"},{"path":"../types/src/documents/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"../types/src/documents/document.ts","kind":"import-statement","original":"./document"},{"path":"../types/src/documents/pouch.ts","kind":"import-statement","original":"./pouch"}],"format":"esm"},"../types/src/api/account/accounts.ts":{"bytes":451,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/account/user.ts":{"bytes":156,"imports":[],"format":"esm"},"../types/src/api/account/license.ts":{"bytes":860,"imports":[{"path":"../../documents","kind":"import-statement","external":true},{"path":"../../sdk","kind":"import-statement","external":true},{"path":"../../shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/account/status.ts":{"bytes":116,"imports":[],"format":"esm"},"../types/src/api/account/index.ts":{"bytes":101,"imports":[{"path":"../types/src/api/account/accounts.ts","kind":"import-statement","original":"./accounts"},{"path":"../types/src/api/account/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/api/account/license.ts","kind":"import-statement","original":"./license"},{"path":"../types/src/api/account/status.ts","kind":"import-statement","original":"./status"}],"format":"esm"},"../types/src/api/web/analytics.ts":{"bytes":169,"imports":[],"format":"esm"},"../types/src/api/web/auth.ts":{"bytes":444,"imports":[],"format":"esm"},"../types/src/api/web/user.ts":{"bytes":1532,"imports":[{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/errors.ts":{"bytes":104,"imports":[],"format":"esm"},"../types/src/api/web/debug.ts":{"bytes":223,"imports":[],"format":"esm"},"../types/src/api/web/schedule.ts":{"bytes":327,"imports":[{"path":"../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/system/environment.ts":{"bytes":179,"imports":[],"format":"esm"},"../types/src/api/web/system/index.ts":{"bytes":30,"imports":[{"path":"../types/src/api/web/system/environment.ts","kind":"import-statement","original":"./environment"}],"format":"esm"},"../types/src/api/web/app/backup.ts":{"bytes":422,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/datasource.ts":{"bytes":719,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/row.ts":{"bytes":208,"imports":[{"path":"../../../documents/app/row","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/view.ts":{"bytes":390,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/rows.ts":{"bytes":239,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/table.ts":{"bytes":342,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/app/index.ts":{"bytes":146,"imports":[{"path":"../types/src/api/web/app/backup.ts","kind":"import-statement","original":"./backup"},{"path":"../types/src/api/web/app/datasource.ts","kind":"import-statement","original":"./datasource"},{"path":"../types/src/api/web/app/row.ts","kind":"import-statement","original":"./row"},{"path":"../types/src/api/web/app/view.ts","kind":"import-statement","original":"./view"},{"path":"../types/src/api/web/app/rows.ts","kind":"import-statement","original":"./rows"},{"path":"../types/src/api/web/app/table.ts","kind":"import-statement","original":"./table"}],"format":"esm"},"../types/src/api/web/global/environmentVariables.ts":{"bytes":376,"imports":[],"format":"esm"},"../types/src/api/web/global/auditLogs.ts":{"bytes":1095,"imports":[{"path":"../../../sdk","kind":"import-statement","external":true},{"path":"../","kind":"import-statement","external":true},{"path":"../../../","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/events.ts":{"bytes":195,"imports":[],"format":"esm"},"../types/src/api/web/global/configs.ts":{"bytes":609,"imports":[{"path":"../../../documents","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/users.ts":{"bytes":1127,"imports":[{"path":"scim-patch","kind":"import-statement","external":true},{"path":"./shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/groups.ts":{"bytes":736,"imports":[{"path":"scim-patch","kind":"import-statement","external":true},{"path":"./shared","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/shared.ts":{"bytes":376,"imports":[{"path":"scim-patch","kind":"import-statement","external":true}],"format":"esm"},"../types/src/api/web/global/scim/index.ts":{"bytes":74,"imports":[{"path":"../types/src/api/web/global/scim/users.ts","kind":"import-statement","original":"./users"},{"path":"../types/src/api/web/global/scim/groups.ts","kind":"import-statement","original":"./groups"},{"path":"../types/src/api/web/global/scim/shared.ts","kind":"import-statement","original":"./shared"}],"format":"esm"},"../types/src/api/web/global/license.ts":{"bytes":432,"imports":[],"format":"esm"},"../types/src/api/web/global/index.ts":{"bytes":167,"imports":[{"path":"../types/src/api/web/global/environmentVariables.ts","kind":"import-statement","original":"./environmentVariables"},{"path":"../types/src/api/web/global/auditLogs.ts","kind":"import-statement","original":"./auditLogs"},{"path":"../types/src/api/web/global/events.ts","kind":"import-statement","original":"./events"},{"path":"../types/src/api/web/global/configs.ts","kind":"import-statement","original":"./configs"},{"path":"../types/src/api/web/global/scim/index.ts","kind":"import-statement","original":"./scim"},{"path":"../types/src/api/web/global/license.ts","kind":"import-statement","original":"./license"}],"format":"esm"},"../types/src/api/web/pagination.ts":{"bytes":472,"imports":[],"format":"esm"},"../types/src/api/web/index.ts":{"bytes":251,"imports":[{"path":"../types/src/api/web/analytics.ts","kind":"import-statement","original":"./analytics"},{"path":"../types/src/api/web/auth.ts","kind":"import-statement","original":"./auth"},{"path":"../types/src/api/web/user.ts","kind":"import-statement","original":"./user"},{"path":"../types/src/api/web/errors.ts","kind":"import-statement","original":"./errors"},{"path":"../types/src/api/web/debug.ts","kind":"import-statement","original":"./debug"},{"path":"../types/src/api/web/schedule.ts","kind":"import-statement","original":"./schedule"},{"path":"../types/src/api/web/system/index.ts","kind":"import-statement","original":"./system"},{"path":"../types/src/api/web/app/index.ts","kind":"import-statement","original":"./app"},{"path":"../types/src/api/web/global/index.ts","kind":"import-statement","original":"./global"},{"path":"../types/src/api/web/pagination.ts","kind":"import-statement","original":"./pagination"}],"format":"esm"},"../types/src/api/index.ts":{"bytes":48,"imports":[{"path":"../types/src/api/account/index.ts","kind":"import-statement","original":"./account"},{"path":"../types/src/api/web/index.ts","kind":"import-statement","original":"./web"}],"format":"esm"},"../types/src/core/installation.ts":{"bytes":66,"imports":[],"format":"esm"},"../types/src/core/index.ts":{"bytes":31,"imports":[{"path":"../types/src/core/installation.ts","kind":"import-statement","original":"./installation"}],"format":"esm"},"../types/src/shared/typeUtils.ts":{"bytes":197,"imports":[],"format":"esm"},"../types/src/shared/index.ts":{"bytes":28,"imports":[{"path":"../types/src/shared/typeUtils.ts","kind":"import-statement","original":"./typeUtils"}],"format":"esm"},"../types/src/index.ts":{"bytes":120,"imports":[{"path":"../types/src/documents/index.ts","kind":"import-statement","original":"./documents"},{"path":"../types/src/sdk/index.ts","kind":"import-statement","original":"./sdk"},{"path":"../types/src/api/index.ts","kind":"import-statement","original":"./api"},{"path":"../types/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"../types/src/shared/index.ts","kind":"import-statement","original":"./shared"}],"format":"esm"},"src/helpers/helpers.ts":{"bytes":2120,"imports":[{"path":"@budibase/types","kind":"import-statement","external":true}],"format":"esm"},"src/helpers/integrations.ts":{"bytes":442,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"}],"format":"esm"},"src/helpers/index.ts":{"bytes":57,"imports":[{"path":"src/helpers/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/helpers/integrations.ts","kind":"import-statement","original":"./integrations"}],"format":"esm"},"src/filters.ts":{"bytes":12528,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"}],"format":"esm"},"src/utils.ts":{"bytes":862,"imports":[],"format":"esm"},"src/sdk/documents/applications.ts":{"bytes":1017,"imports":[{"path":"../types/src/index.ts","kind":"import-statement","original":"@budibase/types"}],"format":"esm"},"src/sdk/documents/users.ts":{"bytes":1833,"imports":[{"path":"@budibase/types","kind":"import-statement","external":true},{"path":"src/sdk/documents/applications.ts","kind":"import-statement","original":"./applications"}],"format":"esm"},"src/sdk/documents/index.ts":{"bytes":80,"imports":[{"path":"src/sdk/documents/applications.ts","kind":"import-statement","original":"./applications"},{"path":"src/sdk/documents/users.ts","kind":"import-statement","original":"./users"}],"format":"esm"},"src/sdk/index.ts":{"bytes":28,"imports":[{"path":"src/sdk/documents/index.ts","kind":"import-statement","original":"./documents"}],"format":"esm"},"src/index.ts":{"bytes":168,"imports":[{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/filters.ts","kind":"import-statement","original":"./filters"},{"path":"src/helpers/index.ts","kind":"import-statement","original":"./helpers"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/sdk/index.ts","kind":"import-statement","original":"./sdk"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":61570},"dist/index.js":{"imports":[],"exports":[],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":587},"src/constants.ts":{"bytesInOutput":2403},"src/filters.ts":{"bytesInOutput":9132},"../types/src/sdk/index.ts":{"bytesInOutput":0},"../types/src/sdk/events/index.ts":{"bytesInOutput":0},"../types/src/sdk/events/event.ts":{"bytesInOutput":772},"../types/src/sdk/licensing/index.ts":{"bytesInOutput":0},"../types/src/sdk/middleware/index.ts":{"bytesInOutput":0},"../types/src/sdk/cli/constants.ts":{"bytesInOutput":164},"../types/src/sdk/cli/index.ts":{"bytesInOutput":0},"../types/src/documents/account/index.ts":{"bytesInOutput":0},"../types/src/documents/index.ts":{"bytesInOutput":0},"../types/src/documents/app/index.ts":{"bytesInOutput":0},"../types/src/documents/app/automation.ts":{"bytesInOutput":1763},"../types/src/documents/app/table/index.ts":{"bytesInOutput":0},"../types/src/documents/document.ts":{"bytesInOutput":69},"../types/src/documents/global/index.ts":{"bytesInOutput":0},"../types/src/documents/global/plugin.ts":{"bytesInOutput":276},"../types/src/documents/global/quotas.ts":{"bytesInOutput":203},"../types/src/documents/platform/index.ts":{"bytesInOutput":0},"../types/src/index.ts":{"bytesInOutput":0},"../types/src/api/account/index.ts":{"bytesInOutput":0},"../types/src/api/index.ts":{"bytesInOutput":0},"../types/src/api/web/index.ts":{"bytesInOutput":0},"../types/src/api/web/system/index.ts":{"bytesInOutput":0},"../types/src/api/web/app/index.ts":{"bytesInOutput":0},"../types/src/api/web/global/index.ts":{"bytesInOutput":0},"../types/src/api/web/global/scim/index.ts":{"bytesInOutput":0},"../types/src/core/index.ts":{"bytesInOutput":0},"../types/src/shared/index.ts":{"bytesInOutput":0},"src/helpers/index.ts":{"bytesInOutput":259},"src/helpers/helpers.ts":{"bytesInOutput":1267},"src/helpers/integrations.ts":{"bytesInOutput":371},"src/utils.ts":{"bytesInOutput":852},"src/sdk/index.ts":{"bytesInOutput":123},"src/sdk/documents/applications.ts":{"bytesInOutput":829},"src/sdk/documents/index.ts":{"bytesInOutput":0},"src/sdk/documents/users.ts":{"bytesInOutput":1681}},"bytes":22397}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/shared-core",
|
|
3
|
-
"version": "2.9.24
|
|
3
|
+
"version": "2.9.24",
|
|
4
4
|
"description": "Shared data utils",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"check:types": "tsc -p tsconfig.json --noEmit --paths null"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@budibase/types": "2.9.24
|
|
17
|
+
"@budibase/types": "2.9.24"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"concurrently": "^7.6.0",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "6d61107caa77b2dfe800c1042a18f3a0cb1d4ff7"
|
|
39
39
|
}
|