@saltcorn/data 1.5.0-beta.9 → 1.5.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/base-plugin/actions.d.ts +271 -151
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +158 -40
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fileviews.d.ts +3 -3
  6. package/dist/base-plugin/fileviews.js +20 -9
  7. package/dist/base-plugin/fileviews.js.map +1 -1
  8. package/dist/base-plugin/index.d.ts +16 -2
  9. package/dist/base-plugin/index.d.ts.map +1 -1
  10. package/dist/base-plugin/types.d.ts +109 -91
  11. package/dist/base-plugin/types.d.ts.map +1 -1
  12. package/dist/base-plugin/types.js +75 -10
  13. package/dist/base-plugin/types.js.map +1 -1
  14. package/dist/base-plugin/viewtemplates/edit.d.ts +6 -2
  15. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  16. package/dist/base-plugin/viewtemplates/edit.js +17 -341
  17. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  18. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/filter.js +9 -3
  20. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  22. package/dist/base-plugin/viewtemplates/show.js +1 -0
  23. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  24. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +16 -0
  25. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  26. package/dist/base-plugin/viewtemplates/viewable_fields.js +341 -4
  27. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  28. package/dist/base-plugin/viewtemplates/workflow-room.d.ts.map +1 -1
  29. package/dist/base-plugin/viewtemplates/workflow-room.js +1 -1
  30. package/dist/base-plugin/viewtemplates/workflow-room.js.map +1 -1
  31. package/dist/db/connect.d.ts.map +1 -1
  32. package/dist/db/connect.js +4 -1
  33. package/dist/db/connect.js.map +1 -1
  34. package/dist/db/state.d.ts +11 -7
  35. package/dist/db/state.d.ts.map +1 -1
  36. package/dist/db/state.js +78 -12
  37. package/dist/db/state.js.map +1 -1
  38. package/dist/mobile-mocks/npm/dockerode.d.ts +1 -0
  39. package/dist/mobile-mocks/npm/dockerode.d.ts.map +1 -0
  40. package/dist/mobile-mocks/npm/dockerode.js +2 -0
  41. package/dist/mobile-mocks/npm/dockerode.js.map +1 -0
  42. package/dist/models/config.d.ts.map +1 -1
  43. package/dist/models/config.js +55 -12
  44. package/dist/models/config.js.map +1 -1
  45. package/dist/models/email.js.map +1 -1
  46. package/dist/models/expression.d.ts.map +1 -1
  47. package/dist/models/expression.js +29 -0
  48. package/dist/models/expression.js.map +1 -1
  49. package/dist/models/field.d.ts +5 -3
  50. package/dist/models/field.d.ts.map +1 -1
  51. package/dist/models/field.js +8 -2
  52. package/dist/models/field.js.map +1 -1
  53. package/dist/models/file.d.ts +18 -1
  54. package/dist/models/file.d.ts.map +1 -1
  55. package/dist/models/file.js +361 -43
  56. package/dist/models/file.js.map +1 -1
  57. package/dist/models/form.d.ts +1 -0
  58. package/dist/models/form.d.ts.map +1 -1
  59. package/dist/models/form.js.map +1 -1
  60. package/dist/models/index.d.ts.map +1 -1
  61. package/dist/models/internal/push_message_helper.d.ts +42 -12
  62. package/dist/models/internal/push_message_helper.d.ts.map +1 -1
  63. package/dist/models/internal/push_message_helper.js +117 -50
  64. package/dist/models/internal/push_message_helper.js.map +1 -1
  65. package/dist/models/internal/s3_helpers.d.ts +54 -0
  66. package/dist/models/internal/s3_helpers.d.ts.map +1 -0
  67. package/dist/models/internal/s3_helpers.js +561 -0
  68. package/dist/models/internal/s3_helpers.js.map +1 -0
  69. package/dist/models/model.d.ts +1 -1
  70. package/dist/models/model.d.ts.map +1 -1
  71. package/dist/models/model.js.map +1 -1
  72. package/dist/models/notification.d.ts.map +1 -1
  73. package/dist/models/notification.js +2 -5
  74. package/dist/models/notification.js.map +1 -1
  75. package/dist/models/page.d.ts +1 -0
  76. package/dist/models/page.d.ts.map +1 -1
  77. package/dist/models/page.js +27 -24
  78. package/dist/models/page.js.map +1 -1
  79. package/dist/models/plugin.d.ts +11 -3
  80. package/dist/models/plugin.d.ts.map +1 -1
  81. package/dist/models/plugin.js +51 -12
  82. package/dist/models/plugin.js.map +1 -1
  83. package/dist/models/s3_helpers.d.ts +54 -0
  84. package/dist/models/s3_helpers.d.ts.map +1 -0
  85. package/dist/models/s3_helpers.js +505 -0
  86. package/dist/models/s3_helpers.js.map +1 -0
  87. package/dist/models/scheduler.d.ts.map +1 -1
  88. package/dist/models/scheduler.js +4 -1
  89. package/dist/models/scheduler.js.map +1 -1
  90. package/dist/models/table.d.ts +8 -3
  91. package/dist/models/table.d.ts.map +1 -1
  92. package/dist/models/table.js +121 -32
  93. package/dist/models/table.js.map +1 -1
  94. package/dist/models/user.d.ts +4 -4
  95. package/dist/models/user.d.ts.map +1 -1
  96. package/dist/models/user.js.map +1 -1
  97. package/dist/models/view.js +1 -1
  98. package/dist/models/view.js.map +1 -1
  99. package/dist/models/workflow_run.d.ts +1 -1
  100. package/dist/models/workflow_run.d.ts.map +1 -1
  101. package/dist/models/workflow_run.js +8 -2
  102. package/dist/models/workflow_run.js.map +1 -1
  103. package/dist/models/workflow_step.d.ts.map +1 -1
  104. package/dist/models/workflow_step.js +10 -4
  105. package/dist/models/workflow_step.js.map +1 -1
  106. package/dist/plugin-helper.d.ts.map +1 -1
  107. package/dist/plugin-helper.js +139 -15
  108. package/dist/plugin-helper.js.map +1 -1
  109. package/dist/standard-menu.js +2 -2
  110. package/dist/standard-menu.js.map +1 -1
  111. package/dist/test-utils/mocks.d.ts +203 -0
  112. package/dist/test-utils/mocks.d.ts.map +1 -0
  113. package/dist/test-utils/mocks.js +329 -0
  114. package/dist/test-utils/mocks.js.map +1 -0
  115. package/dist/tests/assertions.d.ts.map +1 -1
  116. package/dist/tests/assertions.js +10 -9
  117. package/dist/tests/assertions.js.map +1 -1
  118. package/dist/tests/auth.test.js +0 -68
  119. package/dist/tests/auth.test.js.map +1 -1
  120. package/dist/tests/calc.test.js +3 -62
  121. package/dist/tests/calc.test.js.map +1 -1
  122. package/dist/tests/exact_views.test.js +14 -14
  123. package/dist/tests/exact_views.test.js.map +1 -1
  124. package/dist/tests/show.test.js +1 -1
  125. package/dist/tests/show.test.js.map +1 -1
  126. package/dist/tests/table.test.js +0 -37
  127. package/dist/tests/table.test.js.map +1 -1
  128. package/dist/tests/table_sync_info.test.d.ts +2 -0
  129. package/dist/tests/table_sync_info.test.d.ts.map +1 -0
  130. package/dist/tests/table_sync_info.test.js +62 -0
  131. package/dist/tests/table_sync_info.test.js.map +1 -0
  132. package/dist/tests/user.test.js +4 -29
  133. package/dist/tests/user.test.js.map +1 -1
  134. package/dist/tests/view.test.js +0 -3
  135. package/dist/tests/view.test.js.map +1 -1
  136. package/dist/utils.d.ts +11 -1
  137. package/dist/utils.d.ts.map +1 -1
  138. package/dist/utils.js +33 -3
  139. package/dist/utils.js.map +1 -1
  140. package/dist/viewable_fields.d.ts +172 -0
  141. package/dist/viewable_fields.d.ts.map +1 -0
  142. package/dist/viewable_fields.js +1562 -0
  143. package/dist/viewable_fields.js.map +1 -0
  144. package/dist/web-mobile-commons.d.ts +1 -1
  145. package/dist/web-mobile-commons.d.ts.map +1 -1
  146. package/dist/web-mobile-commons.js +21 -3
  147. package/dist/web-mobile-commons.js.map +1 -1
  148. package/package.json +14 -9
  149. package/webpack.config.js +3 -0
