/*
* This file is part of laurelin/api
* Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
*
* Licensed under GPL-3.0-only.
* See LICENSE for licensing information.
*/
use diesel::{ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
use laurelin_schema::schema::games;
use laurelin_shared::{error::api::APIError, types::game::Game};
use uuid::Uuid;
pub(crate) fn info(conn: &mut PgConnection, game_id: &str) -> Result<Game, APIError> {
let game = match games::table
.filter(games::id.eq(&Uuid::try_parse(game_id).unwrap())) // TODO: handle
.first::<Game>(conn)
{
Err(_) => {
return Err(APIError::UserNotFound);
}
Ok(game) => game,
};
Ok(game)
}