@@ -5,6 +5,7 @@ A complete implementation of the **Competencies and Academic Standards Exchange
55This implementation follows the CASE v1.1 specification from 1EdTech:
66
77- Specification URL: < https://purl.imsglobal.org/spec/case/v1p1 >
8+ - OpenAPI Definition: < https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi2_v1p0.json >
89
910## Overview
1011
@@ -14,6 +15,14 @@ This service provides a REST API that implements the CASE v1.1 specification fro
1415
1516- ✅ PostgreSQL database with Prisma ORM
1617- ✅ TypeScript for type safety
18+ - ✅ Six manager endpoints:
19+ - ** AssociationsManager** : Manage CFAssociations
20+ - ** DefinitionsManager** : Manage CFConcepts, CFSubjects, CFLicenses, CFItemTypes, CFAssociationGroupings
21+ - ** DocumentsManager** : Manage CFDocuments
22+ - ** ItemsManager** : Manage CFItems
23+ - ** PackagesManager** : Manage CFPackages
24+ - ** RubricsManager** : Manage CFRubrics and CFRubricCriteria
25+ - ✅ OpenAPI specification endpoint at ` /ims/case/v1p1/openapi.json `
1726
1827## Prerequisites
1928
@@ -95,6 +104,43 @@ The server will start on `http://localhost:3000` (or the PORT specified in your
95104
96105## API Endpoints
97106
107+ ### Base Path
108+
109+ All CASE API endpoints are prefixed with: ` /ims/case/v1p1 `
110+
111+ ### Available Endpoints
112+
113+ #### Associations Manager
114+
115+ - ` GET /ims/case/v1p1/CFAssociations/{sourcedId} ` - Get a specific association
116+
117+ #### Definitions Manager
118+
119+ - ` GET /ims/case/v1p1/CFAssociationGroupings/{sourcedId} ` - Get an association grouping
120+ - ` GET /ims/case/v1p1/CFConcepts/{sourcedId} ` - Get a concept
121+ - ` GET /ims/case/v1p1/CFSubjects/{sourcedId} ` - Get a subject
122+ - ` GET /ims/case/v1p1/CFLicenses/{sourcedId} ` - Get a license
123+ - ` GET /ims/case/v1p1/CFItemTypes/{sourcedId} ` - Get an item type
124+
125+ #### Documents Manager
126+
127+ - ` GET /ims/case/v1p1/CFDocuments ` - List all documents
128+ - ` GET /ims/case/v1p1/CFDocuments/{sourcedId} ` - Get a specific document
129+
130+ #### Items Manager
131+
132+ - ` GET /ims/case/v1p1/CFItems ` - List all items
133+ - ` GET /ims/case/v1p1/CFItems/{sourcedId} ` - Get a specific item
134+
135+ #### Packages Manager
136+
137+ - ` GET /ims/case/v1p1/CFPackages/{sourcedId} ` - Get a package
138+
139+ #### Rubrics Manager
140+
141+ - ` GET /ims/case/v1p1/CFRubrics/{sourcedId} ` - Get a rubric
142+ - ` GET /ims/case/v1p1/CFRubricCriteria/{sourcedId} ` - Get rubric criteria
143+
98144#### Utilities
99145
100146- ` GET / ` - Service information
@@ -128,12 +174,23 @@ CASEProvider/
128174├── prisma/
129175│ ├── migrations/ # Database migrations
130176│ └── schema.prisma # Database schema
177+ ├── public/
178+ │ └── openapi-spec.json # CASE v1.1 OpenAPI specification
131179├── src/
132180│ ├── index.ts # Application entry point
133181│ ├── lib/
182+ │ │ ├── errors.ts # Error handling utilities
134183│ │ ├── prisma.ts # Prisma client
184+ │ │ └── validation.ts # Validation utilities
135185│ ├── routes/
136- │ │ ├── upload.ts # Upload routes
186+ │ ├── associations.ts # Associations endpoints
187+ │ ├── definitions.ts # Definitions endpoints
188+ │ ├── documents.ts # Documents endpoints
189+ │ ├── items.ts # Items endpoints
190+ │ ├── packages.ts # Packages endpoints
191+ │ ├── rubrics.ts # Rubrics endpoints
192+ │ ├── spec.ts # OpenAPI spec endpoint
193+ │ └── upload.ts # Upload endpoints
137194├── package.json
138195├── tsconfig.json
139196└── README.md
0 commit comments