Browse Source

Merge 77283882e1 into d6a3d539ed

pull/7296/merge
Timshel 6 days ago
committed by GitHub
parent
commit
0799105017
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 29
      src/api/core/organizations.rs

29
src/api/core/organizations.rs

@ -2020,18 +2020,27 @@ struct PolicyData {
data: Option<Value>, data: Option<Value>,
} }
#[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/<org_id>/policies/<pol_type>", data = "<data>")] #[put("/organizations/<org_id>/policies/<pol_type>", data = "<data>")]
async fn put_policy( async fn put_policy(
org_id: OrganizationId, org_id: OrganizationId,
pol_type: i32, pol_type: i32,
data: Json<PolicyData>, data: Json<PutPolicy>,
headers: AdminHeaders, headers: AdminHeaders,
conn: DbConn, conn: DbConn,
) -> JsonResult { ) -> JsonResult {
if org_id != headers.org_id { if org_id != headers.org_id {
err!("Organization not found", "Organization id's do not match"); 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 { let Some(pol_type_enum) = OrgPolicyType::from_i32(pol_type) else {
err!("Invalid or unsupported policy type") err!("Invalid or unsupported policy type")
@ -2139,26 +2148,16 @@ async fn put_policy(
Ok(Json(policy.to_json())) Ok(Json(policy.to_json()))
} }
#[derive(Deserialize)] // Deprecated with client v2026.5.0
struct PolicyDataVnext {
policy: PolicyData,
// Ignore metadata for now as we do not yet support this
// "metadata": {
// "defaultUserCollectionName": "2.xx|xx==|xx="
// }
}
#[put("/organizations/<org_id>/policies/<pol_type>/vnext", data = "<data>")] #[put("/organizations/<org_id>/policies/<pol_type>/vnext", data = "<data>")]
async fn put_policy_vnext( async fn put_policy_vnext(
org_id: OrganizationId, org_id: OrganizationId,
pol_type: i32, pol_type: i32,
data: Json<PolicyDataVnext>, data: Json<PutPolicy>,
headers: AdminHeaders, headers: AdminHeaders,
conn: DbConn, conn: DbConn,
) -> JsonResult { ) -> JsonResult {
let data: PolicyDataVnext = data.into_inner(); put_policy(org_id, pol_type, data, headers, conn).await
let policy: PolicyData = data.policy;
put_policy(org_id, pol_type, Json(policy), headers, conn).await
} }
#[get("/plans")] #[get("/plans")]

Loading…
Cancel
Save