@truto/ginger 1.2.0 → 1.3.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 CHANGED
@@ -21,6 +21,7 @@ bun add zod @truto/sqlite-builder
21
21
  - **Fully type-safe** — Zod schemas drive runtime validation and static types
22
22
  - **Cursor pagination** — opaque base64 cursors with `next` / `prev` support
23
23
  - **Declarative joins** — `one` and `many` joins with conditional `include`
24
+ - **Field selection** — flat `select: ['id', 'name', '$teams.name']` array picks main-row and join columns, with type narrowing
24
25
  - **Field encryption** — AES-256-GCM via Web Crypto, stored as `kid:iv:cipher`
25
26
  - **Hook system** — `before` / `after` / `error` hooks per method, inspired by Feathers.js
26
27
  - **Dependency injection** — pass other services via `deps` for cross-service logic
@@ -364,6 +365,63 @@ const user = await service.get(id, {
364
365
  // user.teams → TeamRow[]
365
366
  ```
366
367
 
368
+ ### Field selection
369
+
370
+ Limit the columns returned by `list` / `get` / `create` / `update` with a flat
371
+ `select` array. Tokens beginning with `$alias` (mirroring the alias-block
372
+ syntax used by `where`) pick columns from a configured join.
373
+
374
+ ```typescript
375
+ // Main row only — pick a subset of the row schema
376
+ const slim = await usersService.get(1, {
377
+ auth,
378
+ select: ['id', 'name'],
379
+ })
380
+ // → { id: 1, name: 'Jane' }
381
+
382
+ // Mix main-row columns with join columns using `$alias.col`
383
+ const withTeam = await usersService.get(1, {
384
+ auth,
385
+ include: { teams: true },
386
+ select: ['id', 'name', '$teams.name'],
387
+ })
388
+ // → { id: 1, name: 'Jane', teams: [{ id: 7, name: 'Eng' }, ...] }
389
+
390
+ // Bare `$alias` expands to all columns in that join's `remote.select`
391
+ const withFullTeams = await usersService.get(1, {
392
+ auth,
393
+ include: { teams: true },
394
+ select: ['id', '$teams'],
395
+ })
396
+
397
+ // Cursor pagination keeps working — orderBy columns are silently included
398
+ const page = await usersService.list({
399
+ auth,
400
+ select: ['name'],
401
+ orderBy: [{ column: 'created_at', direction: 'asc' }],
402
+ limit: 20,
403
+ })
404
+ // page.result[0] → { id: 1, name: 'Jane', created_at: '...' }
405
+ ```
406
+
407
+ Behaviour summary:
408
+
409
+ | Aspect | Behaviour |
410
+ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
411
+ | Primary key | Always silently included in SELECT and kept in the returned row |
412
+ | `orderBy` columns | Always silently included so `nextCursor` / `prevCursor` keep working |
413
+ | Join columns | Use `$alias.column` (per-call override) or `$alias` (use the join's configured `remote.select`). The join must also be enabled via `include[alias] = true` — selection alone does not auto-include. |
414
+ | Join column scope | A per-call `$alias.column` may reference any column on the joined table (not just the configured `remote.select`). The join's PK is silently included. |
415
+ | `includeSecrets` | Independent from `select`. Secrets are surfaced only when `includeSecrets: true`, irrespective of what's in `select`. Secret `logicalName`s are not valid `select` tokens — use `includeSecrets` to opt in. |
416
+ | Validation | Unknown columns and unknown join aliases throw `ValidationError`. Empty/omitted `select` returns the full row (backwards compatible). |
417
+ | `count` / `delete` / `query` | Do not accept `select` (they don't return rows in the same shape). |
418
+
419
+ Type narrowing — pass the array `as const` (or rely on the `<const>` type
420
+ parameter on the service methods) to get `Pick<Row, …>` in the return type.
421
+ Per-call join column overrides currently don't narrow the join schema in
422
+ types — at the type level the join still appears with its full configured
423
+ schema; at runtime the row only contains what was selected.
424
+
367
425
  ### Field encryption
368
426
 
369
427
  Sensitive fields are encrypted with **AES-256-GCM** via Web Crypto and stored as `kid:iv:cipher` (base64 segments):
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  * - Safe SQL generation
13
13
  */
14
14
  export { Service } from './service.js';
15
- export type { AuthContext, BaseCtx, BaseService, ComputeJoins, CountParams, CreateParams, CursorToken, Database, ExecResult, PreparedStatement, QueryResult, DeleteParams, ErrorCtx, GetParams, Hook, HookMap, HookPhase, JoinDef, JoinKind, KeyProvider, ListParams, ListResult, MethodName, MethodOptions, OrderBy, OrderDirection, QueryParams, SecretFieldDef, ServiceCreate, ServiceDeps, ServiceOptions, ServiceRow, TimestampConfig, ServiceUpdate, UpdateParams, } from './types.js';
15
+ export type { AuthContext, BaseCtx, BaseService, ComputeJoins, CountParams, CreateParams, CursorToken, Database, ExecResult, PreparedStatement, QueryResult, DeleteParams, ErrorCtx, GetParams, Hook, HookMap, HookPhase, JoinDef, JoinKind, KeyProvider, ListParams, ListResult, MethodName, MethodOptions, OrderBy, OrderDirection, QueryParams, SecretFieldDef, SelectedRow, SelectField, ServiceCreate, ServiceDeps, ServiceOptions, ServiceRow, TimestampConfig, ServiceUpdate, UpdateParams, } from './types.js';
16
16
  export { AuthError, CursorError, DatabaseError, DependencyError, EncryptionError, HookError, NotFoundError, ServiceError, SqlBuilderError, ValidationError, } from './errors.js';
17
17
  export { decrypt, decryptSecrets, DefaultKeyProvider, encrypt, encryptSecrets, generateSecretKey, getSecretColumns, getSecretLogicalNames, } from './crypto.js';
18
18
  export { buildCursorConditions, createCursor, decodeCursor, encodeCursor, getDefaultOrderBy, reverseOrderBy, validateOrderBy, } from './pagination.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,YAAY,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EAEX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,EACP,SAAS,EAET,OAAO,EACP,QAAQ,EACR,WAAW,EAEX,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EAEd,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,SAAS,OAAO,QAAQ,EAAE,UAAU,EACxC,OAAO,SAAS,OAAO,QAAQ,EAAE,UAAU,EAC3C,OAAO,SAAS,OAAO,QAAQ,EAAE,UAAU,EAC3C,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,OAAO,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,KAAK,CACN,EACD,QAAQ,SACJ,SAAS,OAAO,YAAY,EAAE,cAAc,EAAE,GAC9C,SAAS,GAAG,SAAS,EAEzB,OAAO,EAAE,OAAO,YAAY,EAAE,cAAc,CAC1C,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,CACT,GACA,OAAO,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAE1E;;;;AAGD,wBAEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,YAAY,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EAEX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,EACP,SAAS,EAET,OAAO,EACP,QAAQ,EACR,WAAW,EAEX,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,EAEd,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,SAAS,OAAO,QAAQ,EAAE,UAAU,EACxC,OAAO,SAAS,OAAO,QAAQ,EAAE,UAAU,EAC3C,OAAO,SAAS,OAAO,QAAQ,EAAE,UAAU,EAC3C,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,OAAO,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,KAAK,CACN,EACD,QAAQ,SACJ,SAAS,OAAO,YAAY,EAAE,cAAc,EAAE,GAC9C,SAAS,GAAG,SAAS,EAEzB,OAAO,EAAE,OAAO,YAAY,EAAE,cAAc,CAC1C,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,CACT,GACA,OAAO,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAE1E;;;;AAGD,wBAEC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AA6CtC,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,uBAAuB;AACvB,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,wBAAwB;AACxB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAEzB,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAQ7E,mCAAmC;AACnC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,aAAa,CAY3B,OAMC;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,iCAAiC;AACjC,eAAe;IACb,aAAa;CACd,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AA+CtC,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,uBAAuB;AACvB,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,wBAAwB;AACxB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAEzB,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAQ7E,mCAAmC;AACnC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,aAAa,CAY3B,OAMC;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,iCAAiC;AACjC,eAAe;IACb,aAAa;CACd,CAAA"}
package/dist/service.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { z } from 'zod/v4';
2
- import type { BaseCtx, BaseService, ComputeJoins, CountParams, CreateParams, Database, DeleteParams, GetParams, JoinDef, KeyProvider, ListParams, ListResult, MethodOptions, OrderBy, QueryParams, SecretFieldDef, ServiceOptions, TimestampConfig, UpdateParams } from './types.js';
2
+ import type { BaseCtx, BaseService, ComputeJoins, CountParams, CreateParams, Database, DeleteParams, GetParams, JoinDef, KeyProvider, ListParams, ListResult, MethodOptions, OrderBy, QueryParams, SecretFieldDef, SelectedRow, SelectField, ServiceOptions, TimestampConfig, UpdateParams } from './types.js';
3
3
  /**
4
4
  * Main service class that provides type-safe data access for SQLite databases
5
5
  */
@@ -21,23 +21,59 @@ export declare class Service<TRow extends z.ZodTypeAny, TCreate extends z.ZodTyp
21
21
  constructor(options: ServiceOptions<TRow, TCreate, TUpdate, TJoins, TSecrets>);
22
22
  private stripSecretKeys;
23
23
  private extractSecretFields;
24
+ /**
25
+ * Parse a `select` array into main-row columns and per-join column overrides.
26
+ *
27
+ * Tokens:
28
+ * - `'col'` → main row column
29
+ * - `'$alias.col'` → column from the join named `alias`
30
+ * - `'$alias'` → all configured columns for the join named `alias`
31
+ *
32
+ * Validates that:
33
+ * - Main columns exist in the row schema (when shape is available).
34
+ * - `$alias` references a configured join AND the join is enabled via
35
+ * `include[alias] = true`. We require explicit include so the return
36
+ * type (which is keyed off `include`) stays accurate.
37
+ */
38
+ private parseSelect;
39
+ /**
40
+ * Compute the effective list of columns to SELECT from the main table.
41
+ *
42
+ * The user's main-row select is augmented with the primary key columns and
43
+ * any `orderBy` columns so cursor pagination keeps working and so the
44
+ * canonical record is always identifiable. These extras are kept in the
45
+ * returned row (per the design choice "silently include and keep").
46
+ */
47
+ private resolveMainColumns;
48
+ /**
49
+ * Compute the effective per-join column override map.
50
+ *
51
+ * For each enabled join: if the user asked for specific columns via
52
+ * `$alias.col`, use those; if they used a bare `$alias`, fall back to the
53
+ * join's configured `remote.select`. Joins with no override aren't returned
54
+ * (so `buildSelect` keeps using the configured select for them).
55
+ *
56
+ * The join's PK is silently included so `processJoinedRows` can detect the
57
+ * presence of related data.
58
+ */
59
+ private resolveJoinOverrides;
24
60
  private validateSecretsNotInRowSchema;
25
61
  /**
26
62
  * List records with cursor-based pagination
27
63
  */
28
- list(params?: ListParams & MethodOptions): Promise<ListResult<z.infer<TRow> & ComputeJoins<TJoins, ListParams['include']>>>;
64
+ list<const TSelect extends readonly SelectField[] | undefined = undefined>(params?: ListParams<TSelect> & MethodOptions): Promise<ListResult<SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, ListParams['include']>>>;
29
65
  /**
30
66
  * Get a single record by ID
31
67
  */
32
- get(id: string | number, opts?: GetParams & MethodOptions): Promise<(z.infer<TRow> & ComputeJoins<TJoins, GetParams['include']>) | null>;
68
+ get<const TSelect extends readonly SelectField[] | undefined = undefined>(id: string | number, opts?: GetParams<TSelect> & MethodOptions): Promise<(SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, GetParams['include']>) | null>;
33
69
  /**
34
70
  * Create a new record
35
71
  */
36
- create(data: z.infer<TCreate>, opts?: CreateParams & MethodOptions): Promise<z.infer<TRow> & ComputeJoins<TJoins, CreateParams['include']>>;
72
+ create<const TSelect extends readonly SelectField[] | undefined = undefined>(data: z.infer<TCreate>, opts?: CreateParams<TSelect> & MethodOptions): Promise<SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, CreateParams['include']>>;
37
73
  /**
38
74
  * Update a record by ID
39
75
  */
40
- update(id: string | number, data: Partial<z.infer<TUpdate>>, opts?: UpdateParams & MethodOptions): Promise<(z.infer<TRow> & ComputeJoins<TJoins, UpdateParams['include']>) | null>;
76
+ update<const TSelect extends readonly SelectField[] | undefined = undefined>(id: string | number, data: Partial<z.infer<TUpdate>>, opts?: UpdateParams<TSelect> & MethodOptions): Promise<(SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, UpdateParams['include']>) | null>;
41
77
  /**
42
78
  * Delete a record by ID
43
79
  */
@@ -75,6 +111,28 @@ export declare class Service<TRow extends z.ZodTypeAny, TCreate extends z.ZodTyp
75
111
  * Decrypt secrets in a row
76
112
  */
77
113
  private decryptRowSecrets;
114
+ /**
115
+ * Project a processed row down to the caller-requested subset.
116
+ *
117
+ * Callers must pass a row that has already been through
118
+ * `processJoinedRows` (and, for `get()`, `fetchOneToManyJoins`). That means
119
+ * it contains exactly:
120
+ * parsed.mainColumns + primary key + orderBy + secret columns
121
+ * + nested join data under each join key (object | array | null).
122
+ *
123
+ * Here we only need to:
124
+ * 1. Drop the raw secret column names (e.g. `api_key_encrypted`) — those
125
+ * are surfaced under the logicalName when `includeSecrets` is true.
126
+ * 2. Merge in decrypted logical secrets when `includeSecrets` is true.
127
+ *
128
+ * Zod validation is intentionally skipped — selecting a subset would
129
+ * otherwise fail required-field checks.
130
+ *
131
+ * The `include` parameter is currently unused but kept on the signature
132
+ * for symmetry with other helpers and to make future per-join projection
133
+ * easy to thread in.
134
+ */
135
+ private projectRow;
78
136
  /**
79
137
  * Process joined rows by extracting join data
80
138
  */
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/service.js CHANGED
@@ -66,6 +66,137 @@ export class Service {
66
66
  }
67
67
  return fields;
68
68
  }
69
+ /**
70
+ * Parse a `select` array into main-row columns and per-join column overrides.
71
+ *
72
+ * Tokens:
73
+ * - `'col'` → main row column
74
+ * - `'$alias.col'` → column from the join named `alias`
75
+ * - `'$alias'` → all configured columns for the join named `alias`
76
+ *
77
+ * Validates that:
78
+ * - Main columns exist in the row schema (when shape is available).
79
+ * - `$alias` references a configured join AND the join is enabled via
80
+ * `include[alias] = true`. We require explicit include so the return
81
+ * type (which is keyed off `include`) stays accurate.
82
+ */
83
+ parseSelect(select, include) {
84
+ if (!select || select.length === 0)
85
+ return undefined;
86
+ const mainSet = new Set();
87
+ const joinAcc = {};
88
+ const allowedMain = this.getSchemaColumns();
89
+ const wildcard = allowedMain.length === 1 && allowedMain[0] === '*';
90
+ const joinNames = this.joins ? new Set(Object.keys(this.joins)) : new Set();
91
+ for (const raw of select) {
92
+ if (typeof raw !== 'string' || raw.length === 0) {
93
+ throw new ValidationError(`Invalid select token: ${JSON.stringify(raw)}. Expected a non-empty string.`);
94
+ }
95
+ if (raw.startsWith('$')) {
96
+ const body = raw.slice(1);
97
+ const dot = body.indexOf('.');
98
+ const alias = dot === -1 ? body : body.slice(0, dot);
99
+ const column = dot === -1 ? undefined : body.slice(dot + 1);
100
+ if (!alias) {
101
+ throw new ValidationError(`Invalid select token "${raw}": missing alias name after '$'.`);
102
+ }
103
+ if (!joinNames.has(alias)) {
104
+ throw new ValidationError(`Unknown join alias "${alias}" in select token "${raw}". Configured joins: ${Array.from(joinNames).join(', ') || '<none>'}.`);
105
+ }
106
+ if (!include[alias]) {
107
+ throw new ValidationError(`select token "${raw}" requires include.${alias} = true.`);
108
+ }
109
+ if (column === undefined) {
110
+ joinAcc[alias] = '*';
111
+ }
112
+ else if (!column) {
113
+ throw new ValidationError(`Invalid select token "${raw}": missing column name after '$${alias}.'.`);
114
+ }
115
+ else {
116
+ const existing = joinAcc[alias];
117
+ if (existing === '*') {
118
+ // already wildcard; keep wildcard
119
+ continue;
120
+ }
121
+ if (!existing) {
122
+ joinAcc[alias] = new Set([column]);
123
+ }
124
+ else {
125
+ existing.add(column);
126
+ }
127
+ }
128
+ continue;
129
+ }
130
+ if (!wildcard && !allowedMain.includes(raw)) {
131
+ throw new ValidationError(`Unknown column "${raw}" in select. Allowed columns: ${allowedMain.join(', ')}.`);
132
+ }
133
+ mainSet.add(raw);
134
+ }
135
+ const joinColumns = {};
136
+ for (const [alias, value] of Object.entries(joinAcc)) {
137
+ joinColumns[alias] = value === '*' ? '*' : Array.from(value);
138
+ }
139
+ return {
140
+ mainColumns: Array.from(mainSet),
141
+ joinColumns,
142
+ };
143
+ }
144
+ /**
145
+ * Compute the effective list of columns to SELECT from the main table.
146
+ *
147
+ * The user's main-row select is augmented with the primary key columns and
148
+ * any `orderBy` columns so cursor pagination keeps working and so the
149
+ * canonical record is always identifiable. These extras are kept in the
150
+ * returned row (per the design choice "silently include and keep").
151
+ */
152
+ resolveMainColumns(parsed, orderBy, includeSecrets) {
153
+ if (!parsed)
154
+ return this.getSelectColumns(includeSecrets);
155
+ const out = new Set(parsed.mainColumns);
156
+ for (const pk of Array.isArray(this.primaryKey)
157
+ ? this.primaryKey
158
+ : [this.primaryKey]) {
159
+ out.add(pk);
160
+ }
161
+ for (const order of orderBy) {
162
+ out.add(order.column);
163
+ }
164
+ if (includeSecrets && this.secrets) {
165
+ for (const s of this.secrets) {
166
+ out.add(s.columnName);
167
+ }
168
+ }
169
+ return Array.from(out);
170
+ }
171
+ /**
172
+ * Compute the effective per-join column override map.
173
+ *
174
+ * For each enabled join: if the user asked for specific columns via
175
+ * `$alias.col`, use those; if they used a bare `$alias`, fall back to the
176
+ * join's configured `remote.select`. Joins with no override aren't returned
177
+ * (so `buildSelect` keeps using the configured select for them).
178
+ *
179
+ * The join's PK is silently included so `processJoinedRows` can detect the
180
+ * presence of related data.
181
+ */
182
+ resolveJoinOverrides(parsed, include) {
183
+ if (!parsed || !this.joins)
184
+ return undefined;
185
+ const overrides = {};
186
+ for (const [alias, value] of Object.entries(parsed.joinColumns)) {
187
+ if (!include[alias])
188
+ continue;
189
+ const def = this.joins[alias];
190
+ if (!def)
191
+ continue;
192
+ if (value === '*')
193
+ continue; // use configured remote.select
194
+ const cols = new Set(value);
195
+ cols.add(def.remote.pk);
196
+ overrides[alias] = Array.from(cols);
197
+ }
198
+ return Object.keys(overrides).length > 0 ? overrides : undefined;
199
+ }
69
200
  validateSecretsNotInRowSchema() {
70
201
  if (!this.secrets)
71
202
  return;
@@ -98,7 +229,7 @@ export class Service {
98
229
  };
99
230
  try {
100
231
  await this.runHooks('before', 'list', ctx);
101
- const { cursor, limit = 50, orderBy: paramOrderBy, where = {}, include = {}, includeSecrets = false, } = params;
232
+ const { cursor, limit = 50, orderBy: paramOrderBy, where = {}, include = {}, includeSecrets = false, select, } = params;
102
233
  // Validate limit
103
234
  if (limit > 1000) {
104
235
  throw new ValidationError('Limit cannot exceed 1000');
@@ -133,14 +264,16 @@ export class Service {
133
264
  throw new ValidationError(`Invalid cursor: ${error instanceof Error ? error.message : 'Unknown error'}`);
134
265
  }
135
266
  }
136
- // Get columns to select (excluding secret columns if not requested)
137
- const columns = this.getSelectColumns(includeSecrets);
267
+ const parsedSelect = this.parseSelect(select, include);
268
+ const columns = this.resolveMainColumns(parsedSelect, orderBy, includeSecrets);
269
+ const joinColumnOverrides = this.resolveJoinOverrides(parsedSelect, include);
138
270
  // Build and execute query
139
271
  const { text: query, values: sqlParams } = buildSelect(this.table, {
140
- columns,
272
+ ...(columns ? { columns } : {}),
141
273
  where,
142
274
  ...(this.joins ? { joins: this.joins } : {}),
143
275
  include,
276
+ ...(joinColumnOverrides ? { joinColumnOverrides } : {}),
144
277
  orderBy,
145
278
  limit: actualLimit,
146
279
  ...(cursorConditions ? { cursorConditions } : {}),
@@ -160,11 +293,17 @@ export class Service {
160
293
  if (includeSecrets && this.secrets) {
161
294
  rows = await Promise.all(rows.map((row) => this.decryptRowSecrets(row)));
162
295
  }
163
- // Process joins
164
- const processedRows = this.processJoinedRows(rows, include);
165
- // Validate rows (strip secret keys to avoid Zod failures on unknown fields)
296
+ // Process joins (honour per-call join column overrides)
297
+ const processedRows = this.processJoinedRows(rows, include, joinColumnOverrides);
298
+ // Validate rows. When `select` is provided we project to the requested
299
+ // subset and skip full schema validation (Zod would fail on missing
300
+ // required fields). PK + orderBy columns are always present because
301
+ // resolveMainColumns added them.
166
302
  const validatedRows = processedRows.map((row) => {
167
303
  const r = row;
304
+ if (parsedSelect) {
305
+ return this.projectRow(r, include, includeSecrets);
306
+ }
168
307
  const validated = this.rowSchema.parse(this.stripSecretKeys(r));
169
308
  return includeSecrets
170
309
  ? {
@@ -214,14 +353,16 @@ export class Service {
214
353
  };
215
354
  try {
216
355
  await this.runHooks('before', 'get', ctx);
217
- const { include = {}, includeSecrets = false } = opts;
218
- // Get columns to select
219
- const columns = this.getSelectColumns(includeSecrets);
356
+ const { include = {}, includeSecrets = false, select } = opts;
357
+ const parsedSelect = this.parseSelect(select, include);
358
+ const columns = this.resolveMainColumns(parsedSelect, [], includeSecrets);
359
+ const joinColumnOverrides = this.resolveJoinOverrides(parsedSelect, include);
220
360
  // Build and execute query
221
361
  const { text: query, values: params } = buildSelectById(this.table, this.primaryKey, id, {
222
- columns,
362
+ ...(columns ? { columns } : {}),
223
363
  ...(this.joins ? { joins: this.joins } : {}),
224
364
  include,
365
+ ...(joinColumnOverrides ? { joinColumnOverrides } : {}),
225
366
  });
226
367
  const stmt = this.db.prepare(query);
227
368
  const result = await stmt.bind(...params).first();
@@ -235,19 +376,29 @@ export class Service {
235
376
  if (includeSecrets && this.secrets) {
236
377
  row = await this.decryptRowSecrets(row);
237
378
  }
238
- // Process joins
239
- let processedRow = this.processJoinedRows([row], include)[0];
379
+ // Process joins (honour per-call join column overrides)
380
+ let processedRow = this.processJoinedRows([row], include, joinColumnOverrides)[0];
240
381
  // Handle one-to-many joins with separate queries
241
382
  if (this.joins && Object.keys(include).length > 0) {
242
- processedRow = await this.fetchOneToManyJoins(processedRow, include, id);
243
- }
244
- // Validate row (strip secret keys to avoid Zod failures on unknown fields)
245
- const baseRow = this.rowSchema.parse(this.stripSecretKeys(row));
246
- const validatedRow = {
247
- ...baseRow,
248
- ...(includeSecrets ? this.extractSecretFields(row) : {}),
249
- ...this.extractJoinData(processedRow, include),
250
- };
383
+ processedRow = await this.fetchOneToManyJoins(processedRow, include, id, joinColumnOverrides);
384
+ }
385
+ // When `select` was provided, project to the requested subset rather
386
+ // than running Zod validation (which would fail on missing required
387
+ // fields). Otherwise validate the full row through the schema.
388
+ let validatedRow;
389
+ if (parsedSelect) {
390
+ // processedRow already has aliased join keys removed and join data
391
+ // attached via processJoinedRows + fetchOneToManyJoins.
392
+ validatedRow = this.projectRow(processedRow, include, includeSecrets);
393
+ }
394
+ else {
395
+ const baseRow = this.rowSchema.parse(this.stripSecretKeys(row));
396
+ validatedRow = {
397
+ ...baseRow,
398
+ ...(includeSecrets ? this.extractSecretFields(row) : {}),
399
+ ...this.extractJoinData(processedRow, include),
400
+ };
401
+ }
251
402
  ctx.result = validatedRow;
252
403
  await this.runHooks('after', 'get', ctx);
253
404
  return validatedRow;
@@ -272,7 +423,7 @@ export class Service {
272
423
  };
273
424
  try {
274
425
  await this.runHooks('before', 'create', ctx);
275
- const { include = {}, includeSecrets = false } = opts;
426
+ const { include = {}, includeSecrets = false, select } = opts;
276
427
  // Validate input data
277
428
  const validatedData = this.createSchema.parse(data);
278
429
  // Add timestamp fields if configured
@@ -309,6 +460,7 @@ export class Service {
309
460
  const createdRecord = await this.get(insertId, {
310
461
  include,
311
462
  includeSecrets,
463
+ ...(select ? { select } : {}),
312
464
  auth: opts.auth,
313
465
  });
314
466
  if (!createdRecord) {
@@ -338,7 +490,7 @@ export class Service {
338
490
  };
339
491
  try {
340
492
  await this.runHooks('before', 'update', ctx);
341
- const { include = {}, includeSecrets = false } = opts;
493
+ const { include = {}, includeSecrets = false, select } = opts;
342
494
  // Check if record exists
343
495
  const existingRecord = await this.get(id, { auth: opts.auth });
344
496
  if (!existingRecord) {
@@ -378,6 +530,7 @@ export class Service {
378
530
  const updatedRecord = await this.get(id, {
379
531
  include,
380
532
  includeSecrets,
533
+ ...(select ? { select } : {}),
381
534
  auth: opts.auth,
382
535
  });
383
536
  ctx.result = updatedRecord;
@@ -583,10 +736,43 @@ export class Service {
583
736
  return row;
584
737
  return decryptSecrets(row, this.secrets, this.keyProvider);
585
738
  }
739
+ /**
740
+ * Project a processed row down to the caller-requested subset.
741
+ *
742
+ * Callers must pass a row that has already been through
743
+ * `processJoinedRows` (and, for `get()`, `fetchOneToManyJoins`). That means
744
+ * it contains exactly:
745
+ * parsed.mainColumns + primary key + orderBy + secret columns
746
+ * + nested join data under each join key (object | array | null).
747
+ *
748
+ * Here we only need to:
749
+ * 1. Drop the raw secret column names (e.g. `api_key_encrypted`) — those
750
+ * are surfaced under the logicalName when `includeSecrets` is true.
751
+ * 2. Merge in decrypted logical secrets when `includeSecrets` is true.
752
+ *
753
+ * Zod validation is intentionally skipped — selecting a subset would
754
+ * otherwise fail required-field checks.
755
+ *
756
+ * The `include` parameter is currently unused but kept on the signature
757
+ * for symmetry with other helpers and to make future per-join projection
758
+ * easy to thread in.
759
+ */
760
+ projectRow(row, _include, includeSecrets) {
761
+ const out = { ...row };
762
+ if (this.secrets) {
763
+ for (const s of this.secrets) {
764
+ delete out[s.columnName];
765
+ }
766
+ }
767
+ if (includeSecrets) {
768
+ Object.assign(out, this.extractSecretFields(row));
769
+ }
770
+ return out;
771
+ }
586
772
  /**
587
773
  * Process joined rows by extracting join data
588
774
  */
589
- processJoinedRows(rows, include) {
775
+ processJoinedRows(rows, include, joinColumnOverrides) {
590
776
  if (!this.joins || Object.keys(include).length === 0) {
591
777
  return rows;
592
778
  }
@@ -599,8 +785,8 @@ export class Service {
599
785
  const joinAlias = joinDef.remote.alias || joinName;
600
786
  const joinData = {};
601
787
  const keysToRemove = [];
602
- // Extract join columns
603
- for (const column of joinDef.remote.select) {
788
+ const effectiveCols = joinColumnOverrides?.[joinName] ?? joinDef.remote.select;
789
+ for (const column of effectiveCols) {
604
790
  const aliasedKey = `${joinAlias}_${column}`;
605
791
  if (aliasedKey in row) {
606
792
  joinData[column] = row[aliasedKey];
@@ -644,7 +830,7 @@ export class Service {
644
830
  /**
645
831
  * Fetch one-to-many joins using separate queries
646
832
  */
647
- async fetchOneToManyJoins(processedRow, include, mainRecordId) {
833
+ async fetchOneToManyJoins(processedRow, include, mainRecordId, joinColumnOverrides) {
648
834
  if (!this.joins)
649
835
  return processedRow;
650
836
  const result = { ...processedRow };
@@ -652,8 +838,9 @@ export class Service {
652
838
  if (!include[joinName] || joinDef.kind !== 'many')
653
839
  continue;
654
840
  let relatedRecords = [];
841
+ const effectiveCols = joinColumnOverrides?.[joinName] ?? joinDef.remote.select;
655
842
  if (joinDef.through) {
656
- const selectColumns = joinDef.remote.select.map((col) => sql `${sql.ident(`${joinDef.remote.table}.${col}`)}`);
843
+ const selectColumns = effectiveCols.map((col) => sql `${sql.ident(`${joinDef.remote.table}.${col}`)}`);
657
844
  const query = sql `SELECT ${sql.join(selectColumns, ', ')}
658
845
  FROM ${sql.ident(joinDef.remote.table)}
659
846
  INNER JOIN ${sql.ident(joinDef.through.table)}
@@ -666,7 +853,7 @@ export class Service {
666
853
  }
667
854
  }
668
855
  else {
669
- const selectColumns = joinDef.remote.select.map((col) => sql `${sql.ident(col)}`);
856
+ const selectColumns = effectiveCols.map((col) => sql `${sql.ident(col)}`);
670
857
  const query = sql `SELECT ${sql.join(selectColumns, ', ')}
671
858
  FROM ${sql.ident(joinDef.remote.table)}
672
859
  WHERE ${sql.ident(joinDef.remote.pk)} = ${mainRecordId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
1
  import { sql } from '@truto/sqlite-builder';
2
2
  import type { JoinDef, OrderBy } from './types.js';
3
3
  /**
4
- * Build a SELECT query with joins and pagination
4
+ * Build a SELECT query with joins and pagination.
5
+ *
6
+ * `joinColumnOverrides[joinName]` overrides the columns pulled from that
7
+ * join's remote table for this query only (instead of using the join's
8
+ * configured `remote.select`). The base service uses this to honour the
9
+ * caller's `select: ['$alias.col', ...]` request.
5
10
  */
6
11
  export declare function buildSelect(table: string, options?: {
7
12
  columns?: string[];
8
13
  where?: Record<string, unknown>;
9
14
  joins?: Record<string, JoinDef>;
10
15
  include?: Record<string, boolean>;
16
+ joinColumnOverrides?: Record<string, string[]>;
11
17
  orderBy?: OrderBy[];
12
18
  limit?: number;
13
19
  offset?: number;
@@ -36,6 +42,7 @@ export declare function buildSelectById(table: string, primaryKey: string | stri
36
42
  columns?: string[];
37
43
  joins?: Record<string, JoinDef>;
38
44
  include?: Record<string, boolean>;
45
+ joinColumnOverrides?: Record<string, string[]>;
39
46
  }): ReturnType<typeof sql>;
40
47
  /**
41
48
  * Escape a column name using sql.ident
@@ -1 +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,CAuGxB;AAqCD;;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"}
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;;;;;;;GAOG;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,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9C,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,CAwGxB;AAqCD;;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;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C,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"}
@@ -1,7 +1,12 @@
1
1
  import { compileFilter, sql } from '@truto/sqlite-builder';
2
2
  import { SqlBuilderError } from './errors.js';
3
3
  /**
4
- * Build a SELECT query with joins and pagination
4
+ * Build a SELECT query with joins and pagination.
5
+ *
6
+ * `joinColumnOverrides[joinName]` overrides the columns pulled from that
7
+ * join's remote table for this query only (instead of using the join's
8
+ * configured `remote.select`). The base service uses this to honour the
9
+ * caller's `select: ['$alias.col', ...]` request.
5
10
  */
6
11
  export function buildSelect(table, options = {}) {
7
12
  try {
@@ -13,12 +18,12 @@ export function buildSelect(table, options = {}) {
13
18
  else {
14
19
  selectColumns.push(sql `${sql.ident(table)}.*`);
15
20
  }
16
- // Add join columns
17
21
  if (options.joins && options.include) {
18
22
  for (const [joinName, joinDef] of Object.entries(options.joins)) {
19
23
  if (options.include[joinName]) {
20
24
  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}`)}`);
25
+ const cols = options.joinColumnOverrides?.[joinName] ?? joinDef.remote.select;
26
+ const joinColumns = cols.map((col) => sql `${sql.ident(`${joinDef.remote.table}.${col}`)} as ${sql.ident(`${joinAlias}_${col}`)}`);
22
27
  selectColumns.push(...joinColumns);
23
28
  }
24
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sql-builder.js","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-builder.js","sourceRoot":"","sources":["../src/sql-builder.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -104,16 +104,58 @@ export interface OrderBy {
104
104
  column: string;
105
105
  direction: OrderDirection;
106
106
  }
107
+ /**
108
+ * Field selection for read methods.
109
+ *
110
+ * Use a flat array of column names to project the result to a subset of the
111
+ * row schema. To select columns from a configured join, use `$alias.column`
112
+ * notation (mirrors the alias-block syntax used by `where`):
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * service.list({
117
+ * auth,
118
+ * select: ['id', 'name', '$teams.id', '$teams.name'],
119
+ * include: { teams: true },
120
+ * })
121
+ * ```
122
+ *
123
+ * Notes:
124
+ * - The primary key and any `orderBy` columns are always included internally
125
+ * (and surfaced in the returned row) so cursor pagination keeps working.
126
+ * - `select` is independent of `includeSecrets`; secrets are still controlled
127
+ * exclusively by the `includeSecrets` flag.
128
+ * - `$alias.column` selects the given column from the joined table. A bare
129
+ * `$alias` token expands to all columns configured in the join's
130
+ * `remote.select`. The join must also be enabled via `include[alias] = true`.
131
+ * - Pass the array `as const` (or rely on the `<const>` type parameter) to
132
+ * narrow the return type to `Pick<Row, …>`.
133
+ */
134
+ export type SelectField = string;
135
+ /**
136
+ * Narrow a row type based on the columns chosen via `select`.
137
+ *
138
+ * - When `TSelect` is omitted/undefined → returns the full row.
139
+ * - When `TSelect` is a tuple (preserved by the `<const>` type parameter on
140
+ * service methods) → returns `Pick<Row, …non-$tokens…>`.
141
+ * - When `TSelect` widens to `string[]` (e.g. user did not pass `as const` and
142
+ * compiler couldn't preserve the tuple) → falls back to the full row.
143
+ *
144
+ * `$alias.column` and bare `$alias` tokens are stripped from the picked keys
145
+ * because join columns live on the join object, not on the row itself.
146
+ */
147
+ export type SelectedRow<TRow, TSelect extends readonly SelectField[] | undefined> = TSelect extends readonly SelectField[] ? string[] extends TSelect ? TRow : Pick<TRow, Extract<Exclude<TSelect[number], `$${string}`>, keyof TRow>> : TRow;
107
148
  /**
108
149
  * Pagination parameters
109
150
  */
