diff --git a/backend/src/main.ts b/backend/src/main.ts index e3d0d797..337ca772 100644 --- a/backend/src/main.ts +++ b/backend/src/main.ts @@ -1,4 +1,5 @@ import { NestFactory } from '@nestjs/core'; +import { ValidationPipe, VersioningType } from '@nestjs/common'; import { ValidationPipe, VersioningType, @@ -23,6 +24,12 @@ async function bootstrap() { const configService = app.get(ConfigService); const port = configService.get('port'); + app.setGlobalPrefix('api'); + app.enableVersioning({ + type: VersioningType.URI, + defaultVersion: '1', + }); + app.useGlobalFilters(new AllExceptionsFilter()); app.setGlobalPrefix('api'); app.enableVersioning({ type: VersioningType.URI, @@ -56,6 +63,19 @@ async function bootstrap() { }), ); + // Swagger setup + const swaggerConfig = new DocumentBuilder() + .setTitle('Nestera API') + .setDescription('API documentation for the Nestera platform (URI versioned, e.g., /v1/)') + .setVersion('1.0') + .addBearerAuth() + .build(); + const document = SwaggerModule.createDocument(app, swaggerConfig); + SwaggerModule.setup('api/docs', app, document); + + await app.listen(port || 3001); + console.log(`Application is running on: http://localhost:${port}/api (with URI versioning, e.g., /v1/)`); + console.log(`Swagger docs available at: http://localhost:${port}/api/docs (shows versioned endpoints)`); // ── Swagger / OpenAPI setup ─────────────────────────────────────────────── const rateLimitDescription = ` ## Authentication diff --git a/backend/src/modules/governance/governance.service.ts b/backend/src/modules/governance/governance.service.ts index 772d6158..c9329d6a 100644 --- a/backend/src/modules/governance/governance.service.ts +++ b/backend/src/modules/governance/governance.service.ts @@ -550,6 +550,11 @@ export class GovernanceService { governanceTokenContractId, user.publicKey, ); + const votingPower = (balance / 10_000_000).toLocaleString(undefined, { + minimumFractionDigits: 0, + maximumFractionDigits: 0, + }); + return { votingPower: `${votingPower} NST` }; return Number(balance) / 10_000_000; } @@ -822,4 +827,4 @@ export class GovernanceService { return this.readRequiredPositiveInteger(value, key); } -} +} \ No newline at end of file