From 598ce8c51803d92734a05b7d3e3b098fd791bfa0 Mon Sep 17 00:00:00 2001 From: Niggl Date: Wed, 4 Nov 2020 21:23:42 +0100 Subject: [PATCH] Switched to a typeorm-friendlier structure --- ormconfig.json | 24 ++++++++++ package.json | 47 +++++++++++--------- models/address.ts => src/entity/Address.ts | 2 +- models/customer.ts => src/entity/Customer.ts | 5 +-- src/index.ts | 22 +++++++++ tsconfig.json | 47 ++++++-------------- 6 files changed, 89 insertions(+), 58 deletions(-) create mode 100644 ormconfig.json rename models/address.ts => src/entity/Address.ts (92%) rename models/customer.ts => src/entity/Customer.ts (69%) create mode 100644 src/index.ts diff --git a/ormconfig.json b/ormconfig.json new file mode 100644 index 0000000..89a1f97 --- /dev/null +++ b/ormconfig.json @@ -0,0 +1,24 @@ +{ + "type": "postgres", + "host": "localhost", + "port": 5432, + "username": "test", + "password": "test", + "database": "test", + "synchronize": true, + "logging": false, + "entities": [ + "src/entity/**/*.ts" + ], + "migrations": [ + "src/migration/**/*.ts" + ], + "subscribers": [ + "src/subscriber/**/*.ts" + ], + "cli": { + "entitiesDir": "src/entity", + "migrationsDir": "src/migration", + "subscribersDir": "src/subscriber" + } +} \ No newline at end of file diff --git a/package.json b/package.json index ee98a63..411fc68 100644 --- a/package.json +++ b/package.json @@ -1,22 +1,29 @@ { - "name": "samurai", - "version": "0.0.1", - "description": "Our own Invoice Stuff", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git@git.odit.services:odit/samurai-next.git" - }, - "keywords": [ - "invoice", - "crm" - ], - "author": "ODIT.Services", - "license": "MIT", - "dependencies": { - "typeorm": "^0.2.29" - } + "name": "samurai", + "version": "0.0.1", + "description": "Our own Invoice Stuff", + "main": "index.ts", + "scripts": { + "dev": "ts-node src/index.ts" + }, + "repository": { + "type": "git", + "url": "git@git.odit.services:odit/samurai-next.git" + }, + "keywords": [ + "invoice", + "crm" + ], + "author": "ODIT.Services", + "license": "MIT", + "dependencies": { + "pg": "^8.4.2", + "reflect-metadata": "^0.1.10", + "typeorm": "0.2.29" + }, + "devDependencies": { + "@types/node": "^8.0.29", + "ts-node": "3.3.0", + "typescript": "3.3.3333" + } } diff --git a/models/address.ts b/src/entity/Address.ts similarity index 92% rename from models/address.ts rename to src/entity/Address.ts index fdb3d36..2bf735d 100644 --- a/models/address.ts +++ b/src/entity/Address.ts @@ -10,7 +10,7 @@ export class Address { street: string; @Column() - housenumber: string; + number: string; @Column() city: string; diff --git a/models/customer.ts b/src/entity/Customer.ts similarity index 69% rename from models/customer.ts rename to src/entity/Customer.ts index 67edf28..bad50fc 100644 --- a/models/customer.ts +++ b/src/entity/Customer.ts @@ -1,4 +1,4 @@ -import {Entity, PrimaryGeneratedColumn, Column, JoinColumn} from "typeorm"; +import {Entity, PrimaryGeneratedColumn, Column, JoinColumn, OneToOne} from "typeorm"; import {Address} from "./Address"; @Entity() @@ -14,7 +14,6 @@ export class Customer { lastName: string; @OneToOne(() => Address) - @JoinColumn - @Column() + @JoinColumn() invoiceAddress: Address; } \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..b426dc5 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,22 @@ +import "reflect-metadata"; +import {createConnection} from "typeorm"; +import {Address} from "./entity/Address"; + +createConnection().then(async connection => { + + console.log("Inserting a new user into the database..."); + const addr = new Address(); + addr.street = "Test"; + addr.number = "1"; + addr.city = "herzo"; + addr.plz = "91074"; + addr.state = "Franken"; + addr.country = "Germany" + await connection.manager.save(addr); + console.log("Saved a new addr with id: " + addr.id); + + console.log("Loading addr from the database..."); + const addrs = await connection.manager.find(Address); + console.log("Loaded addr: ", addrs); + +}).catch(error => console.log(error)); diff --git a/tsconfig.json b/tsconfig.json index 95d6e28..eda0869 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,36 +1,15 @@ { - "compilerOptions": { - "lib": ["es5", "es6"], - "outDir": "build/compiled", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "target": "es5", - "module": "commonjs", - "moduleResolution": "node", - "importHelpers": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "sourceMap": true, - "noImplicitAny": true, - "declaration": true, - "noFallthroughCasesInSwitch": true, - "noImplicitReturns": true, - "stripInternal": true, - "pretty": true, - "strictNullChecks": true, - "noUnusedLocals": true, - "downlevelIteration": true - }, - "include": [ - "sample", - "src", - "test", - "models" - ], - "exclude": [ - "tmp", - "temp", - "build", - "node_modules" - ] + "compilerOptions": { + "lib": [ + "es5", + "es6" + ], + "target": "es5", + "module": "commonjs", + "moduleResolution": "node", + "outDir": "./build", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "sourceMap": true + } } \ No newline at end of file