properly handling patch updates
Some checks failed
CI / Clippy (push) Failing after 3m6s
CI / Rustfmt (push) Failing after 3m9s
CI / Cargo Audit & Deny (push) Successful in 5m2s
CI / Tests (push) Successful in 8m15s
CI / Security Blocking Checks (push) Successful in 10s
CI / Web Advisory Checks (push) Successful in 1m4s
CI / Web Blocking Checks (push) Failing after 4m52s
Publish Images And Chart / Resolve Publish Metadata (push) Successful in 2s
CI / Security Advisory Checks (push) Successful in 1m31s
Publish Images And Chart / Publish init-user (push) Failing after 30s
Publish Images And Chart / Publish init-packs (push) Failing after 1m41s
Publish Images And Chart / Publish migrations (push) Failing after 10s
Publish Images And Chart / Publish web (push) Failing after 11s
Publish Images And Chart / Publish sensor (push) Failing after 32s
Publish Images And Chart / Publish worker (push) Failing after 11s
Publish Images And Chart / Publish executor (push) Failing after 11s
Publish Images And Chart / Publish notifier (push) Failing after 9s
Publish Images And Chart / Publish api (push) Failing after 31s
Publish Images And Chart / Publish Helm Chart (push) Has been skipped

This commit is contained in:
2026-03-17 12:17:58 -05:00
parent 643023b6d5
commit f96861d417
136 changed files with 3782 additions and 1553 deletions

View File

@@ -7,7 +7,7 @@ use crate::Result;
use serde_json::Value as JsonValue;
use sqlx::{Executor, Postgres, QueryBuilder};
use super::{Create, Delete, FindById, FindByRef, List, Repository, Update};
use super::{Create, Delete, FindById, FindByRef, List, Patch, Repository, Update};
// ============================================================================
// Trigger Search
@@ -88,10 +88,10 @@ pub struct CreateTriggerInput {
#[derive(Debug, Clone, Default)]
pub struct UpdateTriggerInput {
pub label: Option<String>,
pub description: Option<String>,
pub description: Option<Patch<String>>,
pub enabled: Option<bool>,
pub param_schema: Option<JsonSchema>,
pub out_schema: Option<JsonSchema>,
pub param_schema: Option<Patch<JsonSchema>>,
pub out_schema: Option<Patch<JsonSchema>>,
}
#[async_trait::async_trait]
@@ -229,7 +229,10 @@ impl Update for TriggerRepository {
query.push(", ");
}
query.push("description = ");
query.push_bind(description);
match description {
Patch::Set(value) => query.push_bind(value),
Patch::Clear => query.push_bind(Option::<String>::None),
};
has_updates = true;
}
@@ -247,7 +250,10 @@ impl Update for TriggerRepository {
query.push(", ");
}
query.push("param_schema = ");
query.push_bind(param_schema);
match param_schema {
Patch::Set(value) => query.push_bind(value),
Patch::Clear => query.push_bind(Option::<JsonSchema>::None),
};
has_updates = true;
}
@@ -256,7 +262,10 @@ impl Update for TriggerRepository {
query.push(", ");
}
query.push("out_schema = ");
query.push_bind(out_schema);
match out_schema {
Patch::Set(value) => query.push_bind(value),
Patch::Clear => query.push_bind(Option::<JsonSchema>::None),
};
has_updates = true;
}
@@ -676,11 +685,11 @@ pub struct UpdateSensorInput {
pub entrypoint: Option<String>,
pub runtime: Option<Id>,
pub runtime_ref: Option<String>,
pub runtime_version_constraint: Option<Option<String>>,
pub runtime_version_constraint: Option<Patch<String>>,
pub trigger: Option<Id>,
pub trigger_ref: Option<String>,
pub enabled: Option<bool>,
pub param_schema: Option<JsonSchema>,
pub param_schema: Option<Patch<JsonSchema>>,
pub config: Option<JsonValue>,
}
@@ -866,7 +875,10 @@ impl Update for SensorRepository {
query.push(", ");
}
query.push("runtime_version_constraint = ");
query.push_bind(runtime_version_constraint);
match runtime_version_constraint {
Patch::Set(value) => query.push_bind(value),
Patch::Clear => query.push_bind(Option::<String>::None),
};
has_updates = true;
}
@@ -893,7 +905,10 @@ impl Update for SensorRepository {
query.push(", ");
}
query.push("param_schema = ");
query.push_bind(param_schema);
match param_schema {
Patch::Set(value) => query.push_bind(value),
Patch::Clear => query.push_bind(Option::<JsonSchema>::None),
};
has_updates = true;
}