use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Organization {
pub id: Uuid,
pub name: String,
pub slug: String,
pub metadata: serde_json::Value,
pub created_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Role {
pub id: Uuid,
pub org_id: Uuid,
pub name: String,
pub permissions: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Membership {
pub id: Uuid,
pub user_id: Uuid,
pub org_id: Uuid,
pub role: Role,
pub created_at: DateTime<Utc>,
}
#[derive(Debug, Clone)]
pub struct CreateOrg {
pub name: String,
pub slug: String,
pub metadata: Option<serde_json::Value>,
}