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/data/generator.d.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data generator / seeder engine.
|
|
3
|
-
*
|
|
4
|
-
* Given a table's schema, every column can be filled with realistic fake data
|
|
5
|
-
* from a chosen "strategy" — first name, email, UUID, a random integer, a value
|
|
6
|
-
* sampled from a referenced table's foreign key, a fixed value, and so on.
|
|
7
|
-
*
|
|
8
|
-
* Responsibilities:
|
|
9
|
-
* - auto-detect a sensible default strategy per column (column name + type +
|
|
10
|
-
* foreign key), so the "Seed data" page works with zero configuration;
|
|
11
|
-
* - generate N rows of concrete, type-coerced values (ready for SQLite
|
|
12
|
-
* binding via `db.insertRows`);
|
|
13
|
-
* - render the generated rows as a multi-row INSERT for the "preview SQL"
|
|
14
|
-
* mode that never executes.
|
|
15
|
-
*/
|
|
16
|
-
import type { SqliteDatabase, TableInfoData, ForeignKeyInfo, WhereClause } from '../db/database';
|
|
17
|
-
/** Hard cap on how many rows a single seed run may generate. */
|
|
18
|
-
export declare const MAX_SEED_ROWS = 5000;
|
|
19
|
-
export type GeneratorStrategyId = 'skip' | 'null' | 'fixed' | 'list' | 'first' | 'last' | 'fullname' | 'email' | 'username' | 'phone' | 'city' | 'country' | 'postal' | 'address' | 'url' | 'domain' | 'ip' | 'uuid' | 'words' | 'sentence' | 'int' | 'decimal' | 'date' | 'datetime' | 'time' | 'bool' | 'bytes' | 'json' | 'hash' | 'token' | 'fk';
|
|
20
|
-
/** Per-column generator settings. Which options are meaningful depends on `strategy`. */
|
|
21
|
-
export interface ColumnPlan {
|
|
22
|
-
strategy: GeneratorStrategyId;
|
|
23
|
-
/** `fixed` / `list` and the string-ish options. */
|
|
24
|
-
value?: string;
|
|
25
|
-
/** `list` — random value picked from this set. */
|
|
26
|
-
values?: string[];
|
|
27
|
-
/** `int` / `decimal` range. */
|
|
28
|
-
min?: number;
|
|
29
|
-
max?: number;
|
|
30
|
-
/** `decimal` — digits after the decimal point. */
|
|
31
|
-
precision?: number;
|
|
32
|
-
/** `date` / `datetime` bounds (ISO strings). */
|
|
33
|
-
from?: string;
|
|
34
|
-
to?: string;
|
|
35
|
-
/** `words` / `bytes` / `hash` / `token` — length bounds. */
|
|
36
|
-
minLen?: number;
|
|
37
|
-
maxLen?: number;
|
|
38
|
-
/** `json` — object keys to include (comma-separated in the UI). */
|
|
39
|
-
jsonKeys?: string[];
|
|
40
|
-
/** `json` — per-key allowed values, derived from CHECK constraints. */
|
|
41
|
-
jsonValues?: Record<string, string[]>;
|
|
42
|
-
}
|
|
43
|
-
/** A strategy choice offered to the UI for a column. */
|
|
44
|
-
export interface StrategyDescriptor {
|
|
45
|
-
id: GeneratorStrategyId;
|
|
46
|
-
label: string;
|
|
47
|
-
}
|
|
48
|
-
/** Everything the "Seed data" page needs to render one column's controls. */
|
|
49
|
-
export interface ColumnGeneratorConfig {
|
|
50
|
-
name: string;
|
|
51
|
-
type: string;
|
|
52
|
-
pk: boolean;
|
|
53
|
-
notnull: boolean;
|
|
54
|
-
hasDefault: boolean;
|
|
55
|
-
/** True when a single-column UNIQUE index enforces uniqueness on this column. */
|
|
56
|
-
unique: boolean;
|
|
57
|
-
/** The foreign key this column participates in (as the child), if any. */
|
|
58
|
-
fk: ForeignKeyInfo | null;
|
|
59
|
-
strategies: StrategyDescriptor[];
|
|
60
|
-
defaultPlan: ColumnPlan;
|
|
61
|
-
}
|
|
62
|
-
export interface GenerateResult {
|
|
63
|
-
/** One entry per generated row: the columns/values to bind (skipped columns are absent). */
|
|
64
|
-
rows: WhereClause[][];
|
|
65
|
-
/** Non-fatal notes surfaced to the user (e.g. a NOT NULL column being skipped). */
|
|
66
|
-
warnings: string[];
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Compute per-column generator configuration for a table (default strategies,
|
|
70
|
-
* available strategies, FK metadata). Pure — no DB access — so the page route
|
|
71
|
-
* and the API can share it.
|
|
72
|
-
*/
|
|
73
|
-
export declare function buildColumnConfigs(info: TableInfoData): ColumnGeneratorConfig[];
|
|
74
|
-
/**
|
|
75
|
-
* Validate/normalize a client-supplied per-column plan. Returns null when the
|
|
76
|
-
* payload is not a usable plan. Strategy validity against the column's allowed
|
|
77
|
-
* set is enforced later by `generateRows`.
|
|
78
|
-
*/
|
|
79
|
-
export declare function sanitizeColumnPlan(raw: unknown): ColumnPlan | null;
|
|
80
|
-
export declare function generateRows(db: SqliteDatabase, info: TableInfoData, configs: ColumnGeneratorConfig[], count: number, plan?: Record<string, ColumnPlan>): Promise<GenerateResult>;
|
|
81
|
-
/**
|
|
82
|
-
* Render generated rows as a sequence of INSERT statements for preview
|
|
83
|
-
* ("generate but never execute"). Each row is its own statement so per-row
|
|
84
|
-
* column lists (with skips) stay valid.
|
|
85
|
-
*/
|
|
86
|
-
export declare function buildSeedInsertSql(table: string, rows: WhereClause[][]): string;
|