schemas_v1_db_queries_platforms_mod - OmniCloudOrg/OmniOrchestrator GitHub Wiki
Path: src/schemas/v1/db/queries/platforms/mod.rs
- async fn get_all_platforms
- async fn get_platform_by_id
- async fn check_platform_exists
- async fn get_platform_name
- async fn create_platform
- async fn update_platform
- async fn delete_platform
- async fn count_platforms
- async fn list_platforms
- async fn search_platforms_by_name
pub async fn get_all_platforms(pool: &Pool<MySql>) -> Result<Vec<Platform>, sqlx::Error> {
let platforms = sqlx::query_as::<_, Platform>("SELECT * FROM platforms")
.fetch_all(pool)
.await?;
pub async fn get_platform_by_id(pool: &Pool<MySql>, platform_id: i64) -> Result<Platform, sqlx::Error> {
let platform = sqlx::query_as::<_, Platform>("SELECT * FROM platforms WHERE id = ?")
.bind(platform_id)
.fetch_one(pool)
.await?;
pub async fn check_platform_exists(pool: &Pool<MySql>, platform_id: i64) -> Result<bool, sqlx::Error> {
let exists = sqlx::query_scalar::<_, bool>("SELECT EXISTS(SELECT 1 FROM platforms WHERE id = ?)")
.bind(platform_id)
.fetch_one(pool)
.await?;
pub async fn get_platform_name(pool: &Pool<MySql>, platform_id: i64) -> Result<String, sqlx::Error> {
let name = sqlx::query_scalar::<_, String>("SELECT name FROM platforms WHERE id = ?")
.bind(platform_id)
.fetch_one(pool)
.await?;
pub async fn create_platform(
pool: &Pool<MySql>,
name: &str,
description: Option<&str>
) -> Result<Platform, sqlx::Error> {
// ... function body
}
pub async fn update_platform(
pool: &Pool<MySql>,
platform_id: i64,
name: Option<&str>,
description: Option<&str>
) -> Result<Platform, sqlx::Error> {
// ... function body
}
pub async fn delete_platform(pool: &Pool<MySql>, platform_id: i64) -> Result<(), sqlx::Error> {
// Check if platform exists first
let exists = check_platform_exists(pool, platform_id).await?;
pub async fn count_platforms(pool: &Pool<MySql>) -> Result<i64, sqlx::Error> {
let count = sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM platforms")
.fetch_one(pool)
.await?;
pub async fn list_platforms(
pool: &Pool<MySql>,
page: i64,
per_page: i64
) -> Result<Vec<Platform>, sqlx::Error> {
// ... function body
}
pub async fn search_platforms_by_name(
pool: &Pool<MySql>,
name_pattern: &str
) -> Result<Vec<Platform>, sqlx::Error> {
// ... function body
}