db_v1_queries_worker - OmniCloudOrg/OmniOrchestrator GitHub Wiki

worker (src/db/v1/queries)

Path: src/db/v1/queries/worker.rs

Table of Contents

Public Items

async fn list_workers

Definition

pub async fn list_workers(
    pool: &sqlx::Pool<sqlx::MySql>,
    page: Option<u64>,
    per_page: Option<u64>
) -> Result<Vec<Worker>, sqlx::Error> {
    let page = page.unwrap_or(1);
    let per_page = per_page.unwrap_or(10);
    let offset = (page - 1) * per_page;
    
    // Use a simple query first to test
    let workers = sqlx::query_as::<_, Worker>(
        "SELECT * FROM workers LIMIT ? OFFSET ?"
    )
    .bind(per_page as i64)
    .bind(offset as i64)
    .fetch_all(pool)
    .await?;
    
    Ok(workers)
}

    // ... function definition continues
    // ... function body
}

async fn get_worker_by_id

Definition

pub async fn get_worker_by_id(
    pool: &sqlx::Pool<sqlx::MySql>,
    worker_id: i64,
) -> Result<Worker, sqlx::Error> {
    let worker = sqlx::query_as::<_, Worker>(
        "SELECT * FROM workers WHERE id = ?"
    )
    .bind(worker_id)
    .fetch_one(pool)
    .await?;
    
    Ok(worker)
    // ... function body
}

Documentation

Retrieves a worker by its ID from the database. This function fetches a worker from the database using its unique ID.

Arguments
  • pool - Database connection pool for executing the query
  • worker_id - Unique identifier of the worker to fetch
Returns
  • Ok(Worker) - Successfully retrieved worker
  • Err(anyhow::Error) - Failed to fetch worker
Errors
  • sqlx::Error - If the query fails or the worker is not found
⚠️ **GitHub.com Fallback** ⚠️