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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/data/strategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { ForeignKeyInfo, WhereClause } from '../db/database';
|
|
2
|
+
/** Hard cap on how many rows a single seed run may generate. */
|
|
3
|
+
export declare const MAX_SEED_ROWS = 5000;
|
|
4
|
+
export type StrategyCategory = 'identity' | 'contact_web' | 'commerce' | 'location' | 'numeric' | 'datetime' | 'system_crypto' | 'custom_control' | 'relational';
|
|
5
|
+
export type GeneratorStrategyId = 'skip' | 'null' | 'fixed' | 'list' | 'pattern' | 'first' | 'last' | 'fullname' | 'username' | 'job' | 'email' | 'phone' | 'url' | 'domain' | 'ip' | 'avatar' | 'company' | 'currency' | 'status' | 'creditCard' | 'city' | 'country' | 'state' | 'postal' | 'address' | 'countryCode' | 'latitude' | 'longitude' | 'words' | 'sentence' | 'paragraph' | 'slug' | 'int' | 'decimal' | 'sequence' | 'date' | 'datetime' | 'time' | 'timestampUnix' | 'bool' | 'bytes' | 'json' | 'hash' | 'token' | 'uuid' | 'color' | 'mac' | 'fk';
|
|
6
|
+
/** Per-column generator settings. Which options are meaningful depends on `strategy`. */
|
|
7
|
+
export interface ColumnPlan {
|
|
8
|
+
strategy: GeneratorStrategyId;
|
|
9
|
+
/** `fixed` / `list` and the string-ish options. */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** `list` — random value picked from this set. */
|
|
12
|
+
values?: string[];
|
|
13
|
+
/** `int` / `decimal` / `latitude` / `longitude` range. */
|
|
14
|
+
min?: number;
|
|
15
|
+
max?: number;
|
|
16
|
+
/** `decimal` — digits after the decimal point. */
|
|
17
|
+
precision?: number;
|
|
18
|
+
/** `date` / `datetime` / `timestampUnix` bounds (ISO strings). */
|
|
19
|
+
from?: string;
|
|
20
|
+
to?: string;
|
|
21
|
+
/** `words` / `bytes` / `hash` / `token` / `sentence` — length bounds. */
|
|
22
|
+
minLen?: number;
|
|
23
|
+
maxLen?: number;
|
|
24
|
+
/** `json` — object keys to include (comma-separated in the UI). */
|
|
25
|
+
jsonKeys?: string[];
|
|
26
|
+
/** `json` — per-key allowed values, derived from CHECK constraints. */
|
|
27
|
+
jsonValues?: Record<string, string[]>;
|
|
28
|
+
/** Percentage chance (0 to 100) to generate NULL for nullable columns. */
|
|
29
|
+
nullPct?: number;
|
|
30
|
+
/** Optional string prefix to prepend to generated string/text values. */
|
|
31
|
+
prefix?: string;
|
|
32
|
+
/** Optional string suffix to append to generated string/text values. */
|
|
33
|
+
suffix?: string;
|
|
34
|
+
/** Sequence start (for `sequence` strategy). */
|
|
35
|
+
start?: number;
|
|
36
|
+
/** Sequence step increment (for `sequence` strategy). */
|
|
37
|
+
step?: number;
|
|
38
|
+
/** Custom pattern template with tokens (for `pattern` strategy). */
|
|
39
|
+
pattern?: string;
|
|
40
|
+
/** Format variation (e.g. 'hex' | 'name' for color, 'sec' | 'ms' for unix timestamp). */
|
|
41
|
+
format?: string;
|
|
42
|
+
}
|
|
43
|
+
/** A strategy choice offered to the UI for a column. */
|
|
44
|
+
export interface StrategyDescriptor {
|
|
45
|
+
id: GeneratorStrategyId;
|
|
46
|
+
label: string;
|
|
47
|
+
category: StrategyCategory;
|
|
48
|
+
description?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Everything the "Seed data" page needs to render one column's controls. */
|
|
51
|
+
export interface ColumnGeneratorConfig {
|
|
52
|
+
name: string;
|
|
53
|
+
type: string;
|
|
54
|
+
pk: boolean;
|
|
55
|
+
notnull: boolean;
|
|
56
|
+
hasDefault: boolean;
|
|
57
|
+
/** True when a single-column UNIQUE index enforces uniqueness on this column. */
|
|
58
|
+
unique: boolean;
|
|
59
|
+
/** The foreign key this column participates in (as the child), if any. */
|
|
60
|
+
fk: ForeignKeyInfo | null;
|
|
61
|
+
strategies: StrategyDescriptor[];
|
|
62
|
+
defaultPlan: ColumnPlan;
|
|
63
|
+
}
|
|
64
|
+
export interface GenerateResult {
|
|
65
|
+
/** One entry per generated row: the columns/values to bind (skipped columns are absent). */
|
|
66
|
+
rows: WhereClause[][];
|
|
67
|
+
/** Structured row records for interactive UI table preview. */
|
|
68
|
+
previewRows: Record<string, unknown>[];
|
|
69
|
+
/** Non-fatal notes surfaced to the user (e.g. a NOT NULL column being skipped). */
|
|
70
|
+
warnings: string[];
|
|
71
|
+
}
|
|
72
|
+
/** Sentinel returned by value generation when the column should be omitted from the row. */
|
|
73
|
+
export declare const SKIP: unique symbol;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKIP = exports.MAX_SEED_ROWS = void 0;
|
|
4
|
+
/** Hard cap on how many rows a single seed run may generate. */
|
|
5
|
+
exports.MAX_SEED_ROWS = 5000;
|
|
6
|
+
/** Sentinel returned by value generation when the column should be omitted from the row. */
|
|
7
|
+
exports.SKIP = Symbol('skip');
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":";;;AAEA,gEAAgE;AACnD,QAAA,aAAa,GAAG,IAAI,CAAC;AA+IlC,4FAA4F;AAC/E,QAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/db/database.d.ts
CHANGED
|
@@ -1,131 +1,26 @@
|
|
|
1
|
-
import type { Logger } from '../logger';
|
|
1
|
+
import type { Logger } from '../utils/logger';
|
|
2
2
|
import { type ColumnDef, type IndexDef } from '../sql/generator';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
/** SQLite-compatible bind value accepted by better-sqlite3 statements. */
|
|
7
|
-
export type SQLInputValue = null | number | bigint | string | Uint8Array;
|
|
8
|
-
export interface Result<T = unknown> {
|
|
9
|
-
success: boolean;
|
|
10
|
-
data?: T;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface TableListItem {
|
|
14
|
-
name: string;
|
|
15
|
-
}
|
|
16
|
-
export interface ColumnInfo {
|
|
17
|
-
cid: number;
|
|
18
|
-
name: string;
|
|
19
|
-
type: string;
|
|
20
|
-
notnull: number;
|
|
21
|
-
dflt_value: string | null;
|
|
22
|
-
pk: number;
|
|
23
|
-
}
|
|
24
|
-
export interface ForeignKeyInfo {
|
|
25
|
-
id: number;
|
|
26
|
-
seq: number;
|
|
27
|
-
table: string;
|
|
28
|
-
from: string;
|
|
29
|
-
to: string | null;
|
|
30
|
-
on_update: string;
|
|
31
|
-
on_delete: string;
|
|
32
|
-
}
|
|
33
|
-
export interface TableInfoData {
|
|
34
|
-
table: string;
|
|
35
|
-
columns: ColumnInfo[];
|
|
36
|
-
foreignKeys: ForeignKeyInfo[];
|
|
37
|
-
primaryKey: string[];
|
|
38
|
-
/** Indexes (including UNIQUE / JSON-expression indexes) — used by the data generator. */
|
|
39
|
-
indexes: IndexInfo[];
|
|
40
|
-
/** The table's `CREATE TABLE` statement (used to parse CHECK constraints). */
|
|
41
|
-
sql: string | null;
|
|
42
|
-
}
|
|
43
|
-
export interface SavedQuery {
|
|
44
|
-
id: number;
|
|
45
|
-
name: string;
|
|
46
|
-
sql: string;
|
|
47
|
-
created_at: string;
|
|
48
|
-
}
|
|
49
|
-
export interface WhereClause {
|
|
50
|
-
column: string;
|
|
51
|
-
value: unknown;
|
|
52
|
-
}
|
|
53
|
-
export interface IndexInfo {
|
|
54
|
-
name: string;
|
|
55
|
-
unique: boolean;
|
|
56
|
-
partial: number;
|
|
57
|
-
/** Index origin: 'c' = explicit CREATE INDEX, 'pk'/'u' = automatic (primary key / unique). */
|
|
58
|
-
origin: string;
|
|
59
|
-
columns: string[];
|
|
60
|
-
/** The `CREATE INDEX` statement from sqlite_master, when available. */
|
|
61
|
-
sql?: string | null;
|
|
62
|
-
}
|
|
63
|
-
export interface RowFilters {
|
|
64
|
-
[column: string]: FilterValue;
|
|
65
|
-
}
|
|
66
|
-
export interface ColumnDetail extends ColumnInfo {
|
|
67
|
-
unique: boolean;
|
|
68
|
-
indexed: boolean;
|
|
69
|
-
/** Foreign keys in OTHER tables whose referenced column is this column. */
|
|
70
|
-
referencedBy: {
|
|
71
|
-
table: string;
|
|
72
|
-
from: string;
|
|
73
|
-
}[];
|
|
74
|
-
/** The foreign key this column participates in (as the child), if any. */
|
|
75
|
-
fk: ForeignKeyInfo | null;
|
|
76
|
-
canDrop: boolean;
|
|
77
|
-
dropBlockers: string[];
|
|
78
|
-
}
|
|
79
|
-
export interface SchemaInfo {
|
|
80
|
-
table: string;
|
|
81
|
-
columns: ColumnDetail[];
|
|
82
|
-
foreignKeys: ForeignKeyInfo[];
|
|
83
|
-
indexes: IndexInfo[];
|
|
84
|
-
/** Foreign keys in other tables that reference this table. */
|
|
85
|
-
references: {
|
|
86
|
-
table: string;
|
|
87
|
-
from: string;
|
|
88
|
-
to: string;
|
|
89
|
-
}[];
|
|
90
|
-
}
|
|
91
|
-
export interface ReferencingTableInfo {
|
|
92
|
-
table: string;
|
|
93
|
-
/** FK columns in `table` that point at this table (`from` → `to`). */
|
|
94
|
-
refs: {
|
|
95
|
-
from: string;
|
|
96
|
-
to: string;
|
|
97
|
-
}[];
|
|
98
|
-
/** Rows in `table` whose FK column(s) actually reference this table. */
|
|
99
|
-
refCount: number;
|
|
100
|
-
}
|
|
101
|
-
export declare const INTERNAL_TABLES: {
|
|
102
|
-
readonly savedQueries: "_saved_queries";
|
|
103
|
-
};
|
|
104
|
-
export declare function buildFilterClause(filters: RowFilters | undefined, availableCols: string[]): {
|
|
105
|
-
where: string;
|
|
106
|
-
params: SQLInputValue[];
|
|
107
|
-
};
|
|
3
|
+
import type { DatabaseDialect, DbOpenOptions, IDatabase, ReferencingTableInfo, Result, RowFilters, SavedQuery, SchemaInfo, SQLInputValue, TableInfoData, TableListItem, WhereClause } from './types';
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './filters';
|
|
108
6
|
/**
|
|
109
7
|
* Promise-style wrapper around the better-sqlite3 driver.
|
|
110
8
|
* Every call returns a consistent `{ success, data?, error? }` shape and
|
|
111
9
|
* performs one-time, idempotent schema initialization.
|
|
112
10
|
*/
|
|
113
|
-
export
|
|
114
|
-
/** Open the database read-only: every write is rejected. */
|
|
115
|
-
readonly?: boolean;
|
|
116
|
-
}
|
|
117
|
-
export declare class SqliteDatabase {
|
|
11
|
+
export declare class SqliteDatabase implements IDatabase {
|
|
118
12
|
private db;
|
|
119
13
|
private logger;
|
|
120
14
|
readonly path: string;
|
|
121
|
-
/** True when this database was opened in read-only mode. */
|
|
122
15
|
readonly isReadOnly: boolean;
|
|
16
|
+
readonly dialect: DatabaseDialect;
|
|
123
17
|
constructor(dbPath: string, logger: Logger, options?: DbOpenOptions);
|
|
124
|
-
/** Standard error returned for every write attempt in read-only mode. */
|
|
125
18
|
private readonlyBlocked;
|
|
126
19
|
close(): void;
|
|
127
20
|
private initSchema;
|
|
128
21
|
private tryRun;
|
|
22
|
+
/** Run an atomic transaction. Reverts on any error and enforces read-only mode. */
|
|
23
|
+
private transaction;
|
|
129
24
|
private toBind;
|
|
130
25
|
all(sql: string, params?: SQLInputValue[]): Promise<Result<unknown[]>>;
|
|
131
26
|
run(sql: string, params?: SQLInputValue[]): Promise<Result<{
|
|
@@ -135,13 +30,7 @@ export declare class SqliteDatabase {
|
|
|
135
30
|
execResult(sql: string): Promise<Result<{
|
|
136
31
|
changes?: number;
|
|
137
32
|
}>>;
|
|
138
|
-
/**
|
|
139
|
-
* True when `sql` contains more than one statement. Detection is delegated to
|
|
140
|
-
* SQLite itself via `prepare()` (which refuses multi-statement strings), so
|
|
141
|
-
* comments, string literals and quoted identifiers are handled correctly.
|
|
142
|
-
*/
|
|
143
33
|
hasMultipleStatements(sql: string): boolean;
|
|
144
|
-
/** Run a write statement, reporting row changes when it is a single statement. */
|
|
145
34
|
runWrite(sql: string): Promise<Result<{
|
|
146
35
|
changes?: number;
|
|
147
36
|
}>>;
|
|
@@ -161,7 +50,7 @@ export declare class SqliteDatabase {
|
|
|
161
50
|
changes: number;
|
|
162
51
|
lastInsertRowid: number | null;
|
|
163
52
|
}>>;
|
|
164
|
-
/** Insert many rows
|
|
53
|
+
/** Insert many rows inside a single atomic transaction. */
|
|
165
54
|
insertRows(table: string, rows: WhereClause[][]): Promise<Result<{
|
|
166
55
|
inserted: number;
|
|
167
56
|
skipped: number;
|
|
@@ -170,11 +59,7 @@ export declare class SqliteDatabase {
|
|
|
170
59
|
changes: number;
|
|
171
60
|
lastInsertRowid: number | null;
|
|
172
61
|
}>>;
|
|
173
|
-
/**
|
|
174
|
-
* Apply many row updates (each with its own SET fields + primary-key WHERE
|
|
175
|
-
* clause) inside a single transaction. Used by the bulk "apply changes"
|
|
176
|
-
* flow of inline grid editing. Rolls everything back if any row fails.
|
|
177
|
-
*/
|
|
62
|
+
/** Apply many row updates inside a single atomic transaction. */
|
|
178
63
|
updateRows(table: string, rows: {
|
|
179
64
|
fields: WhereClause[];
|
|
180
65
|
where: WhereClause[];
|
|
@@ -185,17 +70,10 @@ export declare class SqliteDatabase {
|
|
|
185
70
|
changes: number;
|
|
186
71
|
lastInsertRowid: number | null;
|
|
187
72
|
}>>;
|
|
188
|
-
/**
|
|
189
|
-
* Delete many rows (each identified by its primary-key WHERE clause) inside a
|
|
190
|
-
* single transaction. Used by bulk delete.
|
|
191
|
-
*/
|
|
73
|
+
/** Delete many rows inside a single atomic transaction. */
|
|
192
74
|
deleteRows(table: string, rows: WhereClause[][]): Promise<Result<{
|
|
193
75
|
deleted: number;
|
|
194
76
|
}>>;
|
|
195
|
-
/**
|
|
196
|
-
* Fetch the rows matching the given primary-key WHERE clauses in one query
|
|
197
|
-
* (`(a = ? AND b = ?) OR …`). Used by bulk export and FK-impact checks.
|
|
198
|
-
*/
|
|
199
77
|
getRowsByPks(table: string, pks: WhereClause[][]): Promise<Result<Record<string, unknown>[]>>;
|
|
200
78
|
getCreateStatement(table: string): Promise<Result<string | null>>;
|
|
201
79
|
listSavedQueries(): Promise<Result<SavedQuery[]>>;
|
|
@@ -207,21 +85,8 @@ export declare class SqliteDatabase {
|
|
|
207
85
|
changes: number;
|
|
208
86
|
lastInsertRowid: number | null;
|
|
209
87
|
}>>;
|
|
210
|
-
/**
|
|
211
|
-
* Detailed schema for a table: columns with constraint info, indexes,
|
|
212
|
-
* foreign keys, and which other tables reference it.
|
|
213
|
-
*/
|
|
214
88
|
getSchema(table: string): Promise<Result<SchemaInfo>>;
|
|
215
|
-
/**
|
|
216
|
-
* Other tables with foreign keys pointing at `table`, grouped by table, each
|
|
217
|
-
* with the FK column mapping and a count of rows that actually reference it.
|
|
218
|
-
*/
|
|
219
89
|
getReferencingTables(table: string): Promise<Result<ReferencingTableInfo[]>>;
|
|
220
|
-
/**
|
|
221
|
-
* Rows in `table` whose `column` equals `value` — used to show which rows in
|
|
222
|
-
* a referencing table point at a specific row via a foreign key — with the
|
|
223
|
-
* total matching count.
|
|
224
|
-
*/
|
|
225
90
|
getRowsByFk(table: string, column: string, value: unknown, limit?: number): Promise<Result<{
|
|
226
91
|
rows: Record<string, unknown>[];
|
|
227
92
|
total: number;
|
|
@@ -232,6 +97,9 @@ export declare class SqliteDatabase {
|
|
|
232
97
|
addColumn(table: string, col: ColumnDef): Promise<Result<{
|
|
233
98
|
changes?: number;
|
|
234
99
|
}>>;
|
|
100
|
+
modifyColumn(table: string, oldColName: string, newColDef: ColumnDef): Promise<Result<{
|
|
101
|
+
changes?: number;
|
|
102
|
+
}>>;
|
|
235
103
|
renameColumn(table: string, oldName: string, newName: string): Promise<Result<{
|
|
236
104
|
changes?: number;
|
|
237
105
|
}>>;
|