Repository navigation
Reports
Two CSV reads replace eagle-api's comment export and BCGW report. Both have handlers in
eagle-demi. Rows and fields follow DEMI's access rules, see Attribute-Level-Access.
| Route | Caller | Replaces in eagle-api |
|---|---|---|
GET /commentperiods/:periodId/comments/export |
signed in | GET /api/comment/export/{periodId} |
GET /reports?type=bcgw |
public | GET /api/reports?type=bcgw |
The caller's level picks the format. A level 2 caller (sysadmin, staff) gets the staff format. Any
other caller gets the proponent format, and only published comments. In both formats Author
reads Anonymous on an anonymous comment.
Rows are the comments the caller can read. Each row passes through the field redactor first, so a
hidden field is an empty cell. Attachment links point at /documents/:id/download on the host the
caller used, and list only documents the caller can read. Text that starts with =, +, - or
@ gets a leading ' so a spreadsheet does not run it as a formula. Pillar is always empty,
because DEMI does not copy that field.
The feed of published projects for the BC Geographic Warehouse. It always reads as an anonymous
caller, so a signed-in caller gets the same file. Columns and values match eagle-api's file,
including the Project GUID cell wrapped in quotes.
Both responses are built whole, because the Functions host sends one buffered body.
- Environment Reality & Gotchas
- Architecture
- Seeding — filling Cosmos from Track and Eagle
- Sources and Status — every source, one state
- Search & Retrieval — overview
- Search Index Reference
- Search Query Construction
- Search Measurements
- Extraction Pipeline
- Extraction Quality — coverage, word-joining, tiling
- Identity Model — which id means what
- Attribute-Level Access — field-visibility levels, catalog
- Sync Architecture — how records get in
- Eagle Mirror Reference — mirrored kinds, refusals, drift classes
- ENGAGE Rows Reference — ENGAGE-owned comment periods, reconcile
- Public-Read Backfill — filling and repairing the mirror containers
-
Short Links —
/s/{code}redirect and/api/links -
Recent Uploads —
/api/documents/recent-uploads, eagle-public homepage panel - Reports — comment export and BCGW CSV reads
-
User Data — saved map areas, preferences,
/meroutes -
Bulk Download —
/api/bulk-downloads, zip jobs - Bulk Download: Operations — enable, poison-queue runbook
- Document Intake — upload link, malware scan, release
- Connecting an Application to DEMI
- Azure Environments
- Document Backup — archive copy of originals, run and check
- Document Backup: Revert and Drill — put documents back from the archive
- PDF Titles — public name written into stored PDFs, run, restore
- Secret Sync — Key Vault, secret-sync Function app, required names
-
Operating DEMI in Azure — deploy, verify
- Operating the DEMI Data Plane — devbox access, probes, audit and cost reads
- Edge ban detector — hourly timer, modes, kill switch, soak and promote
-
CI Workflows — every GitHub Actions workflow, trigger, identity, roles
- CI Deploy Workflows — eagle-demi staging and production deploys
- CI Admin Frontend Workflows — eagle-demi-admin checks and deploys
- Release Process — cutting, tagging, shipping and rolling back a version
- Runbook: Search Outage — index/app schema drift, diagnose, fix, roll back
- BC Gov Landing Zone
- Business Rules
- EPIC.search Business Rules — where DEMI differs from EPIC.search
- 001: Typesense for DFL Search — superseded
- 002: Async Processing (MongoDB Queue) — superseded
- 003: Rule-Based Classification
- 004: Read ACL Authorization Model
- 005: Cosmos Full-Text Search Ruled Out
- 006: AI Summarization over BM25
- 007: Service-to-Service Credentials
- 008: Audit and Usage Analytics Store
- 009: Track Feed — proposed
- 010: Attribute-Level Access Control
- 011: Public Read Surface
- 012: Public Config Surface
- 013: Stored Project Summaries — proposed
- 014: Sync-out to Eagle
- 015: Malware scanning on intake