[DMS-1183] Extend MetaEd and DMS OpenAPI for Change Queries#514
Conversation
Test Results 1 files 460 suites 11m 25s ⏱️ Results for commit db78918. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Pull request overview
Extends the metaed-plugin-edfi-api-schema OpenAPI surface to support Change Queries by adding a core-only changeQueries base document, emitting /availableChangeVersions, generating /deletes and /keyChanges paths with strongly-typed tracked-change schemas, and removing snapshot-only OpenAPI artifacts. The PR also updates authoritative integration artifacts and adds an integration validation test that composes generated documents and validates them via swagger-parser.
Changes:
- Added
changeQueriesas an OpenAPI document type and emitted a core-only standalone Change Queries base document containingGET /availableChangeVersions. - Generated tracked-change schemas and emitted
/deletes+/keyChangespaths for resources/descriptors (plus coverage for SchoolYearType and extension-defined entities), while removing snapshot-only OpenAPI headers/responses. - Updated authoritative integration artifacts and added a composed-document OpenAPI validation integration test.
Reviewed changes
Copilot reviewed 24 out of 31 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tasks.json | Story/task checklist capturing the Change Query OpenAPI contract and verification steps. |
| progress.txt | Implementation log and verification notes for each completed task. |
| packages/metaed-plugin-edfi-api-schema/test/integration/OpenApiGeneratedDocumentValidation.test.ts | New integration test composing generated OpenAPI docs and validating them with swagger-parser. |
| packages/metaed-plugin-edfi-api-schema/test/integration/artifact/v7_3/homograph-api-schema-authoritative.json | Authoritative artifact updates reflecting tracked-change paths/schemas and snapshot cleanup. |
| packages/metaed-plugin-edfi-api-schema/test/integration/artifact/v7_3/ds-6.1-homograph-api-schema-authoritative.json | Additional authoritative artifact updates for DS 6.1 homograph scenario. |
| packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiResourceFragmentEnhancer.test.ts | Expanded unit coverage for tracked-change paths, live change-version params, profile compatibility, and extension behaviors. |
| packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiChangeQuerySchemaBuilder.test.ts | New unit tests for tracked-change schema derivation from identity/query-field metadata. |
| packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiBaseDocumentEnhancer.test.ts | Coverage for changeQueries base document and assertions that snapshot/security artifacts are absent. |
| packages/metaed-plugin-edfi-api-schema/test/enhancer/IdentityJsonPathsEnhancer.test.ts | Added SchoolYearEnumeration identity JSONPath assertion ($.schoolYear). |
| packages/metaed-plugin-edfi-api-schema/test/enhancer/ApiSchemaBuildingEnhancer.test.ts | Validates core-only emission/copying of OpenAPI base documents and unchanged apiSchemaVersion. |
| packages/metaed-plugin-edfi-api-schema/src/model/Namespace.ts | Adds documentation and typing around namespace-level API Schema/OpenAPI base document storage. |
| packages/metaed-plugin-edfi-api-schema/src/model/EntityApiSchemaData.ts | Initializes identityJsonPaths on entity API schema data. |
| packages/metaed-plugin-edfi-api-schema/src/model/api-schema/ProjectSchema.ts | Clarifies that openApiBaseDocuments are core-only. |
| packages/metaed-plugin-edfi-api-schema/src/model/api-schema/OpenApiDocumentType.ts | Adds CHANGE_QUERIES document type and documents the supported values. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiSpecificationEnhancerBase.ts | Removes snapshot-only artifacts and adds tracked-change operation/path generation helpers. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiResourceFragmentEnhancer.ts | Includes tracked-change schemas in generated fragments for resources and descriptors. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiChangeQuerySchemaBuilder.ts | New builder to generate tracked-change key/delete/keyChange schemas from semantic metadata. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiBaseDocumentEnhancer.ts | Emits changeQueries base document with /availableChangeVersions and document-type keyed base docs. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/IdentityJsonPathsEnhancer.ts | Adds SchoolYearEnumeration identity JSONPaths required for tracked-change key schemas. |
| packages/metaed-plugin-edfi-api-schema/src/enhancer/ApiSchemaBuildingEnhancer.ts | Ensures OpenAPI base documents are copied into core project schemas only (not extension projects). |
No description provided.