The Parse REST storage driver uses isolated Voc* classes so it can coexist with unrelated applications in a shared Parse development environment. Every class is configured for master-key-only find, get, count, create, update, delete, and field changes. Browser clients never receive the master key and access data through saas-voc-server.
| Class | Purpose | Stable identity |
|---|---|---|
VocWorkspace |
Tenant/case workspace | publicId |
VocWorkspaceMember |
Workspace role and status | workspaceId + userId in naturalKey |
VocSourceConnection |
Company relay configuration metadata | workspace/platform/kind in naturalKey |
VocImportBatch |
Import provenance, totals, daily aggregates, and quality report | publicId |
VocProduct |
Domestic product catalog plus derived summary/trend | workspace/platform/product in naturalKey |
VocDailyMetric |
Canonical daily operating metrics | workspace/platform/product/date/source in naturalKey |
VocProductRelation |
Denormalized own-product to competitor mapping | workspace/platform/relation in naturalKey |
VocReview |
Review evidence and source payload | workspace/platform/review in naturalKey |
VocSyncJob |
Idempotent collection queue record | publicId and idempotencyKey |
VocSyncJobEvent |
Sync progress and failure events | publicId |
VocAnalysisRun |
Truthful pending/completed analysis lifecycle | publicId |
VocActionItem |
Operational action workflow | publicId |
VocAlert |
Risk/data-quality alert workflow | publicId |
VocAuditLog |
Workspace-scoped write audit trail | publicId |
Parse does not provide the same relational constraints as the PostgreSQL voc schema. The application therefore validates enums and permissions with Zod/RBAC, uses deterministic natural keys for idempotency, denormalizes relation identities, and restricts the current Parse worker to a single process because claim-by-update is not a SQL row lock.
The current Demashi acceptance totals are:
VocProduct 2817
VocDailyMetric 9717
VocProductRelation 40
VocReview 0
Run npm run verify:parse-rest -- demashi jd after schema changes or imports. A zero review count is intentional until the company relay returns verified review evidence.