110
- export interface ListParams {
151
+ export interface ListParams<TSelect extends readonly SelectField[] | undefined = undefined> {
111
152
  cursor?: string;
112
153
  limit?: number;
113
154
  orderBy?: OrderBy[];
114
155
  where?: Record<string, unknown>;
115
156
  include?: Record<string, boolean>;
116
157
  includeSecrets?: boolean;
158
+ select?: TSelect;
117
159
  }
118
160
  /**
119
161
  * Paginated list result
@@ -132,23 +174,26 @@ export interface CountParams {
132
174
  /**
133
175
  * Get parameters
134
176
  */
135
- export interface GetParams {
177
+ export interface GetParams<TSelect extends readonly SelectField[] | undefined = undefined> {
136
178
  include?: Record<string, boolean>;
137
179
  includeSecrets?: boolean;
180
+ select?: TSelect;
138
181
  }
139
182
  /**
140
183
  * Create parameters
141
184
  */
142
- export interface CreateParams {
185
+ export interface CreateParams<TSelect extends readonly SelectField[] | undefined = undefined> {
143
186
  include?: Record<string, boolean>;
144
187
  includeSecrets?: boolean;
188
+ select?: TSelect;
145
189
  }
146
190
  /**
147
191
  * Update parameters
148
192
  */
149
- export interface UpdateParams {
193
+ export interface UpdateParams<TSelect extends readonly SelectField[] | undefined = undefined> {
150
194
  include?: Record<string, boolean>;
151
195
  includeSecrets?: boolean;
196
+ select?: TSelect;
152
197
  }
153
198
  /**
154
199
  * Delete parameters
@@ -218,10 +263,10 @@ export interface CursorToken {
218
263
  * Base service interface
219
264
  */
220
265
  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>;
266
+ list<const TSelect extends readonly SelectField[] | undefined = undefined>(params?: ListParams<TSelect> & MethodOptions): Promise<ListResult<SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, ListParams['include']>>>;
267
+ get<const TSelect extends readonly SelectField[] | undefined = undefined>(id: string | number, opts?: GetParams<TSelect> & MethodOptions): Promise<(SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, GetParams['include']>) | null>;
268
+ create<const TSelect extends readonly SelectField[] | undefined = undefined>(data: z.infer<TCreate>, opts?: CreateParams<TSelect> & MethodOptions): Promise<SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, CreateParams['include']>>;
269
+ update<const TSelect extends readonly SelectField[] | undefined = undefined>(id: string | number, data: Partial<z.infer<TUpdate>>, opts?: UpdateParams<TSelect> & MethodOptions): Promise<(SelectedRow<z.infer<TRow>, TSelect> & ComputeJoins<TJoins, UpdateParams['include']>) | null>;
225
270
  delete(id: string | number, opts?: DeleteParams & MethodOptions): Promise<boolean>;
226
271
  count(params?: CountParams & MethodOptions): Promise<number>;
227
272
  query<T = z.infer<TRow>>(sql: string, params?: QueryParams & MethodOptions): Promise<T[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truto/ginger",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "A type-safe SQLite data access layer for Cloudflare D1, Bun SQLite, and Durable Objects with cursor pagination, joins, AES-256-GCM encryption, and a Feathers.js-inspired hook system",
5
5
  "keywords": [
6
6
  "cloudflare",