aboutsummaryrefslogtreecommitdiff
path: root/src/routers/queue.rs
diff options
context:
space:
mode:
authorTolmachev Igor <me@igorek.dev>2025-09-25 14:04:17 +0300
committerTolmachev Igor <me@igorek.dev>2025-09-25 14:04:17 +0300
commit7ae7a69c7887937f81401d43cdc34029776fbe2c (patch)
tree8f74bcc2912e99ed3ce8a6d1f6b3e370c5377325 /src/routers/queue.rs
parent493fe44b23d3f4c3f271278b5137f4968cba036c (diff)
downloadqueue_server-7ae7a69c7887937f81401d43cdc34029776fbe2c.tar.gz
queue_server-7ae7a69c7887937f81401d43cdc34029776fbe2c.zip
Improve permission error
Diffstat (limited to 'src/routers/queue.rs')
-rw-r--r--src/routers/queue.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/routers/queue.rs b/src/routers/queue.rs
index df846fb..021fbe5 100644
--- a/src/routers/queue.rs
+++ b/src/routers/queue.rs
@@ -24,11 +24,16 @@ async fn get_owned_queue(
24 owner_id: i64, 24 owner_id: i64,
25 db: &DatabaseConnection, 25 db: &DatabaseConnection,
26) -> Result<queues::Model, ApiError> { 26) -> Result<queues::Model, ApiError> {
27 Ok(queues::Entity::find_by_id(id) 27 let queue = queues::Entity::find_by_id(id)
28 .filter(queues::Column::OwnerId.eq(owner_id))
29 .one(db) 28 .one(db)
30 .await? 29 .await?
31 .ok_or(ClientError::QueueNotFound { id })?) 30 .ok_or(ClientError::QueueNotFound { id })?;
31
32 if queue.owner_id != owner_id {
33 return Err(ClientError::NotQueueOwner { id: queue.id }.into());
34 }
35
36 Ok(queue)
32} 37}
33 38
34#[derive(Deserialize, ToSchema)] 39#[derive(Deserialize, ToSchema)]