Skip to content

Generalize plugin-resources endpoints for more business use-cases #647

Description

@stiliyan-v

User Story:
As an API user,
I want to to be able to store plugin related resources easily
so plugins developers can share data between different users without the need to implement own endpoints

Description:

Updated resource plugins would look like as following:

Method Path operationId Description
POST /plugins-resources/plugins/{plugin}/types/{type} Create a new resource version createPluginResource
DELETE /plugins-resources/plugins/{plugin}/types/{type} Delete all resources of a type deletePluginResourcesByType
GET /plugins-resources/plugins/{plugin}/types/{type}/{id} Get specific version by UUID (with content) getPluginResourceById
GET /plugins-resources/plugins/{plugin}/types/{type}/latest List latest metadata per resource name getLatestPluginResourcesByType
DELETE /plugins-resources/plugins/{plugin}/types/{type}/resources/{name} Delete named resource + all versions deletePluginResourceByName
GET /plugins-resources/plugins/{plugin}/types/{type}/resources/{name}/latest Get latest version with content getLatestPluginResourceByName
GET /plugins-resources/plugins/{plugin}/types/{type}/resources/{name}/versions List all versions metadata (no content) getPluginResourceVersionsByName

Containing data overview:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "plugin": "engineering-wizard",
  "type": "engineering-wizard_process",
  "name": "default-process",
  "description": "Default process definition for the engineering wizard",
  "contentType": "application/json",
  "version": "1.1.0",
  "dataCompatibilityVersion": "1.0.0",
  "uploadedAt": "2026-06-10T08:00:00Z"
  "content": "{\n  \"process\": \"substation-engineering\",\n  \"steps\": [\"design\", \"validation\", \"approval\"]\n}\n"
}

Metadata

Metadata

Labels

Refinement doneIssue is ready for developmentenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions