mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-19 13:08:05 +02:00
Auto NBA : règle en pause sans enregistrement, une règle par utilisateur
- Une règle désactivée ne programme plus rien : la réconciliation relit l'état en base et, en pause, supprime les enregistrements encore planifiés (un enregistrement en cours n'est pas coupé). - Index unique (user_id, kind) : deux activations concurrentes ne créent plus deux règles NBA ; le conflit répond 409. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f291b66087
commit
5a15311f98
3 files changed
+123
No files matched your search
@@ -181,6 +181,11 @@ async fn create(state: &SharedState, req: &Req, user: &User) -> Resp {
|
||||
}
|
||||
let rule = match state.db.create_auto_rule(&rule) {
|
||||
Ok(r) => r,
|
||||
// Activation concurrente (deux onglets, relance) : l'index unique
|
||||
// (user_id, kind) a tranché.
|
||||
Err(e) if crate::db::is_unique_violation(&e) => {
|
||||
return json(409, &json!({"error": "La règle NBA existe déjà"}));
|
||||
}
|
||||
Err(e) => return json(500, &json!({"error": format!("Création impossible : {e}")})),
|
||||
};
|
||||
// Calendrier et première réconciliation en tâche de fond (≈ 20 requêtes).
|
||||
|
||||
Reference in new issue
Block a user