import { Module } from '@nestjs/common'; import { AuditModule } from '../audit/audit.module'; import { CommentsModule } from '../comments/comments.module'; import { ImportExportModule } from '../import-export/import-export.module'; import { LabelsModule } from '../labels/labels.module'; import { PagesModule } from '../pages/pages.module'; import { PermissionsModule } from '../permissions/permissions.module'; import { PondsModule } from '../ponds/ponds.module'; import { RateLimitModule } from '../rate-limit/rate-limit.module'; import { SearchModule } from '../search/search.module'; import { SettingsModule } from '../settings/settings.module'; import { VersionsModule } from '../versions/versions.module'; import { ApiTokensController } from './api-tokens.controller'; import { ApiTokensService } from './api-tokens.service'; import { PublicApiDocsController } from './public-api-docs.controller'; import { PublicApiController } from './public-api.controller'; import { PublicApiGuard } from './public-api.guard'; import { PublicApiService } from './public-api.service'; /** * Public REST API v1 + personal access tokens (issue #104): thin * controllers over the existing feature services; nothing here owns * domain logic beyond the token lifecycle and the public wire shapes. */ @Module({ imports: [ SettingsModule, PermissionsModule, PondsModule, PagesModule, LabelsModule, CommentsModule, VersionsModule, SearchModule, ImportExportModule, RateLimitModule, AuditModule, ], controllers: [ApiTokensController, PublicApiController, PublicApiDocsController], providers: [ApiTokensService, PublicApiService, PublicApiGuard], exports: [ApiTokensService, PublicApiService], }) export class PublicApiModule {}