Skip to content

Open-MBEE/flexo-mms-sysmlv2

Repository files navigation

Flexo MMS SysML v2 Microservice

REST/HTTP platform specific model (PSM) for the Systems Modeling API and Services

Generated by OpenAPI Generator 7.9.0.

Requires

  • Kotlin ^1.9.24
  • Gradle ^8.3.0

Build

First, create the gradle wrapper script:

gradle wrapper

Then, run:

./gradlew check assemble

This runs all tests and packages the library.

Running

The server builds as a jar with a main entrypoint. To start the service, run java -jar ./build/libs/flexo-sysmlv2.jar.

You may also run in docker:

docker build -t org.openmbee.flexo.sysmlv2 .
docker run -p 8080:8080 org.openmbee.flexo.sysmlv2

Features/Implementation Notes

  • Supports JSON inputs/outputs, File inputs, and Form inputs (see ktor documentation for more info).
  • Supports collection formats for query parameters: csv, tsv, ssv, pipes.
  • Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in OpenAPI definitions.

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
BranchApi deleteBranchByProjectAndId DELETE /projects/{projectId}/branches/{branchId} Delete branch by project and ID
BranchApi getBranchesByProject GET /projects/{projectId}/branches Get branches by project
BranchApi getBranchesByProjectAndId GET /projects/{projectId}/branches/{branchId} Get branch by project and ID
BranchApi postBranchByProject POST /projects/{projectId}/branches Create branch by project
CommitApi getChangeByProjectCommitId GET /projects/{projectId}/commits/{commitId}/changes/{changeId} Get change by project, commit and ID
CommitApi getChangesByProjectCommit GET /projects/{projectId}/commits/{commitId}/changes Get changes by project and commit
CommitApi getCommitByProjectAndId GET /projects/{projectId}/commits/{commitId} Get commit by project and ID
CommitApi getCommitsByProject GET /projects/{projectId}/commits Get commits by project
CommitApi postCommitByProject POST /projects/{projectId}/commits Create commit by project
DiffMergeApi diff GET /projects/{projectId}/commits/{compareCommitId}/diff Diff a base commit and compare commit
DiffMergeApi merge POST /projects/{projectId}/branches/{targetBranchId}/merge Merge source commit(s) into a target branch
ElementApi getElementByProjectCommitId GET /projects/{projectId}/commits/{commitId}/elements/{elementId} Get element by project, commit and ID
ElementApi getElementsByProjectCommit GET /projects/{projectId}/commits/{commitId}/elements Get elements by project and commit
ElementApi getProjectUsageByProjectCommitElement GET /projects/{projectId}/commits/{commitId}/elements/{elementId}/projectUsage Get ProjectUsage that originates the provided element
ElementApi getRootsByProjectCommit GET /projects/{projectId}/commits/{commitId}/roots Get root elements by project and commit
MetaApi getDatatypeById GET /meta/datatypes/{datatypeId} Get datatype by ID
MetaApi getDatatypes GET /meta/datatypes Get datatypes
ProjectApi deleteProjectById DELETE /projects/{projectId} Delete project by ID
ProjectApi getProjectById GET /projects/{projectId} Get project by ID
ProjectApi getProjects GET /projects Get projects
ProjectApi postProject POST /projects Create project
ProjectApi putProjectById PUT /projects/{projectId} Update project by ID
QueryApi deleteQueryByProjectAndId DELETE /projects/{projectId}/queries/{queryId} Delete query by project and ID
QueryApi getQueriesByProject GET /projects/{projectId}/queries Get queries by project
QueryApi getQueryByProjectAndId GET /projects/{projectId}/queries/{queryId} Get query by project and ID
QueryApi getQueryResultsByProjectIdQuery GET /projects/{projectId}/query-results Get query results by project and query definition
QueryApi getQueryResultsByProjectIdQueryId GET /projects/{projectId}/queries/{queryId}/results Get query results by project and query
QueryApi getQueryResultsByProjectIdQueryPost POST /projects/{projectId}/query-results Get query results by project and query definition via POST
QueryApi postQueryByProject POST /projects/{projectId}/queries Create query by project
QueryApi putQueryByProjectAndId PUT /projects/{projectId}/queries/{queryId} Update project by project and ID
RelationshipApi getRelationshipsByProjectCommitRelatedElement GET /projects/{projectId}/commits/{commitId}/elements/{relatedElementId}/relationships Get relationships by project, commit, and related element
TagApi deleteTagByProjectAndId DELETE /projects/{projectId}/tags/{tagId} Delete tag by project and ID
TagApi getTagByProjectAndId GET /projects/{projectId}/tags/{tagId} Get tag by project and ID
TagApi getTagsByProject GET /projects/{projectId}/tags Get tags by project
TagApi postTagByProject POST /projects/{projectId}/tags Create tag by project

Stub server origin

The stub server was generated from the SysML v2 API Services' openapi.json.

Since the OpenAPI generator attempts to dereference the $id key of elements under components.schema, this document must be preprocessed to replace these ids with the basename of the URL path. Node.js must be installed to run the preprocess script.

Please note that additional postprocessing was required to get the stub server dependencies updated and fix some escaping issues on the generated server code.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages