Constructor
# new FromModelController(ModelClazz)
The FromModelController class provides the infrastructure necessary to automatically generate
strongly-typed CRUD controllers based on a given ModelConstructor. It inspects metadata from
the model, derives route paths, parameters, and generates a dynamic controller class at runtime with
full support for querying, creation, update, and deletion of model entities through a Repo.
Factory and utilities for generating dynamic NestJS controllers from Decaf Model definitions.
sequenceDiagram
participant Client
participant Controller
participant Repo
participant DB
Client->>Controller: HTTP Request
Controller->>Repo: Resolve repository for Model
Repo->>DB: Execute DB operation
DB-->>Repo: DB Result
Repo-->>Controller: Model Instance(s)
Controller-->>Client: JSON Response
Parameters:
| Name | Type | Description |
|---|---|---|
ModelClazz |
The model class to generate the controller from. |
Example
```ts
// Given a Decaf Model:
class User extends Model<User> {
id!: string;
name!: string;
}
// Register controller:
const UserController = FromModelController.create(User);
// NestJS will expose:
// POST /user
// GET /user/:id
// GET /user/query/:method
// PUT /user/:id
// DELETE /user/:id
```