* Fixing broken /channels/create due to updated channel structure
The badges_id field has proved to bubble up some issues with updating deep structures Basically this just means that feature branches for deep features like this are a good idea ! Issue: RTC feature flag was working fine but without the feature flag `Row`'s had no pickup This meant correct responses were slipping into previously unreachable sections of code
This commit is contained in:
parent
990ad347f7
commit
0b34c25477
@ -47,7 +47,6 @@ impl Channel {
|
||||
let params = params!{"kind" => kind};
|
||||
type Row = (u64, String, Option<String>, i32, String);
|
||||
let channels = conn.exec_map(q, params, |(id, name, description, kind, badge_ids): Row| {
|
||||
println!("{}", badge_ids);
|
||||
let badge_ids: Vec<u32> = serde_json::from_str(&badge_ids).unwrap_or(Vec::new());
|
||||
Channel {
|
||||
id, name, description, kind, badge_ids
|
||||
@ -68,6 +67,8 @@ impl Channel {
|
||||
// bounds are literally [1, 2]
|
||||
if kind == TEXT_CHANNEL || kind == VOICE_CHANNEL {
|
||||
let mut conn = p.get_conn().await?;
|
||||
// Badge id's are not required here as they have a default server-side
|
||||
// value of '[]'
|
||||
let q = "INSERT INTO channels (id, name, description, kind) VALUES (:i, :n, :d, :k)";
|
||||
let id = rand::rngs::OsRng.next_u64(); // generate id's randomly for channels
|
||||
conn.exec_drop(q, params!{
|
||||
|
@ -108,7 +108,7 @@ impl PublicMember {
|
||||
return Ok(Response::RestrictedInput(format!("Invalid status value")));
|
||||
} else {
|
||||
let mut conn = p.get_conn().await?;
|
||||
let q = "SELECT id, name, permissions badge_ids FROM members
|
||||
let q = "SELECT id, name, permissions, badge_ids FROM members
|
||||
WHERE status = :status LIMIT 1000";
|
||||
let params = params!{"status" => status};
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
source ./client-tests/bin/activate
|
||||
python3 client-tests/main.py
|
@ -62,8 +62,15 @@ pub async fn create_channel(pool: &Pool, response: &mut Response<Body>, params:
|
||||
rtc::create_channel(channel).await;
|
||||
StatusCode::OK
|
||||
},
|
||||
#[cfg(not(feature = "rtc"))]
|
||||
Row(_) => { StatusCode::OK },
|
||||
|
||||
RestrictedInput(_) => StatusCode::UNPROCESSABLE_ENTITY,
|
||||
_ => StatusCode::INTERNAL_SERVER_ERROR
|
||||
// Unreachable
|
||||
_ => {
|
||||
eprintln!("[HTTP] /channels/create Couldn't fetch response variant");
|
||||
StatusCode::INTERNAL_SERVER_ERROR
|
||||
}
|
||||
}
|
||||
},
|
||||
Err(e) => {
|
||||
|
Loading…
Reference in New Issue
Block a user