mirror of
https://github.com/dani-garcia/vaultwarden
synced 2024-12-14 01:23:55 +01:00
Merge pull request #2739 from BlackDex/fix-restore-revoke
Rename/Fix revoke/restore endpoints
This commit is contained in:
commit
9c891baad1
2 changed files with 57 additions and 9 deletions
|
@ -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,15 +1492,36 @@ 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,
|
||||
data: JsonUpcase<Value>,
|
||||
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;
|
||||
|
||||
|
@ -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,15 +1591,36 @@ 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,
|
||||
data: JsonUpcase<Value>,
|
||||
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;
|
||||
|
||||
|
@ -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"),
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue