dca717be10
- Replace workspace_id parameter with Workspace object reference in all workspace service methods - Remove redundant find_workspace_by_id calls that were duplicated in each method - Update all method signatures across approval, audit, billing, branding, core, settings and stats modules - Modify SQL queries to bind ws.id instead of separate workspace_id parameter - Add Workspace import to all affected modules - Adjust method calls in API handlers to pass workspace object instead of id - Consolidate workspace retrieval logic to single location per operation flow
22 lines
721 B
Rust
22 lines
721 B
Rust
use crate::models::common::Status;
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow, utoipa::ToSchema)]
|
|
pub struct WorkspaceBilling {
|
|
pub workspace_id: Uuid,
|
|
pub customer_id: Option<String>,
|
|
pub subscription_id: Option<String>,
|
|
pub plan: String,
|
|
pub billing_email: Option<String>,
|
|
pub status: Status,
|
|
pub seats: i32,
|
|
pub trial_ends_at: Option<DateTime<Utc>>,
|
|
pub current_period_start: Option<DateTime<Utc>>,
|
|
pub current_period_end: Option<DateTime<Utc>>,
|
|
pub canceled_at: Option<DateTime<Utc>>,
|
|
pub created_at: DateTime<Utc>,
|
|
pub updated_at: DateTime<Utc>,
|
|
}
|