Now using typeorm-routing-controllers-extensions for cleaner controllers
ref #4
This commit is contained in:
parent
7b948f0380
commit
2c29fe29e8
131
package.json
131
package.json
@ -1,69 +1,70 @@
|
|||||||
{
|
{
|
||||||
"name": "@lfk/backend",
|
"name": "@lfk/backend",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"main": "src/app.ts",
|
"main": "src/app.ts",
|
||||||
"repository": "https://git.odit.services/lfk/backend",
|
"repository": "https://git.odit.services/lfk/backend",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "ODIT.Services",
|
"name": "ODIT.Services",
|
||||||
"email": "info@odit.services",
|
"email": "info@odit.services",
|
||||||
"url": "https://odit.services"
|
"url": "https://odit.services"
|
||||||
|
},
|
||||||
|
"contributors": [
|
||||||
|
{
|
||||||
|
"name": "Philipp Dormann",
|
||||||
|
"email": "philipp@philippdormann.de",
|
||||||
|
"url": "https://philippdormann.de"
|
||||||
},
|
},
|
||||||
"contributors": [
|
{
|
||||||
{
|
"name": "Nicolai Ort",
|
||||||
"name": "Philipp Dormann",
|
"email": "info@nicolai-ort.com",
|
||||||
"email": "philipp@philippdormann.de",
|
"url": "https://nicolai-ort.com"
|
||||||
"url": "https://philippdormann.de"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nicolai Ort",
|
|
||||||
"email": "info@nicolai-ort.com",
|
|
||||||
"url": "https://nicolai-ort.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "CC-BY-NC-SA-4.0",
|
|
||||||
"dependencies": {
|
|
||||||
"body-parser": "^1.19.0",
|
|
||||||
"class-transformer": "^0.3.1",
|
|
||||||
"class-validator": "^0.12.2",
|
|
||||||
"consola": "^2.15.0",
|
|
||||||
"cors": "^2.8.5",
|
|
||||||
"express": "^4.17.1",
|
|
||||||
"helmet": "^4.2.0",
|
|
||||||
"jsonwebtoken": "^8.5.1",
|
|
||||||
"multer": "^1.4.2",
|
|
||||||
"mysql": "^2.18.1",
|
|
||||||
"pg": "^8.5.1",
|
|
||||||
"reflect-metadata": "^0.1.13",
|
|
||||||
"routing-controllers": "^0.9.0-alpha.6",
|
|
||||||
"routing-controllers-openapi": "^2.1.0",
|
|
||||||
"swagger-ui-express": "^4.1.5",
|
|
||||||
"typeorm": "^0.2.29"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/cors": "^2.8.8",
|
|
||||||
"@types/dotenv-safe": "^8.1.1",
|
|
||||||
"@types/express": "^4.17.9",
|
|
||||||
"@types/jsonwebtoken": "^8.5.0",
|
|
||||||
"@types/node": "^14.14.9",
|
|
||||||
"@types/multer": "^1.4.4",
|
|
||||||
"@types/swagger-ui-express": "^4.1.2",
|
|
||||||
"dotenv-safe": "^8.2.0",
|
|
||||||
"husky": "^4.3.0",
|
|
||||||
"nodemon": "^2.0.6",
|
|
||||||
"prettier": "^2.2.0",
|
|
||||||
"pretty-quick": "^3.1.0",
|
|
||||||
"sqlite3": "^5.0.0",
|
|
||||||
"ts-node": "^9.0.0",
|
|
||||||
"typescript": "^4.1.2"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"dev": "nodemon src/app.ts",
|
|
||||||
"build": "tsc",
|
|
||||||
"format": "pretty-quick"
|
|
||||||
},
|
|
||||||
"husky": {
|
|
||||||
"hooks": {
|
|
||||||
"pre-commit": "pretty-quick --staged"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"license": "CC-BY-NC-SA-4.0",
|
||||||
|
"dependencies": {
|
||||||
|
"body-parser": "^1.19.0",
|
||||||
|
"class-transformer": "^0.3.1",
|
||||||
|
"class-validator": "^0.12.2",
|
||||||
|
"consola": "^2.15.0",
|
||||||
|
"cors": "^2.8.5",
|
||||||
|
"express": "^4.17.1",
|
||||||
|
"helmet": "^4.2.0",
|
||||||
|
"jsonwebtoken": "^8.5.1",
|
||||||
|
"multer": "^1.4.2",
|
||||||
|
"mysql": "^2.18.1",
|
||||||
|
"pg": "^8.5.1",
|
||||||
|
"reflect-metadata": "^0.1.13",
|
||||||
|
"routing-controllers": "^0.9.0-alpha.6",
|
||||||
|
"routing-controllers-openapi": "^2.1.0",
|
||||||
|
"swagger-ui-express": "^4.1.5",
|
||||||
|
"typeorm": "^0.2.29",
|
||||||
|
"typeorm-routing-controllers-extensions": "^0.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/cors": "^2.8.8",
|
||||||
|
"@types/dotenv-safe": "^8.1.1",
|
||||||
|
"@types/express": "^4.17.9",
|
||||||
|
"@types/jsonwebtoken": "^8.5.0",
|
||||||
|
"@types/multer": "^1.4.4",
|
||||||
|
"@types/node": "^14.14.9",
|
||||||
|
"@types/swagger-ui-express": "^4.1.2",
|
||||||
|
"dotenv-safe": "^8.2.0",
|
||||||
|
"husky": "^4.3.0",
|
||||||
|
"nodemon": "^2.0.6",
|
||||||
|
"prettier": "^2.2.0",
|
||||||
|
"pretty-quick": "^3.1.0",
|
||||||
|
"sqlite3": "^5.0.0",
|
||||||
|
"ts-node": "^9.0.0",
|
||||||
|
"typescript": "^4.1.2"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"dev": "nodemon src/app.ts",
|
||||||
|
"build": "tsc",
|
||||||
|
"format": "pretty-quick"
|
||||||
|
},
|
||||||
|
"husky": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "pretty-quick --staged"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,29 +7,34 @@ import {
|
|||||||
Put,
|
Put,
|
||||||
Delete,
|
Delete,
|
||||||
} from "routing-controllers";
|
} from "routing-controllers";
|
||||||
import { OpenAPI } from "routing-controllers-openapi";
|
import { getConnectionManager, Repository } from "typeorm";
|
||||||
import { getConnection, Repository } from "typeorm";
|
import {
|
||||||
|
EntityFromParam,
|
||||||
|
EntityFromBody,
|
||||||
|
} from "typeorm-routing-controllers-extensions";
|
||||||
import { Track } from "../models/Track";
|
import { Track } from "../models/Track";
|
||||||
|
|
||||||
@JsonController("/track")
|
@JsonController("/track")
|
||||||
export class TrackController {
|
export class TrackController {
|
||||||
private repo(): Repository<Track> {
|
private trackRepository: Repository<Track>;
|
||||||
return getConnection().getRepository(Track);
|
|
||||||
|
constructor() {
|
||||||
|
this.trackRepository = getConnectionManager().get().getRepository(Track);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/track")
|
@Get("/track")
|
||||||
async getAll() {
|
async getAll() {
|
||||||
return await this.repo().find();
|
return await this.trackRepository.find();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/track/:id")
|
@Get("/track/:id")
|
||||||
async getOne(@Param("id") id: number) {
|
async getOne(@EntityFromParam("id") track: Track) {
|
||||||
return await this.repo().findOne({ id: id });
|
return track;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post("/track")
|
@Post("/track")
|
||||||
post(@Body() user: any) {
|
post(@EntityFromBody() track: Track) {
|
||||||
return "Saving user...";
|
return this.trackRepository.save(track);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Put("/track/:id")
|
@Put("/track/:id")
|
||||||
@ -38,7 +43,7 @@ export class TrackController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Delete("/track/:id")
|
@Delete("/track/:id")
|
||||||
remove(@Param("id") id: number) {
|
remove(@EntityFromParam("id") track: Track) {
|
||||||
return "Removing user...";
|
return this.trackRepository.delete(track);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user