import { Module } from "@nestjs/common"; import { GroupFilesController, PublicFileShareController } from "./group-files.controller.js"; import { GroupFilesService } from "./group-files.service.js"; import { DriveController } from "./drive.controller.js"; /** * Group files module — the metadata index + share/link lifecycle over * chat_media_archive (029) and the oCIS WebDAV port (occ-files deploy). * * NOT registered in AppModule by this slice: per the deployment contract * (infra/occupymedia/files/README.md) the oCIS service is scaffolded * separately and admission checks are mandatory before this surface accepts * user payloads. Wiring is one line in apps/api/src/app.module.ts: * * imports: [..., GroupFilesModule] * * until that gate is passed — the ChatgovModule precedent. * * The oCIS client is built lazily from env on first use, so importing the * module never requires FILES_OCID_* to be present; routes fail 503 when the * deployment is absent instead of breaking startup. */ @Module({ controllers: [GroupFilesController, PublicFileShareController, DriveController], providers: [GroupFilesService], exports: [GroupFilesService], }) export class GroupFilesModule {}