use cm_domain::{Workspace, WorkspaceId}; use sqlx::PgPool; use crate::DbError; pub async fn insert(pool: &PgPool, workspace: &Workspace) -> Result<(), DbError> { sqlx::query!( "INSERT INTO workspaces (id, name, plan) VALUES ($1, $2, $3)", workspace.id.as_uuid(), workspace.name, workspace.plan, ) .execute(pool) .await?; Ok(()) } pub async fn get(pool: &PgPool, id: WorkspaceId) -> Result { let row = sqlx::query!( "SELECT id, name, plan FROM workspaces WHERE id = $1", id.as_uuid(), ) .fetch_one(pool) .await?; Ok(Workspace { id: WorkspaceId::from(row.id), name: row.name, plan: row.plan, }) }