20 lines
791 B
TypeScript
20 lines
791 B
TypeScript
/** Public API of the promotions module. */
|
|
import type pg from 'pg';
|
|
import { PromotionServiceImpl } from './application/promotion-service.js';
|
|
import type { PromotionService } from './domain/ports.js';
|
|
import { PgPromotionRepository } from './infrastructure/pg-promotion-repository.js';
|
|
|
|
export { registerPromotionsRoutes, type PromotionsRoutesDeps } from './api/promotions.routes.js';
|
|
export type { PromotionService as PromotionServicePort } from './domain/ports.js';
|
|
export type { PromotionRepository } from './domain/ports.js';
|
|
export type {
|
|
NewPromotion,
|
|
Promotion,
|
|
PromotionDiscount,
|
|
PromotionType,
|
|
} from './domain/promotion.js';
|
|
|
|
export function createPromotionService(pool: pg.Pool): PromotionService {
|
|
return new PromotionServiceImpl(new PgPromotionRepository(pool));
|
|
}
|