import { Service, ServiceBroker } from 'moleculer'; import { Container } from 'inversify'; import { Moleculer, zodSchemasToMoleculer } from '@common-stack/codegen-zod'; import { IFileInfoService, SERVER_TYPES, FileInfoServiceSchemas } from 'common/server'; /** * FileInfo Moleculer service (auto-generated actions + events). * Pattern 1 from proxy-service-backend-llm.md */ export class FileInfoMoleculerService extends Service { constructor(broker: ServiceBroker, { container }: { container: Container }) { super(broker); const { topic } = FileInfoServiceSchemas; // minification-safe topic const service = container.get(SERVER_TYPES.FileInfoService); const paramOverrides = zodSchemasToMoleculer(FileInfoServiceSchemas); // optional validation const { actions, events } = Moleculer.generateActionsAndEvents(service, { paramOverrides, }); this.parseServiceSchema({ name: topic, actions, events, }); } }