SOGOMS v1.0.3 - Admin UI, Cron, Config reload
Phase 13 : sogoms-cron
- Jobs planifiés avec schedule cron standard
- Types: query_email, http, service
- Actions: list, trigger, status
Phase 16 : Réorganisation config/apps/{app}/
- Tous les fichiers d'une app dans un seul dossier
- Migration prokov vers nouvelle structure
Phase 17 : sogoms-admin
- Interface web d'administration (Go templates + htmx)
- Auth sessions cookies signées HMAC-SHA256
- Rôles super_admin / app_admin avec permissions
Phase 19 : Création d'app via Admin UI
- Formulaire création app avec config DB/auth
- Bouton "Scanner la base" : introspection + schema.yaml
- Rechargement automatique sogoway via SIGHUP
Infrastructure :
- sogoctl : socket de contrôle /run/sogoctl.sock
- sogoway : reload config sur SIGHUP sans restart
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
44
config/apps/prokov/cron.yaml
Normal file
44
config/apps/prokov/cron.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# Configuration des tâches planifiées pour Prokov
|
||||
timezone: Europe/Paris
|
||||
|
||||
retry:
|
||||
max_attempts: 3
|
||||
delay: 5m
|
||||
|
||||
history_days: 7
|
||||
|
||||
jobs:
|
||||
# Email quotidien des tâches à faire
|
||||
tasks_today:
|
||||
schedule: "0 8 * * 1-5" # 8h00 du lundi au vendredi
|
||||
type: query_email
|
||||
enabled: true
|
||||
|
||||
# Requête : tâches du jour pour chaque utilisateur
|
||||
# Retourne les tâches dont la date de fin est aujourd'hui ou dépassée
|
||||
# et qui ne sont pas dans un statut "terminé" (code >= 100)
|
||||
query: |
|
||||
SELECT
|
||||
u.id AS user_id,
|
||||
u.email,
|
||||
u.name AS user_name,
|
||||
t.id AS task_id,
|
||||
t.title,
|
||||
t.priority,
|
||||
t.date_end,
|
||||
p.name AS project_name,
|
||||
s.name AS status_name,
|
||||
s.color AS status_color
|
||||
FROM users u
|
||||
INNER JOIN tasks t ON t.user_id = u.id
|
||||
LEFT JOIN projects p ON t.project_id = p.id
|
||||
LEFT JOIN statuses s ON t.status_id = s.id
|
||||
WHERE (t.date_end <= CURDATE() OR t.date_start = CURDATE())
|
||||
AND (s.code IS NULL OR s.code < 100)
|
||||
ORDER BY u.id, t.priority DESC, t.date_end ASC, t.position ASC
|
||||
|
||||
# Grouper par user_id pour envoyer 1 email par utilisateur
|
||||
group_by: user_id
|
||||
|
||||
# Template email à utiliser
|
||||
template: tasks_today
|
||||
Reference in New Issue
Block a user