Adds the full Next.js app (app/, components/, lib/, scripts/, assets/, docs/, Dockerfile, compose, configs) to version control. Security: - CIPC BizPortal customer-code logins (Login 1 + Login 3) now read CIPC_LOGIN1_CODE / CIPC_LOGIN1_PASSWORD / CIPC_LOGIN3_CODE / CIPC_LOGIN3_PASSWORD from .env.local instead of source. - BizPortal personal login in apply-bizportal route reads BIZPORTAL_ID_NO / BIZPORTAL_PASSWORD. - Added .env.example as the committed template. .gitignore excludes .env*, node_modules, .next, logs, sqlite, Playwright storage_state.json (live CIPC cookies), scratch dirs, client PDFs and debug screenshots.
29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
import os, requests, pathlib
|
|
from datetime import datetime
|
|
for line in pathlib.Path(r'C:\Users\SJ\.minimax-agent\projects\Workflow\.env.local').read_text().splitlines():
|
|
if line.strip() and '=' in line and not line.startswith('#'):
|
|
k, v = line.split('=', 1)
|
|
os.environ.setdefault(k.strip(), v.strip())
|
|
token = os.environ['PB_TOKEN']
|
|
h = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'}
|
|
dt = datetime.now()
|
|
formats = [
|
|
('PB space + .sssZ', dt.strftime('%Y-%m-%d %H:%M:%S.') + f'{dt.microsecond // 1000:03d}Z'),
|
|
('ISO T + .sssZ', dt.strftime('%Y-%m-%dT%H:%M:%S.') + f'{dt.microsecond // 1000:03d}Z'),
|
|
('date only', dt.strftime('%Y-%m-%d')),
|
|
('PB space no ms', dt.strftime('%Y-%m-%d %H:%M:%SZ')),
|
|
('ISO no ms', dt.isoformat()),
|
|
]
|
|
rec = 'zrduajho6xfpb3q' # WOEL row
|
|
for label, fmt in formats:
|
|
r = requests.patch(
|
|
f'https://pb.agent.apphub.co.za/api/collections/ysterbaard_SARS_EMP201_PAYE/records/{rec}',
|
|
headers=h, json={'last_updated': fmt}, timeout=15,
|
|
)
|
|
print(f'{label:25} status={r.status_code}', end='')
|
|
if r.status_code < 400:
|
|
d = r.json()
|
|
stored = d.get('last_updated')
|
|
print(f' stored={stored!r}')
|
|
else:
|
|
print(f' err={r.text[:200]}')
|