admindb 1.2.1 → 2.1.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 +262 -329
- 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 -146
- package/dist/db/database.js +208 -461
- 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 +74 -11
- 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 +55 -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 +185 -52
- package/dist/public/js/seed.js +865 -152
- 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 +157 -64
- 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 +7 -3
- package/dist/sql/generator.js +144 -7
- 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 +40 -11
- package/dist/views/pages/databases.hbs +182 -74
- package/dist/views/pages/designer.hbs +29 -11
- 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 +8 -6
- package/dist/views/pages/schema.hbs +41 -13
- package/dist/views/pages/seed.hbs +200 -54
- package/dist/views/pages/table.hbs +152 -72
- package/dist/views/partials/icon.hbs +2 -0
- package/dist/views/partials/navbar.hbs +69 -25
- package/dist/views/partials/sidebar.hbs +108 -94
- package/docs/API.md +144 -0
- package/docs/EXAMPLES.md +576 -0
- package/docs/SECURITY.md +265 -0
- package/package.json +15 -4
- 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/data/generator.d.ts +0 -86
- package/dist/data/generator.js +0 -1031
- package/dist/data/generator.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 -848
- 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/routes/pages.js
CHANGED
|
@@ -3,17 +3,85 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.registerPages = registerPages;
|
|
4
4
|
const export_1 = require("../db/export");
|
|
5
5
|
const generator_1 = require("../sql/generator");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const common_1 = require("../utils/common");
|
|
7
|
+
const datatype_1 = require("../utils/datatype");
|
|
8
|
+
const index_1 = require("../data/index");
|
|
9
|
+
function buildDisplayRows(rawRows, info, table, basePath = '') {
|
|
10
|
+
const pkCols = info.primaryKey.length ? info.primaryKey : ['_rowid_'];
|
|
11
|
+
return rawRows.map((row) => {
|
|
12
|
+
const pkEncoded = (0, common_1.encodePk)(pkCols.map((c) => row[c]));
|
|
13
|
+
return {
|
|
14
|
+
cells: info.columns.map((c) => {
|
|
15
|
+
const raw = row[c.name];
|
|
16
|
+
const v = (0, common_1.normalizeCell)(raw);
|
|
17
|
+
const isNull = v == null;
|
|
18
|
+
const typeUpper = (c.type || '').toUpperCase();
|
|
19
|
+
const isBlob = typeUpper.includes('BLOB') || typeUpper.includes('BYTEA') || Buffer.isBuffer(raw) || raw instanceof Uint8Array || (typeof v === 'string' && (/^0x[0-9a-f]{8,}$/i.test(v) || /^\\x[0-9a-f]{8,}$/i.test(v)));
|
|
20
|
+
let isJson = false;
|
|
21
|
+
let isImage = false;
|
|
22
|
+
let isUrl = false;
|
|
23
|
+
let isColor = false;
|
|
24
|
+
let blobSize = '';
|
|
25
|
+
let blobMime = '';
|
|
26
|
+
let blobExt = '';
|
|
27
|
+
let blobUrl = '';
|
|
28
|
+
if (!isNull) {
|
|
29
|
+
const str = String(v);
|
|
30
|
+
if (isBlob) {
|
|
31
|
+
let buf;
|
|
32
|
+
if (Buffer.isBuffer(raw) || raw instanceof Uint8Array) {
|
|
33
|
+
buf = Buffer.isBuffer(raw) ? raw : Buffer.from(raw);
|
|
34
|
+
}
|
|
35
|
+
else if (typeof v === 'string' && /^0x[0-9a-f]*$/i.test(v)) {
|
|
36
|
+
buf = Buffer.from(v.slice(2), 'hex');
|
|
37
|
+
}
|
|
38
|
+
else if (typeof v === 'string' && /^\\x[0-9a-f]*$/i.test(v)) {
|
|
39
|
+
buf = Buffer.from(v.slice(2), 'hex');
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
buf = Buffer.from(str, 'utf8');
|
|
43
|
+
}
|
|
44
|
+
const mimeInfo = (0, datatype_1.sniffMimeType)(buf);
|
|
45
|
+
blobSize = (0, common_1.formatBytes)(buf.length);
|
|
46
|
+
blobMime = mimeInfo.mime;
|
|
47
|
+
blobExt = mimeInfo.ext;
|
|
48
|
+
isImage = mimeInfo.isImage;
|
|
49
|
+
if (table && pkEncoded) {
|
|
50
|
+
blobUrl = `${basePath}/api/tables/${encodeURIComponent(table)}/row/${encodeURIComponent(pkEncoded)}/blob/${encodeURIComponent(c.name)}`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if ((0, datatype_1.isJsonString)(v) || typeUpper.includes('JSON')) {
|
|
54
|
+
isJson = (0, datatype_1.isJsonString)(v);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (/^https?:\/\/[^\s$.?#].[^\s]*$/i.test(str)) {
|
|
58
|
+
isUrl = true;
|
|
59
|
+
}
|
|
60
|
+
else if (/^#(?:[0-9a-fA-F]{3}){1,2}$|^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+/i.test(str)) {
|
|
61
|
+
isColor = true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
name: c.name,
|
|
67
|
+
value: v,
|
|
68
|
+
isNull,
|
|
69
|
+
display: isNull ? '' : String(v),
|
|
70
|
+
type: c.type,
|
|
71
|
+
isBlob,
|
|
72
|
+
isJson,
|
|
73
|
+
isImage,
|
|
74
|
+
isUrl,
|
|
75
|
+
isColor,
|
|
76
|
+
blobSize,
|
|
77
|
+
blobMime,
|
|
78
|
+
blobExt,
|
|
79
|
+
blobUrl,
|
|
80
|
+
};
|
|
81
|
+
}),
|
|
82
|
+
pkEncoded,
|
|
83
|
+
};
|
|
84
|
+
});
|
|
17
85
|
}
|
|
18
86
|
function registerPages(router, ctx) {
|
|
19
87
|
const { db } = ctx;
|
|
@@ -21,23 +89,43 @@ function registerPages(router, ctx) {
|
|
|
21
89
|
res.status(404).render('pages/error', { title: 'Not found', status: 404, error: message });
|
|
22
90
|
};
|
|
23
91
|
// Home / browse overview.
|
|
24
|
-
router.get('/', async (
|
|
92
|
+
router.get('/', async (_req, res, next) => {
|
|
25
93
|
try {
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
94
|
+
const names = res.locals.tables ?? [];
|
|
95
|
+
const internalNames = res.locals.internalTables ?? [];
|
|
96
|
+
let colCountsMap = {};
|
|
97
|
+
if (db.dialect === 'postgres') {
|
|
98
|
+
const colRes = await db.all(`SELECT table_name, count(*)::int AS cols FROM information_schema.columns WHERE table_schema = 'public' GROUP BY table_name;`);
|
|
99
|
+
if (colRes.success && colRes.data) {
|
|
100
|
+
for (const row of colRes.data) {
|
|
101
|
+
if (row && typeof row.table_name === 'string') {
|
|
102
|
+
colCountsMap[row.table_name] = Number(row.cols ?? 0);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const [stats, saved] = await Promise.all([
|
|
108
|
+
Promise.all(names.map(async (name) => {
|
|
109
|
+
const countR = await db.getRowCount(name);
|
|
110
|
+
const cols = colCountsMap[name] !== undefined
|
|
111
|
+
? colCountsMap[name]
|
|
112
|
+
: (await db.getTableInfo(name)).data?.columns.length ?? 0;
|
|
113
|
+
return {
|
|
114
|
+
name,
|
|
115
|
+
count: countR.success ? countR.data : 0,
|
|
116
|
+
cols,
|
|
117
|
+
};
|
|
118
|
+
})),
|
|
119
|
+
db.listSavedQueries(),
|
|
120
|
+
]);
|
|
30
121
|
const counts = {};
|
|
31
122
|
const cols = {};
|
|
32
123
|
let totalRows = 0;
|
|
33
|
-
for (const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
totalRows +=
|
|
37
|
-
const info = await db.getTableInfo(name);
|
|
38
|
-
cols[name] = info.success ? (info.data?.columns.length ?? 0) : 0;
|
|
124
|
+
for (const s of stats) {
|
|
125
|
+
counts[s.name] = s.count;
|
|
126
|
+
cols[s.name] = s.cols;
|
|
127
|
+
totalRows += s.count;
|
|
39
128
|
}
|
|
40
|
-
const saved = await db.listSavedQueries();
|
|
41
129
|
res.render('pages/home', {
|
|
42
130
|
title: 'Home',
|
|
43
131
|
tables: names,
|
|
@@ -65,10 +153,13 @@ function registerPages(router, ctx) {
|
|
|
65
153
|
const pageSize = Math.max(1, Number.parseInt(String(req.query.size ?? '50'), 10) || 50);
|
|
66
154
|
const orderBy = req.query.orderBy ? String(req.query.orderBy) : undefined;
|
|
67
155
|
const orderDir = String(req.query.orderDir ?? 'asc').toLowerCase() === 'desc' ? 'desc' : 'asc';
|
|
68
|
-
const filters = (0,
|
|
69
|
-
const filterQS = (0,
|
|
70
|
-
const countR = await
|
|
71
|
-
|
|
156
|
+
const filters = (0, common_1.parseFilters)(req.query.f);
|
|
157
|
+
const filterQS = (0, common_1.filtersToQS)(filters);
|
|
158
|
+
const [countR, rowsR, refsR] = await Promise.all([
|
|
159
|
+
db.getRowCount(table, filters),
|
|
160
|
+
db.getRows(table, { page, limit: pageSize, orderBy, orderDir, filters }),
|
|
161
|
+
db.getReferencingTables(table),
|
|
162
|
+
]);
|
|
72
163
|
const count = countR.success ? countR.data : 0;
|
|
73
164
|
const rawRows = (rowsR.data ?? []);
|
|
74
165
|
const pages = Math.max(1, Math.ceil(count / pageSize));
|
|
@@ -87,32 +178,28 @@ function registerPages(router, ctx) {
|
|
|
87
178
|
href: `${basePath}/tables/${encodeURIComponent(table)}?${qs}${filterQS ? '&' + filterQS : ''}`,
|
|
88
179
|
};
|
|
89
180
|
});
|
|
90
|
-
// Every table with a foreign key pointing at this one gets its own column
|
|
91
|
-
// at the end of the grid; each cell shows how many of its rows reference
|
|
92
|
-
// that particular row (click to expand the referencing rows inline).
|
|
93
|
-
const refsR = await db.getReferencingTables(table);
|
|
94
181
|
const refColumns = (refsR.data ?? [])
|
|
95
182
|
.filter((r) => !r.table.startsWith('_'))
|
|
96
183
|
.map((rt) => {
|
|
97
184
|
const ref = rt.refs[0];
|
|
98
185
|
return { table: rt.table, from: ref?.from ?? '', to: ref?.to ?? '' };
|
|
99
186
|
});
|
|
100
|
-
// Per-row reference counts:
|
|
101
|
-
const
|
|
102
|
-
for (const col of refColumns) {
|
|
187
|
+
// Per-row reference counts: parallel query per referencing table.
|
|
188
|
+
const countEntries = await Promise.all(refColumns.map(async (col) => {
|
|
103
189
|
const values = rawRows
|
|
104
190
|
.map((r) => r[col.to])
|
|
105
191
|
.filter((v) => v !== null && v !== undefined);
|
|
106
192
|
if (!values.length)
|
|
107
|
-
|
|
193
|
+
return [col.table, new Map()];
|
|
108
194
|
const placeholders = values.map(() => '?').join(', ');
|
|
109
195
|
const cR = await db.all(`SELECT ${(0, generator_1.quoteIdentifier)(col.from)} AS fk, COUNT(*) AS c FROM ${(0, generator_1.quoteIdentifier)(col.table)} WHERE ${(0, generator_1.quoteIdentifier)(col.from)} IN (${placeholders}) GROUP BY ${(0, generator_1.quoteIdentifier)(col.from)}`, values);
|
|
110
196
|
const map = new Map();
|
|
111
197
|
for (const row of (cR.data ?? []))
|
|
112
198
|
map.set(String(row.fk), Number(row.c));
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
const
|
|
199
|
+
return [col.table, map];
|
|
200
|
+
}));
|
|
201
|
+
const countMap = new Map(countEntries);
|
|
202
|
+
const rows = buildDisplayRows(rawRows, info.data, table, basePath).map((dr, i) => {
|
|
116
203
|
const raw = rawRows[i];
|
|
117
204
|
const refs = refColumns.map((col) => {
|
|
118
205
|
const v = raw[col.to];
|
|
@@ -120,8 +207,8 @@ function registerPages(router, ctx) {
|
|
|
120
207
|
table: col.table,
|
|
121
208
|
from: col.from,
|
|
122
209
|
to: col.to,
|
|
123
|
-
value: v
|
|
124
|
-
count: v
|
|
210
|
+
value: v == null ? '' : String(v),
|
|
211
|
+
count: v == null ? 0 : (countMap.get(col.table)?.get(String(v)) ?? 0),
|
|
125
212
|
};
|
|
126
213
|
});
|
|
127
214
|
return { ...dr, refs };
|
|
@@ -140,7 +227,7 @@ function registerPages(router, ctx) {
|
|
|
140
227
|
colNames: info.data.columns.map((c) => c.name),
|
|
141
228
|
colHeaders,
|
|
142
229
|
refColumns,
|
|
143
|
-
hasPk:
|
|
230
|
+
hasPk: true,
|
|
144
231
|
orderBy: orderBy ?? '',
|
|
145
232
|
orderDir,
|
|
146
233
|
sizes,
|
|
@@ -151,8 +238,8 @@ function registerPages(router, ctx) {
|
|
|
151
238
|
browseConfig: {
|
|
152
239
|
table,
|
|
153
240
|
filters,
|
|
154
|
-
pkCols: info.data.primaryKey,
|
|
155
|
-
hasPk:
|
|
241
|
+
pkCols: info.data.primaryKey.length ? info.data.primaryKey : ['_rowid_'],
|
|
242
|
+
hasPk: true,
|
|
156
243
|
readonly: db.isReadOnly,
|
|
157
244
|
},
|
|
158
245
|
});
|
|
@@ -165,11 +252,10 @@ function registerPages(router, ctx) {
|
|
|
165
252
|
router.get('/tables/:table/schema', async (req, res, next) => {
|
|
166
253
|
try {
|
|
167
254
|
const table = req.params.table;
|
|
168
|
-
const info = await db.getTableInfo(table);
|
|
255
|
+
const [info, schema] = await Promise.all([db.getTableInfo(table), db.getSchema(table)]);
|
|
169
256
|
if (!info.success || !info.data || info.data.columns.length === 0) {
|
|
170
257
|
return notFound(res, `Table "${table}" does not exist.`);
|
|
171
258
|
}
|
|
172
|
-
const schema = await db.getSchema(table);
|
|
173
259
|
if (!schema.success || !schema.data) {
|
|
174
260
|
return notFound(res, schema.error ?? 'Failed to load schema.');
|
|
175
261
|
}
|
|
@@ -179,37 +265,42 @@ function registerPages(router, ctx) {
|
|
|
179
265
|
table,
|
|
180
266
|
schema: schema.data,
|
|
181
267
|
isInternal: table.startsWith('_'),
|
|
182
|
-
|
|
268
|
+
dialect: db.dialect,
|
|
269
|
+
isSqlite: db.dialect === 'sqlite',
|
|
270
|
+
isPostgres: db.dialect === 'postgres',
|
|
271
|
+
config: { table, isInternal: table.startsWith('_'), dialect: db.dialect },
|
|
183
272
|
});
|
|
184
273
|
}
|
|
185
274
|
catch (err) {
|
|
186
275
|
next(err);
|
|
187
276
|
}
|
|
188
277
|
});
|
|
189
|
-
// Data generator / seeder
|
|
190
|
-
// insert generated rows (or preview the SQL).
|
|
278
|
+
// Data generator / seeder.
|
|
191
279
|
router.get('/tables/:table/seed', async (req, res, next) => {
|
|
192
280
|
try {
|
|
193
281
|
const table = req.params.table;
|
|
194
|
-
const info = await db.getTableInfo(table);
|
|
282
|
+
const [info, countRes] = await Promise.all([db.getTableInfo(table), db.getRowCount(table)]);
|
|
195
283
|
if (!info.success || !info.data || info.data.columns.length === 0) {
|
|
196
284
|
return notFound(res, `Table "${table}" does not exist.`);
|
|
197
285
|
}
|
|
198
|
-
const
|
|
286
|
+
const rowCount = countRes.success ? countRes.data : 0;
|
|
287
|
+
const columns = (0, index_1.buildColumnConfigs)(info.data);
|
|
199
288
|
res.locals.currentTable = table;
|
|
200
289
|
res.render('pages/seed', {
|
|
201
290
|
title: `Seed data · ${table}`,
|
|
202
291
|
table,
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
292
|
+
rowCount,
|
|
293
|
+
colCount: info.data.columns.length,
|
|
294
|
+
maxRows: index_1.MAX_SEED_ROWS,
|
|
295
|
+
quickCounts: [10, 50, 100, 500, 1000, index_1.MAX_SEED_ROWS],
|
|
296
|
+
seedConfig: { table, columns, rowCount, maxRows: index_1.MAX_SEED_ROWS },
|
|
206
297
|
});
|
|
207
298
|
}
|
|
208
299
|
catch (err) {
|
|
209
300
|
next(err);
|
|
210
301
|
}
|
|
211
302
|
});
|
|
212
|
-
// Insert form
|
|
303
|
+
// Insert form.
|
|
213
304
|
router.get('/tables/:table/rows/new', async (req, res, next) => {
|
|
214
305
|
try {
|
|
215
306
|
const table = req.params.table;
|
|
@@ -241,23 +332,20 @@ function registerPages(router, ctx) {
|
|
|
241
332
|
if (!info.success || !info.data || info.data.columns.length === 0) {
|
|
242
333
|
return notFound(res, `Table "${table}" does not exist.`);
|
|
243
334
|
}
|
|
244
|
-
const pkColumns = info.data.primaryKey;
|
|
245
|
-
|
|
246
|
-
return notFound(res, `Table "${table}" has no primary key, so rows cannot be edited from the UI.`);
|
|
247
|
-
}
|
|
248
|
-
const pk = (0, util_1.decodePk)(req.params.id);
|
|
335
|
+
const pkColumns = info.data.primaryKey.length ? info.data.primaryKey : ['_rowid_'];
|
|
336
|
+
const pk = (0, common_1.decodePk)(req.params.id);
|
|
249
337
|
if (pk.length !== pkColumns.length) {
|
|
250
|
-
return notFound(res, 'Invalid
|
|
338
|
+
return notFound(res, 'Invalid row identifier.');
|
|
251
339
|
}
|
|
252
340
|
res.locals.currentTable = table;
|
|
253
341
|
res.render('pages/form', {
|
|
254
342
|
title: `Edit row · ${table}`,
|
|
255
343
|
table,
|
|
256
344
|
mode: 'edit',
|
|
257
|
-
pk,
|
|
345
|
+
pk: req.params.id,
|
|
258
346
|
pkColumns,
|
|
259
|
-
infoSummary: `${info.data.columns.length} column(s) · PK: ${
|
|
260
|
-
config: { table, mode: 'edit', pk, pkColumns },
|
|
347
|
+
infoSummary: `${info.data.columns.length} column(s)` + (info.data.primaryKey.length ? ` · PK: ${info.data.primaryKey.join(', ')}` : ''),
|
|
348
|
+
config: { table, mode: 'edit', pk: req.params.id, pkColumns },
|
|
261
349
|
});
|
|
262
350
|
}
|
|
263
351
|
catch (err) {
|
|
@@ -266,7 +354,12 @@ function registerPages(router, ctx) {
|
|
|
266
354
|
});
|
|
267
355
|
// Table designer.
|
|
268
356
|
router.get('/designer', (_req, res) => {
|
|
269
|
-
res.render('pages/designer', {
|
|
357
|
+
res.render('pages/designer', {
|
|
358
|
+
title: 'New table',
|
|
359
|
+
dialect: db.dialect,
|
|
360
|
+
isSqlite: db.dialect === 'sqlite',
|
|
361
|
+
isPostgres: db.dialect === 'postgres',
|
|
362
|
+
});
|
|
270
363
|
});
|
|
271
364
|
// Query editor.
|
|
272
365
|
router.get('/query', async (_req, res, next) => {
|
package/dist/routes/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/routes/pages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/routes/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import { type AppOptions } from './app';
|
|
3
|
+
/**
|
|
4
|
+
* Detects if the current process is running in a serverless environment
|
|
5
|
+
* (e.g. Vercel, AWS Lambda, Netlify Functions, Google Cloud Functions/Run, Azure Functions, Cloudflare Pages).
|
|
6
|
+
*/
|
|
7
|
+
export declare function isServerlessEnvironment(env?: NodeJS.ProcessEnv): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Creates an HTTP request listener for standard Node.js serverless runtimes
|
|
10
|
+
* (Vercel API routes, Next.js custom route handlers, Google Cloud Functions, Azure Functions, Micro).
|
|
11
|
+
*
|
|
12
|
+
* In serverless mode, all write operations and database mutations are strictly disabled.
|
|
13
|
+
*
|
|
14
|
+
* Example (Vercel `api/index.ts`):
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { createServerlessHandler } from 'admindb';
|
|
17
|
+
* export default createServerlessHandler({ dbPath: './data.db' });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function createServerlessHandler(options?: AppOptions): (req: IncomingMessage, res: ServerResponse) => void;
|
|
21
|
+
export interface LambdaProxyResult {
|
|
22
|
+
statusCode: number;
|
|
23
|
+
headers: Record<string, string>;
|
|
24
|
+
multiValueHeaders?: Record<string, string[]>;
|
|
25
|
+
body: string;
|
|
26
|
+
isBase64Encoded: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates an AWS Lambda handler for API Gateway (REST v1 and HTTP v2 payloads).
|
|
30
|
+
*
|
|
31
|
+
* In serverless mode, SQLite databases are read-only, while remote PostgreSQL
|
|
32
|
+
* connections are editable unless configured otherwise.
|
|
33
|
+
*
|
|
34
|
+
* Example (AWS Lambda `index.ts`):
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { createLambdaHandler } from 'admindb';
|
|
37
|
+
* export const handler = createLambdaHandler({ dbPath: './data.db' });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function createLambdaHandler(options?: AppOptions): (event: any, _context?: any) => Promise<LambdaProxyResult>;
|