working on openapi
This commit is contained in:
+20
-15
@@ -1,16 +1,21 @@
|
||||
import { Router } from "express";
|
||||
const router = Router();
|
||||
import { Router } from 'express'
|
||||
const router = Router()
|
||||
//timeout middleware ?
|
||||
router.get("/*", (req, res, next) => {
|
||||
next();
|
||||
});
|
||||
router.get("/client/:clientId/", (req, res, next) => {
|
||||
res.send("get information about client number " + req.params.clientId);
|
||||
});
|
||||
router.get("/server/:serverId/", (req, res, next) => {
|
||||
res.send("get information about server number " + req.params.serverId);
|
||||
});
|
||||
router.get("/weapon/:weaponId/", (req, res, next) => {
|
||||
res.send("get information about weapon " + req.params.weaponId);
|
||||
});
|
||||
export default router;
|
||||
router.get('/*', (req, res, next) => {
|
||||
next()
|
||||
})
|
||||
|
||||
router.get('/weapons/', (req, res, next) => {})
|
||||
|
||||
router.get('/maps/', (req, res, next) => {})
|
||||
|
||||
router.get('/players', (req, res, next) => {})
|
||||
router.get('/players/:playerId', (req, res, next) => {})
|
||||
|
||||
router.get('/servers/', (req, res, next) => {})
|
||||
router.get('/servers/:serverId/', (req, res, next) => {})
|
||||
router.get('/servers/:serverId/players', (req, res, next) => {})
|
||||
router.get('/servers/:serverId/players/:playerId', (req, res, next) => {})
|
||||
|
||||
router.get('/servers/:serverId/weapons', (req, res, next) => {})
|
||||
export default router
|
||||
|
||||
+15
-4
@@ -1,7 +1,7 @@
|
||||
import { Kysely, PostgresDialect } from 'kysely'
|
||||
import { Pool } from 'pg'
|
||||
import migrateToLatest from './migrations'
|
||||
import Database, { KillTable } from './model'
|
||||
import Database from './model'
|
||||
|
||||
const migration = migrateToLatest()
|
||||
// You'd create one of these when you start your app.
|
||||
@@ -17,6 +17,15 @@ const db = new Kysely<Database>({
|
||||
})
|
||||
})
|
||||
|
||||
interface KillRecord {
|
||||
server: string
|
||||
attacker: number
|
||||
victim: number
|
||||
weapon: number
|
||||
map: number
|
||||
distance: number
|
||||
date: Date
|
||||
}
|
||||
export async function CreateKillRecord({
|
||||
server,
|
||||
attacker,
|
||||
@@ -25,10 +34,10 @@ export async function CreateKillRecord({
|
||||
map,
|
||||
distance,
|
||||
date
|
||||
}: KillTable) {
|
||||
}: KillRecord) {
|
||||
await db
|
||||
.insertInto('kill')
|
||||
.values({ server, attacker, victim, weapon, map, distance, date })
|
||||
.values({ server, attacker, victim, weapon, map, distance })
|
||||
.execute()
|
||||
}
|
||||
/*
|
||||
@@ -56,7 +65,9 @@ async function demo() {
|
||||
}
|
||||
}
|
||||
*/
|
||||
export default async function ready(): Promise<Kysely<Database>> {
|
||||
export async function dbReady(): Promise<Kysely<Database>> {
|
||||
await migration
|
||||
return db
|
||||
}
|
||||
|
||||
export default db
|
||||
|
||||
+28
-28
@@ -1,43 +1,43 @@
|
||||
import { Generated } from "kysely";
|
||||
import { ColumnType, Generated } from 'kysely'
|
||||
|
||||
export interface KillTable {
|
||||
id: Generated<number>;
|
||||
server: string;
|
||||
attacker: number;
|
||||
victim: number;
|
||||
weapon: string;
|
||||
map: string;
|
||||
distance: number;
|
||||
date: Date;
|
||||
id: Generated<number>
|
||||
server: string
|
||||
attacker: number
|
||||
victim: number
|
||||
weapon: string
|
||||
map: string
|
||||
distance: number
|
||||
date: ColumnType<Date, string | Date | undefined, never>
|
||||
}
|
||||
|
||||
interface EntityTable {
|
||||
id: number;
|
||||
name: string;
|
||||
id: number
|
||||
name: string
|
||||
}
|
||||
interface WeaponTable {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
image: string;
|
||||
id: string
|
||||
name: string
|
||||
description: string
|
||||
image: string
|
||||
}
|
||||
interface MapTable {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
image: string;
|
||||
id: string
|
||||
name: string
|
||||
description: string
|
||||
image: string
|
||||
}
|
||||
interface ServerTable {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
id: string
|
||||
name: string
|
||||
description: string
|
||||
}
|
||||
interface Database {
|
||||
kill: KillTable;
|
||||
entity: EntityTable;
|
||||
weapon: WeaponTable;
|
||||
maps: MapTable;
|
||||
server: ServerTable;
|
||||
kill: KillTable
|
||||
entity: EntityTable
|
||||
weapon: WeaponTable
|
||||
maps: MapTable
|
||||
server: ServerTable
|
||||
}
|
||||
|
||||
export default Database;
|
||||
export default Database
|
||||
|
||||
+7
-6
@@ -2,11 +2,10 @@ import * as dotenv from 'dotenv'
|
||||
dotenv.config()
|
||||
import express from 'express'
|
||||
import client from './client'
|
||||
import db from './db/db'
|
||||
import { dbReady } from './db/db'
|
||||
import server from './server'
|
||||
|
||||
console.log('dotenv')
|
||||
console.log(db)
|
||||
|
||||
const app = express()
|
||||
const port = 3000
|
||||
@@ -15,9 +14,11 @@ app.get('/', (req, res) => {
|
||||
res.send('Hello World!')
|
||||
})
|
||||
|
||||
app.use('/register', server)
|
||||
app.use('/api', client)
|
||||
app.use('/v1/', server)
|
||||
app.use('/v1/', client)
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Example app listening on port ${port}`)
|
||||
dbReady().then((e) => {
|
||||
app.listen(port, () => {
|
||||
console.log(`Example app listening on port ${port}`)
|
||||
})
|
||||
})
|
||||
|
||||
+16
-3
@@ -1,10 +1,23 @@
|
||||
import { Router } from 'express'
|
||||
import { CreateKillRecord } from './db/db'
|
||||
import { body } from 'express-validator'
|
||||
const router = Router()
|
||||
|
||||
//auth middleware
|
||||
router.post('/*', (req, res, next) => {
|
||||
next()
|
||||
})
|
||||
router.post('/*', (req, res, next) => {
|
||||
next()
|
||||
})
|
||||
router.post(
|
||||
'/severs/:serverId/kills',
|
||||
body('server').isString(),
|
||||
body('attacker').isInt(),
|
||||
body('victim').isInt(),
|
||||
body('weapon').isString(),
|
||||
body('map').isString(),
|
||||
body('distance').isInt(),
|
||||
(req, res, next) => {
|
||||
//CreateKillRecord({ server, attacker, victim, weapon, map, distance })
|
||||
res.send(400)
|
||||
}
|
||||
)
|
||||
export default router
|
||||
|
||||
Reference in New Issue
Block a user