This repository is a Proof of Concept (PoC) for a new Document Registration Component (DRC) in the Common Ground landscape. It implements a minimal, functional version of the Documenten API, with additional filtering for new relations between non-Zaken objects.
| Endpoint | Method | Description | Status | Remarks |
|---|---|---|---|---|
| / | GET | Get a list of enkelvoudiginformatieobjecten based on the given query parameters | ||
| / | POST | Create a enkelvoudiginformatieobject | ||
| /{UUID}/audittrail | GET | Get all audittrail records for a enkelvoudiginformatieobject | ||
| /{UUID}/audittrail/{at_UUID} | GET | Get a single audittrail record based on enkelvoudiginformatieobject-id and audittrail-id | ||
| /{UUID} | GET | Get a single enkelvoudigInformatieObject | ||
| /{UUID} | PUT | Fully updates a enkelvoudiginformatieobject | ||
| /{UUID} | PATCH | Partially updates a enkelvoudiginformatieobject | ||
| /{UUID} | DELETE | Deletes a enkelvoudiginformatieobject | ||
| /{UUID} | HEAD | Retrieves headers for a specific enkelvoudiginformatieobject | ||
| /{UUID}/download | GET | Download the binary data from the enkelvoudiginformatieobject | ||
| /{UUID}/lock | POST | Locks a enkelvoudiginformatieobject | ||
| /{UUID}/unlock | POST | Unlocks enkelvoudiginformatieobject | ||
| /{UUID}/_zoek | POST | Searches for enkelvoudiginformatieobject records, based on the search body of the request |
| Endpoint | Method | Description | Status | Remarks |
|---|---|---|---|---|
| / | GET | Get a list of gebruiksrechten based on the given query parameters | Out of scope for our PoC so far | |
| / | POST | Create gebruiksrechten | Out of scope for our PoC so far | |
| /{UUID} | GET | Get a single gebruiksrechten instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | PUT | Completely updates a a single gebruiksrechten instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | PATCH | Partually updates a a single gebruiksrechten instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | DELETE | Deletes a single gebruiksrechten instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | HEAD | Gets the headers for a single gebruiksrechten instance based on Id | Out of scope for our PoC so far |
| Endpoint | Method | Description | Status | Remarks |
|---|---|---|---|---|
| / | GET | Get a list of objectinformatieobject records based on the given query parameters | ||
| / | POST | Create objectinformatieobject relation | ||
| /{UUID} | GET | Get a single objectinformatieobject relation based on Id | ||
| /{UUID} | DELETE | Deletes a single objectinformatieobject relation based on Id | ||
| /{UUID} | HEAD | Gets the headers for a single objectinformatieobject relation based on Id |
| Endpoint | Method | Description | Status | Remarks |
|---|---|---|---|---|
| / | GET | Get a list of verzendingen based on the given query parameters | Out of scope for our PoC so far | |
| / | POST | Create verzending | Out of scope for our PoC so far | |
| /{UUID} | GET | Get a single verzending instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | PUT | Completely updates a a single verzending instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | PATCH | Partually updates a a single verzending instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | DELETE | Deletes a single verzending instance based on Id | Out of scope for our PoC so far | |
| /{UUID} | HEAD | Gets the headers for a single verzending instance based on Id | Out of scope for our PoC so far |
| Endpoint | Method | Description | Status | Remarks |
|---|---|---|---|---|
| /{UUID} | PUT | Upload a bestandsdeel |
| Functionaliteit | Status | Remarks |
|---|---|---|
| Notificaties | Out of scope for our PoC so far | |
| API scopes | Out of scope for our PoC so far |
brew install openjdk@21 gradle docker docker-compose-
Clone and build:
git clone <repository-url> cd DMF-PoC ./gradlew build
-
Start services:
docker-compose up -d
-
Run migrations:
./gradlew flywayMigrate
-
Verify:
./gradlew flywayInfo
# Check migration status
./gradlew flywayInfo
# Apply pending migrations
./gradlew flywayMigrate
# Undo last migration
./flyway-undo.sh <version>
# Generate migration from Exposed models
./gradlew generateMigration -Pargs="V2__Description"See docs/DATABASE.md for detailed migration workflow.
# Build
./gradlew build
# Run tests
./gradlew test
# Start application
./gradlew run/src/main/kotlin— Application source code/src/main/resources/db/migration— Flyway migration scripts/docs— Documentation/docker— Docker configuration
- Language: Kotlin
- ORM: Exposed 1.0.0-rc-4
- Database: PostgreSQL
- Migrations: Flyway
- Build: Gradle
- API Spec: OpenAPI 3.0 (see
docs/documenten-1.5.0.yaml)
- Database Migrations - Migration workflow and limitations
- API Specification - OpenAPI spec
EUPL 1.2 - See LICENSE.md