@ganju/utils 0.0.17 → 0.0.20
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/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +21 -4
- package/dist/crypto.d.ts +2 -2
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +1 -0
- package/dist/customCodeToken.d.ts +4 -0
- package/dist/customCodeToken.d.ts.map +1 -1
- package/dist/customCodeToken.js +9 -1
- package/dist/data.d.ts +2 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +28 -1
- package/dist/dataApi.d.ts +133 -1
- package/dist/dataApi.d.ts.map +1 -1
- package/dist/dataApi.js +62 -1
- package/dist/dataDdl.d.ts.map +1 -1
- package/dist/dataDdl.js +3 -1
- package/dist/dataEngine.d.ts.map +1 -1
- package/dist/dataEngine.js +62 -0
- package/dist/dataRpc.d.ts +25 -0
- package/dist/dataRpc.d.ts.map +1 -1
- package/dist/dataTriggers.d.ts +203 -0
- package/dist/dataTriggers.d.ts.map +1 -0
- package/dist/dataTriggers.js +760 -0
- package/dist/dataTypes.d.ts +1 -0
- package/dist/dataTypes.d.ts.map +1 -1
- package/dist/index.d.ts +198 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -0
- package/dist/localizeDataError.d.ts +18 -0
- package/dist/localizeDataError.d.ts.map +1 -0
- package/dist/localizeDataError.js +359 -0
- package/dist/schema.d.ts +161 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +146 -1
- package/dist/sdkConstants.d.ts +3 -0
- package/dist/sdkConstants.d.ts.map +1 -1
- package/dist/sdkConstants.js +4 -1
- package/dist/whatsappTemplates.d.ts +77 -0
- package/dist/whatsappTemplates.d.ts.map +1 -0
- package/dist/whatsappTemplates.js +402 -0
- package/package.json +1 -1
- package/src/constants.ts +28 -4
- package/src/crypto.ts +3 -2
- package/src/customCodeToken.ts +14 -1
- package/src/data.ts +40 -0
- package/src/dataApi.ts +78 -2
- package/src/dataDdl.ts +3 -1
- package/src/dataEngine.ts +70 -0
- package/src/dataRpc.ts +15 -0
- package/src/dataTriggers.ts +1134 -0
- package/src/dataTypes.ts +3 -0
- package/src/index.ts +65 -1
- package/src/localizeDataError.ts +593 -0
- package/src/schema.ts +170 -1
- package/src/sdkConstants.ts +3 -0
- package/src/whatsappTemplates.ts +465 -0
package/dist/constants.d.ts
CHANGED
|
@@ -66,6 +66,7 @@ interface PlanLimits {
|
|
|
66
66
|
maxDataBytes: number | null;
|
|
67
67
|
maxDataTablesPerDatabase: number | null;
|
|
68
68
|
triggerRunHardCap: number | null;
|
|
69
|
+
dailyTriggerEmailCap: number | null;
|
|
69
70
|
}
|
|
70
71
|
export type { PlanLimits };
|
|
71
72
|
export declare const constants: {
|
|
@@ -132,6 +133,10 @@ export declare const constants: {
|
|
|
132
133
|
BILLING_METER_SHARED_MESSAGES: string;
|
|
133
134
|
BILLING_METER_EMBEDDED: string;
|
|
134
135
|
BILLING_METER_TOOL_CALLS: string;
|
|
136
|
+
BILLING_METER_DATA_STORAGE: string;
|
|
137
|
+
BILLING_METER_DATA_ROWS_WRITTEN: string;
|
|
138
|
+
BILLING_METER_DATA_ROWS_READ: string;
|
|
139
|
+
BILLING_METER_DATA_TRIGGER_RUNS: string;
|
|
135
140
|
BILLING_METER_UNITS_KEY: string;
|
|
136
141
|
POLAR_API_BASE: string;
|
|
137
142
|
POLAR_SANDBOX_API_BASE: string;
|
|
@@ -651,6 +656,9 @@ export declare const constants: {
|
|
|
651
656
|
CUSTOM_CODE_BROKER_PATH_RESOURCES_DELETE: string;
|
|
652
657
|
CUSTOM_CODE_BROKER_PATH_SEND_FILE: string;
|
|
653
658
|
CUSTOM_CODE_BROKER_PATH_DATA: string;
|
|
659
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_SEND: string;
|
|
660
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_POST: string;
|
|
661
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_TEMPLATES: string;
|
|
654
662
|
CUSTOM_CODE_OUTBOUND_PARAM_ARTIFACT_ID: "artifactId";
|
|
655
663
|
CUSTOM_CODE_OUTBOUND_PARAM_ALLOWED_HOSTS: "allowedHosts";
|
|
656
664
|
CUSTOM_CODE_PLATFORM_HOSTS: string[];
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.js
CHANGED
|
@@ -1938,7 +1938,8 @@ const PLAN_LIMITS = {
|
|
|
1938
1938
|
canUseData: false,
|
|
1939
1939
|
maxDataBytes: null,
|
|
1940
1940
|
maxDataTablesPerDatabase: null,
|
|
1941
|
-
triggerRunHardCap: 0
|
|
1941
|
+
triggerRunHardCap: 0,
|
|
1942
|
+
dailyTriggerEmailCap: 0
|
|
1942
1943
|
},
|
|
1943
1944
|
PRO: {
|
|
1944
1945
|
maxProjects: null,
|
|
@@ -1969,7 +1970,8 @@ const PLAN_LIMITS = {
|
|
|
1969
1970
|
canUseData: true,
|
|
1970
1971
|
maxDataBytes: DATA_MAX_DATABASE_BYTES,
|
|
1971
1972
|
maxDataTablesPerDatabase: DATA_MAX_TABLES_PER_DATABASE,
|
|
1972
|
-
triggerRunHardCap: DATA_TRIGGER_RUN_HARD_CAP
|
|
1973
|
+
triggerRunHardCap: DATA_TRIGGER_RUN_HARD_CAP,
|
|
1974
|
+
dailyTriggerEmailCap: 500
|
|
1973
1975
|
},
|
|
1974
1976
|
ENTERPRISE: {
|
|
1975
1977
|
maxProjects: null,
|
|
@@ -2000,7 +2002,8 @@ const PLAN_LIMITS = {
|
|
|
2000
2002
|
canUseData: true,
|
|
2001
2003
|
maxDataBytes: DATA_MAX_DATABASE_BYTES,
|
|
2002
2004
|
maxDataTablesPerDatabase: DATA_MAX_TABLES_PER_DATABASE,
|
|
2003
|
-
triggerRunHardCap: null
|
|
2005
|
+
triggerRunHardCap: null,
|
|
2006
|
+
dailyTriggerEmailCap: 5000
|
|
2004
2007
|
}
|
|
2005
2008
|
};
|
|
2006
2009
|
// Quota features — used as the `feature` discriminator on PlanLimitError so the
|
|
@@ -2043,9 +2046,16 @@ const BILLING_METER_EMBEDDED = 'ganju_embedded_storage';
|
|
|
2043
2046
|
// customer 2.5 million past the allowance owes $12.50, which is what every page
|
|
2044
2047
|
// of ours quotes.
|
|
2045
2048
|
const BILLING_METER_TOOL_CALLS = 'ganju_custom_tool_calls';
|
|
2049
|
+
// Project data, reported in full (not past an allowance) and attached at $0:
|
|
2050
|
+
// measured before they are priced. Storage is the period's peak in whole MB,
|
|
2051
|
+
// rows and trigger runs are counts.
|
|
2052
|
+
const BILLING_METER_DATA_STORAGE = 'ganju_data_storage';
|
|
2053
|
+
const BILLING_METER_DATA_ROWS_WRITTEN = 'ganju_data_rows_written';
|
|
2054
|
+
const BILLING_METER_DATA_ROWS_READ = 'ganju_data_rows_read';
|
|
2055
|
+
const BILLING_METER_DATA_TRIGGER_RUNS = 'ganju_data_trigger_runs';
|
|
2046
2056
|
// The metadata property every meter aggregates (`sum` over it). Ingested events
|
|
2047
2057
|
// carry the increment under this key, so it has to agree with the aggregation
|
|
2048
|
-
// configured on
|
|
2058
|
+
// configured on every meter — which is why it lives beside their names
|
|
2049
2059
|
// rather than at the call site.
|
|
2050
2060
|
const BILLING_METER_UNITS_KEY = 'units';
|
|
2051
2061
|
// Polar API hosts. Sandbox is a separate host rather than a mode flag, so the
|
|
@@ -2208,6 +2218,10 @@ exports.constants = {
|
|
|
2208
2218
|
BILLING_METER_SHARED_MESSAGES,
|
|
2209
2219
|
BILLING_METER_EMBEDDED,
|
|
2210
2220
|
BILLING_METER_TOOL_CALLS,
|
|
2221
|
+
BILLING_METER_DATA_STORAGE,
|
|
2222
|
+
BILLING_METER_DATA_ROWS_WRITTEN,
|
|
2223
|
+
BILLING_METER_DATA_ROWS_READ,
|
|
2224
|
+
BILLING_METER_DATA_TRIGGER_RUNS,
|
|
2211
2225
|
BILLING_METER_UNITS_KEY,
|
|
2212
2226
|
POLAR_API_BASE,
|
|
2213
2227
|
POLAR_SANDBOX_API_BASE,
|
|
@@ -2706,6 +2720,9 @@ exports.constants = {
|
|
|
2706
2720
|
CUSTOM_CODE_BROKER_PATH_RESOURCES_DELETE: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_RESOURCES_DELETE,
|
|
2707
2721
|
CUSTOM_CODE_BROKER_PATH_SEND_FILE: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_SEND_FILE,
|
|
2708
2722
|
CUSTOM_CODE_BROKER_PATH_DATA: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_DATA,
|
|
2723
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_SEND: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_CHANNELS_SEND,
|
|
2724
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_POST: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_CHANNELS_POST,
|
|
2725
|
+
CUSTOM_CODE_BROKER_PATH_CHANNELS_TEMPLATES: sdkConstants_1.CUSTOM_CODE_BROKER_PATH_CHANNELS_TEMPLATES,
|
|
2709
2726
|
CUSTOM_CODE_OUTBOUND_PARAM_ARTIFACT_ID,
|
|
2710
2727
|
CUSTOM_CODE_OUTBOUND_PARAM_ALLOWED_HOSTS,
|
|
2711
2728
|
CUSTOM_CODE_PLATFORM_HOSTS,
|
package/dist/crypto.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const getCredentialEncryptionKey: (c:
|
|
1
|
+
import type { EnvSource } from './getEnv';
|
|
2
|
+
export declare const getCredentialEncryptionKey: (c: EnvSource) => string;
|
|
3
3
|
export declare const encryptString: (plaintext: string, rawKey: string) => string;
|
|
4
4
|
export declare const decryptString: (value: string, rawKey: string) => string;
|
|
5
5
|
export declare const sha256Hex: (input: string) => Promise<string>;
|
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAS1C,eAAO,MAAM,0BAA0B,GAAI,GAAG,SAAS,WAMtD,CAAC;AAYF,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,QAAQ,MAAM,WAS9D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,WAS1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,OAAO,MAAM,oBAW5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAU,OAAO,MAAM,oBAalD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,KAAK,MAAM,EAAE,SAAS,MAAM,oBAmB/D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,YAOnD,CAAC"}
|
package/dist/crypto.js
CHANGED
|
@@ -8,6 +8,7 @@ const PREFIX = 'enc:v1:';
|
|
|
8
8
|
const NONCE_BYTES = 24;
|
|
9
9
|
const KEY_BYTES = 32;
|
|
10
10
|
const KEY_ENV = 'CRYPTO_SECRET';
|
|
11
|
+
// A request's context, or anything with the worker's env (a cron, a queue).
|
|
11
12
|
const getCredentialEncryptionKey = (c) => {
|
|
12
13
|
const rawKey = (0, getEnv_1.getEnv)(c, KEY_ENV);
|
|
13
14
|
if (!rawKey) {
|
|
@@ -29,6 +29,10 @@ export interface CustomCodeCallPayload {
|
|
|
29
29
|
versionId: string;
|
|
30
30
|
tool: string;
|
|
31
31
|
exp: number;
|
|
32
|
+
trigger?: {
|
|
33
|
+
id: string;
|
|
34
|
+
depth: number;
|
|
35
|
+
};
|
|
32
36
|
}
|
|
33
37
|
export declare const mintCustomCodeCallToken: (payload: Omit<CustomCodeCallPayload, "v" | "exp"> & {
|
|
34
38
|
ttlMs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customCodeToken.d.ts","sourceRoot":"","sources":["../src/customCodeToken.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IAGrC,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAIlB,GAAG,EAAE,MAAM,CAAC;IAOZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA0BD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,IAAI,CAAC,sBAAsB,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,QAAQ,MAAM,EACd,WAAU,MAAmB,KAC5B,OAAO,CAAC,MAAM,CAmBhB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,MAAM,MAAM,KACX,OAAO,CAAC,sBAAsB,GAAG,IAAI,CA+DvC,CAAC;AAWF,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"customCodeToken.d.ts","sourceRoot":"","sources":["../src/customCodeToken.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,sBAAsB;IAGrC,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAIlB,GAAG,EAAE,MAAM,CAAC;IAOZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA0BD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,IAAI,CAAC,sBAAsB,EAAE,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,QAAQ,MAAM,EACd,WAAU,MAAmB,KAC5B,OAAO,CAAC,MAAM,CAmBhB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,MAAM,MAAM,KACX,OAAO,CAAC,sBAAsB,GAAG,IAAI,CA+DvC,CAAC;AAWF,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IAGZ,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAID,eAAO,MAAM,uBAAuB,GAClC,SAAS,IAAI,CAAC,qBAAqB,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EACrE,QAAQ,MAAM,EACd,WAAU,MAAmB,KAC5B,OAAO,CAAC,MAAM,CAchB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,MAAK,MAAmB,KACvB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAuCtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,KAAG,MACE,CAAC;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,KAAG,MACoB,CAAC;AAEtF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,GAAI,YAAY,MAAM,KAAG,MACR,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,KAAG,MACR,CAAC"}
|
package/dist/customCodeToken.js
CHANGED
|
@@ -103,7 +103,8 @@ const mintCustomCodeCallToken = async (payload, secret, issuedAt = Date.now()) =
|
|
|
103
103
|
artifactId: payload.artifactId,
|
|
104
104
|
versionId: payload.versionId,
|
|
105
105
|
tool: payload.tool,
|
|
106
|
-
exp: Math.ceil((issuedAt + payload.ttlMs) / 1000)
|
|
106
|
+
exp: Math.ceil((issuedAt + payload.ttlMs) / 1000),
|
|
107
|
+
...(payload.trigger ? { trigger: payload.trigger } : {})
|
|
107
108
|
};
|
|
108
109
|
const encodedPayload = (0, base64_1.toBase64Url)((0, base64_1.bytesToBase64)(encoder.encode(JSON.stringify(body))));
|
|
109
110
|
const signature = await signPayload(encodedPayload, callSecret(secret));
|
|
@@ -129,6 +130,13 @@ const verifyCustomCodeCallToken = async (token, secret, now = Date.now()) => {
|
|
|
129
130
|
candidate.exp * 1000 <= now) {
|
|
130
131
|
return null;
|
|
131
132
|
}
|
|
133
|
+
const trigger = candidate.trigger;
|
|
134
|
+
if (trigger !== undefined &&
|
|
135
|
+
(typeof trigger?.id !== 'string' ||
|
|
136
|
+
!Number.isInteger(trigger.depth) ||
|
|
137
|
+
trigger.depth < 1)) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
132
140
|
return candidate;
|
|
133
141
|
}
|
|
134
142
|
catch {
|
package/dist/data.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export type { DataQuery, DataQueryInput, DataQueryParam, DataQueryParamType } fr
|
|
|
10
10
|
export type { ProjectDatabaseRpc, DatabaseInfo, ExportFile, ExportFormat, ExportState, RestoreResult } from './dataRpc';
|
|
11
11
|
export { DATA_TOOL_DESCRIBE, DATA_TOOL_QUERY, DATA_TOOL_WRITE, DATA_TOOL_ADMIN, DATA_TOOL_NAMES, DATA_TOOL_TITLES, DATA_TOOL_MAX_LIMIT, DATA_ADMIN_ACTIONS, hasDataToolTables, dataToolDefinitions, dataAdminToolDefinition } from './dataTools';
|
|
12
12
|
export type { DataToolDefinition, DataAdminAction } from './dataTools';
|
|
13
|
+
export { DATA_TRIGGER_EVENTS, DATA_TRIGGER_ACTIONS, DATA_MAX_TRIGGERS, DATA_TRIGGER_MAX_DEPTH, DATA_TRIGGER_DEFAULT_RATE, DATA_TRIGGER_MAX_RATE, DATA_OUTBOX_BATCH, DATA_TRIGGER_MAX_MESSAGE_BYTES, utf8Bytes, conditionMatches, renderTriggerText, normaliseTrigger, listTriggers, getTrigger, saveTrigger, dropTrigger, setTriggerEnabled, replaceManagedTriggers, collectTriggerEvents, readOutbox, deleteOutbox, outboxSize, clearOutbox, triggersUsingColumn, renameColumnInTriggers } from './dataTriggers';
|
|
14
|
+
export type { DataTrigger, DataTriggerAction, DataTriggerActionType, DataTriggerCondition, DataTriggerEvent, DataTriggerEventMessage, DataTriggerInput, DataTriggerTemplate, DataTriggerTest, DataTriggerWithSecret, SavedTrigger } from './dataTriggers';
|
|
13
15
|
//# sourceMappingURL=data.d.ts.map
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACN,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACN,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,8BAA8B,EAC9B,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACb,MAAM,gBAAgB,CAAC"}
|
package/dist/data.js
CHANGED
|
@@ -15,7 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.writeReachesCopy = exports.copyTableStep = exports.clearFailedTableCopy = exports.readTableCopy = exports.dropColumnNeedsRebuild = exports.columnChangeNeedsRebuild = exports.dropColumn = exports.updateColumn = exports.addColumn = exports.dropTable = exports.updateTable = exports.createTable = exports.deleteImpact = exports.pruneHistory = exports.rowHistory = exports.write = exports.query = exports.describe = exports.translateSqliteError = exports.normaliseColumn = exports.toTableInput = exports.loadSchema = exports.migrateInternal = exports.setMeta = exports.getMeta = exports.hasInternalTables = exports.INTERNAL_SCHEMA_VERSION = exports.INTERNAL_MIGRATIONS = exports.zoned = exports.tidyArgs = exports.isSensitiveWrite = exports.decodeCursor = exports.encodeCursor = exports.keysetCondition = exports.ftsMatch = exports.rowsPerInsert = exports.chunkRows = exports.sqlLiteral = exports.searchableColumns = exports.ftsTableName = exports.ftsCreateSql = exports.desiredTriggers = exports.desiredIndexes = exports.columnDefinitionSql = exports.createTableSql = exports.isValidIdentifier = exports.identifierIssue = exports.DATA_HIDDEN_COLUMNS = exports.DATA_SYSTEM_COLUMNS = exports.DATA_IDENTIFIER_PATTERN = void 0;
|
|
18
|
-
exports.dataAdminToolDefinition = exports.dataToolDefinitions = exports.hasDataToolTables = exports.DATA_ADMIN_ACTIONS = exports.DATA_TOOL_MAX_LIMIT = exports.DATA_TOOL_TITLES = exports.DATA_TOOL_NAMES = exports.DATA_TOOL_ADMIN = exports.DATA_TOOL_WRITE = exports.DATA_TOOL_QUERY = exports.DATA_TOOL_DESCRIBE = exports.runQuery = exports.dropQuery = exports.saveQuery = exports.queriesFor = exports.listQueries = exports.checkQueryPlan = exports.compileQuerySql = exports.DATA_DEFAULT_QUERY_ROWS = exports.DATA_MAX_QUERY_PARAMS = exports.DATA_MAX_QUERY_SQL = exports.DATA_MAX_QUERIES = exports.DATA_QUERY_PARAM_TYPES = exports.exportRows = exports.assertWritable = exports.assertActor = void 0;
|
|
18
|
+
exports.triggersUsingColumn = exports.clearOutbox = exports.outboxSize = exports.deleteOutbox = exports.readOutbox = exports.collectTriggerEvents = exports.replaceManagedTriggers = exports.setTriggerEnabled = exports.dropTrigger = exports.saveTrigger = exports.getTrigger = exports.listTriggers = exports.normaliseTrigger = exports.renderTriggerText = exports.conditionMatches = exports.utf8Bytes = exports.DATA_TRIGGER_MAX_MESSAGE_BYTES = exports.DATA_OUTBOX_BATCH = exports.DATA_TRIGGER_MAX_RATE = exports.DATA_TRIGGER_DEFAULT_RATE = exports.DATA_TRIGGER_MAX_DEPTH = exports.DATA_MAX_TRIGGERS = exports.DATA_TRIGGER_ACTIONS = exports.DATA_TRIGGER_EVENTS = exports.dataAdminToolDefinition = exports.dataToolDefinitions = exports.hasDataToolTables = exports.DATA_ADMIN_ACTIONS = exports.DATA_TOOL_MAX_LIMIT = exports.DATA_TOOL_TITLES = exports.DATA_TOOL_NAMES = exports.DATA_TOOL_ADMIN = exports.DATA_TOOL_WRITE = exports.DATA_TOOL_QUERY = exports.DATA_TOOL_DESCRIBE = exports.runQuery = exports.dropQuery = exports.saveQuery = exports.queriesFor = exports.listQueries = exports.checkQueryPlan = exports.compileQuerySql = exports.DATA_DEFAULT_QUERY_ROWS = exports.DATA_MAX_QUERY_PARAMS = exports.DATA_MAX_QUERY_SQL = exports.DATA_MAX_QUERIES = exports.DATA_QUERY_PARAM_TYPES = exports.exportRows = exports.assertWritable = exports.assertActor = void 0;
|
|
19
|
+
exports.renameColumnInTriggers = void 0;
|
|
19
20
|
// Entry point for `@ganju/utils/data`: everything a project's database and
|
|
20
21
|
// its callers share, without pulling in the rest of the package.
|
|
21
22
|
__exportStar(require("./dataTypes"), exports);
|
|
@@ -101,3 +102,29 @@ Object.defineProperty(exports, "DATA_ADMIN_ACTIONS", { enumerable: true, get: fu
|
|
|
101
102
|
Object.defineProperty(exports, "hasDataToolTables", { enumerable: true, get: function () { return dataTools_1.hasDataToolTables; } });
|
|
102
103
|
Object.defineProperty(exports, "dataToolDefinitions", { enumerable: true, get: function () { return dataTools_1.dataToolDefinitions; } });
|
|
103
104
|
Object.defineProperty(exports, "dataAdminToolDefinition", { enumerable: true, get: function () { return dataTools_1.dataAdminToolDefinition; } });
|
|
105
|
+
var dataTriggers_1 = require("./dataTriggers");
|
|
106
|
+
Object.defineProperty(exports, "DATA_TRIGGER_EVENTS", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_EVENTS; } });
|
|
107
|
+
Object.defineProperty(exports, "DATA_TRIGGER_ACTIONS", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_ACTIONS; } });
|
|
108
|
+
Object.defineProperty(exports, "DATA_MAX_TRIGGERS", { enumerable: true, get: function () { return dataTriggers_1.DATA_MAX_TRIGGERS; } });
|
|
109
|
+
Object.defineProperty(exports, "DATA_TRIGGER_MAX_DEPTH", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_MAX_DEPTH; } });
|
|
110
|
+
Object.defineProperty(exports, "DATA_TRIGGER_DEFAULT_RATE", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_DEFAULT_RATE; } });
|
|
111
|
+
Object.defineProperty(exports, "DATA_TRIGGER_MAX_RATE", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_MAX_RATE; } });
|
|
112
|
+
Object.defineProperty(exports, "DATA_OUTBOX_BATCH", { enumerable: true, get: function () { return dataTriggers_1.DATA_OUTBOX_BATCH; } });
|
|
113
|
+
Object.defineProperty(exports, "DATA_TRIGGER_MAX_MESSAGE_BYTES", { enumerable: true, get: function () { return dataTriggers_1.DATA_TRIGGER_MAX_MESSAGE_BYTES; } });
|
|
114
|
+
Object.defineProperty(exports, "utf8Bytes", { enumerable: true, get: function () { return dataTriggers_1.utf8Bytes; } });
|
|
115
|
+
Object.defineProperty(exports, "conditionMatches", { enumerable: true, get: function () { return dataTriggers_1.conditionMatches; } });
|
|
116
|
+
Object.defineProperty(exports, "renderTriggerText", { enumerable: true, get: function () { return dataTriggers_1.renderTriggerText; } });
|
|
117
|
+
Object.defineProperty(exports, "normaliseTrigger", { enumerable: true, get: function () { return dataTriggers_1.normaliseTrigger; } });
|
|
118
|
+
Object.defineProperty(exports, "listTriggers", { enumerable: true, get: function () { return dataTriggers_1.listTriggers; } });
|
|
119
|
+
Object.defineProperty(exports, "getTrigger", { enumerable: true, get: function () { return dataTriggers_1.getTrigger; } });
|
|
120
|
+
Object.defineProperty(exports, "saveTrigger", { enumerable: true, get: function () { return dataTriggers_1.saveTrigger; } });
|
|
121
|
+
Object.defineProperty(exports, "dropTrigger", { enumerable: true, get: function () { return dataTriggers_1.dropTrigger; } });
|
|
122
|
+
Object.defineProperty(exports, "setTriggerEnabled", { enumerable: true, get: function () { return dataTriggers_1.setTriggerEnabled; } });
|
|
123
|
+
Object.defineProperty(exports, "replaceManagedTriggers", { enumerable: true, get: function () { return dataTriggers_1.replaceManagedTriggers; } });
|
|
124
|
+
Object.defineProperty(exports, "collectTriggerEvents", { enumerable: true, get: function () { return dataTriggers_1.collectTriggerEvents; } });
|
|
125
|
+
Object.defineProperty(exports, "readOutbox", { enumerable: true, get: function () { return dataTriggers_1.readOutbox; } });
|
|
126
|
+
Object.defineProperty(exports, "deleteOutbox", { enumerable: true, get: function () { return dataTriggers_1.deleteOutbox; } });
|
|
127
|
+
Object.defineProperty(exports, "outboxSize", { enumerable: true, get: function () { return dataTriggers_1.outboxSize; } });
|
|
128
|
+
Object.defineProperty(exports, "clearOutbox", { enumerable: true, get: function () { return dataTriggers_1.clearOutbox; } });
|
|
129
|
+
Object.defineProperty(exports, "triggersUsingColumn", { enumerable: true, get: function () { return dataTriggers_1.triggersUsingColumn; } });
|
|
130
|
+
Object.defineProperty(exports, "renameColumnInTriggers", { enumerable: true, get: function () { return dataTriggers_1.renameColumnInTriggers; } });
|
package/dist/dataApi.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface DataApiRoute {
|
|
|
6
6
|
path: string;
|
|
7
7
|
summary: string;
|
|
8
8
|
description?: string;
|
|
9
|
-
tag: 'Database' | 'Tables' | 'Rows' | 'Queries' | 'History and export';
|
|
9
|
+
tag: 'Database' | 'Tables' | 'Rows' | 'Queries' | 'Triggers' | 'History and export';
|
|
10
10
|
body?: z.ZodType;
|
|
11
11
|
query?: z.ZodObject;
|
|
12
12
|
returns: string;
|
|
@@ -463,6 +463,138 @@ export declare const DATA_API_ROUTES: {
|
|
|
463
463
|
}, z.core.$strict>;
|
|
464
464
|
readonly returns: "{ query, rows, truncated? }";
|
|
465
465
|
};
|
|
466
|
+
readonly listTriggers: {
|
|
467
|
+
readonly method: "get";
|
|
468
|
+
readonly path: "/trigger";
|
|
469
|
+
readonly tag: "Triggers";
|
|
470
|
+
readonly summary: "Triggers";
|
|
471
|
+
readonly description: "Each with its table, event, condition and action. `pending` counts events not yet handed to the queue. Webhook secrets are never listed.";
|
|
472
|
+
readonly returns: "{ triggers, pending }";
|
|
473
|
+
};
|
|
474
|
+
readonly saveTrigger: {
|
|
475
|
+
readonly method: "post";
|
|
476
|
+
readonly path: "/trigger";
|
|
477
|
+
readonly tag: "Triggers";
|
|
478
|
+
readonly summary: "Save a trigger";
|
|
479
|
+
readonly description: "Runs one action when rows of `table` are inserted, updated or deleted, and `when` holds: `{ \"status\": { \"changedTo\": \"READY\" } }` fires on the transition only; `changedFrom`, `changed: true` and `equals` test a column too, and `all` / `any` combine them. The action is one of `function` (a function of this project, given `{ event, table, row, previous, actor, eventId, triggerId }`), `webhook` (an https URL, sent a POST signed in `x-ganju-signature`), `chat` (`{ channelId, chatId, text }`), `email` (`{ to, subject, text }`) or `customer` (`{ text, template? }`, to the row's customer on a customer-scoped table). Texts take `{{field}}` from the row, inserted as plain text. Saving under an existing name replaces it, unless `replace` is false; with no `name`, it always creates a new trigger, named from the table, event and action and numbered past those taken. Left out, `enabled` keeps a saved trigger on or off as it was. A new webhook answers with its signing `secret`, shown this once. An `email` goes to the organization's members; any other address is sent a link to confirm first, and those still waiting come back as `confirming`. Delivery is at least once: every event carries an `eventId`.";
|
|
480
|
+
readonly body: z.ZodObject<{
|
|
481
|
+
name: z.ZodOptional<z.ZodString>;
|
|
482
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
483
|
+
table: z.ZodString;
|
|
484
|
+
on: z.ZodEnum<{
|
|
485
|
+
insert: "insert";
|
|
486
|
+
update: "update";
|
|
487
|
+
delete: "delete";
|
|
488
|
+
}>;
|
|
489
|
+
when: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
490
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
491
|
+
replace: z.ZodOptional<z.ZodBoolean>;
|
|
492
|
+
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
493
|
+
function: z.ZodOptional<z.ZodString>;
|
|
494
|
+
webhook: z.ZodOptional<z.ZodURL>;
|
|
495
|
+
chat: z.ZodOptional<z.ZodObject<{
|
|
496
|
+
channelId: z.ZodString;
|
|
497
|
+
chatId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
498
|
+
text: z.ZodString;
|
|
499
|
+
}, z.core.$strict>>;
|
|
500
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
501
|
+
to: z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>;
|
|
502
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
503
|
+
text: z.ZodString;
|
|
504
|
+
}, z.core.$strict>>;
|
|
505
|
+
customer: z.ZodOptional<z.ZodObject<{
|
|
506
|
+
text: z.ZodString;
|
|
507
|
+
template: z.ZodOptional<z.ZodObject<{
|
|
508
|
+
name: z.ZodString;
|
|
509
|
+
language: z.ZodString;
|
|
510
|
+
params: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
511
|
+
}, z.core.$strict>>;
|
|
512
|
+
}, z.core.$strict>>;
|
|
513
|
+
}, z.core.$strict>;
|
|
514
|
+
readonly returns: "{ trigger, secret?, confirming? }";
|
|
515
|
+
readonly status: 201;
|
|
516
|
+
};
|
|
517
|
+
readonly updateTrigger: {
|
|
518
|
+
readonly method: "patch";
|
|
519
|
+
readonly path: "/trigger/:name";
|
|
520
|
+
readonly tag: "Triggers";
|
|
521
|
+
readonly summary: "Turn a trigger on or off";
|
|
522
|
+
readonly description: "Turning one back on clears why Ganju turned it off (20 failed runs in a row).";
|
|
523
|
+
readonly body: z.ZodObject<{
|
|
524
|
+
enabled: z.ZodBoolean;
|
|
525
|
+
}, z.core.$strict>;
|
|
526
|
+
readonly returns: "{ trigger }";
|
|
527
|
+
};
|
|
528
|
+
readonly dropTrigger: {
|
|
529
|
+
readonly method: "delete";
|
|
530
|
+
readonly path: "/trigger/:name";
|
|
531
|
+
readonly tag: "Triggers";
|
|
532
|
+
readonly summary: "Delete a trigger";
|
|
533
|
+
readonly returns: "{ dropped }";
|
|
534
|
+
};
|
|
535
|
+
readonly deployTriggers: {
|
|
536
|
+
readonly method: "post";
|
|
537
|
+
readonly path: "/trigger/deploy";
|
|
538
|
+
readonly tag: "Triggers";
|
|
539
|
+
readonly summary: "Deploy the triggers of ganju.json";
|
|
540
|
+
readonly description: "What `ganju deploy` sends: every trigger listed is saved as managed by the CLI, and the CLI's earlier ones not listed are deleted. Triggers made in the dashboard are left alone. All or nothing. New webhooks' secrets come back once, by name, and email addresses still to confirm as `confirming`.";
|
|
541
|
+
readonly body: z.ZodObject<{
|
|
542
|
+
triggers: z.ZodArray<z.ZodObject<{
|
|
543
|
+
name: z.ZodOptional<z.ZodString>;
|
|
544
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
545
|
+
table: z.ZodString;
|
|
546
|
+
on: z.ZodEnum<{
|
|
547
|
+
insert: "insert";
|
|
548
|
+
update: "update";
|
|
549
|
+
delete: "delete";
|
|
550
|
+
}>;
|
|
551
|
+
when: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
552
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
553
|
+
replace: z.ZodOptional<z.ZodBoolean>;
|
|
554
|
+
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
555
|
+
function: z.ZodOptional<z.ZodString>;
|
|
556
|
+
webhook: z.ZodOptional<z.ZodURL>;
|
|
557
|
+
chat: z.ZodOptional<z.ZodObject<{
|
|
558
|
+
channelId: z.ZodString;
|
|
559
|
+
chatId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
560
|
+
text: z.ZodString;
|
|
561
|
+
}, z.core.$strict>>;
|
|
562
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
563
|
+
to: z.ZodUnion<readonly [z.ZodEmail, z.ZodArray<z.ZodEmail>]>;
|
|
564
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
565
|
+
text: z.ZodString;
|
|
566
|
+
}, z.core.$strict>>;
|
|
567
|
+
customer: z.ZodOptional<z.ZodObject<{
|
|
568
|
+
text: z.ZodString;
|
|
569
|
+
template: z.ZodOptional<z.ZodObject<{
|
|
570
|
+
name: z.ZodString;
|
|
571
|
+
language: z.ZodString;
|
|
572
|
+
params: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
573
|
+
}, z.core.$strict>>;
|
|
574
|
+
}, z.core.$strict>>;
|
|
575
|
+
}, z.core.$strict>>;
|
|
576
|
+
}, z.core.$strict>;
|
|
577
|
+
readonly returns: "{ triggers, removed, secrets, confirming? }";
|
|
578
|
+
};
|
|
579
|
+
readonly listTriggerRuns: {
|
|
580
|
+
readonly method: "get";
|
|
581
|
+
readonly path: "/trigger/:name/run";
|
|
582
|
+
readonly tag: "Triggers";
|
|
583
|
+
readonly summary: "A trigger's recent runs";
|
|
584
|
+
readonly description: "Newest first, up to 50: `ok`, `failed` with its error, `skipped`, or `running`.";
|
|
585
|
+
readonly query: z.ZodObject<{
|
|
586
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
587
|
+
}, z.core.$strip>;
|
|
588
|
+
readonly returns: "{ runs }";
|
|
589
|
+
};
|
|
590
|
+
readonly retryTriggerRun: {
|
|
591
|
+
readonly method: "post";
|
|
592
|
+
readonly path: "/trigger/:name/run/:runId/retry";
|
|
593
|
+
readonly tag: "Triggers";
|
|
594
|
+
readonly summary: "Run a failed event again";
|
|
595
|
+
readonly description: "The same event, with the same `eventId`.";
|
|
596
|
+
readonly returns: "{ run }";
|
|
597
|
+
};
|
|
466
598
|
readonly startExport: {
|
|
467
599
|
readonly method: "post";
|
|
468
600
|
readonly path: "/export";
|
package/dist/dataApi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataApi.d.ts","sourceRoot":"","sources":["../src/dataApi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,mEACwC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,
|
|
1
|
+
{"version":3,"file":"dataApi.d.ts","sourceRoot":"","sources":["../src/dataApi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,mEACwC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EACC,UAAU,GACV,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,oBAAoB,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAEnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgCD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmWqB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,eAAe,CAAC;AAmB1D;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8G5C,CAAC"}
|
package/dist/dataApi.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.dataOpenApi = exports.DATA_API_ROUTES = exports.DATA_API_BASE = void 0;
|
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
8
|
const schema_1 = require("./schema");
|
|
9
9
|
exports.DATA_API_BASE = '/organization/:organizationId/project/:projectId/artifact/data';
|
|
10
|
-
const { DATA_DATABASE_CREATE, DATA_DATABASE_DELETE, DATA_DATABASE_PATCH, DATA_TABLE_INPUT, DATA_TABLE_PATCH, DATA_COLUMN_INPUT, DATA_COLUMN_PATCH, DATA_TABLE_DROP_BODY, DATA_ROW_LIST_QUERY, DATA_ROW_GET_QUERY, DATA_ROW_CREATE_BODY, DATA_ROW_UPDATE_BODY, DATA_ROW_DELETE_BODY, DATA_DELETE_PREVIEW_BODY, DATA_WRITE_BODY, DATA_ROW_HISTORY_QUERY, DATA_RESTORE_POINT_BODY, DATA_EXPORT_BODY, DATA_EXPORT_QUERY, DATA_EXPORT_FILE_QUERY, DATA_CHANGE_LIST_QUERY, DATA_QUERY_INPUT, DATA_QUERY_RUN_BODY } = schema_1.Schema;
|
|
10
|
+
const { DATA_DATABASE_CREATE, DATA_DATABASE_DELETE, DATA_DATABASE_PATCH, DATA_TABLE_INPUT, DATA_TABLE_PATCH, DATA_COLUMN_INPUT, DATA_COLUMN_PATCH, DATA_TABLE_DROP_BODY, DATA_ROW_LIST_QUERY, DATA_ROW_GET_QUERY, DATA_ROW_CREATE_BODY, DATA_ROW_UPDATE_BODY, DATA_ROW_DELETE_BODY, DATA_DELETE_PREVIEW_BODY, DATA_WRITE_BODY, DATA_ROW_HISTORY_QUERY, DATA_RESTORE_POINT_BODY, DATA_EXPORT_BODY, DATA_EXPORT_QUERY, DATA_EXPORT_FILE_QUERY, DATA_CHANGE_LIST_QUERY, DATA_QUERY_INPUT, DATA_QUERY_RUN_BODY, DATA_TRIGGER_INPUT, DATA_TRIGGER_PATCH, DATA_TRIGGER_DEPLOY_BODY, DATA_TRIGGER_RUN_LIST_QUERY } = schema_1.Schema;
|
|
11
11
|
exports.DATA_API_ROUTES = {
|
|
12
12
|
getDatabase: {
|
|
13
13
|
method: 'get',
|
|
@@ -242,6 +242,66 @@ exports.DATA_API_ROUTES = {
|
|
|
242
242
|
body: DATA_QUERY_RUN_BODY,
|
|
243
243
|
returns: '{ query, rows, truncated? }'
|
|
244
244
|
},
|
|
245
|
+
listTriggers: {
|
|
246
|
+
method: 'get',
|
|
247
|
+
path: '/trigger',
|
|
248
|
+
tag: 'Triggers',
|
|
249
|
+
summary: 'Triggers',
|
|
250
|
+
description: 'Each with its table, event, condition and action. `pending` counts events not yet handed to the queue. Webhook secrets are never listed.',
|
|
251
|
+
returns: '{ triggers, pending }'
|
|
252
|
+
},
|
|
253
|
+
saveTrigger: {
|
|
254
|
+
method: 'post',
|
|
255
|
+
path: '/trigger',
|
|
256
|
+
tag: 'Triggers',
|
|
257
|
+
summary: 'Save a trigger',
|
|
258
|
+
description: 'Runs one action when rows of `table` are inserted, updated or deleted, and `when` holds: `{ "status": { "changedTo": "READY" } }` fires on the transition only; `changedFrom`, `changed: true` and `equals` test a column too, and `all` / `any` combine them. The action is one of `function` (a function of this project, given `{ event, table, row, previous, actor, eventId, triggerId }`), `webhook` (an https URL, sent a POST signed in `x-ganju-signature`), `chat` (`{ channelId, chatId, text }`), `email` (`{ to, subject, text }`) or `customer` (`{ text, template? }`, to the row\'s customer on a customer-scoped table). Texts take `{{field}}` from the row, inserted as plain text. Saving under an existing name replaces it, unless `replace` is false; with no `name`, it always creates a new trigger, named from the table, event and action and numbered past those taken. Left out, `enabled` keeps a saved trigger on or off as it was. A new webhook answers with its signing `secret`, shown this once. An `email` goes to the organization\'s members; any other address is sent a link to confirm first, and those still waiting come back as `confirming`. Delivery is at least once: every event carries an `eventId`.',
|
|
259
|
+
body: DATA_TRIGGER_INPUT,
|
|
260
|
+
returns: '{ trigger, secret?, confirming? }',
|
|
261
|
+
status: 201
|
|
262
|
+
},
|
|
263
|
+
updateTrigger: {
|
|
264
|
+
method: 'patch',
|
|
265
|
+
path: '/trigger/:name',
|
|
266
|
+
tag: 'Triggers',
|
|
267
|
+
summary: 'Turn a trigger on or off',
|
|
268
|
+
description: 'Turning one back on clears why Ganju turned it off (20 failed runs in a row).',
|
|
269
|
+
body: DATA_TRIGGER_PATCH,
|
|
270
|
+
returns: '{ trigger }'
|
|
271
|
+
},
|
|
272
|
+
dropTrigger: {
|
|
273
|
+
method: 'delete',
|
|
274
|
+
path: '/trigger/:name',
|
|
275
|
+
tag: 'Triggers',
|
|
276
|
+
summary: 'Delete a trigger',
|
|
277
|
+
returns: '{ dropped }'
|
|
278
|
+
},
|
|
279
|
+
deployTriggers: {
|
|
280
|
+
method: 'post',
|
|
281
|
+
path: '/trigger/deploy',
|
|
282
|
+
tag: 'Triggers',
|
|
283
|
+
summary: 'Deploy the triggers of ganju.json',
|
|
284
|
+
description: "What `ganju deploy` sends: every trigger listed is saved as managed by the CLI, and the CLI's earlier ones not listed are deleted. Triggers made in the dashboard are left alone. All or nothing. New webhooks' secrets come back once, by name, and email addresses still to confirm as `confirming`.",
|
|
285
|
+
body: DATA_TRIGGER_DEPLOY_BODY,
|
|
286
|
+
returns: '{ triggers, removed, secrets, confirming? }'
|
|
287
|
+
},
|
|
288
|
+
listTriggerRuns: {
|
|
289
|
+
method: 'get',
|
|
290
|
+
path: '/trigger/:name/run',
|
|
291
|
+
tag: 'Triggers',
|
|
292
|
+
summary: "A trigger's recent runs",
|
|
293
|
+
description: 'Newest first, up to 50: `ok`, `failed` with its error, `skipped`, or `running`.',
|
|
294
|
+
query: DATA_TRIGGER_RUN_LIST_QUERY,
|
|
295
|
+
returns: '{ runs }'
|
|
296
|
+
},
|
|
297
|
+
retryTriggerRun: {
|
|
298
|
+
method: 'post',
|
|
299
|
+
path: '/trigger/:name/run/:runId/retry',
|
|
300
|
+
tag: 'Triggers',
|
|
301
|
+
summary: 'Run a failed event again',
|
|
302
|
+
description: 'The same event, with the same `eventId`.',
|
|
303
|
+
returns: '{ run }'
|
|
304
|
+
},
|
|
245
305
|
startExport: {
|
|
246
306
|
method: 'post',
|
|
247
307
|
path: '/export',
|
|
@@ -367,6 +427,7 @@ const dataOpenApi = (serverUrl) => {
|
|
|
367
427
|
{ name: 'Tables' },
|
|
368
428
|
{ name: 'Rows' },
|
|
369
429
|
{ name: 'Queries' },
|
|
430
|
+
{ name: 'Triggers' },
|
|
370
431
|
{ name: 'History and export' }
|
|
371
432
|
],
|
|
372
433
|
paths,
|
package/dist/dataDdl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataDdl.d.ts","sourceRoot":"","sources":["../src/dataDdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataDdl.d.ts","sourceRoot":"","sources":["../src/dataDdl.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,YAAY,0CAA0C,CAAC;AAEpE,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,cAAc,CAOtD,CAAC;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,cAAc,CAGpD,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAOvD,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CAWnD,CAAC;AAIH,eAAO,MAAM,UAAU,GAAI,OAAO,gBAAgB,KAAG,MAQpD,CAAC;AAIF,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,UAAU,WAC3C,CAAC;AAChC,eAAO,MAAM,eAAe,GAC1B,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC5B,QAAQ,UAAU,WACc,CAAC;AACnC,eAAO,MAAM,oBAAoB,GAAI,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WACnC,CAAC;AAC/B,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WACrC,CAAC;AACvB,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WACvC,CAAC;AACpB,eAAO,MAAM,mBAAmB,GAAI,QAAQ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAC9C,CAAC;AACrB,eAAO,MAAM,iBAAiB,GAAI,QAAQ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAC5C,CAAC;AAGrB,eAAO,MAAM,aAAa,GACxB,QAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,gBAAgB,KACtB,gBAKF,CAAC;AA2CF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,UAAU,KAAG,MAuBxD,CAAC;AAKF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,SAAS,SAAS,UAAU,EAAE,KAC7B,MAcW,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,cAAc,EA6B/D,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,KAAG,OAI7B,CAAC;AAEzB,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,UAAU,EAG5D,CAAC;AAKJ,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,IAQxD,CAAC;AAkGF,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,cAAc,EAIhE,CAAC;AAOF,eAAO,MAAM,aAAa,GACxB,UAAU,cAAc,EACxB,IAAI,UAAU,EACd,KAAK,MAAM,KACV,MAgCF,CAAC;AAIF,eAAO,MAAM,yBAAyB,GACpC,IAAI,UAAU,EACd,KAAK,MAAM,EACX,WAAW,MAAM,KAChB,MAyBF,CAAC"}
|
package/dist/dataDdl.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.invalidAfterConversionSql = exports.conversionSql = exports.desiredTrigg
|
|
|
4
4
|
// The SQL a project's database runs to build and change its tables. Pure
|
|
5
5
|
// string building: every name in here passed identifierIssue or is one of
|
|
6
6
|
// ours, and every owner-supplied value is a literal escaped by sqlLiteral.
|
|
7
|
+
const dataTriggers_1 = require("./dataTriggers");
|
|
7
8
|
const dataIdentifiers_1 = require("./dataIdentifiers");
|
|
8
9
|
exports.DATA_NOW_SQL = "strftime('%Y-%m-%dT%H:%M:%SZ', 'now')";
|
|
9
10
|
exports.TEXT_LIKE_TYPES = new Set([
|
|
@@ -286,7 +287,8 @@ const historyTriggers = (table) => {
|
|
|
286
287
|
};
|
|
287
288
|
const desiredTriggers = (table) => [
|
|
288
289
|
...ftsTriggers(table),
|
|
289
|
-
...historyTriggers(table)
|
|
290
|
+
...historyTriggers(table),
|
|
291
|
+
...(0, dataTriggers_1.changeCaptureTriggers)(table)
|
|
290
292
|
];
|
|
291
293
|
exports.desiredTriggers = desiredTriggers;
|
|
292
294
|
// Type changes
|
package/dist/dataEngine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataEngine.d.ts","sourceRoot":"","sources":["../src/dataEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataEngine.d.ts","sourceRoot":"","sources":["../src/dataEngine.ts"],"names":[],"mappings":"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"}
|