node-go/packages/play-node-go/server/data/queries/game.js
2020-02-05 16:44:37 -08:00

48 lines
No EOL
1.2 KiB
JavaScript

const knex = require('../db');
const gameDetailSelect = [
'game.id', 'application', 'application_version',
'board_size', 'komi', 'handicap', 'open', 'win_type',
'player_black', 'player_black_rank', 'player_white', 'player_white_rank',
'captures_black', 'captures_white', 'score', 'win_type',
'description', 'event', 'round', 'name', 'room'
]
const timeSettingSelect = [
'main_time', 'time_period', 'period_length', 'overtime', 'overtime_period', 'overtime_length'
]
const gameOverviewSelect = [
'id', 'board_size', 'komi', 'handicap', 'open', 'win_type',
'player_black', 'player_black_rank', 'player_white', 'player_white_rank'
]
const findGameById = async function (gameId) {
const selection = gameDetailSelect.concat(timeSettingSelect);
const game = await knex
.from('game')
.select(selection)
.where({'game.id': gameId})
.leftJoin('time_setting', function() { this.on('time_setting.id', '=', 'game.time_setting')})
return game[0];
}
const findGameByRoom = async (roomId) => {
const games = await knex('game')
.where({'room': roomId})
.select(gameOverviewSelect);
return games;
}
const insertGame = async (game) => {
}
module.exports = {
findGameById,
findGameByRoom,
insertGame
}