commit 9c891baad1838eb3446a90b2d6d71ebace9b347c
parent b050c60807bb20d23aca95df31421ff768cf0ce0
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Mon, 12 Sep 2022 17:12:23 +0200
Merge pull request #2739 from BlackDex/fix-restore-revoke
Rename/Fix revoke/restore endpoints
Diffstat:
2 files changed, 57 insertions(+), 9 deletions(-)
diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs
@@ -63,8 +63,12 @@ pub fn routes() -> Vec<Route> {
bulk_public_keys,
deactivate_organization_user,
bulk_deactivate_organization_user,
+ revoke_organization_user,
+ bulk_revoke_organization_user,
activate_organization_user,
- bulk_activate_organization_user
+ bulk_activate_organization_user,
+ restore_organization_user,
+ bulk_restore_organization_user
]
}
@@ -1480,6 +1484,7 @@ async fn import(org_id: String, data: JsonUpcase<OrgImportData>, headers: Header
Ok(())
}
+// Pre web-vault v2022.9.x endpoint
#[put("/organizations/<org_id>/users/<org_user_id>/deactivate")]
async fn deactivate_organization_user(
org_id: String,
@@ -1487,9 +1492,10 @@ async fn deactivate_organization_user(
headers: AdminHeaders,
conn: DbConn,
) -> EmptyResult {
- _deactivate_organization_user(&org_id, &org_user_id, &headers, &conn).await
+ _revoke_organization_user(&org_id, &org_user_id, &headers, &conn).await
}
+// Pre web-vault v2022.9.x endpoint
#[put("/organizations/<org_id>/users/deactivate", data = "<data>")]
async fn bulk_deactivate_organization_user(
org_id: String,
@@ -1497,6 +1503,26 @@ async fn bulk_deactivate_organization_user(
headers: AdminHeaders,
conn: DbConn,
) -> Json<Value> {
+ bulk_revoke_organization_user(org_id, data, headers, conn).await
+}
+
+#[put("/organizations/<org_id>/users/<org_user_id>/revoke")]
+async fn revoke_organization_user(
+ org_id: String,
+ org_user_id: String,
+ headers: AdminHeaders,
+ conn: DbConn,
+) -> EmptyResult {
+ _revoke_organization_user(&org_id, &org_user_id, &headers, &conn).await
+}
+
+#[put("/organizations/<org_id>/users/revoke", data = "<data>")]
+async fn bulk_revoke_organization_user(
+ org_id: String,
+ data: JsonUpcase<Value>,
+ headers: AdminHeaders,
+ conn: DbConn,
+) -> Json<Value> {
let data = data.into_inner().data;
let mut bulk_response = Vec::new();
@@ -1504,7 +1530,7 @@ async fn bulk_deactivate_organization_user(
Some(org_users) => {
for org_user_id in org_users {
let org_user_id = org_user_id.as_str().unwrap_or_default();
- let err_msg = match _deactivate_organization_user(&org_id, org_user_id, &headers, &conn).await {
+ let err_msg = match _revoke_organization_user(&org_id, org_user_id, &headers, &conn).await {
Ok(_) => String::from(""),
Err(e) => format!("{:?}", e),
};
@@ -1528,7 +1554,7 @@ async fn bulk_deactivate_organization_user(
}))
}
-async fn _deactivate_organization_user(
+async fn _revoke_organization_user(
org_id: &str,
org_user_id: &str,
headers: &AdminHeaders,
@@ -1557,6 +1583,7 @@ async fn _deactivate_organization_user(
Ok(())
}
+// Pre web-vault v2022.9.x endpoint
#[put("/organizations/<org_id>/users/<org_user_id>/activate")]
async fn activate_organization_user(
org_id: String,
@@ -1564,9 +1591,10 @@ async fn activate_organization_user(
headers: AdminHeaders,
conn: DbConn,
) -> EmptyResult {
- _activate_organization_user(&org_id, &org_user_id, &headers, &conn).await
+ _restore_organization_user(&org_id, &org_user_id, &headers, &conn).await
}
+// Pre web-vault v2022.9.x endpoint
#[put("/organizations/<org_id>/users/activate", data = "<data>")]
async fn bulk_activate_organization_user(
org_id: String,
@@ -1574,6 +1602,26 @@ async fn bulk_activate_organization_user(
headers: AdminHeaders,
conn: DbConn,
) -> Json<Value> {
+ bulk_restore_organization_user(org_id, data, headers, conn).await
+}
+
+#[put("/organizations/<org_id>/users/<org_user_id>/restore")]
+async fn restore_organization_user(
+ org_id: String,
+ org_user_id: String,
+ headers: AdminHeaders,
+ conn: DbConn,
+) -> EmptyResult {
+ _restore_organization_user(&org_id, &org_user_id, &headers, &conn).await
+}
+
+#[put("/organizations/<org_id>/users/restore", data = "<data>")]
+async fn bulk_restore_organization_user(
+ org_id: String,
+ data: JsonUpcase<Value>,
+ headers: AdminHeaders,
+ conn: DbConn,
+) -> Json<Value> {
let data = data.into_inner().data;
let mut bulk_response = Vec::new();
@@ -1581,7 +1629,7 @@ async fn bulk_activate_organization_user(
Some(org_users) => {
for org_user_id in org_users {
let org_user_id = org_user_id.as_str().unwrap_or_default();
- let err_msg = match _activate_organization_user(&org_id, org_user_id, &headers, &conn).await {
+ let err_msg = match _restore_organization_user(&org_id, org_user_id, &headers, &conn).await {
Ok(_) => String::from(""),
Err(e) => format!("{:?}", e),
};
@@ -1605,7 +1653,7 @@ async fn bulk_activate_organization_user(
}))
}
-async fn _activate_organization_user(
+async fn _restore_organization_user(
org_id: &str,
org_user_id: &str,
headers: &AdminHeaders,
@@ -1634,7 +1682,7 @@ async fn _activate_organization_user(
}
}
- user_org.activate();
+ user_org.restore();
user_org.save(conn).await?;
}
Some(_) => err!("User is already active"),
diff --git a/src/db/models/organization.rs b/src/db/models/organization.rs
@@ -196,7 +196,7 @@ impl UserOrganization {
}
}
- pub fn activate(&mut self) {
+ pub fn restore(&mut self) {
if self.status < UserOrgStatus::Accepted as i32 {
self.status += ACTIVATE_REVOKE_DIFF;
}