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:
connection?: 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.
parse: 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.
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.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4