admindb 1.2.0 → 2.0.0
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/README.md +250 -352
- package/dist/app.d.ts +25 -4
- package/dist/app.js +79 -15
- package/dist/app.js.map +1 -1
- package/dist/auth/config.d.ts +19 -0
- package/dist/auth/config.js +147 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/crypto.d.ts +27 -0
- package/dist/auth/crypto.js +133 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.js +22 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +14 -0
- package/dist/auth/middleware.js +100 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/routes.d.ts +7 -0
- package/dist/auth/routes.js +78 -0
- package/dist/auth/routes.js.map +1 -0
- package/dist/auth/types.d.ts +35 -0
- package/dist/auth/types.js +11 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli/args.d.ts +45 -0
- package/dist/cli/args.js +328 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config.d.ts +56 -0
- package/dist/cli/config.js +133 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/runner.d.ts +1 -0
- package/dist/cli/runner.js +222 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli.js +2 -127
- package/dist/cli.js.map +1 -1
- package/dist/data/datasets.d.ts +17 -0
- package/dist/data/datasets.js +133 -0
- package/dist/data/datasets.js.map +1 -0
- package/dist/data/detector.d.ts +30 -0
- package/dist/data/detector.js +472 -0
- package/dist/data/detector.js.map +1 -0
- package/dist/data/engine.d.ts +10 -0
- package/dist/data/engine.js +211 -0
- package/dist/data/engine.js.map +1 -0
- package/dist/data/index.d.ts +5 -0
- package/dist/data/index.js +22 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/strategies.d.ts +30 -0
- package/dist/data/strategies.js +343 -0
- package/dist/data/strategies.js.map +1 -0
- package/dist/data/types.d.ts +73 -0
- package/dist/data/types.js +8 -0
- package/dist/data/types.js.map +1 -0
- package/dist/db/database.d.ts +14 -142
- package/dist/db/database.js +209 -435
- package/dist/db/database.js.map +1 -1
- package/dist/db/export.d.ts +2 -2
- package/dist/db/export.js +7 -2
- package/dist/db/export.js.map +1 -1
- package/dist/db/filters.d.ts +22 -0
- package/dist/db/filters.js +158 -0
- package/dist/db/filters.js.map +1 -0
- package/dist/db/index.d.ts +8 -0
- package/dist/db/index.js +25 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/introspection.d.ts +6 -0
- package/dist/db/introspection.js +172 -0
- package/dist/db/introspection.js.map +1 -0
- package/dist/db/manager.d.ts +32 -19
- package/dist/db/manager.js +203 -44
- package/dist/db/manager.js.map +1 -1
- package/dist/db/migrations.d.ts +5 -0
- package/dist/db/migrations.js +110 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/postgres.d.ts +85 -0
- package/dist/db/postgres.js +745 -0
- package/dist/db/postgres.js.map +1 -0
- package/dist/db/types.d.ts +206 -0
- package/dist/db/types.js +7 -0
- package/dist/db/types.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/public/css/app.css +1 -1
- package/dist/public/css/input.css +83 -13
- package/dist/public/js/app.js +142 -0
- package/dist/public/js/browse.js +591 -104
- package/dist/public/js/databases.js +105 -13
- package/dist/public/js/designer.js +40 -2
- package/dist/public/js/forms.js +610 -28
- package/dist/public/js/icons.js +51 -0
- package/dist/public/js/inspector.js +638 -0
- package/dist/public/js/query.js +93 -3
- package/dist/public/js/schema.js +170 -52
- package/dist/public/js/seed.js +1090 -0
- package/dist/routes/api/helpers.d.ts +42 -0
- package/dist/routes/api/helpers.js +133 -0
- package/dist/routes/api/helpers.js.map +1 -0
- package/dist/routes/api/import-export.d.ts +3 -0
- package/dist/routes/api/import-export.js +85 -0
- package/dist/routes/api/import-export.js.map +1 -0
- package/dist/routes/api/index.d.ts +4 -0
- package/dist/routes/api/index.js +37 -0
- package/dist/routes/api/index.js.map +1 -0
- package/dist/routes/api/query.d.ts +3 -0
- package/dist/routes/api/query.js +76 -0
- package/dist/routes/api/query.js.map +1 -0
- package/dist/routes/api/rows.d.ts +3 -0
- package/dist/routes/api/rows.js +373 -0
- package/dist/routes/api/rows.js.map +1 -0
- package/dist/routes/api/seed.d.ts +3 -0
- package/dist/routes/api/seed.js +82 -0
- package/dist/routes/api/seed.js.map +1 -0
- package/dist/routes/api/tables.d.ts +3 -0
- package/dist/routes/api/tables.js +160 -0
- package/dist/routes/api/tables.js.map +1 -0
- package/dist/routes/databases.d.ts +8 -11
- package/dist/routes/databases.js +100 -66
- package/dist/routes/databases.js.map +1 -1
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.js +20 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/pages.d.ts +3 -3
- package/dist/routes/pages.js +163 -54
- package/dist/routes/pages.js.map +1 -1
- package/dist/serverless.d.ts +40 -0
- package/dist/serverless.js +210 -0
- package/dist/serverless.js.map +1 -0
- package/dist/sql/generator.d.ts +4 -3
- package/dist/sql/generator.js +103 -6
- package/dist/sql/generator.js.map +1 -1
- package/dist/sql/index.d.ts +2 -0
- package/dist/sql/index.js +19 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/types/api.d.ts +412 -0
- package/dist/types/api.js +9 -0
- package/dist/types/api.js.map +1 -0
- package/dist/utils/colors.d.ts +40 -0
- package/dist/utils/colors.js +64 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/{util.d.ts → utils/common.d.ts} +10 -6
- package/dist/{util.js → utils/common.js} +80 -13
- package/dist/utils/common.js.map +1 -0
- package/dist/utils/csv.js.map +1 -0
- package/dist/utils/datatype.d.ts +49 -0
- package/dist/utils/datatype.js +222 -0
- package/dist/utils/datatype.js.map +1 -0
- package/dist/utils/icons.d.ts +11 -0
- package/dist/utils/icons.js +72 -0
- package/dist/utils/icons.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/{logger.d.ts → utils/logger.d.ts} +1 -1
- package/dist/utils/logger.js +40 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/views/layouts/main.hbs +33 -11
- package/dist/views/pages/databases.hbs +182 -74
- package/dist/views/pages/designer.hbs +9 -6
- package/dist/views/pages/error.hbs +3 -3
- package/dist/views/pages/form.hbs +5 -3
- package/dist/views/pages/home.hbs +22 -13
- package/dist/views/pages/login.hbs +111 -0
- package/dist/views/pages/query.hbs +10 -8
- package/dist/views/pages/schema.hbs +41 -13
- package/dist/views/pages/seed.hbs +232 -0
- package/dist/views/pages/table.hbs +155 -70
- package/dist/views/partials/icon.hbs +2 -0
- package/dist/views/partials/navbar.hbs +70 -31
- package/dist/views/partials/sidebar.hbs +108 -99
- package/package.json +12 -5
- package/dist/args.d.ts +0 -28
- package/dist/args.js +0 -187
- package/dist/args.js.map +0 -1
- package/dist/config.d.ts +0 -17
- package/dist/config.js +0 -23
- package/dist/config.js.map +0 -1
- package/dist/csv.js.map +0 -1
- package/dist/logger.js +0 -25
- package/dist/logger.js.map +0 -1
- package/dist/routes/api.d.ts +0 -9
- package/dist/routes/api.js +0 -786
- package/dist/routes/api.js.map +0 -1
- package/dist/test/classifier.test.d.ts +0 -1
- package/dist/test/classifier.test.js +0 -44
- package/dist/test/classifier.test.js.map +0 -1
- package/dist/test/csv.test.d.ts +0 -1
- package/dist/test/csv.test.js +0 -64
- package/dist/test/csv.test.js.map +0 -1
- package/dist/test/database.test.d.ts +0 -1
- package/dist/test/database.test.js +0 -402
- package/dist/test/database.test.js.map +0 -1
- package/dist/test/generator.test.d.ts +0 -1
- package/dist/test/generator.test.js +0 -132
- package/dist/test/generator.test.js.map +0 -1
- package/dist/test/manager.test.d.ts +0 -1
- package/dist/test/manager.test.js +0 -146
- package/dist/test/manager.test.js.map +0 -1
- package/dist/util.js.map +0 -1
- /package/dist/{csv.d.ts → utils/csv.d.ts} +0 -0
- /package/dist/{csv.js → utils/csv.js} +0 -0
package/dist/sql/generator.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* unit-test. Both the "run" and the "generate" (get-query) variants of every
|
|
4
4
|
* mutating operation share these functions.
|
|
5
5
|
*/
|
|
6
|
-
export declare const DESIGNER_TYPES: readonly ["TEXT", "INTEGER", "REAL", "
|
|
6
|
+
export declare const DESIGNER_TYPES: readonly ["TEXT", "VARCHAR(255)", "INTEGER", "BIGINT", "SMALLINT", "SERIAL", "BIGSERIAL", "REAL", "DECIMAL(10,2)", "NUMERIC", "BOOLEAN", "DATE", "DATETIME", "TIMESTAMP", "TIMESTAMPTZ", "TIME", "INTERVAL", "JSON", "JSONB", "UUID", "BYTEA", "BLOB", "INET"];
|
|
7
7
|
export type DesignerColumnType = (typeof DESIGNER_TYPES)[number];
|
|
8
8
|
export interface ColumnDef {
|
|
9
9
|
name: string;
|
|
@@ -34,15 +34,16 @@ export interface MappedType {
|
|
|
34
34
|
defaultAuto?: string;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Map a designer-friendly type to a real
|
|
37
|
+
* Map a designer-friendly or custom SQL type to a real database column type.
|
|
38
38
|
* DATE-style types map to a datetime column with a current-timestamp default.
|
|
39
|
-
* Throws for unsupported types.
|
|
40
39
|
*/
|
|
41
40
|
export declare function mapColumnType(type: string): MappedType;
|
|
42
41
|
export interface RenderOptions {
|
|
43
42
|
/** Constrain DDL to what `ALTER TABLE ADD COLUMN` supports. */
|
|
44
43
|
forAddColumn?: boolean;
|
|
45
44
|
}
|
|
45
|
+
/** Format a raw user-provided default value safely for SQL DDL. */
|
|
46
|
+
export declare function formatSqlDefault(raw: string, colType?: string): string;
|
|
46
47
|
/**
|
|
47
48
|
* Render a single column definition.
|
|
48
49
|
* When `forAddColumn` is set, enforces SQLite's ADD COLUMN restrictions
|
package/dist/sql/generator.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.quoteIdentifier = quoteIdentifier;
|
|
|
10
10
|
exports.escapeString = escapeString;
|
|
11
11
|
exports.sqlValue = sqlValue;
|
|
12
12
|
exports.mapColumnType = mapColumnType;
|
|
13
|
+
exports.formatSqlDefault = formatSqlDefault;
|
|
13
14
|
exports.renderColumnDef = renderColumnDef;
|
|
14
15
|
exports.generateCreateTable = generateCreateTable;
|
|
15
16
|
exports.generateAddColumn = generateAddColumn;
|
|
@@ -21,7 +22,31 @@ exports.generateCreateIndex = generateCreateIndex;
|
|
|
21
22
|
exports.generateDropIndex = generateDropIndex;
|
|
22
23
|
exports.generateInsert = generateInsert;
|
|
23
24
|
exports.generateUpdate = generateUpdate;
|
|
24
|
-
exports.DESIGNER_TYPES = [
|
|
25
|
+
exports.DESIGNER_TYPES = [
|
|
26
|
+
'TEXT',
|
|
27
|
+
'VARCHAR(255)',
|
|
28
|
+
'INTEGER',
|
|
29
|
+
'BIGINT',
|
|
30
|
+
'SMALLINT',
|
|
31
|
+
'SERIAL',
|
|
32
|
+
'BIGSERIAL',
|
|
33
|
+
'REAL',
|
|
34
|
+
'DECIMAL(10,2)',
|
|
35
|
+
'NUMERIC',
|
|
36
|
+
'BOOLEAN',
|
|
37
|
+
'DATE',
|
|
38
|
+
'DATETIME',
|
|
39
|
+
'TIMESTAMP',
|
|
40
|
+
'TIMESTAMPTZ',
|
|
41
|
+
'TIME',
|
|
42
|
+
'INTERVAL',
|
|
43
|
+
'JSON',
|
|
44
|
+
'JSONB',
|
|
45
|
+
'UUID',
|
|
46
|
+
'BYTEA',
|
|
47
|
+
'BLOB',
|
|
48
|
+
'INET',
|
|
49
|
+
];
|
|
25
50
|
const IDENTIFIER_RE = /^[A-Za-z_][A-Za-z0-9_$]*$/;
|
|
26
51
|
/** Quote an SQL identifier (table/column name), escaping embedded double quotes. */
|
|
27
52
|
function quoteIdentifier(identifier) {
|
|
@@ -48,29 +73,78 @@ function sqlValue(value) {
|
|
|
48
73
|
return escapeString(String(value));
|
|
49
74
|
}
|
|
50
75
|
/**
|
|
51
|
-
* Map a designer-friendly type to a real
|
|
76
|
+
* Map a designer-friendly or custom SQL type to a real database column type.
|
|
52
77
|
* DATE-style types map to a datetime column with a current-timestamp default.
|
|
53
|
-
* Throws for unsupported types.
|
|
54
78
|
*/
|
|
55
79
|
function mapColumnType(type) {
|
|
56
|
-
const t = String(type).trim().toUpperCase();
|
|
80
|
+
const t = String(type ?? '').trim().toUpperCase();
|
|
81
|
+
if (!t)
|
|
82
|
+
return { sqlType: 'TEXT' };
|
|
57
83
|
switch (t) {
|
|
58
84
|
case 'INTEGER':
|
|
85
|
+
case 'INT':
|
|
86
|
+
case 'TINYINT':
|
|
59
87
|
return { sqlType: 'INTEGER' };
|
|
88
|
+
case 'BIGINT':
|
|
89
|
+
case 'SMALLINT':
|
|
90
|
+
case 'SERIAL':
|
|
91
|
+
case 'BIGSERIAL':
|
|
92
|
+
case 'SMALLSERIAL':
|
|
93
|
+
return { sqlType: t };
|
|
60
94
|
case 'TEXT':
|
|
95
|
+
case 'VARCHAR':
|
|
96
|
+
case 'CHAR':
|
|
97
|
+
case 'CLOB':
|
|
98
|
+
case 'STRING':
|
|
99
|
+
case 'CITEXT':
|
|
61
100
|
return { sqlType: 'TEXT' };
|
|
62
101
|
case 'REAL':
|
|
102
|
+
case 'FLOAT':
|
|
103
|
+
case 'DOUBLE':
|
|
104
|
+
case 'DECIMAL':
|
|
105
|
+
case 'NUMERIC':
|
|
106
|
+
case 'NUMBER':
|
|
107
|
+
case 'MONEY':
|
|
63
108
|
return { sqlType: 'REAL' };
|
|
64
109
|
case 'BLOB':
|
|
110
|
+
case 'BINARY':
|
|
111
|
+
case 'VARBINARY':
|
|
65
112
|
return { sqlType: 'BLOB' };
|
|
113
|
+
case 'BYTEA':
|
|
114
|
+
return { sqlType: 'BYTEA' };
|
|
66
115
|
case 'BOOLEAN':
|
|
116
|
+
case 'BOOL':
|
|
67
117
|
return { sqlType: 'INTEGER' };
|
|
68
118
|
case 'DATE':
|
|
69
119
|
return { sqlType: 'DATETIME', defaultAuto: 'CURRENT_TIMESTAMP' };
|
|
70
120
|
case 'DATETIME':
|
|
71
121
|
return { sqlType: 'DATETIME' };
|
|
122
|
+
case 'TIMESTAMP':
|
|
123
|
+
case 'TIMESTAMPTZ':
|
|
124
|
+
case 'TIMESTAMP WITHOUT TIME ZONE':
|
|
125
|
+
case 'TIMESTAMP WITH TIME ZONE':
|
|
126
|
+
return { sqlType: t };
|
|
127
|
+
case 'TIME':
|
|
128
|
+
case 'TIMETZ':
|
|
129
|
+
case 'TIME WITHOUT TIME ZONE':
|
|
130
|
+
case 'TIME WITH TIME ZONE':
|
|
131
|
+
return { sqlType: t };
|
|
132
|
+
case 'INTERVAL':
|
|
133
|
+
case 'JSON':
|
|
134
|
+
case 'JSONB':
|
|
135
|
+
case 'UUID':
|
|
136
|
+
case 'INET':
|
|
137
|
+
case 'CIDR':
|
|
138
|
+
case 'MACADDR':
|
|
139
|
+
case 'SERIAL':
|
|
140
|
+
case 'BIGSERIAL':
|
|
141
|
+
case 'SMALLSERIAL':
|
|
142
|
+
return { sqlType: t };
|
|
72
143
|
default:
|
|
73
|
-
|
|
144
|
+
if (/^[A-Za-z0-9_(),\s\[\]]+$/.test(t)) {
|
|
145
|
+
return { sqlType: t };
|
|
146
|
+
}
|
|
147
|
+
throw new Error(`Unsupported column type: "${type}". Supported types include: ${exports.DESIGNER_TYPES.join(', ')} or standard SQL types.`);
|
|
74
148
|
}
|
|
75
149
|
}
|
|
76
150
|
function validateIdentifier(kind, name) {
|
|
@@ -82,6 +156,29 @@ function validateIdentifier(kind, name) {
|
|
|
82
156
|
throw new Error(`Invalid ${label.toLowerCase()} name: "${trimmed}". Use letters, digits and underscores.`);
|
|
83
157
|
}
|
|
84
158
|
}
|
|
159
|
+
/** Format a raw user-provided default value safely for SQL DDL. */
|
|
160
|
+
function formatSqlDefault(raw, colType) {
|
|
161
|
+
const s = String(raw ?? '').trim().replace(/;/g, '');
|
|
162
|
+
if (!s)
|
|
163
|
+
return '';
|
|
164
|
+
if (/^null$/i.test(s))
|
|
165
|
+
return 'NULL';
|
|
166
|
+
if (/^[-+]?\d+(\.\d+)?$/.test(s))
|
|
167
|
+
return s;
|
|
168
|
+
if (/^(true|false)$/i.test(s))
|
|
169
|
+
return s.toUpperCase() === 'TRUE' ? '1' : '0';
|
|
170
|
+
if (/^'.*'$/s.test(s) || /^".*"$/s.test(s))
|
|
171
|
+
return s;
|
|
172
|
+
if (/^[a-zA-Z_]\w*\s*\(.*\)$/s.test(s))
|
|
173
|
+
return s;
|
|
174
|
+
if (/^CURRENT_TIMESTAMP|CURRENT_DATE|CURRENT_TIME$/i.test(s))
|
|
175
|
+
return s.toUpperCase();
|
|
176
|
+
const t = (colType || '').toUpperCase();
|
|
177
|
+
if (t.includes('TEXT') || t.includes('CHAR') || t.includes('CLOB') || t.includes('VARCHAR') || t.includes('STRING')) {
|
|
178
|
+
return escapeString(s);
|
|
179
|
+
}
|
|
180
|
+
return s;
|
|
181
|
+
}
|
|
85
182
|
/**
|
|
86
183
|
* Render a single column definition.
|
|
87
184
|
* When `forAddColumn` is set, enforces SQLite's ADD COLUMN restrictions
|
|
@@ -106,7 +203,7 @@ function renderColumnDef(col, opts = {}) {
|
|
|
106
203
|
def += ' NOT NULL';
|
|
107
204
|
if (!opts.forAddColumn && col.unique)
|
|
108
205
|
def += ' UNIQUE';
|
|
109
|
-
const rawDefault = String(col.defaultValue ?? '')
|
|
206
|
+
const rawDefault = formatSqlDefault(String(col.defaultValue ?? ''), col.type);
|
|
110
207
|
const dflt = rawDefault || mapped.defaultAuto || '';
|
|
111
208
|
if (dflt)
|
|
112
209
|
def += ` DEFAULT ${dflt}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/sql/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/sql/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./classifier"), exports);
|
|
18
|
+
__exportStar(require("./generator"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8CAA4B"}
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AdminDB — Strongly typed API request and response interfaces.
|
|
3
|
+
*
|
|
4
|
+
* Every REST API endpoint returns a standardized envelope:
|
|
5
|
+
* `{ success: true, data: T }` on success, or `{ success: false, error: string }` on failure.
|
|
6
|
+
*/
|
|
7
|
+
import type { ColumnInfo, ForeignKeyInfo, IndexInfo, SavedQuery, SchemaInfo, TableInfoData, TableListItem, WhereClause, RowFilters } from '../db/database';
|
|
8
|
+
import type { DatabaseEntry } from '../db/manager';
|
|
9
|
+
import type { ColumnDef, IndexDef } from '../sql/generator';
|
|
10
|
+
import type { ColumnGeneratorConfig, ColumnPlan, GeneratorStrategyId, StrategyDescriptor, StrategyCategory } from '../data/index';
|
|
11
|
+
export type { ColumnInfo, ForeignKeyInfo, IndexInfo, SavedQuery, SchemaInfo, TableInfoData, TableListItem, WhereClause, RowFilters, ColumnDef, IndexDef, ColumnGeneratorConfig, ColumnPlan, GeneratorStrategyId, StrategyDescriptor, StrategyCategory, };
|
|
12
|
+
/** Successful API response container. */
|
|
13
|
+
export interface ApiSuccessResponse<T = unknown> {
|
|
14
|
+
success: true;
|
|
15
|
+
data: T;
|
|
16
|
+
}
|
|
17
|
+
/** Error API response container. */
|
|
18
|
+
export interface ApiErrorResponse<T = unknown> {
|
|
19
|
+
success: false;
|
|
20
|
+
error: string;
|
|
21
|
+
data?: T;
|
|
22
|
+
}
|
|
23
|
+
/** Discriminated union of all API responses. */
|
|
24
|
+
export type ApiResponse<T = unknown> = ApiSuccessResponse<T> | ApiErrorResponse<T>;
|
|
25
|
+
/** GET /api/tables */
|
|
26
|
+
export type ListTablesResponseData = TableListItem[];
|
|
27
|
+
export type ListTablesResponse = ApiResponse<ListTablesResponseData>;
|
|
28
|
+
/** GET /api/tables/:table/info */
|
|
29
|
+
export type TableInfoResponseData = TableInfoData;
|
|
30
|
+
export type TableInfoResponse = ApiResponse<TableInfoResponseData>;
|
|
31
|
+
/** GET /api/tables/:table/fk-options */
|
|
32
|
+
export type FkOptionsResponseData = Record<string, {
|
|
33
|
+
value: unknown;
|
|
34
|
+
label: string;
|
|
35
|
+
}[]>;
|
|
36
|
+
export type FkOptionsResponse = ApiResponse<FkOptionsResponseData>;
|
|
37
|
+
/** GET /api/tables/:table/rows */
|
|
38
|
+
export interface GetRowsResponseData {
|
|
39
|
+
rows: Record<string, unknown>[];
|
|
40
|
+
count: number;
|
|
41
|
+
page: number;
|
|
42
|
+
limit: number;
|
|
43
|
+
filters: RowFilters;
|
|
44
|
+
}
|
|
45
|
+
export type GetRowsResponse = ApiResponse<GetRowsResponseData>;
|
|
46
|
+
/** GET /api/tables/:table/row/:id */
|
|
47
|
+
export type GetRowResponseData = Record<string, unknown>;
|
|
48
|
+
export type GetRowResponse = ApiResponse<GetRowResponseData>;
|
|
49
|
+
/** GET /api/tables/:table/rows/:id/references */
|
|
50
|
+
export interface RowReferenceGroup {
|
|
51
|
+
table: string;
|
|
52
|
+
from: string;
|
|
53
|
+
to: string;
|
|
54
|
+
value: unknown;
|
|
55
|
+
count: number;
|
|
56
|
+
columns: string[];
|
|
57
|
+
rows: Record<string, unknown>[];
|
|
58
|
+
}
|
|
59
|
+
export interface GetRowReferencesResponseData {
|
|
60
|
+
references: RowReferenceGroup[];
|
|
61
|
+
}
|
|
62
|
+
export type GetRowReferencesResponse = ApiResponse<GetRowReferencesResponseData>;
|
|
63
|
+
/** POST /api/tables/:table/rows */
|
|
64
|
+
export interface InsertRowRequestBody {
|
|
65
|
+
values: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
export interface InsertRowResponseData {
|
|
68
|
+
message: string;
|
|
69
|
+
rowId?: number | bigint;
|
|
70
|
+
sql: string;
|
|
71
|
+
}
|
|
72
|
+
export type InsertRowResponse = ApiResponse<InsertRowResponseData>;
|
|
73
|
+
/** POST /api/tables/:table/rows/generate */
|
|
74
|
+
export interface GenerateInsertRequestBody {
|
|
75
|
+
values: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
export interface GenerateInsertResponseData {
|
|
78
|
+
sql: string;
|
|
79
|
+
}
|
|
80
|
+
export type GenerateInsertResponse = ApiResponse<GenerateInsertResponseData>;
|
|
81
|
+
/** POST /api/tables/:table/rows/import */
|
|
82
|
+
export interface ImportCsvRequestBody {
|
|
83
|
+
csv: string;
|
|
84
|
+
}
|
|
85
|
+
export interface ImportCsvResponseData {
|
|
86
|
+
message: string;
|
|
87
|
+
inserted?: number;
|
|
88
|
+
skipped?: number;
|
|
89
|
+
}
|
|
90
|
+
export type ImportCsvResponse = ApiResponse<ImportCsvResponseData>;
|
|
91
|
+
/** PUT /api/tables/:table/row/:id */
|
|
92
|
+
export interface UpdateRowRequestBody {
|
|
93
|
+
values: Record<string, unknown>;
|
|
94
|
+
nulls?: string[];
|
|
95
|
+
}
|
|
96
|
+
export interface UpdateRowResponseData {
|
|
97
|
+
message: string;
|
|
98
|
+
sql: string;
|
|
99
|
+
}
|
|
100
|
+
export type UpdateRowResponse = ApiResponse<UpdateRowResponseData>;
|
|
101
|
+
/** PUT /api/tables/:table/row/:id/generate */
|
|
102
|
+
export interface GenerateUpdateRequestBody {
|
|
103
|
+
values: Record<string, unknown>;
|
|
104
|
+
nulls?: string[];
|
|
105
|
+
}
|
|
106
|
+
export interface GenerateUpdateResponseData {
|
|
107
|
+
sql: string;
|
|
108
|
+
}
|
|
109
|
+
export type GenerateUpdateResponse = ApiResponse<GenerateUpdateResponseData>;
|
|
110
|
+
/** DELETE /api/tables/:table/row/:id */
|
|
111
|
+
export interface DeleteRowResponseData {
|
|
112
|
+
message: string;
|
|
113
|
+
}
|
|
114
|
+
export type DeleteRowResponse = ApiResponse<DeleteRowResponseData>;
|
|
115
|
+
/** GET /api/tables/:table/row/:id/blob/:column/meta */
|
|
116
|
+
export interface BlobMetaResponseData {
|
|
117
|
+
isNull: boolean;
|
|
118
|
+
mime?: string;
|
|
119
|
+
ext?: string;
|
|
120
|
+
isImage?: boolean;
|
|
121
|
+
isText?: boolean;
|
|
122
|
+
isPdf?: boolean;
|
|
123
|
+
isAudio?: boolean;
|
|
124
|
+
isVideo?: boolean;
|
|
125
|
+
size: number;
|
|
126
|
+
sizeFormatted: string;
|
|
127
|
+
hexDump?: {
|
|
128
|
+
lines: {
|
|
129
|
+
offset: string;
|
|
130
|
+
hex: string;
|
|
131
|
+
ascii: string;
|
|
132
|
+
}[];
|
|
133
|
+
totalBytes: number;
|
|
134
|
+
truncated: boolean;
|
|
135
|
+
};
|
|
136
|
+
textPreview?: string | null;
|
|
137
|
+
}
|
|
138
|
+
export type BlobMetaResponse = ApiResponse<BlobMetaResponseData>;
|
|
139
|
+
/** PUT /api/tables/:table/row/:id/blob/:column */
|
|
140
|
+
export interface UpdateBlobRequestBody {
|
|
141
|
+
data: string;
|
|
142
|
+
format?: 'base64' | 'hex' | 'text';
|
|
143
|
+
}
|
|
144
|
+
export interface UpdateBlobResponseData {
|
|
145
|
+
message: string;
|
|
146
|
+
size: number;
|
|
147
|
+
}
|
|
148
|
+
export type UpdateBlobResponse = ApiResponse<UpdateBlobResponseData>;
|
|
149
|
+
/** GET /api/tables/:table/ddl */
|
|
150
|
+
export interface TableDdlResponseData {
|
|
151
|
+
table: string;
|
|
152
|
+
ddl: string;
|
|
153
|
+
}
|
|
154
|
+
export type TableDdlResponse = ApiResponse<TableDdlResponseData>;
|
|
155
|
+
/** POST /api/tables/:table/rows/bulk-impact */
|
|
156
|
+
export interface BulkImpactRequestBody {
|
|
157
|
+
ids: (string | number)[];
|
|
158
|
+
}
|
|
159
|
+
export interface BulkImpactReference {
|
|
160
|
+
table: string;
|
|
161
|
+
from: string;
|
|
162
|
+
to: string;
|
|
163
|
+
count: number;
|
|
164
|
+
}
|
|
165
|
+
export interface BulkImpactResponseData {
|
|
166
|
+
selected: number;
|
|
167
|
+
references: BulkImpactReference[];
|
|
168
|
+
total: number;
|
|
169
|
+
}
|
|
170
|
+
export type BulkImpactResponse = ApiResponse<BulkImpactResponseData>;
|
|
171
|
+
/** POST /api/tables/:table/rows/bulk-delete */
|
|
172
|
+
export interface BulkDeleteRequestBody {
|
|
173
|
+
ids: (string | number)[];
|
|
174
|
+
confirmImpact?: boolean;
|
|
175
|
+
}
|
|
176
|
+
export interface BulkDeleteResponseData {
|
|
177
|
+
message: string;
|
|
178
|
+
deleted: number;
|
|
179
|
+
}
|
|
180
|
+
export type BulkDeleteResponse = ApiResponse<BulkDeleteResponseData>;
|
|
181
|
+
/** POST /api/tables/:table/rows/bulk-export */
|
|
182
|
+
export interface BulkExportRequestBody {
|
|
183
|
+
ids: (string | number)[];
|
|
184
|
+
format?: 'csv' | 'json';
|
|
185
|
+
}
|
|
186
|
+
export interface BulkExportResponseData {
|
|
187
|
+
format: string;
|
|
188
|
+
filename: string;
|
|
189
|
+
content: string;
|
|
190
|
+
rowCount: number;
|
|
191
|
+
}
|
|
192
|
+
export type BulkExportResponse = ApiResponse<BulkExportResponseData>;
|
|
193
|
+
/** POST /api/tables/:table/rows/bulk-update */
|
|
194
|
+
export interface BulkUpdateItem {
|
|
195
|
+
id: string | number;
|
|
196
|
+
values?: Record<string, unknown>;
|
|
197
|
+
nulls?: string[];
|
|
198
|
+
}
|
|
199
|
+
export interface BulkUpdateRequestBody {
|
|
200
|
+
updates: BulkUpdateItem[];
|
|
201
|
+
}
|
|
202
|
+
export interface BulkUpdateResponseData {
|
|
203
|
+
message: string;
|
|
204
|
+
updated: number;
|
|
205
|
+
}
|
|
206
|
+
export type BulkUpdateResponse = ApiResponse<BulkUpdateResponseData>;
|
|
207
|
+
/** GET /api/tables/:table/seed/config */
|
|
208
|
+
export interface SeedConfigResponseData {
|
|
209
|
+
table: string;
|
|
210
|
+
columns: ColumnGeneratorConfig[];
|
|
211
|
+
maxRows: number;
|
|
212
|
+
}
|
|
213
|
+
export type SeedConfigResponse = ApiResponse<SeedConfigResponseData>;
|
|
214
|
+
/** POST /api/tables/:table/seed/generate */
|
|
215
|
+
export interface SeedGenerateRequestBody {
|
|
216
|
+
count?: number;
|
|
217
|
+
plan?: Record<string, ColumnPlan>;
|
|
218
|
+
}
|
|
219
|
+
export interface SeedGenerateResponseData {
|
|
220
|
+
table: string;
|
|
221
|
+
count: number;
|
|
222
|
+
sql: string;
|
|
223
|
+
previewRows?: Record<string, unknown>[];
|
|
224
|
+
warnings: string[];
|
|
225
|
+
}
|
|
226
|
+
export type SeedGenerateResponse = ApiResponse<SeedGenerateResponseData>;
|
|
227
|
+
/** POST /api/tables/:table/seed */
|
|
228
|
+
export interface SeedInsertRequestBody {
|
|
229
|
+
count?: number;
|
|
230
|
+
plan?: Record<string, ColumnPlan>;
|
|
231
|
+
truncate?: boolean;
|
|
232
|
+
}
|
|
233
|
+
export interface SeedInsertResponseData {
|
|
234
|
+
message: string;
|
|
235
|
+
inserted: number;
|
|
236
|
+
skipped: number;
|
|
237
|
+
warnings: string[];
|
|
238
|
+
elapsedMs?: number;
|
|
239
|
+
}
|
|
240
|
+
export type SeedInsertResponse = ApiResponse<SeedInsertResponseData>;
|
|
241
|
+
/** POST /api/tables */
|
|
242
|
+
export interface CreateTableRequestBody {
|
|
243
|
+
name: string;
|
|
244
|
+
columns: ColumnDef[];
|
|
245
|
+
}
|
|
246
|
+
export interface CreateTableResponseData {
|
|
247
|
+
message: string;
|
|
248
|
+
sql: string;
|
|
249
|
+
}
|
|
250
|
+
export type CreateTableResponse = ApiResponse<CreateTableResponseData>;
|
|
251
|
+
/** POST /api/tables/generate */
|
|
252
|
+
export interface GenerateCreateTableRequestBody {
|
|
253
|
+
name: string;
|
|
254
|
+
columns: ColumnDef[];
|
|
255
|
+
}
|
|
256
|
+
export interface GenerateCreateTableResponseData {
|
|
257
|
+
sql: string;
|
|
258
|
+
}
|
|
259
|
+
export type GenerateCreateTableResponse = ApiResponse<GenerateCreateTableResponseData>;
|
|
260
|
+
/** GET /api/tables/:table/schema */
|
|
261
|
+
export type GetSchemaResponseData = SchemaInfo;
|
|
262
|
+
export type GetSchemaResponse = ApiResponse<GetSchemaResponseData>;
|
|
263
|
+
/** POST /api/tables/:table/rename */
|
|
264
|
+
export interface RenameTableRequestBody {
|
|
265
|
+
name: string;
|
|
266
|
+
}
|
|
267
|
+
export interface RenameTableResponseData {
|
|
268
|
+
message: string;
|
|
269
|
+
sql: string;
|
|
270
|
+
table: string;
|
|
271
|
+
}
|
|
272
|
+
export type RenameTableResponse = ApiResponse<RenameTableResponseData>;
|
|
273
|
+
/** POST /api/tables/:table/columns */
|
|
274
|
+
export interface AddColumnRequestBody {
|
|
275
|
+
column: ColumnDef;
|
|
276
|
+
}
|
|
277
|
+
export interface AddColumnResponseData {
|
|
278
|
+
message: string;
|
|
279
|
+
sql: string;
|
|
280
|
+
}
|
|
281
|
+
export type AddColumnResponse = ApiResponse<AddColumnResponseData>;
|
|
282
|
+
/** PUT /api/tables/:table/columns/:column */
|
|
283
|
+
export interface RenameColumnRequestBody {
|
|
284
|
+
name: string;
|
|
285
|
+
}
|
|
286
|
+
export interface RenameColumnResponseData {
|
|
287
|
+
message: string;
|
|
288
|
+
sql: string;
|
|
289
|
+
}
|
|
290
|
+
export type RenameColumnResponse = ApiResponse<RenameColumnResponseData>;
|
|
291
|
+
/** DELETE /api/tables/:table/columns/:column */
|
|
292
|
+
export interface DropColumnResponseData {
|
|
293
|
+
message: string;
|
|
294
|
+
sql: string;
|
|
295
|
+
}
|
|
296
|
+
export type DropColumnResponse = ApiResponse<DropColumnResponseData>;
|
|
297
|
+
/** DELETE /api/tables/:table */
|
|
298
|
+
export interface DropTableResponseData {
|
|
299
|
+
message: string;
|
|
300
|
+
sql: string;
|
|
301
|
+
}
|
|
302
|
+
export type DropTableResponse = ApiResponse<DropTableResponseData>;
|
|
303
|
+
/** POST /api/tables/:table/indexes */
|
|
304
|
+
export interface CreateIndexRequestBody {
|
|
305
|
+
name?: string;
|
|
306
|
+
columns: string[];
|
|
307
|
+
unique?: boolean;
|
|
308
|
+
}
|
|
309
|
+
export interface CreateIndexResponseData {
|
|
310
|
+
message: string;
|
|
311
|
+
sql: string;
|
|
312
|
+
}
|
|
313
|
+
export type CreateIndexResponse = ApiResponse<CreateIndexResponseData>;
|
|
314
|
+
/** DELETE /api/tables/:table/indexes/:index */
|
|
315
|
+
export interface DropIndexResponseData {
|
|
316
|
+
message: string;
|
|
317
|
+
sql: string;
|
|
318
|
+
}
|
|
319
|
+
export type DropIndexResponse = ApiResponse<DropIndexResponseData>;
|
|
320
|
+
/** POST /api/query request */
|
|
321
|
+
export interface ExecuteQueryRequestBody {
|
|
322
|
+
sql: string;
|
|
323
|
+
}
|
|
324
|
+
/** Result when SQL is classified as COUNT */
|
|
325
|
+
export interface QueryCountResult {
|
|
326
|
+
kind: 'count';
|
|
327
|
+
count: number;
|
|
328
|
+
message: string;
|
|
329
|
+
}
|
|
330
|
+
/** Result when SQL is classified as SELECT / READ */
|
|
331
|
+
export interface QuerySelectResult {
|
|
332
|
+
kind: 'select';
|
|
333
|
+
columns: string[];
|
|
334
|
+
rows: Record<string, unknown>[];
|
|
335
|
+
}
|
|
336
|
+
/** Result when SQL is a write statement (INSERT, UPDATE, DELETE, DDL, Script) */
|
|
337
|
+
export interface QueryWriteResult {
|
|
338
|
+
kind: 'write';
|
|
339
|
+
changes: number | null;
|
|
340
|
+
message: string;
|
|
341
|
+
}
|
|
342
|
+
/** Discriminated union of all query results */
|
|
343
|
+
export type ExecuteQueryResponseData = QueryCountResult | QuerySelectResult | QueryWriteResult;
|
|
344
|
+
export type ExecuteQueryResponse = ApiResponse<ExecuteQueryResponseData>;
|
|
345
|
+
/** POST /api/query/export */
|
|
346
|
+
export interface ExportQueryRequestBody {
|
|
347
|
+
sql: string;
|
|
348
|
+
format?: 'csv' | 'json';
|
|
349
|
+
}
|
|
350
|
+
/** GET /api/queries */
|
|
351
|
+
export type ListSavedQueriesResponseData = SavedQuery[];
|
|
352
|
+
export type ListSavedQueriesResponse = ApiResponse<ListSavedQueriesResponseData>;
|
|
353
|
+
/** POST /api/queries */
|
|
354
|
+
export interface SaveQueryRequestBody {
|
|
355
|
+
name: string;
|
|
356
|
+
sql: string;
|
|
357
|
+
}
|
|
358
|
+
export interface SaveQueryResponseData {
|
|
359
|
+
message: string;
|
|
360
|
+
}
|
|
361
|
+
export type SaveQueryResponse = ApiResponse<SaveQueryResponseData>;
|
|
362
|
+
/** DELETE /api/queries/:id */
|
|
363
|
+
export interface DeleteSavedQueryResponseData {
|
|
364
|
+
message: string;
|
|
365
|
+
}
|
|
366
|
+
export type DeleteSavedQueryResponse = ApiResponse<DeleteSavedQueryResponseData>;
|
|
367
|
+
export interface DatabaseRow extends DatabaseEntry {
|
|
368
|
+
sizeLabel: string;
|
|
369
|
+
modifiedLabel: string;
|
|
370
|
+
tables: number;
|
|
371
|
+
}
|
|
372
|
+
/** GET /api/databases */
|
|
373
|
+
export type ListDatabasesResponseData = DatabaseRow[];
|
|
374
|
+
export type ListDatabasesResponse = ApiResponse<ListDatabasesResponseData>;
|
|
375
|
+
/** POST /api/databases */
|
|
376
|
+
export interface CreateDatabaseRequestBody {
|
|
377
|
+
name: string;
|
|
378
|
+
}
|
|
379
|
+
export interface CreateDatabaseResponseData {
|
|
380
|
+
id: string;
|
|
381
|
+
message: string;
|
|
382
|
+
}
|
|
383
|
+
export type CreateDatabaseResponse = ApiResponse<CreateDatabaseResponseData>;
|
|
384
|
+
/** POST /api/databases/open */
|
|
385
|
+
export interface OpenDatabaseRequestBody {
|
|
386
|
+
path: string;
|
|
387
|
+
}
|
|
388
|
+
export interface OpenDatabaseResponseData {
|
|
389
|
+
id: string;
|
|
390
|
+
message: string;
|
|
391
|
+
}
|
|
392
|
+
export type OpenDatabaseResponse = ApiResponse<OpenDatabaseResponseData>;
|
|
393
|
+
/** DELETE /api/databases/:id */
|
|
394
|
+
export interface DeleteDatabaseResponseData {
|
|
395
|
+
message: string;
|
|
396
|
+
}
|
|
397
|
+
export type DeleteDatabaseResponse = ApiResponse<DeleteDatabaseResponseData>;
|
|
398
|
+
export interface FsEntry {
|
|
399
|
+
name: string;
|
|
400
|
+
path: string;
|
|
401
|
+
isDir: boolean;
|
|
402
|
+
isDb: boolean;
|
|
403
|
+
size: number;
|
|
404
|
+
}
|
|
405
|
+
/** GET /api/fs/list */
|
|
406
|
+
export interface ListFsResponseData {
|
|
407
|
+
path: string;
|
|
408
|
+
name: string;
|
|
409
|
+
parent: string | null;
|
|
410
|
+
entries: FsEntry[];
|
|
411
|
+
}
|
|
412
|
+
export type ListFsResponse = ApiResponse<ListFsResponseData>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AdminDB — Strongly typed API request and response interfaces.
|
|
4
|
+
*
|
|
5
|
+
* Every REST API endpoint returns a standardized envelope:
|
|
6
|
+
* `{ success: true, data: T }` on success, or `{ success: false, error: string }` on failure.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|