create-nest-template-malahimdev
Version:
Scaffolds a NestJS template with Swagger, global pipes, exception filters, MongoDB connection and response helpers.
62 lines (55 loc) • 1.59 kB
text/typescript
import { Body, Controller, Get, Post, UseGuards } from '@nestjs/common';
import { AppService } from './app.service';
import { ApiBearerAuth, ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';
import { JwtAuthGuard } from './auth/auth.guard';
import { successResponse, errorResponse } from '../helpers/response.helper';
import { CreateItemDto } from './dto/create-item.dto';
export class AppController {
constructor(private readonly appService: AppService) {}
getHello() {
return successResponse('Hello API working ✅', {
data: this.appService.getHello(),
});
}
// ✅ Public API
getPublic() {
return successResponse('Public API fetched successfully 🚀', {
data: { info: 'This is a public API' },
});
}
// ✅ Protected API
getProtected() {
return successResponse('Protected API fetched successfully 🔒', {
data: { info: 'This is a protected API' },
});
}
// 🚫 Hidden API
getHidden() {
return successResponse('Hidden API executed 👻', {
data: { secret: 'This API is hidden from Swagger' },
});
}
// 🆕 POST API with DTO
createItem( body: CreateItemDto) {
try {
return successResponse('Item created successfully ✅', {
data: {
id: Date.now(),
...body,
},
});
} catch (error) {
return errorResponse.internal();
}
}
}