/** * Campaign Module * * NestJS module demonstrating the proper pattern using domain service directly: * Module → Controller → BackendCampaignService * * @fileoverview Campaign NestJS module configuration * @module CampaignModule */ import { BACKEND_CAMPAIGN_DOMAIN_SERVICE } from './campaign.controller'; import { BackendCampaignDomainService } from '../../domain/campaign'; /** * Campaign Module * * Configures the campaign feature module with controller and domain service. * Uses factory pattern to provide singleton instance of BackendCampaignDomainService. * * @class CampaignModule * @decorator @Module * * @example * ```typescript * // Usage in app.module.ts * import { CoreModule } from '@plyaz/core/nestjs'; * import { CampaignModule } from '@plyaz/core'; * * @Module({ * imports: [ * CoreModule.forRoot({ envPath: '.env' }), * CampaignModule, * ], * }) * export class AppModule {} * ``` * * @example * ```typescript * // Direct service injection in other modules * import { BACKEND_CAMPAIGN_DOMAIN_SERVICE } from '@plyaz/core'; * * @Injectable() * export class SomeService { * constructor( * @Inject(BACKEND_CAMPAIGN_DOMAIN_SERVICE) * private campaignService: BackendCampaignDomainService * ) {} * } * ``` */ export declare class CampaignModule { } /** * Re-exported for convenience * @see {BackendCampaignDomainService} * @see {BACKEND_CAMPAIGN_DOMAIN_SERVICE} */ export { BackendCampaignDomainService, BACKEND_CAMPAIGN_DOMAIN_SERVICE }; //# sourceMappingURL=campaign.module.d.ts.map