@swoft/ddd
Version:
Domain-Driven Design (DDD) strategic and tactical design tools for domain modeling and bounded context management.
74 lines (72 loc) • 1.63 kB
TypeScript
/**
* Published Language Contract - DDD Domain → Downstream Contexts
*
* Defines the query criteria interface that DDD Domain exposes
* for domain and bounded context queries. Part of the Published Language
* following Eric Evans Strategic DDD patterns.
*/
interface DomainQueryCriteria {
/**
* Search term to filter by name or description
*/
searchTerm?: string;
/**
* Filter by domain status
*/
status?: 'draft' | 'active' | 'deprecated' | 'all';
/**
* Maximum number of results
*/
limit?: number;
/**
* Offset for pagination
*/
offset?: number;
/**
* Include archived domains
*/
includeArchived?: boolean;
}
interface BoundedContextQueryCriteria {
/**
* Filter by parent domain ID
*/
domainId?: string;
/**
* Search term
*/
searchTerm?: string;
/**
* Filter by status
*/
status?: 'planned' | 'development' | 'production' | 'deprecated' | 'all';
/**
* Pagination
*/
limit?: number;
offset?: number;
}
interface AggregateQueryCriteria {
/**
* Filter by bounded context ID
*/
boundedContextId?: string;
/**
* Filter by domain ID
*/
domainId?: string;
/**
* Search term
*/
searchTerm?: string;
/**
* Filter by status
*/
status?: 'draft' | 'designed' | 'implemented' | 'testing' | 'production' | 'deprecated' | 'all';
/**
* Pagination
*/
limit?: number;
offset?: number;
}
export type { AggregateQueryCriteria, BoundedContextQueryCriteria, DomainQueryCriteria };