use db::conn::sea_orm::*; use uuid::Uuid; use crate::error::IssueResult; use crate::features::IssueService; use super::helpers::{load_pin, require_authenticated}; pub async fn delete_pin( svc: &IssueService, actor: Uuid, _channel_id: Uuid, collection_id: Uuid, pin_id: Uuid, ) -> IssueResult<()> { require_authenticated(actor)?; let cur = load_pin(svc, pin_id).await?; if cur.collection_id != collection_id { return Err(crate::error::IssueError::NotFound(format!("pin {pin_id}"))); } let db = svc.db.writer(); let active: db::issue::issue_pin::ActiveModel = cur.into(); active.delete(&db).await?; Ok(()) }