@ganju/utils 0.0.15 → 0.0.16
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 +23 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +95 -8
- package/dist/data.d.ts +9 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +78 -0
- package/dist/dataApi.d.ts +511 -0
- package/dist/dataApi.d.ts.map +1 -0
- package/dist/dataApi.js +355 -0
- package/dist/dataCompiler.d.ts +68 -0
- package/dist/dataCompiler.d.ts.map +1 -0
- package/dist/dataCompiler.js +726 -0
- package/dist/dataDdl.d.ts +29 -0
- package/dist/dataDdl.d.ts.map +1 -0
- package/dist/dataDdl.js +354 -0
- package/dist/dataEngine.d.ts +143 -0
- package/dist/dataEngine.d.ts.map +1 -0
- package/dist/dataEngine.js +2022 -0
- package/dist/dataIdentifiers.d.ts +8 -0
- package/dist/dataIdentifiers.d.ts.map +1 -0
- package/dist/dataIdentifiers.js +55 -0
- package/dist/dataImport.d.ts +77 -0
- package/dist/dataImport.d.ts.map +1 -0
- package/dist/dataImport.js +450 -0
- package/dist/dataRpc.d.ts +131 -0
- package/dist/dataRpc.d.ts.map +1 -0
- package/dist/dataRpc.js +2 -0
- package/dist/dataTypes.d.ts +157 -0
- package/dist/dataTypes.d.ts.map +1 -0
- package/dist/dataTypes.js +160 -0
- package/dist/index.d.ts +308 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/oauth.d.ts +14 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +42 -2
- package/dist/resourceRerank.d.ts +3 -2
- package/dist/resourceRerank.d.ts.map +1 -1
- package/dist/resourceRerank.js +5 -2
- package/dist/schema.d.ts +285 -4
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +203 -0
- package/package.json +17 -2
- package/src/constants.ts +108 -8
- package/src/data.ts +74 -0
- package/src/dataApi.ts +428 -0
- package/src/dataCompiler.ts +948 -0
- package/src/dataDdl.ts +419 -0
- package/src/dataEngine.ts +2753 -0
- package/src/dataIdentifiers.ts +63 -0
- package/src/dataImport.ts +554 -0
- package/src/dataRpc.ts +121 -0
- package/src/dataTypes.ts +312 -0
- package/src/index.ts +4 -0
- package/src/oauth.ts +42 -1
- package/src/resourceRerank.ts +5 -2
- package/src/schema.ts +246 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { DataCaller, DataDeleteImpact, DataResult, DataSchema, DataTable, DataTableCopy } from './dataTypes';
|
|
2
|
+
export type ExportFormat = 'jsonl' | 'csv';
|
|
3
|
+
export interface ExportFile {
|
|
4
|
+
table: string | null;
|
|
5
|
+
key: string;
|
|
6
|
+
rows: number;
|
|
7
|
+
bytes: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ExportState {
|
|
10
|
+
id: string;
|
|
11
|
+
format: ExportFormat;
|
|
12
|
+
status: 'running' | 'done' | 'failed';
|
|
13
|
+
startedAt: string;
|
|
14
|
+
finishedAt: string | null;
|
|
15
|
+
actor: string;
|
|
16
|
+
tables: string[];
|
|
17
|
+
tableIndex: number;
|
|
18
|
+
afterId: number;
|
|
19
|
+
upload: {
|
|
20
|
+
key: string;
|
|
21
|
+
uploadId: string;
|
|
22
|
+
parts: {
|
|
23
|
+
partNumber: number;
|
|
24
|
+
etag: string;
|
|
25
|
+
}[];
|
|
26
|
+
rows: number;
|
|
27
|
+
bytes: number;
|
|
28
|
+
carryKey: string | null;
|
|
29
|
+
} | null;
|
|
30
|
+
files: ExportFile[];
|
|
31
|
+
error: string | null;
|
|
32
|
+
}
|
|
33
|
+
export interface DatabaseInfo {
|
|
34
|
+
artifactId: string | null;
|
|
35
|
+
name: string | null;
|
|
36
|
+
initializedAt: string | null;
|
|
37
|
+
deletedAt: string | null;
|
|
38
|
+
firstWriteAt: string | null;
|
|
39
|
+
schemaVersion: number;
|
|
40
|
+
size: number;
|
|
41
|
+
tables: {
|
|
42
|
+
name: string;
|
|
43
|
+
label: string | null;
|
|
44
|
+
columns: number;
|
|
45
|
+
}[];
|
|
46
|
+
copy: DataTableCopy | null;
|
|
47
|
+
}
|
|
48
|
+
export interface RestoreResult {
|
|
49
|
+
bookmark: string;
|
|
50
|
+
undoBookmark: string;
|
|
51
|
+
}
|
|
52
|
+
type R<T> = Promise<DataResult<T>>;
|
|
53
|
+
export interface ProjectDatabaseRpc {
|
|
54
|
+
init(args: {
|
|
55
|
+
artifactId: string;
|
|
56
|
+
name: string;
|
|
57
|
+
}): R<DatabaseInfo>;
|
|
58
|
+
info(): R<DatabaseInfo>;
|
|
59
|
+
rename(args: {
|
|
60
|
+
name: string;
|
|
61
|
+
}): R<DatabaseInfo>;
|
|
62
|
+
size(): R<{
|
|
63
|
+
bytes: number;
|
|
64
|
+
}>;
|
|
65
|
+
markDeleted(caller: DataCaller): R<{
|
|
66
|
+
deletedAt: string | null;
|
|
67
|
+
bookmark: string;
|
|
68
|
+
}>;
|
|
69
|
+
undelete(caller: DataCaller): R<DatabaseInfo>;
|
|
70
|
+
purge(): R<{
|
|
71
|
+
purged: true;
|
|
72
|
+
bookmark: string;
|
|
73
|
+
}>;
|
|
74
|
+
currentBookmark(): R<{
|
|
75
|
+
bookmark: string;
|
|
76
|
+
}>;
|
|
77
|
+
restoreTo(caller: DataCaller, args: {
|
|
78
|
+
timestamp: number;
|
|
79
|
+
}): R<RestoreResult>;
|
|
80
|
+
restoreToBookmark(args: {
|
|
81
|
+
bookmark: string;
|
|
82
|
+
}): R<RestoreResult>;
|
|
83
|
+
schemaRead(): R<DataSchema>;
|
|
84
|
+
createTable(caller: DataCaller, input: unknown): R<DataTable>;
|
|
85
|
+
updateTable(caller: DataCaller, table: string, patch: unknown): R<DataTable>;
|
|
86
|
+
dropTable(caller: DataCaller, table: string): R<{
|
|
87
|
+
dropped: string;
|
|
88
|
+
bookmark: string;
|
|
89
|
+
}>;
|
|
90
|
+
addColumn(caller: DataCaller, table: string, input: unknown): R<DataTable>;
|
|
91
|
+
updateColumn(caller: DataCaller, table: string, column: string, patch: unknown): R<{
|
|
92
|
+
table: DataTable;
|
|
93
|
+
bookmark: string | null;
|
|
94
|
+
copy: DataTableCopy | null;
|
|
95
|
+
}>;
|
|
96
|
+
dropColumn(caller: DataCaller, table: string, column: string): R<{
|
|
97
|
+
table: DataTable;
|
|
98
|
+
bookmark: string;
|
|
99
|
+
copy: DataTableCopy | null;
|
|
100
|
+
}>;
|
|
101
|
+
dismissCopy(caller: DataCaller): R<{
|
|
102
|
+
copy: null;
|
|
103
|
+
}>;
|
|
104
|
+
describe(caller: DataCaller, args?: unknown): R<unknown>;
|
|
105
|
+
query(caller: DataCaller, args: unknown): R<unknown>;
|
|
106
|
+
write(caller: DataCaller, args: unknown): R<{
|
|
107
|
+
ok: true;
|
|
108
|
+
results: unknown[];
|
|
109
|
+
}>;
|
|
110
|
+
deleteImpact(caller: DataCaller, args: {
|
|
111
|
+
table: string;
|
|
112
|
+
ids?: number[];
|
|
113
|
+
}): R<DataDeleteImpact>;
|
|
114
|
+
history(caller: DataCaller, args: {
|
|
115
|
+
table: string;
|
|
116
|
+
id: number;
|
|
117
|
+
limit?: number;
|
|
118
|
+
cursor?: number;
|
|
119
|
+
}): R<unknown>;
|
|
120
|
+
exportStart(caller: DataCaller, args?: {
|
|
121
|
+
format?: ExportFormat;
|
|
122
|
+
}): R<{
|
|
123
|
+
exportId: string;
|
|
124
|
+
status: ExportState['status'];
|
|
125
|
+
}>;
|
|
126
|
+
exportStatus(args?: {
|
|
127
|
+
exportId?: string;
|
|
128
|
+
}): R<ExportState>;
|
|
129
|
+
}
|
|
130
|
+
export {};
|
|
131
|
+
//# sourceMappingURL=dataRpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataRpc.d.ts","sourceRoot":"","sources":["../src/dataRpc.ts"],"names":[],"mappings":"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"}
|
package/dist/dataRpc.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export declare const DATA_COLUMN_TYPES: readonly ["text", "long_text", "integer", "decimal", "boolean", "date", "datetime", "enum", "json", "email", "url", "phone", "relation", "file"];
|
|
2
|
+
export type DataColumnType = (typeof DATA_COLUMN_TYPES)[number];
|
|
3
|
+
export declare const DATA_ACCESS_LEVELS: readonly ["none", "read", "add", "full"];
|
|
4
|
+
export type DataAccess = (typeof DATA_ACCESS_LEVELS)[number];
|
|
5
|
+
export declare const DATA_ACCESS_RANK: Record<DataAccess, number>;
|
|
6
|
+
export declare const DATA_ON_DELETE: readonly ["restrict", "cascade", "set_null"];
|
|
7
|
+
export type DataOnDelete = (typeof DATA_ON_DELETE)[number];
|
|
8
|
+
export type DataDefaultValue = string | number | boolean | null;
|
|
9
|
+
export interface DataColumnInput {
|
|
10
|
+
name: string;
|
|
11
|
+
type: DataColumnType;
|
|
12
|
+
label?: string | null;
|
|
13
|
+
description?: string | null;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
unique?: boolean;
|
|
16
|
+
filterable?: boolean;
|
|
17
|
+
searchable?: boolean;
|
|
18
|
+
personal?: boolean;
|
|
19
|
+
values?: string[];
|
|
20
|
+
table?: string;
|
|
21
|
+
onDelete?: DataOnDelete;
|
|
22
|
+
min?: number | null;
|
|
23
|
+
default?: DataDefaultValue;
|
|
24
|
+
}
|
|
25
|
+
export interface DataTableInput {
|
|
26
|
+
name: string;
|
|
27
|
+
label?: string | null;
|
|
28
|
+
description?: string | null;
|
|
29
|
+
displayColumn?: string | null;
|
|
30
|
+
access?: DataAccess;
|
|
31
|
+
customerScoped?: boolean;
|
|
32
|
+
history?: boolean;
|
|
33
|
+
columns: DataColumnInput[];
|
|
34
|
+
}
|
|
35
|
+
export interface DataColumn {
|
|
36
|
+
id: number;
|
|
37
|
+
name: string;
|
|
38
|
+
type: DataColumnType;
|
|
39
|
+
label: string | null;
|
|
40
|
+
description: string | null;
|
|
41
|
+
required: boolean;
|
|
42
|
+
unique: boolean;
|
|
43
|
+
filterable: boolean;
|
|
44
|
+
searchable: boolean;
|
|
45
|
+
personal: boolean;
|
|
46
|
+
values: string[] | null;
|
|
47
|
+
table: string | null;
|
|
48
|
+
onDelete: DataOnDelete | null;
|
|
49
|
+
min: number | null;
|
|
50
|
+
default: DataDefaultValue | undefined;
|
|
51
|
+
position: number;
|
|
52
|
+
}
|
|
53
|
+
export interface DataTable {
|
|
54
|
+
id: number;
|
|
55
|
+
name: string;
|
|
56
|
+
label: string | null;
|
|
57
|
+
description: string | null;
|
|
58
|
+
displayColumn: string | null;
|
|
59
|
+
access: DataAccess;
|
|
60
|
+
customerScoped: boolean;
|
|
61
|
+
history: boolean;
|
|
62
|
+
position: number;
|
|
63
|
+
columns: DataColumn[];
|
|
64
|
+
}
|
|
65
|
+
export interface DataSchema {
|
|
66
|
+
tables: DataTable[];
|
|
67
|
+
}
|
|
68
|
+
export interface DataCaller {
|
|
69
|
+
actor: string;
|
|
70
|
+
restricted?: boolean;
|
|
71
|
+
participantId?: string;
|
|
72
|
+
timeZone?: string;
|
|
73
|
+
limits?: DataCallerLimits;
|
|
74
|
+
}
|
|
75
|
+
export interface DataCallerLimits {
|
|
76
|
+
maxBytes?: number | null;
|
|
77
|
+
maxTables?: number | null;
|
|
78
|
+
readOnly?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface DataUsage {
|
|
81
|
+
rowsRead: number;
|
|
82
|
+
rowsWritten: number;
|
|
83
|
+
}
|
|
84
|
+
export declare const DATA_ERROR_CODES: readonly ["invalid", "not_found", "forbidden", "conflict", "constraint", "guard", "too_large", "full", "read_only", "deleted", "not_initialised", "restore", "internal"];
|
|
85
|
+
export type DataErrorCode = (typeof DATA_ERROR_CODES)[number];
|
|
86
|
+
export declare class DataError extends Error {
|
|
87
|
+
readonly code: DataErrorCode;
|
|
88
|
+
readonly details: Record<string, unknown> | undefined;
|
|
89
|
+
constructor(message: string, code?: DataErrorCode, details?: Record<string, unknown>);
|
|
90
|
+
get status(): 400 | 403 | 404 | 409 | 500;
|
|
91
|
+
toBody(): Record<string, unknown>;
|
|
92
|
+
}
|
|
93
|
+
export declare const isDataError: (error: unknown) => error is DataError;
|
|
94
|
+
export type DataResult<T> = {
|
|
95
|
+
ok: true;
|
|
96
|
+
value: T;
|
|
97
|
+
usage: DataUsage;
|
|
98
|
+
} | {
|
|
99
|
+
ok: false;
|
|
100
|
+
error: {
|
|
101
|
+
code: DataErrorCode;
|
|
102
|
+
message: string;
|
|
103
|
+
details?: Record<string, unknown>;
|
|
104
|
+
};
|
|
105
|
+
usage: DataUsage;
|
|
106
|
+
};
|
|
107
|
+
export declare const DATA_MAX_PARAMS = 100;
|
|
108
|
+
export declare const DATA_MAX_STATEMENT_BYTES = 90000;
|
|
109
|
+
export declare const DATA_MAX_COLUMNS = 93;
|
|
110
|
+
export declare const DATA_MAX_TABLES = 50;
|
|
111
|
+
export declare const DATA_DEFAULT_PAGE = 20;
|
|
112
|
+
export declare const DATA_MAX_PAGE = 500;
|
|
113
|
+
export declare const DATA_MAX_RESULT_BYTES: number;
|
|
114
|
+
export declare const DATA_LARGE_TABLE_ROWS = 200000;
|
|
115
|
+
export declare const DATA_MAX_WRITE_OPERATIONS = 50;
|
|
116
|
+
export declare const DATA_MAX_INSERT_ROWS = 500;
|
|
117
|
+
export declare const DATA_MAX_ROWS_PER_WRITE = 5000;
|
|
118
|
+
export declare const DATA_MAX_VALUE_BYTES = 1000000;
|
|
119
|
+
export declare const DATA_MAX_DESCRIPTION = 300;
|
|
120
|
+
export declare const DATA_MAX_LABEL = 100;
|
|
121
|
+
export declare const DATA_MAX_ENUM_VALUES = 100;
|
|
122
|
+
export declare const DATA_MAX_IN_VALUES = 50;
|
|
123
|
+
export declare const DATA_MAX_SORT_KEYS = 3;
|
|
124
|
+
export declare const DATA_MAX_AGGREGATES = 5;
|
|
125
|
+
export declare const DATA_MAX_GROUP_BY = 3;
|
|
126
|
+
export declare const DATA_MAX_GROUPS = 100;
|
|
127
|
+
export declare const DATA_REBUILD_MAX_ROWS = 100000;
|
|
128
|
+
export declare const DATA_COPY_STEP_ROWS = 5000;
|
|
129
|
+
export declare const DATA_IMPACT_MAX_ROWS = 200000;
|
|
130
|
+
export declare const DATA_IMPACT_MAX_IDS = 5000;
|
|
131
|
+
export declare const DATA_HISTORY_DAYS = 90;
|
|
132
|
+
export interface DataDeleteImpact {
|
|
133
|
+
table: string;
|
|
134
|
+
rows: number;
|
|
135
|
+
effects: {
|
|
136
|
+
table: string;
|
|
137
|
+
column: string;
|
|
138
|
+
onDelete: DataOnDelete;
|
|
139
|
+
rows: number;
|
|
140
|
+
depth: number;
|
|
141
|
+
}[];
|
|
142
|
+
blocked: boolean;
|
|
143
|
+
truncated: boolean;
|
|
144
|
+
}
|
|
145
|
+
export interface DataTableCopy {
|
|
146
|
+
table: string;
|
|
147
|
+
column: string;
|
|
148
|
+
kind: 'change' | 'drop';
|
|
149
|
+
rows: number;
|
|
150
|
+
copied: number;
|
|
151
|
+
startedAt: string;
|
|
152
|
+
actor: string;
|
|
153
|
+
status: 'running' | 'failed';
|
|
154
|
+
error: string | null;
|
|
155
|
+
}
|
|
156
|
+
export declare const toTableInput: (table: DataTable) => DataTableInput;
|
|
157
|
+
//# sourceMappingURL=dataTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../src/dataTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// The shapes and limits shared by a project's database object (apps/data),
|
|
3
|
+
// the workers that call it, and the tests. Pure: nothing here touches SQLite.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.toTableInput = exports.DATA_HISTORY_DAYS = exports.DATA_IMPACT_MAX_IDS = exports.DATA_IMPACT_MAX_ROWS = exports.DATA_COPY_STEP_ROWS = exports.DATA_REBUILD_MAX_ROWS = exports.DATA_MAX_GROUPS = exports.DATA_MAX_GROUP_BY = exports.DATA_MAX_AGGREGATES = exports.DATA_MAX_SORT_KEYS = exports.DATA_MAX_IN_VALUES = exports.DATA_MAX_ENUM_VALUES = exports.DATA_MAX_LABEL = exports.DATA_MAX_DESCRIPTION = exports.DATA_MAX_VALUE_BYTES = exports.DATA_MAX_ROWS_PER_WRITE = exports.DATA_MAX_INSERT_ROWS = exports.DATA_MAX_WRITE_OPERATIONS = exports.DATA_LARGE_TABLE_ROWS = exports.DATA_MAX_RESULT_BYTES = exports.DATA_MAX_PAGE = exports.DATA_DEFAULT_PAGE = exports.DATA_MAX_TABLES = exports.DATA_MAX_COLUMNS = exports.DATA_MAX_STATEMENT_BYTES = exports.DATA_MAX_PARAMS = exports.isDataError = exports.DataError = exports.DATA_ERROR_CODES = exports.DATA_ON_DELETE = exports.DATA_ACCESS_RANK = exports.DATA_ACCESS_LEVELS = exports.DATA_COLUMN_TYPES = void 0;
|
|
6
|
+
exports.DATA_COLUMN_TYPES = [
|
|
7
|
+
'text',
|
|
8
|
+
'long_text',
|
|
9
|
+
'integer',
|
|
10
|
+
'decimal',
|
|
11
|
+
'boolean',
|
|
12
|
+
'date',
|
|
13
|
+
'datetime',
|
|
14
|
+
'enum',
|
|
15
|
+
'json',
|
|
16
|
+
'email',
|
|
17
|
+
'url',
|
|
18
|
+
'phone',
|
|
19
|
+
'relation',
|
|
20
|
+
'file'
|
|
21
|
+
];
|
|
22
|
+
// What the assistant may do with a table when the caller is restricted (a
|
|
23
|
+
// channel bot). Owners, the dashboard, the CLI and functions see every table.
|
|
24
|
+
exports.DATA_ACCESS_LEVELS = ['none', 'read', 'add', 'full'];
|
|
25
|
+
exports.DATA_ACCESS_RANK = {
|
|
26
|
+
none: 0,
|
|
27
|
+
read: 1,
|
|
28
|
+
add: 2,
|
|
29
|
+
full: 3
|
|
30
|
+
};
|
|
31
|
+
exports.DATA_ON_DELETE = ['restrict', 'cascade', 'set_null'];
|
|
32
|
+
exports.DATA_ERROR_CODES = [
|
|
33
|
+
'invalid',
|
|
34
|
+
'not_found',
|
|
35
|
+
'forbidden',
|
|
36
|
+
'conflict',
|
|
37
|
+
'constraint',
|
|
38
|
+
'guard',
|
|
39
|
+
'too_large',
|
|
40
|
+
'full',
|
|
41
|
+
'read_only',
|
|
42
|
+
'deleted',
|
|
43
|
+
'not_initialised',
|
|
44
|
+
'restore',
|
|
45
|
+
'internal'
|
|
46
|
+
];
|
|
47
|
+
// The one error the database object returns. Its message is written for the
|
|
48
|
+
// person or model that made the call, never raw SQLite text.
|
|
49
|
+
class DataError extends Error {
|
|
50
|
+
code;
|
|
51
|
+
details;
|
|
52
|
+
constructor(message, code = 'invalid', details) {
|
|
53
|
+
super(message);
|
|
54
|
+
this.name = 'DataError';
|
|
55
|
+
this.code = code;
|
|
56
|
+
this.details = details;
|
|
57
|
+
}
|
|
58
|
+
// What the API answers with; its error handler reads both.
|
|
59
|
+
get status() {
|
|
60
|
+
return DATA_ERROR_STATUS[this.code];
|
|
61
|
+
}
|
|
62
|
+
toBody() {
|
|
63
|
+
return { code: this.code, ...(this.details ? { details: this.details } : {}) };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.DataError = DataError;
|
|
67
|
+
const DATA_ERROR_STATUS = {
|
|
68
|
+
invalid: 400,
|
|
69
|
+
not_found: 404,
|
|
70
|
+
forbidden: 403,
|
|
71
|
+
conflict: 409,
|
|
72
|
+
constraint: 409,
|
|
73
|
+
guard: 409,
|
|
74
|
+
too_large: 400,
|
|
75
|
+
full: 409,
|
|
76
|
+
read_only: 403,
|
|
77
|
+
deleted: 409,
|
|
78
|
+
not_initialised: 404,
|
|
79
|
+
restore: 400,
|
|
80
|
+
internal: 500
|
|
81
|
+
};
|
|
82
|
+
const isDataError = (error) => error instanceof DataError;
|
|
83
|
+
exports.isDataError = isDataError;
|
|
84
|
+
// Limits. SQLite in a Durable Object allows 100 columns per table, 100 bound
|
|
85
|
+
// parameters per statement and 100 KB per statement; the rest are ours.
|
|
86
|
+
exports.DATA_MAX_PARAMS = 100;
|
|
87
|
+
exports.DATA_MAX_STATEMENT_BYTES = 90_000;
|
|
88
|
+
// 100 minus id, created_at, updated_at, version, created_by, updated_by and
|
|
89
|
+
// participant_id.
|
|
90
|
+
exports.DATA_MAX_COLUMNS = 93;
|
|
91
|
+
exports.DATA_MAX_TABLES = 50;
|
|
92
|
+
exports.DATA_DEFAULT_PAGE = 20;
|
|
93
|
+
exports.DATA_MAX_PAGE = 500;
|
|
94
|
+
exports.DATA_MAX_RESULT_BYTES = 1024 * 1024;
|
|
95
|
+
// Past this many rows, an aggregate or a sort on an unindexed column needs a
|
|
96
|
+
// filter on an indexed one: the object serves one request at a time.
|
|
97
|
+
exports.DATA_LARGE_TABLE_ROWS = 200_000;
|
|
98
|
+
exports.DATA_MAX_WRITE_OPERATIONS = 50;
|
|
99
|
+
exports.DATA_MAX_INSERT_ROWS = 500;
|
|
100
|
+
exports.DATA_MAX_ROWS_PER_WRITE = 5_000;
|
|
101
|
+
exports.DATA_MAX_VALUE_BYTES = 1_000_000;
|
|
102
|
+
exports.DATA_MAX_DESCRIPTION = 300;
|
|
103
|
+
exports.DATA_MAX_LABEL = 100;
|
|
104
|
+
exports.DATA_MAX_ENUM_VALUES = 100;
|
|
105
|
+
exports.DATA_MAX_IN_VALUES = 50;
|
|
106
|
+
exports.DATA_MAX_SORT_KEYS = 3;
|
|
107
|
+
exports.DATA_MAX_AGGREGATES = 5;
|
|
108
|
+
exports.DATA_MAX_GROUP_BY = 3;
|
|
109
|
+
exports.DATA_MAX_GROUPS = 100;
|
|
110
|
+
// A type change copies the table in one request up to this size. A larger
|
|
111
|
+
// table is copied in the background, this many rows a step (tens of
|
|
112
|
+
// milliseconds, so other requests are served in between), and writes that
|
|
113
|
+
// would change its rows wait until it is done.
|
|
114
|
+
exports.DATA_REBUILD_MAX_ROWS = 100_000;
|
|
115
|
+
exports.DATA_COPY_STEP_ROWS = 5_000;
|
|
116
|
+
// A delete preview follows cascades through up to this many rows; past it,
|
|
117
|
+
// its counts are lower bounds.
|
|
118
|
+
exports.DATA_IMPACT_MAX_ROWS = 200_000;
|
|
119
|
+
exports.DATA_IMPACT_MAX_IDS = exports.DATA_MAX_ROWS_PER_WRITE;
|
|
120
|
+
exports.DATA_HISTORY_DAYS = 90;
|
|
121
|
+
// The table as the owner would write it again: what `ganju.data.json` and an
|
|
122
|
+
// export's schema.json hold.
|
|
123
|
+
const toTableInput = (table) => ({
|
|
124
|
+
name: table.name,
|
|
125
|
+
label: table.label,
|
|
126
|
+
description: table.description,
|
|
127
|
+
displayColumn: table.displayColumn,
|
|
128
|
+
access: table.access,
|
|
129
|
+
customerScoped: table.customerScoped,
|
|
130
|
+
history: table.history,
|
|
131
|
+
columns: table.columns.map(column => {
|
|
132
|
+
const out = { name: column.name, type: column.type };
|
|
133
|
+
if (column.label)
|
|
134
|
+
out.label = column.label;
|
|
135
|
+
if (column.description)
|
|
136
|
+
out.description = column.description;
|
|
137
|
+
if (column.required)
|
|
138
|
+
out.required = true;
|
|
139
|
+
if (column.unique)
|
|
140
|
+
out.unique = true;
|
|
141
|
+
if (column.filterable)
|
|
142
|
+
out.filterable = true;
|
|
143
|
+
if (column.searchable)
|
|
144
|
+
out.searchable = true;
|
|
145
|
+
if (column.personal)
|
|
146
|
+
out.personal = true;
|
|
147
|
+
if (column.values)
|
|
148
|
+
out.values = column.values;
|
|
149
|
+
if (column.table)
|
|
150
|
+
out.table = column.table;
|
|
151
|
+
if (column.onDelete)
|
|
152
|
+
out.onDelete = column.onDelete;
|
|
153
|
+
if (column.min !== null)
|
|
154
|
+
out.min = column.min;
|
|
155
|
+
if (column.default !== undefined)
|
|
156
|
+
out.default = column.default;
|
|
157
|
+
return out;
|
|
158
|
+
})
|
|
159
|
+
});
|
|
160
|
+
exports.toTableInput = toTableInput;
|