From 7320a1db4b1124d53c2fe316ced8cd3acb2c0a1c Mon Sep 17 00:00:00 2001 From: Timshel Date: Tue, 7 Jul 2026 15:59:26 +0200 Subject: [PATCH] PutPolicy now using vnext format (#7296) Co-authored-by: Timshel --- src/api/core/organizations.rs | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs index af2c45e3..68c9c1c5 100644 --- a/src/api/core/organizations.rs +++ b/src/api/core/organizations.rs @@ -2034,18 +2034,27 @@ struct PolicyData { data: Option, } +#[derive(Deserialize)] +struct PutPolicy { + policy: PolicyData, + // Ignore metadata for now as we do not yet support this + // "metadata": { + // "defaultUserCollectionName": "2.xx|xx==|xx=" + // } +} + #[put("/organizations//policies/", data = "")] async fn put_policy( org_id: OrganizationId, pol_type: i32, - data: Json, + data: Json, headers: AdminHeaders, conn: DbConn, ) -> JsonResult { if org_id != headers.org_id { err!("Organization not found", "Organization id's do not match"); } - let data: PolicyData = data.into_inner(); + let data: PolicyData = data.into_inner().policy; let Some(pol_type_enum) = OrgPolicyType::from_i32(pol_type) else { err!("Invalid or unsupported policy type") @@ -2153,26 +2162,16 @@ async fn put_policy( Ok(Json(policy.to_json())) } -#[derive(Deserialize)] -struct PolicyDataVnext { - policy: PolicyData, - // Ignore metadata for now as we do not yet support this - // "metadata": { - // "defaultUserCollectionName": "2.xx|xx==|xx=" - // } -} - +// Deprecated with client v2026.5.0 #[put("/organizations//policies//vnext", data = "")] async fn put_policy_vnext( org_id: OrganizationId, pol_type: i32, - data: Json, + data: Json, headers: AdminHeaders, conn: DbConn, ) -> JsonResult { - let data: PolicyDataVnext = data.into_inner(); - let policy: PolicyData = data.policy; - put_policy(org_id, pol_type, Json(policy), headers, conn).await + put_policy(org_id, pol_type, data, headers, conn).await } #[get("/plans")]