37 lines
768 B
TypeScript
37 lines
768 B
TypeScript
import {
|
|
Controller,
|
|
Post,
|
|
Delete,
|
|
Body,
|
|
Param,
|
|
UseGuards,
|
|
} from '@nestjs/common';
|
|
import { TenantProvisioningService } from './tenant-provisioning.service';
|
|
|
|
@Controller('setup/tenants')
|
|
export class TenantProvisioningController {
|
|
constructor(
|
|
private readonly provisioningService: TenantProvisioningService,
|
|
) {}
|
|
|
|
@Post()
|
|
async createTenant(
|
|
@Body()
|
|
data: {
|
|
name: string;
|
|
slug: string;
|
|
primaryDomain: string;
|
|
dbHost?: string;
|
|
dbPort?: number;
|
|
},
|
|
) {
|
|
return this.provisioningService.provisionTenant(data);
|
|
}
|
|
|
|
@Delete(':tenantId')
|
|
async deleteTenant(@Param('tenantId') tenantId: string) {
|
|
await this.provisioningService.deprovisionTenant(tenantId);
|
|
return { success: true };
|
|
}
|
|
}
|