
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
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.
The npm package typeorm-routing-controllers-extensions receives a total of 244 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.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.