@@ -0,0 +1,505 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.publicUrlToRelativePath = exports.getServeUrl = exports.getPublicFileUrl = exports.getSignedFileUrl = exports.downloadBuffer = exports.uploadBuffer = exports.deleteObject = exports.copyObject = exports.setObjectMetadata = exports.headObject = exports.listS3Folder = exports.getS3Client = exports.getResolvedBucket = exports.buildKeyFromRelative = exports.relativeKeyToPath = exports.isS3Enabled = void 0;
7
+ const db_1 = __importDefault(require("../db"));
8
+ const getStateInstance = () => {
9
+ const { getState } = require("../db/state");
10
+ return getState();
11
+ };
12
+ const client_s3_1 = require("@aws-sdk/client-s3");
13
+ const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
14
+ const path = require("path");
15
+ const posixPath = path.posix;
16
+ const META_KEYS = {
17
+ min_role_read: "sc-min-role",
18
+ user_id: "sc-user-id",
19
+ mime_super: "sc-mime-super",
20
+ mime_sub: "sc-mime-sub",
21
+ filename: "sc-filename",
22
+ };
23
+ let cachedClient = null;
24
+ let cachedClientKey = null;
25
+ const normaliseEndpoint = (endpoint, secure = true) => {
26
+ if (!endpoint)
27
+ return undefined;
28
+ if (/^https?:\/\//i.test(endpoint))
29
+ return endpoint;
30
+ return `${secure ? "https" : "http"}://${endpoint}`;
31
+ };
32
+ const normaliseEndpointAndBucket = (rawSettings) => {
33
+ const secure = rawSettings.secure;
34
+ const endpoint = normaliseEndpoint(rawSettings.endpoint, secure);
35
+ let bucket = rawSettings.bucket?.trim();
36
+ let bucketInEndpointHost = false;
37
+ if (!endpoint)
38
+ return { ...rawSettings, endpoint, bucket };
39
+ try {
40
+ const url = new URL(endpoint);
41
+ const pathParts = url.pathname.split("/").filter((p) => p.length);
42
+ if (bucket &&
43
+ url.hostname.toLowerCase().startsWith(`${bucket.toLowerCase()}.`))
44
+ bucketInEndpointHost = true;
45
+ const bucketFromPath = !bucket && pathParts.length ? pathParts[0] : undefined;
46
+ bucket = bucket || bucketFromPath;
47
+ let endpointHost = url.hostname;
48
+ if (bucket &&
49
+ endpointHost.toLowerCase().startsWith(`${bucket.toLowerCase()}.`)) {
50
+ bucketInEndpointHost = true;
51
+ endpointHost = endpointHost.slice(bucket.length + 1);
52
+ }
53
+ let cleanedPath = "/";
54
+ if (bucket &&
55
+ pathParts[0] &&
56
+ pathParts[0].toLowerCase() === bucket.toLowerCase()) {
57
+ const remainder = pathParts.slice(1).join("/");
58
+ cleanedPath = remainder ? `/${remainder}` : "/";
59
+ }
60
+ else if (pathParts.length)
61
+ cleanedPath = `/${pathParts.join("/")}`;
62
+ const portSegment = url.port ? `:${url.port}` : "";
63
+ const normalizedEndpoint = `${url.protocol}//${endpointHost}${portSegment}${cleanedPath}`.replace(/\/+$/, "");
64
+ return {
65
+ ...rawSettings,
66
+ endpoint: normalizedEndpoint,
67
+ bucket,
68
+ bucketInEndpointHost,
69
+ };
70
+ }
71
+ catch (e) {
72
+ return { ...rawSettings, endpoint, bucket };
73
+ }
74
+ };
75
+ const stripUrlPrefix = (input) => {
76
+ if (!input)
77
+ return "";
78
+ const trimmed = input.trim();
79
+ const normalizedScheme = trimmed.replace(/^(https?):\/(?!\/)/i, "$1://");
80
+ try {
81
+ const parsed = new URL(normalizedScheme);
82
+ return parsed.pathname || "";
83
+ }
84
+ catch (e) {
85
+ return trimmed.replace(/^https?:\/+[^/]+/i, "");
86
+ }
87
+ };
88
+ const cleanSegment = (segment) => {
89
+ if (!segment)
90
+ return "";
91
+ const stripped = stripUrlPrefix(segment);
92
+ const replaced = stripped.replace(/\\/g, "/");
93
+ const parts = replaced.split("/").filter((part) => part.length);
94
+ const stack = [];
95
+ for (const part of parts) {
96
+ if (part === ".")
97
+ continue;
98
+ if (part === "..")
99
+ stack.pop();
100
+ else
101
+ stack.push(part);
102
+ }
103
+ return stack.join("/");
104
+ };
105
+ const ensureTrailingSlash = (input) => {
106
+ if (!input)
107
+ return "";
108
+ return input.endsWith("/") ? input : `${input}/`;
109
+ };
110
+ const getS3Settings = () => {
111
+ const state = getStateInstance();
112
+ const raw = {
113
+ bucket: state?.getConfig("storage_s3_bucket"),
114
+ endpoint: state?.getConfig("storage_s3_endpoint"),
115
+ region: state?.getConfig("storage_s3_region") || "us-east-1",
116
+ secure: !!state?.getConfig("storage_s3_secure", true),
117
+ accessKey: state?.getConfig("storage_s3_access_key"),
118
+ accessSecret: state?.getConfig("storage_s3_access_secret"),
119
+ };
120
+ return normaliseEndpointAndBucket(raw);
121
+ };
122
+ const isS3Enabled = () => !!getStateInstance()?.getConfig("storage_s3_enabled");
123
+ exports.isS3Enabled = isS3Enabled;
124
+ const getTenantRoot = () => cleanSegment(db_1.default.getTenantSchema());
125
+ const cleanRelativePath = (relPath) => {
126
+ if (!relPath)
127
+ return "";
128
+ const pathOnly = stripUrlPrefix(relPath);
129
+ if (!pathOnly || pathOnly === "/" || pathOnly === ".")
130
+ return "";
131
+ return cleanSegment(pathOnly);
132
+ };
133
+ const relativeKeyToPath = (key) => {
134
+ const root = getTenantRoot();
135
+ if (!root)
136
+ return key;
137
+ if (key === root)
138
+ return "";
139
+ if (key.startsWith(`${root}/`))
140
+ return key.slice(root.length + 1);
141
+ return key;
142
+ };
143
+ exports.relativeKeyToPath = relativeKeyToPath;
144
+ const buildKeyFromRelative = (relPath) => {
145
+ const root = getTenantRoot();
146
+ const cleanedRel = cleanRelativePath(relPath);
147
+ if (root && cleanedRel)
148
+ return `${root}/${cleanedRel}`;
149
+ if (root && !cleanedRel)
150
+ return root;
151
+ return cleanedRel;
152
+ };
153
+ exports.buildKeyFromRelative = buildKeyFromRelative;
154
+ const folderPrefix = (folder) => {
155
+ const key = (0, exports.buildKeyFromRelative)(cleanRelativePath(folder));
156
+ if (!key)
157
+ return "";
158
+ return ensureTrailingSlash(key);
159
+ };
160
+ const requireBucket = () => {
161
+ const { bucket } = getS3Settings();
162
+ if (!bucket)
163
+ throw new Error("S3 bucket is not configured");
164
+ return bucket;
165
+ };
166
+ const getResolvedBucket = () => {
167
+ const { bucket } = getS3Settings();
168
+ return bucket;
169
+ };
170
+ exports.getResolvedBucket = getResolvedBucket;
171
+ const clientCacheKey = (settings) => JSON.stringify({
172
+ endpoint: settings.endpoint,
173
+ region: settings.region,
174
+ accessKey: settings.accessKey,
175
+ accessSecret: settings.accessSecret,
176
+ });
177
+ const getS3Client = () => {
178
+ const settings = getS3Settings();
179
+ const cacheKey = clientCacheKey(settings);
180
+ if (!cachedClient || cachedClientKey !== cacheKey) {
181
+ const cfg = {
182
+ region: settings.region,
183
+ forcePathStyle: true,
184
+ };
185
+ if (settings.endpoint)
186
+ cfg.endpoint = settings.endpoint;
187
+ if (settings.accessKey && settings.accessSecret) {
188
+ cfg.credentials = {
189
+ accessKeyId: settings.accessKey,
190
+ secretAccessKey: settings.accessSecret,
191
+ };
192
+ }
193
+ cachedClient = new client_s3_1.S3(cfg);
194
+ cachedClientKey = cacheKey;
195
+ }
196
+ return cachedClient;
197
+ };
198
+ exports.getS3Client = getS3Client;
199
+ const encodeMetadata = (meta) => {
200
+ const result = {};
201
+ for (const [key, storageKey] of Object.entries(META_KEYS)) {
202
+ const value = meta[key];
203
+ if (typeof value === "undefined" || value === null)
204
+ continue;
205
+ result[storageKey] = `${value}`;
206
+ }
207
+ return result;
208
+ };
209
+ const decodeMetadata = (meta) => {
210
+ if (!meta)
211
+ return {};
212
+ const lowered = {};
213
+ for (const [key, value] of Object.entries(meta)) {
214
+ lowered[key.toLowerCase()] = value;
215
+ }
216
+ const out = {};
217
+ if (lowered[META_KEYS.min_role_read])
218
+ out.min_role_read = +lowered[META_KEYS.min_role_read];
219
+ if (lowered[META_KEYS.user_id])
220
+ out.user_id = +lowered[META_KEYS.user_id];
221
+ if (lowered[META_KEYS.mime_super])
222
+ out.mime_super = lowered[META_KEYS.mime_super];
223
+ if (lowered[META_KEYS.mime_sub])
224
+ out.mime_sub = lowered[META_KEYS.mime_sub];
225
+ if (lowered[META_KEYS.filename])
226
+ out.filename = lowered[META_KEYS.filename];
227
+ return out;
228
+ };
229
+ const streamToBuffer = async (body) => {
230
+ if (!body)
231
+ return Buffer.alloc(0);
232
+ if (typeof body.transformToByteArray === "function") {
233
+ const arr = await body.transformToByteArray();
234
+ return Buffer.from(arr);
235
+ }
236
+ const chunks = [];
237
+ for await (const chunk of body) {
238
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
239
+ }
240
+ return Buffer.concat(chunks);
241
+ };
242
+ const listS3Folder = async (folder, opts = {}) => {
243
+ const bucket = requireBucket();
244
+ const client = (0, exports.getS3Client)();
245
+ const recursive = !!opts.recursive;
246
+ const folderRel = cleanRelativePath(folder || "");
247
+ const prefix = folderPrefix(folder || "");
248
+ const folderRelWithSlash = folderRel ? `${folderRel}/` : "";
249
+ const files = [];
250
+ const directorySet = new Set();
251
+ let ContinuationToken;
252
+ const captureDirectory = (dirPath) => {
253
+ const cleaned = cleanRelativePath(dirPath || "");
254
+ if (!cleaned)
255
+ return;
256
+ directorySet.add(cleaned);
257
+ };
258
+ const relativeWithinFolder = (relPath) => {
259
+ if (!folderRel)
260
+ return relPath;
261
+ if (relPath === folderRel)
262
+ return "";
263
+ if (relPath.startsWith(folderRelWithSlash))
264
+ return relPath.slice(folderRelWithSlash.length);
265
+ return relPath;
266
+ };
267
+ do {
268
+ const resp = await client.send(new client_s3_1.ListObjectsV2Command({
269
+ Bucket: bucket,
270
+ Prefix: prefix || undefined,
271
+ Delimiter: recursive ? undefined : "/",
272
+ ContinuationToken,
273
+ }));
274
+ const contents = resp.Contents || [];
275
+ for (const obj of contents) {
276
+ if (!obj.Key)
277
+ continue;
278
+ const isDirPlaceholder = obj.Key.endsWith("/");
279
+ const keyWithoutSlash = isDirPlaceholder
280
+ ? obj.Key.replace(/\/+$/, "")
281
+ : obj.Key;
282
+ if (!keyWithoutSlash)
283
+ continue;
284
+ const relativePath = (0, exports.relativeKeyToPath)(keyWithoutSlash);
285
+ if (isDirPlaceholder) {
286
+ const withinFolder = relativeWithinFolder(relativePath);
287
+ if (!withinFolder)
288
+ continue;
289
+ const immediateChild = withinFolder.split("/")[0];
290
+ const dirPath = folderRel
291
+ ? `${folderRel}/${immediateChild}`
292
+ : immediateChild;
293
+ captureDirectory(dirPath);
294
+ continue;
295
+ }
296
+ files.push({
297
+ key: obj.Key,
298
+ relativePath,
299
+ size: obj.Size || 0,
300
+ lastModified: obj.LastModified,
301
+ });
302
+ const withinFolder = relativeWithinFolder(relativePath);
303
+ if (withinFolder.includes("/")) {
304
+ const immediateChild = withinFolder.split("/")[0];
305
+ const dirPath = folderRel
306
+ ? `${folderRel}/${immediateChild}`
307
+ : immediateChild;
308
+ captureDirectory(dirPath);
309
+ }
310
+ }
311
+ if (!recursive) {
312
+ for (const cp of resp.CommonPrefixes || []) {
313
+ if (!cp.Prefix)
314
+ continue;
315
+ const rel = (0, exports.relativeKeyToPath)(cp.Prefix.replace(/\/$/, ""));
316
+ captureDirectory(rel);
317
+ }
318
+ }
319
+ ContinuationToken = resp.IsTruncated
320
+ ? resp.NextContinuationToken
321
+ : undefined;
322
+ } while (ContinuationToken);
323
+ const directories = Array.from(directorySet).sort();
324
+ return { files, directories };
325
+ };
326
+ exports.listS3Folder = listS3Folder;
327
+ const headObject = async (relPath) => {
328
+ const bucket = requireBucket();
329
+ const client = (0, exports.getS3Client)();
330
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
331
+ try {
332
+ const resp = await client.send(new client_s3_1.HeadObjectCommand({
333
+ Bucket: bucket,
334
+ Key,
335
+ }));
336
+ return {
337
+ key: Key,
338
+ relativePath: (0, exports.relativeKeyToPath)(Key),
339
+ size: resp.ContentLength || 0,
340
+ lastModified: resp.LastModified,
341
+ metadata: decodeMetadata(resp.Metadata),
342
+ contentType: resp.ContentType,
343
+ };
344
+ }
345
+ catch (e) {
346
+ if (e?.$metadata?.httpStatusCode === 404)
347
+ return null;
348
+ throw e;
349
+ }
350
+ };
351
+ exports.headObject = headObject;
352
+ const copyWithinBucket = async (sourceKey, targetKey, metadata, contentType) => {
353
+ const bucket = requireBucket();
354
+ const client = (0, exports.getS3Client)();
355
+ const params = {
356
+ Bucket: bucket,
357
+ CopySource: encodeURI(`${bucket}/${sourceKey}`),
358
+ Key: targetKey,
359
+ };
360
+ if (metadata) {
361
+ params.MetadataDirective = "REPLACE";
362
+ params.Metadata = encodeMetadata(metadata);
363
+ if (contentType)
364
+ params.ContentType = contentType;
365
+ }
366
+ await client.send(new client_s3_1.CopyObjectCommand(params));
367
+ };
368
+ const setObjectMetadata = async (relPath, metadata) => {
369
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
370
+ const existing = await (0, exports.headObject)(relPath);
371
+ await copyWithinBucket(Key, Key, metadata, existing?.contentType);
372
+ };
373
+ exports.setObjectMetadata = setObjectMetadata;
374
+ const copyObject = async (fromRelPath, toRelPath, opts = {}) => {
375
+ const sourceKey = (0, exports.buildKeyFromRelative)(fromRelPath);
376
+ const targetKey = (0, exports.buildKeyFromRelative)(toRelPath);
377
+ let metadata = opts.metadata;
378
+ let contentType;
379
+ if (opts.metadata) {
380
+ const head = await (0, exports.headObject)(fromRelPath);
381
+ contentType = head?.contentType;
382
+ }
383
+ await copyWithinBucket(sourceKey, targetKey, metadata, contentType);
384
+ };
385
+ exports.copyObject = copyObject;
386
+ const deleteObject = async (relPath) => {
387
+ const bucket = requireBucket();
388
+ const client = (0, exports.getS3Client)();
389
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
390
+ await client.send(new client_s3_1.DeleteObjectCommand({ Bucket: bucket, Key }));
391
+ };
392
+ exports.deleteObject = deleteObject;
393
+ const uploadBuffer = async (relPath, buffer, mimetype, metadata) => {
394
+ const bucket = requireBucket();
395
+ const client = (0, exports.getS3Client)();
396
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
397
+ await client.send(new client_s3_1.PutObjectCommand({
398
+ Bucket: bucket,
399
+ Key,
400
+ Body: buffer,
401
+ ContentType: mimetype,
402
+ Metadata: encodeMetadata(metadata),
403
+ }));
404
+ };
405
+ exports.uploadBuffer = uploadBuffer;
406
+ const downloadBuffer = async (relPath) => {
407
+ const bucket = requireBucket();
408
+ const client = (0, exports.getS3Client)();
409
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
410
+ const resp = await client.send(new client_s3_1.GetObjectCommand({
411
+ Bucket: bucket,
412
+ Key,
413
+ }));
414
+ return await streamToBuffer(resp.Body);
415
+ };
416
+ exports.downloadBuffer = downloadBuffer;
417
+ const getSignedFileUrl = async (relPath, opts = {}) => {
418
+ const bucket = requireBucket();
419
+ const client = (0, exports.getS3Client)();
420
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
421
+ const params = {
422
+ Bucket: bucket,
423
+ Key,
424
+ };
425
+ if (opts.download) {
426
+ const filename = opts.filename || posixPath.basename(relPath);
427
+ params.ResponseContentDisposition = `attachment; filename="${filename}"`;
428
+ }
429
+ const command = new client_s3_1.GetObjectCommand(params);
430
+ return await (0, s3_request_presigner_1.getSignedUrl)(client, command, {
431
+ expiresIn: opts.expiresIn || 300,
432
+ });
433
+ };
434
+ exports.getSignedFileUrl = getSignedFileUrl;
435
+ const getPublicFileUrl = (relPath, opts = {}) => {
436
+ const settings = getS3Settings();
437
+ const Key = (0, exports.buildKeyFromRelative)(relPath);
438
+ const endpoint = settings.endpoint || "";
439
+ const bucket = requireBucket();
440
+ const baseUrl = endpoint
441
+ ? `${endpoint.replace(/\/$/, "")}/${bucket}`
442
+ : `https://${bucket}.s3.${settings.region}.amazonaws.com`;
443
+ const url = `${baseUrl}/${encodeURI(Key)}`;
444
+ if (!opts.download)
445
+ return url;
446
+ const filename = opts.filename || posixPath.basename(relPath);
447
+ const cd = `attachment; filename="${encodeURIComponent(filename)}"`;
448
+ const joiner = url.includes("?") ? "&" : "?";
449
+ return `${url}${joiner}response-content-disposition=${cd}`;
450
+ };
451
+ exports.getPublicFileUrl = getPublicFileUrl;
452
+ const getServeUrl = async (relPath, opts = {}) => {
453
+ try {
454
+ return await (0, exports.getSignedFileUrl)(relPath, opts);
455
+ }
456
+ catch (e) {
457
+ return (0, exports.getPublicFileUrl)(relPath, opts);
458
+ }
459
+ };
460
+ exports.getServeUrl = getServeUrl;
461
+ const publicUrlToRelativePath = (url) => {
462
+ if (!url)
463
+ return null;
464
+ const trimmed = url.trim();
465
+ if (!trimmed)
466
+ return null;
467
+ const settings = getS3Settings();
468
+ const bucket = settings.bucket;
469
+ if (!bucket)
470
+ return null;
471
+ const bases = [];
472
+ const endpointBase = settings.endpoint?.replace(/\/$/, "");
473
+ if (endpointBase) {
474
+ bases.push(`${endpointBase}/${bucket}/`);
475
+ try {
476
+ const parsed = new URL(endpointBase);
477
+ const pathPrefix = parsed.pathname.replace(/\/+$/, "");
478
+ const suffix = pathPrefix ? `${pathPrefix}/` : "/";
479
+ bases.push(`${parsed.protocol}//${bucket}.${parsed.host}${suffix}`);
480
+ }
481
+ catch (e) {
482
+ const host = endpointBase.replace(/^https?:\/\//i, "");
483
+ bases.push(`https://${bucket}.${host}/`);
484
+ }
485
+ }
486
+ const region = settings.region || "us-east-1";
487
+ bases.push(`https://${bucket}.s3.${region}.amazonaws.com/`);
488
+ bases.push(`https://${bucket}.s3.amazonaws.com/`);
489
+ for (const base of bases) {
490
+ if (trimmed.startsWith(base)) {
491
+ const remainder = trimmed.slice(base.length);
492
+ const withoutQuery = remainder.split("?")[0];
493
+ try {
494
+ const decoded = decodeURI(withoutQuery);
495
+ return cleanRelativePath(decoded);
496
+ }
497
+ catch (e) {
498
+ return cleanRelativePath(withoutQuery);
499
+ }
500
+ }
501
+ }
502
+ return null;
503
+ };
504
+ exports.publicUrlToRelativePath = publicUrlToRelativePath;
505
+ //# sourceMappingURL=s3_helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3_helpers.js","sourceRoot":"","sources":["../../models/s3_helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../models/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,OAAO,MAAM,WAAW,CAAC;;wIAgM5B;QACE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtD,GACD,GAAG;0CAxJsC,MAAM,KAAG,KAAK,CAAC,OAAO,CAAC;2CAiBtB,MAAM,KAAG,KAAK,CAAC,OAAO,CAAC;;AAsRrE,kBAA2E"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../models/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,OAAO,MAAM,WAAW,CAAC;;wIAiM5B;QACE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtD,GACD,GAAG;0CAxJsC,MAAM,KAAG,KAAK,CAAC,OAAO,CAAC;2CAiBtB,MAAM,KAAG,KAAK,CAAC,OAAO,CAAC;;AAyRrE,kBAA2E"}
@@ -13,6 +13,7 @@ const db_1 = __importDefault(require("../db"));
13
13
  const { getState } = require("../db/state");
14
14
  const node_fetch_1 = __importDefault(require("node-fetch"));
15
15
  const eventlog_1 = __importDefault(require("./eventlog"));
16
+ const table_1 = __importDefault(require("./table"));
16
17
  const mocks_1 = __importDefault(require("../tests/mocks"));
17
18
  const workflow_run_1 = __importDefault(require("./workflow_run"));
18
19
  const notification_1 = __importDefault(require("./notification"));
@@ -234,8 +235,10 @@ const runScheduler = async ({ stop_when = () => false, tickSeconds = 60 * 5, wat
234
235
  await take_snapshot();
235
236
  }
236
237
  await workflow_run_1.default.runResumableWorkflows();
237
- if (isDaily)
238
+ if (isDaily) {
238
239
  await workflow_run_1.default.prune();
240
+ await table_1.default.analyze_all_indexed_tables();
241
+ }
239
242
  }
240
243
  catch (e) {
241
244
  console.error(`scheduler error in tenant ${db_1.default.getTenantSchema()}: `, e);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../models/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../models/scheduler.ts"],"names":[],"mappings":";;;;AAAA;;;;GAIG;AACH,oDAA4B;AAC5B,wDAAgC;AAChC,+CAAuB;AACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5C,4DAA+B;AAC/B,0DAAkC;AAClC,oDAA4B;AAC5B,2DAAmC;AACnC,kEAAyC;AACzC,kEAA0C;AAC1C,sDAAkD;AAClD,kDAA0B;AAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAK,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,WAAmB,EAAiB,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;IAC7D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,gCAAgC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,wBAAwB;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpB,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,qCAAqC,CAAC;AACxD,MAAM,WAAW,GAAG,iDAAiD,CAAC;AAEtE;;;;GAIG;AAEH,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAkB,EAAE;IACrE,IAAI,QAAQ,GAAG,iBAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC,EAAE,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;QACzD,OAAO,WAAW,IAAI,GAAG,IAAI,WAAW,GAAG,QAAQ,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAkB,EAAE;IACtE,IAAI,QAAQ,GAAG,iBAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC,EAAE,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;QACzD,OAAO,WAAW,IAAI,GAAG,IAAI,WAAW,GAAG,QAAQ,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EACrC,IAAY,EACZ,KAAa,EACY,EAAE;IAC3B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/C,gCAAgC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC;;YAC7D,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,EAAE,CAAC;IACzB,+CAA+C;IAC/C,IAAI,QAAQ,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,gDAAgD;IAChD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACd,gEAAgE;QAChE,GAAG,GAAG,GAAG,CAAC;QACV,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IAE9B,kBAAQ,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI,IAAI,EAAE;KACrB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,EAC7B,IAAY,EACZ,IAAa,EACE,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAC1B,UAAU,IAAI,IAAI,WAAW,IAAI,IAAI,aAAa,CACnD,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;QACnC,IAAI,IAAI;YAAE,kBAAkB,GAAG,IAAI,CAAC;aAC/B,IAAI,kBAAkB,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,eAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE;oBACzD,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,EAAE;iBACZ,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,kBAAkB;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,KAAK,EAAE,EAC1B,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,EACvB,WAAW,GAAG,EAAE,GAAG,CAAC,EACpB,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,UAAU,GAAG,CAAC,CAAqB,EAAE,EAAE;IACrC,OAAO,CAAC,EAAE,CAAC;AACb,CAAC,EACD,eAAe,GAAG,GAAG,EAAE,GAAE,CAAC,EAC1B,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,MAUhB,EAAE,EAAE,EAAE;IACd,IAAI,MAAM,CAAC;IACX,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;QACrB,IAAI,WAAW,IAAI,IAAI;YAAE,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,gBAAgB;YAAE,OAAO;QAE7B,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,QAAQ,EAAE,CAAC,GAAG,CACZ,CAAC,EACD,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CACnG,CAAC;QACF,MAAM,iBAAiB,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAEpE,MAAM,UAAU,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAE,CAAC,eAAe,EAAE,KAAK,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC;gBAErE,kBAAQ,CAAC,MAAM,CAAC;oBACd,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI,IAAI,EAAE;iBACrB,CAAC,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAEzD,MAAM,QAAQ,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC9D,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;gBACpE,MAAM,WAAW,GAAG;oBAClB,GAAG,QAAQ;oBACX,GAAG,SAAS;oBACZ,GAAG,QAAQ;oBACX,GAAG,SAAS;oBACZ,GAAG,eAAe;oBAClB,GAAG,gBAAgB;iBACpB,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;oBAClC,IAAI,CAAC;wBACH,MAAM,YAAE,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;4BAClC,MAAM,OAAO,CAAC,aAAa,CAAC;gCAC1B,GAAG,UAAU;gCACb,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;6BACrB,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,MAAM,IAAI,iBAAiB;4BAC7B,MAAM,eAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gCACpB,GAAG,EAAE,mBAAmB,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,EAAE,EAAE;gCACzD,OAAO,EAAE,EAAE;6BACZ,CAAC,CAAC;oBACP,CAAC;gBACH,CAAC;gBAED,MAAM,iBAAiB,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBACpE,IAAI,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM,sBAAW,CAAC,qBAAqB,EAAE,CAAC;gBAC1C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,sBAAW,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,eAAK,CAAC,0BAA0B,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,YAAE,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,YAAE,CAAC,eAAe,EAAE,KAAK,YAAE,CAAC,UAAU,CAAC,cAAc;oBACvD,MAAM,eAAK,CAAC,MAAM,CAAC,CAAC,EAAE;wBACpB,GAAG,EAAE,oBAAoB,YAAE,CAAC,eAAe,EAAE,EAAE;wBAC/C,OAAO,EAAE,EAAE;qBACZ,CAAC,CAAC;YACP,CAAC;YAED,uBAAuB;YACvB,IAAI,CAAC;gBACH,MAAM,QAAQ,GACZ,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,oBAAoB,GAAG,MAAM,sBAAY,CAAC,IAAI,CAAC;oBACnD,WAAW,EAAE,SAAS;oBACtB,OAAO,EAAE;wBACP,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;wBAC3C,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,EAAE,mCAAmC;qBACtE;iBACF,CAAC,CAAC;gBACH,MAAM,OAAO,GAAiC,EAAE,CAAC;gBACjD,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;oBACtC,IAAI,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAClC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM,gBAAgB,GAAG,MAAM,cAAI,CAAC,IAAI,CAAC;oBACvC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;iBACjC,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,sBAAS,CAAC,cAAc,CAC1C,MAAM,sBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAG,CAAC,CAC5C,CAAC;oBACF,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;wBAC5B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;wBAChE,MAAM,sBAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM,eAAK,CAAC,MAAM,CAAC,CAAC,EAAE;oBACpB,GAAG,EAAE,8BAA8B;oBACnC,OAAO,EAAE,EAAE;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,aAAa;QACb,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACvE,IACE,CAAC,gBAAgB,KAAK,OAAO,IAAI,OAAO,CAAC;gBACzC,CAAC,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAC3C,CAAC;gBACD,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACrC,MAAM,eAAe,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,eAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gBACpB,GAAG,EAAE,uBAAuB;gBAC5B,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,GAAG,EAAE,CAAC;IAEZ,OAAO,CAAC,MAAM,EAAE,CAAC;QACf,CAAC,IAAI,CAAC,CAAC;QACP,MAAM,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,iBAAS,EAAE,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -402,6 +402,7 @@ declare class Table implements AbstractTable {
402
402
  autoRecalcIterations?: number;
403
403
  extraArgs?: any;
404
404
  }, resultCollector?: object, restore_of_version?: number, syncTimestamp?: Date, additionalTriggerValues?: Row, autoRecalcIterations?: number, extraArgs?: any): Promise<string | void>;
405
+ static analyze_all_indexed_tables(): Promise<void>;
405
406
  insert_history_row(v0: Row, retry?: number): Promise<void>;
406
407
  latestSyncInfo(id: PrimaryKeyValue): Promise<Row | null>;
407
408
  latestSyncInfos(ids: PrimaryKeyValue[]): Promise<Row[] | null>;
@@ -444,7 +445,7 @@ declare class Table implements AbstractTable {
444
445
  * @param user
445
446
  */
446
447
  private check_field_write_role;
447
- normalise_fkey_values(v_in: Row): void;
448
+ private normalise_fkey_values;
448
449
  /**
449
450
  * Insert row into the table. By passing in the user as
450
451
  * the second argument, it will check write rights. If a user object is not
@@ -656,7 +657,9 @@ declare class Table implements AbstractTable {
656
657
  * @param opts
657
658
  * @returns {Promise<{values, sql: string}>}
658
659
  */
659
- getJoinedQuery(opts?: (JoinOptions & ForUserRequest) | any): Promise<Partial<JoinOptions> & {
660
+ getJoinedQuery(opts?: JoinOptions & ForUserRequest & {
661
+ ignoreExternal?: boolean;
662
+ }): Promise<Partial<JoinOptions> & {
660
663
  sql?: string;
661
664
  values?: Value[];
662
665
  notAuthorized?: boolean;
@@ -702,7 +705,9 @@ declare class Table implements AbstractTable {
702
705
  * @param {object} [opts = {}]
703
706
  * @returns {Promise<object[]>}
704
707
  */
705
- getJoinedRows(opts?: (JoinOptions & ForUserRequest) | any): Promise<Array<Row>>;
708
+ getJoinedRows(opts?: JoinOptions & ForUserRequest & {
709
+ ignoreExternal?: boolean;
710
+ }): Promise<Array<Row>>;
706
711
  /**
707
712
  *
708
713
  */