[FEAT] Fase 2 backend: campagne questionario (questionnaire_campaigns) + scadenze/ricorrenze
- createCampaign(supplierId): invia un template a un fornitore via questionnaire_campaigns
(token sq_ retrocompat, scadenza/ricorrenza/reminder_offsets configurabili, crea
supplier_user per accesso OTP, email invito col link al portale). Migrazioni 034+035
applicate su host.
- campaigns(): cruscotto con semaforo scadenze (success/warning<=7gg/danger scaduto)
+ answers_count per campagna.
- computeNextReminder(): helper per il prossimo reminder dagli offset.
- Route: GET:campaigns, POST:{id}/campaigns. api.js: getQuestionnaireCampaigns,
createQuestionnaireCampaign.
Smoke: rotte 401 (router+auth ok). php -l + node --check OK. USR2 applicato.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
306960cbf0
commit
7baa596b37
@@ -293,6 +293,9 @@ $actionMap = [
|
||||
'PUT:questions/{subId}' => 'updateTemplateQuestion',
|
||||
'DELETE:questions/{subId}' => 'deleteTemplateQuestion',
|
||||
'POST:import' => 'importSuppliers',
|
||||
// Campagne questionario (Fase 2): cruscotto + invio template a fornitore
|
||||
'GET:campaigns' => 'campaigns',
|
||||
'POST:{id}/campaigns' => 'createCampaign', // {id} = supplier id
|
||||
'GET:{id}' => 'get',
|
||||
'PUT:{id}' => 'update',
|
||||
'DELETE:{id}' => 'delete',
|
||||
|
||||
Reference in New Issue
Block a user