readd removed utility, cleanup/shorten enum usage
This commit is contained in:
@@ -24,6 +24,7 @@ use uuid::Uuid;
|
|||||||
|
|
||||||
use crate::application::ports::authorization_ports::AuthorizationEngine;
|
use crate::application::ports::authorization_ports::AuthorizationEngine;
|
||||||
use crate::common::errors::DomainError;
|
use crate::common::errors::DomainError;
|
||||||
|
use crate::domain::entities::drive::DriveKind;
|
||||||
use crate::domain::repositories::drive_repository::{DriveRepository, DriveRepositoryError};
|
use crate::domain::repositories::drive_repository::{DriveRepository, DriveRepositoryError};
|
||||||
use crate::domain::repositories::subject_group_repository::SubjectGroupRepository;
|
use crate::domain::repositories::subject_group_repository::SubjectGroupRepository;
|
||||||
use crate::domain::services::authorization::{Grant, Permission, Resource, Role, Subject};
|
use crate::domain::services::authorization::{Grant, Permission, Resource, Role, Subject};
|
||||||
@@ -556,10 +557,7 @@ impl DriveManagementService {
|
|||||||
let drive = self.drive_repo.get_by_id(drive_id).await.map_err(|e| {
|
let drive = self.drive_repo.get_by_id(drive_id).await.map_err(|e| {
|
||||||
DomainError::internal_error("Drive", format!("Failed to fetch drive: {e:?}"))
|
DomainError::internal_error("Drive", format!("Failed to fetch drive: {e:?}"))
|
||||||
})?;
|
})?;
|
||||||
if matches!(
|
if matches!(drive.drive.kind, DriveKind::Personal) {
|
||||||
drive.drive.kind,
|
|
||||||
crate::domain::entities::drive::DriveKind::Personal
|
|
||||||
) {
|
|
||||||
tracing::info!(
|
tracing::info!(
|
||||||
target: "audit",
|
target: "audit",
|
||||||
event = "drive_membership.rejected",
|
event = "drive_membership.rejected",
|
||||||
|
|||||||
+3
-2
@@ -6,6 +6,7 @@ use uuid::Uuid;
|
|||||||
use crate::application::ports::blob_storage_ports::BlobStorageBackend;
|
use crate::application::ports::blob_storage_ports::BlobStorageBackend;
|
||||||
use crate::application::ports::storage_ports::StorageUsagePort;
|
use crate::application::ports::storage_ports::StorageUsagePort;
|
||||||
use crate::common::config::StorageBackendType;
|
use crate::common::config::StorageBackendType;
|
||||||
|
use crate::domain::entities::drive::DriveKind;
|
||||||
use crate::domain::repositories::drive_repository::DriveRepository;
|
use crate::domain::repositories::drive_repository::DriveRepository;
|
||||||
use crate::infrastructure::db::DbPools;
|
use crate::infrastructure::db::DbPools;
|
||||||
|
|
||||||
@@ -2201,11 +2202,11 @@ impl AppState {
|
|||||||
|
|
||||||
let drive = self.drive_repo.get_by_id(drive_id).await.ok()?.drive;
|
let drive = self.drive_repo.get_by_id(drive_id).await.ok()?.drive;
|
||||||
match drive.kind {
|
match drive.kind {
|
||||||
crate::domain::entities::drive::DriveKind::Personal => {
|
DriveKind::Personal => {
|
||||||
let (used, quota) = storage_svc.get_user_storage_info(user_id).await.ok()?;
|
let (used, quota) = storage_svc.get_user_storage_info(user_id).await.ok()?;
|
||||||
Some((used, (quota > 0).then(|| (quota - used).max(0))))
|
Some((used, (quota > 0).then(|| (quota - used).max(0))))
|
||||||
}
|
}
|
||||||
crate::domain::entities::drive::DriveKind::Shared => {
|
DriveKind::Shared => {
|
||||||
let used = drive.used_bytes;
|
let used = drive.used_bytes;
|
||||||
Some((used, drive.quota_bytes.map(|q| (q - used).max(0))))
|
Some((used, drive.quota_bytes.map(|q| (q - used).max(0))))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,6 +138,12 @@ impl Drive {
|
|||||||
pub fn typed_policies(&self) -> DrivePolicies {
|
pub fn typed_policies(&self) -> DrivePolicies {
|
||||||
DrivePolicies::from_value(&self.policies)
|
DrivePolicies::from_value(&self.policies)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// `true` if this drive is a personal drive of any kind (default or
|
||||||
|
/// secondary). Encapsulates the kind check at the call site.
|
||||||
|
pub fn is_personal(&self) -> bool {
|
||||||
|
matches!(self.kind, DriveKind::Personal)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Typed mirror of the `policies` JSONB. Five known keys; the JSONB column
|
/// Typed mirror of the `policies` JSONB. Five known keys; the JSONB column
|
||||||
|
|||||||
Reference in New Issue
Block a user