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; +}