def routes()

in src/lambdas/modular_api_handler/processors/tenant_processor.py [0:0]


    def routes(cls) -> tuple[Route, ...]:
        return (
            cls.route(
                Endpoint.TENANTS,
                HTTPMethod.GET,
                'query',
                response=(HTTPStatus.OK, TenantsResponse, None),
                permission=Permission.TENANT_DESCRIBE
            ),
            cls.route(
                Endpoint.TENANTS_NAME,
                HTTPMethod.GET,
                'get',
                summary='Queries a specific tenant',
                description='Either tenant name or tenant account id can be used to retrieve a tenant',
                response=(HTTPStatus.OK, TenantResponse, None),
                permission=Permission.TENANT_DESCRIBE
            ),
            cls.route(
                Endpoint.TENANTS,
                HTTPMethod.POST,
                'create',
                response=[(HTTPStatus.CREATED, TenantResponse, None),
                          (HTTPStatus.CONFLICT, MessageModel, 'Tenant already exists')],
                description='Creates a new tenant',
                permission=Permission.TENANT_CREATE
            ),
            cls.route(
                Endpoint.TENANTS_NAME_ACTIVATE,
                HTTPMethod.POST,
                'activate',
                response=(HTTPStatus.OK, TenantResponse, None),
                description='Activates an existing tenant',
                permission=Permission.TENANT_ACTIVATE
            ),
            cls.route(
                Endpoint.TENANTS_NAME_DEACTIVATE,
                HTTPMethod.POST,
                'deactivate',
                response=(HTTPStatus.OK, TenantResponse, None),
                description='Deactivates an existing tenant',
                permission=Permission.TENANT_DEACTIVATE
            ),
            cls.route(
                Endpoint.TENANTS_NAME,
                HTTPMethod.DELETE,
                'delete',
                summary='Guarantees that tenant is completely removed from the DB',
                response=(HTTPStatus.NO_CONTENT, None, None),
                permission=Permission.TENANT_DELETE
            ),
        )