parse-rest-schema.md 2.3 KB

Parse REST VOC schema

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.