Skip to content

BaseQuery

Defined in: packages/ddd-core/application/base.query.ts:30

Base class for application CQRS queries.

Query options and authentication context are pipeline metadata rather than request payload. They are stored as non-enumerable properties so Zod validation and cache-key serialization operate only on the query payload.

TSessionUser

Application-specific principal/session metadata type.

export class GetUserQuery extends BaseQuery<SessionUser> {
constructor(
public readonly id: string,
options?: Partial<IQueryOptions>,
sessionUser?: SessionUser,
) {
super(options, sessionUser);
}
}
const query = new GetUserQuery(userId, { hydrate: true }, sessionUser);

TSessionPrincipal = unknown

new BaseQuery<TSessionPrincipal>(options?, sessionPrincipal?): BaseQuery<TSessionPrincipal>

Defined in: packages/ddd-core/application/base.query.ts:38

Partial<IQueryOptions>

TSessionPrincipal

BaseQuery<TSessionPrincipal>

readonly optional hydrate?: boolean

Defined in: packages/ddd-core/application/base.query.ts:33

Query metadata for repositories that read it. FromCache does not: it rehydrates every hit whenever a hydrator applies.

false

IQueryOptions.hydrate


readonly optional refresh?: boolean

Defined in: packages/ddd-core/application/base.query.ts:34

Bypass read-through cache lookup and fill, forcing an authoritative read directly from underlying persistence.

false

IQueryOptions.refresh


readonly optional sessionPrincipal?: TSessionPrincipal

Defined in: packages/ddd-core/application/base.query.ts:35


readonly optional sessionUser?: TSessionPrincipal

Defined in: packages/ddd-core/application/base.query.ts:36

toJSON(): Record<string, unknown>

Defined in: packages/ddd-core/application/base.query.ts:58

Serializes enumerable query payload fields to a plain object.

hydrate, refresh, sessionPrincipal and sessionUser are non-enumerable metadata and stay out of the payload.

Record<string, unknown>

The query payload with undefined fields omitted.