Workflow-App/Workflow/app/api
sjcoetzeesj-coder cd0a818641 feat(cipc): director appointment check tab
Reconcile CIPC BizPortal against the Workflow database for every
director ID number we hold, and report only the two kinds of
difference that need a decision:

  1. new appointment  - CIPC lists the person as a director of company
     X, the database does not.
  2. no longer a director - the database lists the person at company X,
     CIPC no longer shows them there.

Everything that is in sync is not reported, so the list stays short
enough to work through by hand.

- New page /cipc-report with an explorer that runs the check, polls
  the run and lists the exceptions.
- New API route /api/cipc/report: POST starts a background batch run
  of the existing "Bizportal Directopr id no search.py" (invoked
  exactly as it already behaves, including its own login rotation),
  GET returns run status and the exception lists. ?demo=1 returns a
  fixed sample so the screen can be shown without a live run.
- New action route /api/cipc/report/action for the per-exception
  follow-up actions.
- scripts/cipc-report/build_report.py renders the run into a PDF with
  the exceptions marked, plus the sample report used by ?demo=1.

The BizPortal tooling only exists on the Windows dev machine, so like
the other CIPC routes this tab cannot run the live search from the
Coolify Linux image.
2026-10-27 12:19:47 +02:00
..
appointments feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
auth feat(auth): password gate replacing the IP-only middleware guard 2026-10-18 18:39:27 +02:00
bizportal/search feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
bizportal-2 feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
cipc feat(cipc): director appointment check tab 2026-10-27 12:19:47 +02:00
companies/list feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
compliance feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
directors/list feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
documents feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
group-report/[id] fix: resolve all 7 type errors that broke the production build 2026-10-18 15:48:50 +02:00
mail-health feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
notes feat(notes): add PATCH + DELETE /api/notes/[id] handlers 2026-09-16 14:30:46 +02:00
onboarding feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
pb/records feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
register feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
report/[type]/[id] feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
resignations feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
resolutions feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
sars-login/run feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
sars-returns feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
sars-submission-flags feat(sars): end-of-month submission tick-boxes on SARS registrations 2026-10-20 12:30:06 +02:00
shareholder-changes feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00
tasks feat: commit Workflow app source; move CIPC credentials to env 2026-10-18 15:21:45 +02:00