
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
typeorm-routing-controllers-extensions
Advanced tools
TypeORM routing-controllers integration library.
This extension for TypeORM provides handy decorators that can be used with routing-controllers.
npm install typeorm-routing-controllers-extensions --save
npm install routing-controllers --save
All decorators can be used on properties and constructor arguments, e.g. you can use both property and constructor injection.
Creates entity from the request parameter.
Example:
import {JsonController, Get} from "routing-controllers";
import {EntityFromParam} from "typeorm-routing-controllers-extensions";
import {User} from "../entity/User";
@JsonController()
export class UserController {
@Get("/users/:id")
get(@EntityFromParam("id") user: User) {
return user;
}
}
Creates entity from the request query parameter.
Example:
import {JsonController, Get} from "routing-controllers";
import {EntityFromQuery} from "typeorm-routing-controllers-extensions";
import {User} from "../entity/User";
@JsonController()
export class UserController {
@Get("/users")
get(@EntityFromQuery("id") user: User) {
return user;
}
}
Creates entity from the request cookie.
Example:
import {JsonController, Get} from "routing-controllers";
import {EntityFromCookie} from "typeorm-routing-controllers-extensions";
import {User} from "../entity/User";
@JsonController()
export class UserController {
@Get("/users")
get(@EntityFromCookie("userId") user: User) {
return user;
}
}
Creates entity from the request body.
Example:
import {JsonController, Post} from "routing-controllers";
import {EntityFromBody} from "typeorm-routing-controllers-extensions";
import {User} from "../entity/User";
@JsonController()
export class UserController {
@Post("/users")
save(@EntityFromBody() user: User) {
return this.userRepository.persist(user);
}
}
Creates entity from the request's body parameter.
Example:
import {JsonController, Post} from "routing-controllers";
import {EntityFromBodyParam} from "typeorm-routing-controllers-extensions";
import {User} from "../entity/User";
@JsonController()
export class UserController {
@Post("/users")
save(@EntityFromBodyParam("user") user: User) {
return this.userRepository.persist(user);
}
}
Each decorator accepts EntityParamOptions
which has following options:
connectionName?: string
Name of the connection to be used in TypeORM. By default, its "default" connection.
required: boolean
Indicate if this parameter's value is required. If its required and client didn't pass a value, routing-controllers will throw an error.
parseJson: boolean
Specifies "parseJson" option to routing-controllers.
type: Function
Entity type. Automatically retrieved from entity param's type, but in some cases, for example if you are using array of entities it should be passed explicitly.
many: boolean
Entity type. Automatically retrieved from entity param's type, but in some cases, for example if you are using array of entities it should be passed explicitly.
property: boolean
Property to find by. If not specified, then entity will be fetched by its primary keys.
Take a look on samples in ./sample for examples of usages.
FAQs
TypeORM routing-controllers integration library.
We found that typeorm-routing-controllers-extensions demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.