File

src/auth/tenant/tenant.controller.ts

Prefix

tenant

Description

Tenant management controller

Index

Methods

Methods

deleteTenant
deleteTenant(id: string)
Decorators :
@Delete(':id')

Deletes a tenant by ID

Parameters :
Name Type Optional Description
id string No

The ID of the tenant to delete

Returns : any
getTenant
getTenant(id: string)
Decorators :
@Get(':id')

Get a tenant by ID

Parameters :
Name Type Optional Description
id string No

The ID of the tenant

Returns : any

The tenant

getTenants
getTenants()
Decorators :
@Get()

Get all tenants

Returns : any
initTenant
initTenant(data: CreateTenantDto)
Decorators :
@Post()

Initialize a tenant

Parameters :
Name Type Optional
data CreateTenantDto No
Returns : any
updateTenant
updateTenant(id: string, data: UpdateTenantDto)
Decorators :
@Patch(':id')

Update a tenant by ID

Parameters :
Name Type Optional Description
id string No

The ID of the tenant

data UpdateTenantDto No

The updated tenant data

Returns : any

The updated tenant

import {
    Body,
    Controller,
    Delete,
    Get,
    Param,
    Patch,
    Post,
} from "@nestjs/common";
import { ApiExtraModels, ApiTags } from "@nestjs/swagger";
import { Role } from "../roles/role.enum";
import { Secured } from "../secure.decorator";
import { CreateTenantDto } from "./dto/create-tenant.dto";
import { ImportTenantDto } from "./dto/import-tenant.dto";
import { UpdateTenantDto } from "./dto/update-tenant.dto";
import { TenantService } from "./tenant.service";

/**
 * Tenant management controller
 */
@ApiExtraModels(ImportTenantDto)
@ApiTags("Tenant")
@Secured([Role.Tenants])
@Controller("tenant")
export class TenantController {
    constructor(private readonly tenantService: TenantService) {}

    /**
     * Get all tenants
     * @returns
     */
    @Get()
    getTenants() {
        return this.tenantService.getAll();
    }

    /**
     * Initialize a tenant
     * @param data
     * @returns
     */
    @Post()
    initTenant(@Body() data: CreateTenantDto) {
        return this.tenantService.createTenant(data);
    }

    /**
     * Get a tenant by ID
     * @param id The ID of the tenant
     * @returns The tenant
     */
    @Get(":id")
    getTenant(@Param("id") id: string) {
        return this.tenantService.getTenant(id);
    }

    /**
     * Update a tenant by ID
     * @param id The ID of the tenant
     * @param data The updated tenant data
     * @returns The updated tenant
     */
    @Patch(":id")
    updateTenant(@Param("id") id: string, @Body() data: UpdateTenantDto) {
        return this.tenantService.updateTenant(id, data);
    }

    /**
     * Deletes a tenant by ID
     * @param id The ID of the tenant to delete
     */
    @Delete(":id")
    deleteTenant(@Param("id") id: string) {
        return this.tenantService.deleteTenant(id);
    }
}

results matching ""

    No results matching ""