Returns participants for a gamenight
This commit is contained in:
parent
156be1821a
commit
f1d23cb495
@ -112,7 +112,6 @@ components:
|
|||||||
- name
|
- name
|
||||||
- datetime
|
- datetime
|
||||||
- owner_id
|
- owner_id
|
||||||
- participants
|
|
||||||
Failure:
|
Failure:
|
||||||
title: Failure
|
title: Failure
|
||||||
type: object
|
type: object
|
||||||
|
@ -4,6 +4,7 @@ use uuid::Uuid;
|
|||||||
|
|
||||||
use gamenight_database::{gamenight::Gamenight, DbPool, GetConnection};
|
use gamenight_database::{gamenight::Gamenight, DbPool, GetConnection};
|
||||||
|
|
||||||
|
use crate::models;
|
||||||
use crate::request::authorization::AuthUser;
|
use crate::request::authorization::AuthUser;
|
||||||
use crate::request::requests::GamenightGet;
|
use crate::request::requests::GamenightGet;
|
||||||
use crate::request::requests::GamenightPost;
|
use crate::request::requests::GamenightPost;
|
||||||
@ -53,9 +54,17 @@ pub async fn gamenight_get(pool: web::Data<DbPool>, _user: AuthUser, gamenight_d
|
|||||||
let mut conn = pool.get_conn();
|
let mut conn = pool.get_conn();
|
||||||
|
|
||||||
let gamenight = gamenight_database::gamenight::get_gamenight(&mut conn, gamenight_data.into_inner().into())?;
|
let gamenight = gamenight_database::gamenight::get_gamenight(&mut conn, gamenight_data.into_inner().into())?;
|
||||||
//let participants = schema::user::get_participants(&mut conn, gamenight_id);
|
let participants = gamenight_database::gamenight_participants::get_participants(&mut conn, &gamenight.id)?;
|
||||||
|
|
||||||
|
let model = models::gamenight::Gamenight{
|
||||||
|
id: gamenight.id.to_string(),
|
||||||
|
datetime: gamenight.datetime.to_rfc3339(),
|
||||||
|
name: gamenight.name,
|
||||||
|
owner_id: gamenight.owner_id.to_string(),
|
||||||
|
participants: Some(participants.iter().map(|x| {x.to_string()}).collect())
|
||||||
|
};
|
||||||
|
|
||||||
Ok(HttpResponse::Ok()
|
Ok(HttpResponse::Ok()
|
||||||
.content_type(ContentType::json())
|
.content_type(ContentType::json())
|
||||||
.body(serde_json::to_string(&gamenight)?))
|
.body(serde_json::to_string(&model)?))
|
||||||
}
|
}
|
5
gamenight-api-client-rs/.gitignore
vendored
5
gamenight-api-client-rs/.gitignore
vendored
@ -1,8 +1,3 @@
|
|||||||
src
|
|
||||||
docs
|
|
||||||
/target/
|
/target/
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
.openapi-generator
|
|
||||||
.openapi-generator-ignore
|
|
||||||
.travis.yml
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
use diesel::{ExpressionMethods, Insertable, PgConnection, QueryDsl, Queryable, RunQueryDsl};
|
use diesel::{ExpressionMethods, Insertable, QueryDsl, Queryable, RunQueryDsl};
|
||||||
use serde::{Serialize, Deserialize};
|
use serde::{Serialize, Deserialize};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
use crate::schema::gamenight_participant;
|
use crate::schema::gamenight_participant;
|
||||||
|
|
||||||
use super::error::DatabaseError;
|
use super::error::DatabaseError;
|
||||||
|
use super::DbConnection;
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Insertable, Queryable)]
|
#[derive(Serialize, Deserialize, Debug, Insertable, Queryable)]
|
||||||
#[diesel(belongs_to(Gamenight))]
|
#[diesel(belongs_to(Gamenight))]
|
||||||
@ -15,8 +16,9 @@ pub struct GamenightParticipants {
|
|||||||
pub user_id: Uuid,
|
pub user_id: Uuid,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn gamenight_participants(conn: &mut PgConnection, id: Uuid) -> Result<Vec<GamenightParticipants>, DatabaseError> {
|
pub fn get_participants(conn: &mut DbConnection, id: &Uuid) -> Result<Vec<Uuid>, DatabaseError> {
|
||||||
Ok(gamenight_participant::table
|
Ok(gamenight_participant::table
|
||||||
.filter(gamenight_participant::gamenight_id.eq(id))
|
.filter(gamenight_participant::gamenight_id.eq(&id))
|
||||||
|
.select(gamenight_participant::user_id)
|
||||||
.get_results(conn)?)
|
.get_results(conn)?)
|
||||||
}
|
}
|
@ -16,7 +16,7 @@ use diesel_migrations::MigrationHarness;
|
|||||||
pub use user::login;
|
pub use user::login;
|
||||||
pub use user::register;
|
pub use user::register;
|
||||||
pub use gamenight::gamenights;
|
pub use gamenight::gamenights;
|
||||||
pub use gamenight_participants::gamenight_participants;
|
pub use gamenight_participants::get_participants;
|
||||||
|
|
||||||
pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!();
|
pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!();
|
||||||
pub type DbConnection = PgConnection;
|
pub type DbConnection = PgConnection;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user