import { Controller, Get, Post, Put, Param, Body, UseGuards, } from '@nestjs/common'; import { AppBuilderService } from './app-builder.service'; import { JwtAuthGuard } from '../auth/jwt-auth.guard'; import { TenantId } from '../tenant/tenant.decorator'; @Controller('setup/apps') //@UseGuards(JwtAuthGuard) export class SetupAppController { constructor(private appBuilderService: AppBuilderService) {} @Get() async getAllApps(@TenantId() tenantId: string) { return this.appBuilderService.getAllApps(tenantId); } @Get(':appSlug') async getApp( @TenantId() tenantId: string, @Param('appSlug') appSlug: string, ) { return this.appBuilderService.getAppForSetup(tenantId, appSlug); } @Post() async createApp(@TenantId() tenantId: string, @Body() data: any) { return this.appBuilderService.createApp(tenantId, data); } @Put(':appSlug') async updateApp( @TenantId() tenantId: string, @Param('appSlug') appSlug: string, @Body() data: any, ) { return this.appBuilderService.updateApp(tenantId, appSlug, data); } @Post(':appSlug/pages') async createPage( @TenantId() tenantId: string, @Param('appSlug') appSlug: string, @Body() data: any, ) { return this.appBuilderService.createPage(tenantId, appSlug, data); } @Put(':appSlug/pages/:pageSlug') async updatePage( @TenantId() tenantId: string, @Param('appSlug') appSlug: string, @Param('pageSlug') pageSlug: string, @Body() data: any, ) { return this.appBuilderService.updatePage(tenantId, appSlug, pageSlug, data); } }