@truto/ginger 1.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/LICENSE +21 -0
- package/README.md +597 -0
- package/dist/adapters/bun-sqlite.d.ts +37 -0
- package/dist/adapters/bun-sqlite.d.ts.map +1 -0
- package/dist/adapters/bun-sqlite.js +136 -0
- package/dist/adapters/bun-sqlite.js.map +1 -0
- package/dist/adapters/durable-object.d.ts +40 -0
- package/dist/adapters/durable-object.d.ts.map +1 -0
- package/dist/adapters/durable-object.js +142 -0
- package/dist/adapters/durable-object.js.map +1 -0
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +3 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/crypto.d.ts +40 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +148 -0
- package/dist/crypto.js.map +1 -0
- package/dist/errors.d.ts +64 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +90 -0
- package/dist/errors.js.map +1 -0
- package/dist/example.d.ts +119 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +297 -0
- package/dist/example.js.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +62 -0
- package/dist/index.js.map +1 -0
- package/dist/pagination.d.ts +31 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +173 -0
- package/dist/pagination.js.map +1 -0
- package/dist/service.d.ts +81 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +615 -0
- package/dist/service.js.map +1 -0
- package/dist/sql-builder.d.ts +48 -0
- package/dist/sql-builder.d.ts.map +1 -0
- package/dist/sql-builder.js +230 -0
- package/dist/sql-builder.js.map +1 -0
- package/dist/types.d.ts +266 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { sql } from '@truto/sqlite-builder';
|
|
2
|
+
import type { JoinDef, OrderBy } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build a SELECT query with joins and pagination
|
|
5
|
+
*/
|
|
6
|
+
export declare function buildSelect(table: string, options?: {
|
|
7
|
+
columns?: string[];
|
|
8
|
+
where?: Record<string, unknown>;
|
|
9
|
+
joins?: Record<string, JoinDef>;
|
|
10
|
+
include?: Record<string, boolean>;
|
|
11
|
+
orderBy?: OrderBy[];
|
|
12
|
+
limit?: number;
|
|
13
|
+
offset?: number;
|
|
14
|
+
cursorConditions?: ReturnType<typeof sql>;
|
|
15
|
+
}): ReturnType<typeof sql>;
|
|
16
|
+
/**
|
|
17
|
+
* Build an INSERT query
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildInsert(table: string, data: Record<string, unknown>): ReturnType<typeof sql>;
|
|
20
|
+
/**
|
|
21
|
+
* Build an UPDATE query
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildUpdate(table: string, data: Record<string, unknown>, where: Record<string, unknown>): ReturnType<typeof sql>;
|
|
24
|
+
/**
|
|
25
|
+
* Build a DELETE query
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildDelete(table: string, where: Record<string, unknown>): ReturnType<typeof sql>;
|
|
28
|
+
/**
|
|
29
|
+
* Build a COUNT query
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildCount(table: string, where?: Record<string, unknown>): ReturnType<typeof sql>;
|
|
32
|
+
/**
|
|
33
|
+
* Build a SELECT query for a single record by primary key
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildSelectById(table: string, primaryKey: string | string[], id: string | number | Record<string, unknown>, options?: {
|
|
36
|
+
columns?: string[];
|
|
37
|
+
joins?: Record<string, JoinDef>;
|
|
38
|
+
include?: Record<string, boolean>;
|
|
39
|
+
}): ReturnType<typeof sql>;
|
|
40
|
+
/**
|
|
41
|
+
* Escape a column name using sql.ident
|
|
42
|
+
*/
|
|
43
|
+
export declare function escapeColumn(column: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Escape a table name using sql.ident
|
|
46
|
+
*/
|
|
47
|
+
export declare function escapeTable(table: string): string;
|
|
48
|
+
//# sourceMappingURL=sql-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-builder.d.ts","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAElD;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAA;CACrC,GACL,UAAU,CAAC,OAAO,GAAG,CAAC,CA6FxB;AAyCD;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,UAAU,CAAC,OAAO,GAAG,CAAC,CAoBxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,UAAU,CAAC,OAAO,GAAG,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,UAAU,CAAC,OAAO,GAAG,CAAC,CAgBxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,UAAU,CAAC,OAAO,GAAG,CAAC,CAgBxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B,GACL,UAAU,CAAC,OAAO,GAAG,CAAC,CAqCxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { compileFilter, sql } from '@truto/sqlite-builder';
|
|
2
|
+
import { SqlBuilderError } from './errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build a SELECT query with joins and pagination
|
|
5
|
+
*/
|
|
6
|
+
export function buildSelect(table, options = {}) {
|
|
7
|
+
try {
|
|
8
|
+
// Build column list
|
|
9
|
+
const selectColumns = [];
|
|
10
|
+
if (options.columns && options.columns.length > 0) {
|
|
11
|
+
selectColumns.push(...options.columns.map((col) => sql.ident(`${table}.${col}`)));
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
selectColumns.push(sql `${sql.ident(table)}.*`);
|
|
15
|
+
}
|
|
16
|
+
// Add join columns
|
|
17
|
+
if (options.joins && options.include) {
|
|
18
|
+
for (const [joinName, joinDef] of Object.entries(options.joins)) {
|
|
19
|
+
if (options.include[joinName]) {
|
|
20
|
+
const joinAlias = joinDef.remote.alias || joinName;
|
|
21
|
+
const joinColumns = joinDef.remote.select.map((col) => sql `${sql.ident(`${joinDef.remote.table}.${col}`)} as ${sql.ident(`${joinAlias}_${col}`)}`);
|
|
22
|
+
selectColumns.push(...joinColumns);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Start building the query using sql.join for the column fragments
|
|
27
|
+
let query = sql `SELECT ${sql.join(selectColumns, ', ')} FROM ${sql.ident(table)}`;
|
|
28
|
+
// Add joins
|
|
29
|
+
if (options.joins && options.include) {
|
|
30
|
+
const joinFragments = [];
|
|
31
|
+
for (const [joinName, joinDef] of Object.entries(options.joins)) {
|
|
32
|
+
if (options.include[joinName]) {
|
|
33
|
+
joinFragments.push(buildJoin(table, joinDef));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (joinFragments.length > 0) {
|
|
37
|
+
query = sql.join([query, ...joinFragments], ' ');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Build final query parts
|
|
41
|
+
const finalParts = [query];
|
|
42
|
+
// Build WHERE conditions
|
|
43
|
+
const whereFragments = [];
|
|
44
|
+
// Regular WHERE conditions
|
|
45
|
+
if (options.where && Object.keys(options.where).length > 0) {
|
|
46
|
+
const whereFilter = compileFilter(options.where);
|
|
47
|
+
whereFragments.push(whereFilter);
|
|
48
|
+
}
|
|
49
|
+
// Cursor conditions
|
|
50
|
+
if (options.cursorConditions && options.cursorConditions.text) {
|
|
51
|
+
whereFragments.push(options.cursorConditions);
|
|
52
|
+
}
|
|
53
|
+
// Add WHERE clause if needed
|
|
54
|
+
if (whereFragments.length > 0) {
|
|
55
|
+
const whereClause = sql.join(whereFragments, ' AND ');
|
|
56
|
+
finalParts.push(sql `WHERE ${whereClause}`);
|
|
57
|
+
}
|
|
58
|
+
// Add ORDER BY
|
|
59
|
+
if (options.orderBy && options.orderBy.length > 0) {
|
|
60
|
+
const orderFragments = options.orderBy.map((order) => {
|
|
61
|
+
const direction = { text: order.direction.toUpperCase(), values: [] };
|
|
62
|
+
return sql `${sql.ident(`${table}.${order.column}`)} ${direction}`;
|
|
63
|
+
});
|
|
64
|
+
finalParts.push(sql `ORDER BY ${sql.join(orderFragments, ', ')}`);
|
|
65
|
+
}
|
|
66
|
+
// Add LIMIT
|
|
67
|
+
if (options.limit) {
|
|
68
|
+
finalParts.push(sql `LIMIT ${options.limit}`);
|
|
69
|
+
}
|
|
70
|
+
// Add OFFSET
|
|
71
|
+
if (options.offset) {
|
|
72
|
+
finalParts.push(sql `OFFSET ${options.offset}`);
|
|
73
|
+
}
|
|
74
|
+
// If no WHERE conditions, just join all parts
|
|
75
|
+
return sql.join(finalParts, ' ');
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw new SqlBuilderError(`Failed to build SELECT query: ${error instanceof Error ? error.message : 'Unknown error'}`, { table, options, error });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build a JOIN clause
|
|
83
|
+
*/
|
|
84
|
+
function buildJoin(baseTable, joinDef) {
|
|
85
|
+
const { remote, localPk, through } = joinDef;
|
|
86
|
+
if (through) {
|
|
87
|
+
// Many-to-many join through junction table
|
|
88
|
+
const throughJoin = sql `LEFT JOIN ${sql.ident(through.table)} ON ${sql.ident(`${baseTable}.${localPk}`)} = ${sql.ident(`${through.table}.${through.from}`)}`;
|
|
89
|
+
const remoteJoin = sql `LEFT JOIN ${sql.ident(remote.table)} ON ${sql.ident(`${through.table}.${through.to}`)} = ${sql.ident(`${remote.table}.${remote.pk}`)}`;
|
|
90
|
+
const joinFragments = [throughJoin, remoteJoin];
|
|
91
|
+
// Add WHERE condition for the join if specified
|
|
92
|
+
if (joinDef.where) {
|
|
93
|
+
const whereCondition = { text: joinDef.where, values: [] };
|
|
94
|
+
joinFragments.push(sql `AND ${whereCondition}`);
|
|
95
|
+
}
|
|
96
|
+
return sql.join(joinFragments, ' ');
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// Direct join
|
|
100
|
+
const joinFragments = [
|
|
101
|
+
sql `LEFT JOIN ${sql.ident(remote.table)} ON ${sql.ident(`${baseTable}.${localPk}`)} = ${sql.ident(`${remote.table}.${remote.pk}`)}`,
|
|
102
|
+
];
|
|
103
|
+
// Add WHERE condition for the join if specified
|
|
104
|
+
if (joinDef.where) {
|
|
105
|
+
const whereCondition = { text: joinDef.where, values: [] };
|
|
106
|
+
joinFragments.push(sql `AND ${whereCondition}`);
|
|
107
|
+
}
|
|
108
|
+
return sql.join(joinFragments, ' ');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Build an INSERT query
|
|
113
|
+
*/
|
|
114
|
+
export function buildInsert(table, data) {
|
|
115
|
+
try {
|
|
116
|
+
const columns = Object.keys(data);
|
|
117
|
+
const values = Object.values(data);
|
|
118
|
+
// Create individual placeholders for the VALUES clause
|
|
119
|
+
const placeholderFragments = values.map((value) => sql `${value}`);
|
|
120
|
+
const query = sql `
|
|
121
|
+
INSERT INTO ${sql.ident(table)} (${sql.ident(columns)})
|
|
122
|
+
VALUES (${sql.join(placeholderFragments, ', ')})
|
|
123
|
+
`;
|
|
124
|
+
return query;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
throw new SqlBuilderError(`Failed to build INSERT query: ${error instanceof Error ? error.message : 'Unknown error'}`, { table, data, error });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Build an UPDATE query
|
|
132
|
+
*/
|
|
133
|
+
export function buildUpdate(table, data, where) {
|
|
134
|
+
try {
|
|
135
|
+
// Build SET clauses using sql fragments
|
|
136
|
+
const setFragments = Object.entries(data).map(([column, value]) => sql `${sql.ident(column)} = ${value}`);
|
|
137
|
+
// Build WHERE clause
|
|
138
|
+
const whereFilter = compileFilter(where);
|
|
139
|
+
const queryParts = [
|
|
140
|
+
sql `UPDATE ${sql.ident(table)}`,
|
|
141
|
+
sql `SET ${sql.join(setFragments, ', ')}`,
|
|
142
|
+
sql `WHERE ${whereFilter}`,
|
|
143
|
+
];
|
|
144
|
+
return sql.join(queryParts, ' ');
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
throw new SqlBuilderError(`Failed to build UPDATE query: ${error instanceof Error ? error.message : 'Unknown error'}`, { table, data, where, error });
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Build a DELETE query
|
|
152
|
+
*/
|
|
153
|
+
export function buildDelete(table, where) {
|
|
154
|
+
try {
|
|
155
|
+
const whereFilter = compileFilter(where);
|
|
156
|
+
const queryParts = [
|
|
157
|
+
sql `DELETE FROM ${sql.ident(table)}`,
|
|
158
|
+
sql `WHERE ${whereFilter}`,
|
|
159
|
+
];
|
|
160
|
+
return sql.join(queryParts, ' ');
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
throw new SqlBuilderError(`Failed to build DELETE query: ${error instanceof Error ? error.message : 'Unknown error'}`, { table, where, error });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Build a COUNT query
|
|
168
|
+
*/
|
|
169
|
+
export function buildCount(table, where) {
|
|
170
|
+
try {
|
|
171
|
+
const queryParts = [sql `SELECT COUNT(*) as count FROM ${sql.ident(table)}`];
|
|
172
|
+
if (where && Object.keys(where).length > 0) {
|
|
173
|
+
const whereFilter = compileFilter(where);
|
|
174
|
+
queryParts.push(sql `WHERE ${whereFilter}`);
|
|
175
|
+
}
|
|
176
|
+
return sql.join(queryParts, ' ');
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
throw new SqlBuilderError(`Failed to build COUNT query: ${error instanceof Error ? error.message : 'Unknown error'}`, { table, where, error });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Build a SELECT query for a single record by primary key
|
|
184
|
+
*/
|
|
185
|
+
export function buildSelectById(table, primaryKey, id, options = {}) {
|
|
186
|
+
const where = {};
|
|
187
|
+
// Check if there are active JOINs that could cause column ambiguity
|
|
188
|
+
const hasActiveJoins = options.joins &&
|
|
189
|
+
options.include &&
|
|
190
|
+
Object.keys(options.include).some((key) => options.include[key]);
|
|
191
|
+
if (Array.isArray(primaryKey)) {
|
|
192
|
+
if (typeof id !== 'object' || id === null || Array.isArray(id)) {
|
|
193
|
+
throw new SqlBuilderError('Composite primary key requires an object with key-value pairs', { primaryKey, id });
|
|
194
|
+
}
|
|
195
|
+
if (hasActiveJoins) {
|
|
196
|
+
// Use qualified table syntax to avoid column ambiguity
|
|
197
|
+
where[`$${table}`] = { ...id };
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
Object.assign(where, id);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
if (hasActiveJoins) {
|
|
205
|
+
// Use qualified table syntax to avoid column ambiguity
|
|
206
|
+
where[`$${table}`] = { [primaryKey]: id };
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
where[primaryKey] = id;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return buildSelect(table, {
|
|
213
|
+
...options,
|
|
214
|
+
where,
|
|
215
|
+
limit: 1,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Escape a column name using sql.ident
|
|
220
|
+
*/
|
|
221
|
+
export function escapeColumn(column) {
|
|
222
|
+
return sql.ident(column).text;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Escape a table name using sql.ident
|
|
226
|
+
*/
|
|
227
|
+
export function escapeTable(table) {
|
|
228
|
+
return sql.ident(table).text;
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=sql-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-builder.js","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import type { z } from 'zod/v4';
|
|
2
|
+
/**
|
|
3
|
+
* Generic SQLite database interface.
|
|
4
|
+
* Compatible with Cloudflare D1, Bun SQLite (via adapter), and
|
|
5
|
+
* Durable Object SqlStorage (via adapter).
|
|
6
|
+
*/
|
|
7
|
+
export interface Database {
|
|
8
|
+
prepare(query: string): PreparedStatement;
|
|
9
|
+
dump(): Promise<ArrayBuffer>;
|
|
10
|
+
batch<T = unknown>(statements: PreparedStatement[]): Promise<QueryResult<T>[]>;
|
|
11
|
+
exec(query: string): Promise<ExecResult>;
|
|
12
|
+
}
|
|
13
|
+
export interface PreparedStatement {
|
|
14
|
+
bind(...values: unknown[]): PreparedStatement;
|
|
15
|
+
first<T = unknown>(): Promise<T | null>;
|
|
16
|
+
run(): Promise<QueryResult>;
|
|
17
|
+
all<T = unknown>(): Promise<QueryResult<T[]>>;
|
|
18
|
+
raw<T = unknown>(): Promise<T[]>;
|
|
19
|
+
}
|
|
20
|
+
export interface QueryResult<T = unknown> {
|
|
21
|
+
results?: T;
|
|
22
|
+
success: boolean;
|
|
23
|
+
meta: {
|
|
24
|
+
duration: number;
|
|
25
|
+
size_after: number;
|
|
26
|
+
rows_read: number;
|
|
27
|
+
rows_written: number;
|
|
28
|
+
last_row_id: number;
|
|
29
|
+
changed_db: boolean;
|
|
30
|
+
changes: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface ExecResult {
|
|
34
|
+
count: number;
|
|
35
|
+
duration: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Authentication context passed to all service methods
|
|
39
|
+
*/
|
|
40
|
+
export interface AuthContext {
|
|
41
|
+
user?: {
|
|
42
|
+
id: string;
|
|
43
|
+
roles: string[];
|
|
44
|
+
[k: string]: unknown;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Base context for all hooks
|
|
49
|
+
*/
|
|
50
|
+
export interface BaseCtx {
|
|
51
|
+
auth: AuthContext;
|
|
52
|
+
db: Database;
|
|
53
|
+
deps: ServiceDeps;
|
|
54
|
+
method: MethodName;
|
|
55
|
+
params?: unknown;
|
|
56
|
+
data?: unknown;
|
|
57
|
+
result?: unknown;
|
|
58
|
+
error?: Error | undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Error context for error hooks
|
|
62
|
+
*/
|
|
63
|
+
export interface ErrorCtx extends BaseCtx {
|
|
64
|
+
error: Error;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Hook function type
|
|
68
|
+
*/
|
|
69
|
+
export type Hook<TCtx = BaseCtx> = (ctx: TCtx) => Promise<void> | void;
|
|
70
|
+
/**
|
|
71
|
+
* Hook phases
|
|
72
|
+
*/
|
|
73
|
+
export type HookPhase = 'before' | 'after' | 'error';
|
|
74
|
+
/**
|
|
75
|
+
* Method names that can have hooks
|
|
76
|
+
*/
|
|
77
|
+
export type MethodName = 'list' | 'get' | 'create' | 'update' | 'delete' | 'count' | 'query' | string;
|
|
78
|
+
/**
|
|
79
|
+
* Hook map structure
|
|
80
|
+
*/
|
|
81
|
+
export type HookMap<TCtx = BaseCtx> = {
|
|
82
|
+
[P in MethodName]?: {
|
|
83
|
+
before?: Hook<TCtx> | Hook<TCtx>[];
|
|
84
|
+
after?: Hook<TCtx> | Hook<TCtx>[];
|
|
85
|
+
error?: Hook<TCtx & {
|
|
86
|
+
error: Error;
|
|
87
|
+
}> | Hook<TCtx & {
|
|
88
|
+
error: Error;
|
|
89
|
+
}>[];
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Service dependencies
|
|
94
|
+
*/
|
|
95
|
+
export type ServiceDeps = Record<string, BaseService<any, any, any, any, any>>;
|
|
96
|
+
/**
|
|
97
|
+
* Order direction for sorting
|
|
98
|
+
*/
|
|
99
|
+
export type OrderDirection = 'asc' | 'desc';
|
|
100
|
+
/**
|
|
101
|
+
* Order by clause
|
|
102
|
+
*/
|
|
103
|
+
export interface OrderBy {
|
|
104
|
+
column: string;
|
|
105
|
+
direction: OrderDirection;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Pagination parameters
|
|
109
|
+
*/
|
|
110
|
+
export interface ListParams {
|
|
111
|
+
cursor?: string;
|
|
112
|
+
limit?: number;
|
|
113
|
+
orderBy?: OrderBy[];
|
|
114
|
+
where?: Record<string, unknown>;
|
|
115
|
+
include?: Record<string, boolean>;
|
|
116
|
+
includeSecrets?: boolean;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Paginated list result
|
|
120
|
+
*/
|
|
121
|
+
export interface ListResult<T> {
|
|
122
|
+
result: T[];
|
|
123
|
+
nextCursor?: string | undefined;
|
|
124
|
+
prevCursor?: string | undefined;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Count parameters
|
|
128
|
+
*/
|
|
129
|
+
export interface CountParams {
|
|
130
|
+
where?: Record<string, unknown>;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get parameters
|
|
134
|
+
*/
|
|
135
|
+
export interface GetParams {
|
|
136
|
+
include?: Record<string, boolean>;
|
|
137
|
+
includeSecrets?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create parameters
|
|
141
|
+
*/
|
|
142
|
+
export interface CreateParams {
|
|
143
|
+
include?: Record<string, boolean>;
|
|
144
|
+
includeSecrets?: boolean;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Update parameters
|
|
148
|
+
*/
|
|
149
|
+
export interface UpdateParams {
|
|
150
|
+
include?: Record<string, boolean>;
|
|
151
|
+
includeSecrets?: boolean;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Delete parameters
|
|
155
|
+
*/
|
|
156
|
+
export interface DeleteParams {
|
|
157
|
+
include?: Record<string, boolean>;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Query parameters for custom SQL
|
|
161
|
+
*/
|
|
162
|
+
export interface QueryParams {
|
|
163
|
+
includeSecrets?: boolean;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Method options base interface
|
|
167
|
+
*/
|
|
168
|
+
export interface MethodOptions {
|
|
169
|
+
auth: AuthContext;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Join definition kinds
|
|
173
|
+
*/
|
|
174
|
+
export type JoinKind = 'one' | 'many';
|
|
175
|
+
/**
|
|
176
|
+
* Join definition
|
|
177
|
+
*/
|
|
178
|
+
export interface JoinDef {
|
|
179
|
+
kind: JoinKind;
|
|
180
|
+
localPk: string;
|
|
181
|
+
through?: {
|
|
182
|
+
table: string;
|
|
183
|
+
from: string;
|
|
184
|
+
to: string;
|
|
185
|
+
};
|
|
186
|
+
remote: {
|
|
187
|
+
table: string;
|
|
188
|
+
pk: string;
|
|
189
|
+
select: string[];
|
|
190
|
+
alias?: string;
|
|
191
|
+
};
|
|
192
|
+
where?: string;
|
|
193
|
+
schema: z.ZodTypeAny;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Secret field definition
|
|
197
|
+
*/
|
|
198
|
+
export interface SecretFieldDef {
|
|
199
|
+
logicalName: string;
|
|
200
|
+
columnName: string;
|
|
201
|
+
keyId?: string;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Encryption key provider
|
|
205
|
+
*/
|
|
206
|
+
export interface KeyProvider {
|
|
207
|
+
getKey(keyId: string): Promise<CryptoKey> | CryptoKey;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Cursor token structure (internal)
|
|
211
|
+
*/
|
|
212
|
+
export interface CursorToken {
|
|
213
|
+
orderBy: OrderBy[];
|
|
214
|
+
values: unknown[];
|
|
215
|
+
direction: 'next' | 'prev';
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Base service interface
|
|
219
|
+
*/
|
|
220
|
+
export interface BaseService<TRow extends z.ZodTypeAny, TCreate extends z.ZodTypeAny, TUpdate extends z.ZodTypeAny, TJoins extends Record<string, JoinDef>, _TSecrets extends readonly SecretFieldDef[] | undefined> {
|
|
221
|
+
list(params?: ListParams & MethodOptions): Promise<ListResult<z.infer<TRow> & ComputeJoins<TJoins, ListParams['include']>>>;
|
|
222
|
+
get(id: string | number, opts?: GetParams & MethodOptions): Promise<(z.infer<TRow> & ComputeJoins<TJoins, GetParams['include']>) | null>;
|
|
223
|
+
create(data: z.infer<TCreate>, opts?: CreateParams & MethodOptions): Promise<z.infer<TRow> & ComputeJoins<TJoins, CreateParams['include']>>;
|
|
224
|
+
update(id: string | number, data: Partial<z.infer<TUpdate>>, opts?: UpdateParams & MethodOptions): Promise<(z.infer<TRow> & ComputeJoins<TJoins, UpdateParams['include']>) | null>;
|
|
225
|
+
delete(id: string | number, opts?: DeleteParams & MethodOptions): Promise<boolean>;
|
|
226
|
+
count(params?: CountParams & MethodOptions): Promise<number>;
|
|
227
|
+
query<T = z.infer<TRow>>(sql: string, params?: QueryParams & MethodOptions): Promise<T[]>;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Service options interface
|
|
231
|
+
*/
|
|
232
|
+
export interface ServiceOptions<TRow extends z.ZodTypeAny, TCreate extends z.ZodTypeAny, TUpdate extends z.ZodTypeAny, TJoins extends Record<string, JoinDef>, TSecrets extends readonly SecretFieldDef[] | undefined, TDeps extends Record<string, BaseService<any, any, any, any, any>> = Record<string, never>> {
|
|
233
|
+
table: string;
|
|
234
|
+
db: Database;
|
|
235
|
+
builder?: any;
|
|
236
|
+
rowSchema: TRow;
|
|
237
|
+
createSchema: TCreate;
|
|
238
|
+
updateSchema: TUpdate;
|
|
239
|
+
joins?: TJoins;
|
|
240
|
+
secrets?: TSecrets;
|
|
241
|
+
hooks?: Partial<HookMap<BaseCtx>>;
|
|
242
|
+
deps?: TDeps;
|
|
243
|
+
primaryKey?: string | string[];
|
|
244
|
+
defaultOrderBy?: OrderBy;
|
|
245
|
+
keyProvider?: KeyProvider;
|
|
246
|
+
encryptionKeys?: Record<string, string>;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Compute join types based on include parameter
|
|
250
|
+
*/
|
|
251
|
+
export type ComputeJoins<TJoins extends Record<string, JoinDef>, TInclude extends Record<string, boolean> | undefined> = TInclude extends Record<string, boolean> ? {
|
|
252
|
+
[K in keyof TInclude & keyof TJoins]: TInclude[K] extends true ? TJoins[K]['kind'] extends 'one' ? z.infer<TJoins[K]['schema']> | null : z.infer<TJoins[K]['schema']>[] : never;
|
|
253
|
+
} : Record<string, never>;
|
|
254
|
+
/**
|
|
255
|
+
* Extract row type from service
|
|
256
|
+
*/
|
|
257
|
+
export type ServiceRow<T> = T extends BaseService<infer TRow, any, any, any, any> ? z.infer<TRow> : never;
|
|
258
|
+
/**
|
|
259
|
+
* Extract create type from service
|
|
260
|
+
*/
|
|
261
|
+
export type ServiceCreate<T> = T extends BaseService<any, infer TCreate, any, any, any> ? z.infer<TCreate> : never;
|
|
262
|
+
/**
|
|
263
|
+
* Extract update type from service
|
|
264
|
+
*/
|
|
265
|
+
export type ServiceUpdate<T> = T extends BaseService<any, any, infer TUpdate, any, any> ? z.infer<TUpdate> : never;
|
|
266
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|