Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
typeorm-routing-controllers-extensions
Advanced tools
Readme
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.
The npm package typeorm-routing-controllers-extensions receives a total of 327 weekly downloads. As such, typeorm-routing-controllers-extensions popularity was classified as not popular.
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.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.