use serde::{Deserialize, Serialize};
use serde_json::Value;

use crate::ids::WorkspaceId;

#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum WorkspaceStatus {
    Active,
    Archived,
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Workspace {
    pub id: WorkspaceId,
    pub slug: String,
    pub display_name: String,
    pub status: WorkspaceStatus,
    pub settings: Value,
    pub created_at: String,
    pub updated_at: String,
}
