nordabiz/database/migrations/099_add_admission_workflow_log.sql
Maciej Pienczyn 90203676e5
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
feat: Post-Rada Workflow Engine + redesign /nowi-czlonkowie
- AdmissionWorkflowLog model + migration
- services/admission_workflow.py — auto-extract admitted companies from
  board meeting proceedings, match to existing companies, create
  placeholders, notify Office Managers (in-app + email)
- Hook in meeting_publish_protocol() — triggers workflow in background
- Dashboard /rada/posiedzenia/ID/przyjecia for Office Manager
- /nowi-czlonkowie redesigned: grouped by board meetings, fixed Polish
  characters, removed days-based filter

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:51:38 +02:00

19 lines
724 B
SQL

CREATE TABLE IF NOT EXISTS admission_workflow_logs (
id SERIAL PRIMARY KEY,
meeting_id INTEGER NOT NULL REFERENCES board_meetings(id),
executed_at TIMESTAMP DEFAULT NOW(),
executed_by INTEGER REFERENCES users(id),
extracted_companies JSONB,
matched_companies JSONB,
created_companies JSONB,
skipped JSONB,
status VARCHAR(20) DEFAULT 'completed',
error_message TEXT,
notifications_sent INTEGER DEFAULT 0,
emails_sent INTEGER DEFAULT 0
);
CREATE INDEX IF NOT EXISTS idx_admission_workflow_meeting ON admission_workflow_logs(meeting_id);
GRANT ALL ON TABLE admission_workflow_logs TO nordabiz_app;
GRANT USAGE, SELECT ON SEQUENCE admission_workflow_logs_id_seq TO nordabiz_app;