From 3533230eb1c884a44e910d87d9b60207cc55fb19 Mon Sep 17 00:00:00 2001 From: dm1sh Date: Sat, 4 Sep 2021 15:08:56 +0300 Subject: [PATCH] Created Room model, set up database connection --- back/.env.example | 2 ++ back/.gitignore | 3 +++ back/src/db/config.example.ts | 6 ++++++ back/src/db/index.ts | 20 ++++++++++++++++++++ back/src/db/model.ts | 27 +++++++++++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 back/.env.example create mode 100644 back/.gitignore create mode 100644 back/src/db/config.example.ts create mode 100644 back/src/db/index.ts create mode 100644 back/src/db/model.ts diff --git a/back/.env.example b/back/.env.example new file mode 100644 index 0000000..e2564ca --- /dev/null +++ b/back/.env.example @@ -0,0 +1,2 @@ +DATABASE_URL="postgresql://" +PORT=8081 \ No newline at end of file diff --git a/back/.gitignore b/back/.gitignore new file mode 100644 index 0000000..7bf5a88 --- /dev/null +++ b/back/.gitignore @@ -0,0 +1,3 @@ +certs/ +src/db/config.ts +.env \ No newline at end of file diff --git a/back/src/db/config.example.ts b/back/src/db/config.example.ts new file mode 100644 index 0000000..49e3ad5 --- /dev/null +++ b/back/src/db/config.example.ts @@ -0,0 +1,6 @@ +export const config = { + host: "", + username: "", + password: "", + database: "", +}; diff --git a/back/src/db/index.ts b/back/src/db/index.ts new file mode 100644 index 0000000..117f73c --- /dev/null +++ b/back/src/db/index.ts @@ -0,0 +1,20 @@ +import { Connection, createConnection } from "typeorm"; +import fs from "fs"; + +import { Room } from "./model"; +import { config } from "./config"; + +export const connect = () => + createConnection({ + ...config, + type: "cockroachdb", + port: 26257, + ssl: { + ca: fs.readFileSync("certs/cc-ca.crt").toString(), + }, + synchronize: true, + logging: false, + entities: [Room], + }); + +export { Room }; diff --git a/back/src/db/model.ts b/back/src/db/model.ts new file mode 100644 index 0000000..1ee0c9a --- /dev/null +++ b/back/src/db/model.ts @@ -0,0 +1,27 @@ +import { Entity, Column, PrimaryGeneratedColumn } from "typeorm"; + +@Entity() +export class Room { + @PrimaryGeneratedColumn() + id: number; + + @Column({ + length: 100, + }) + title: string; + + @Column() + free: boolean; + + @Column() + x: number; + + @Column() + y: number; + + @Column() + width: number; + + @Column() + height: number; +}