Skip to content

Enhance RIGHT specification #56

@Martin187187

Description

@Martin187187

Feature Request: Improve RIGHTS Explanation

Problem

The current explanation of RIGHTS does not clearly communicate what each right logically represents.
Because of this, it can be difficult to understand how rights translate into allowed actions when working with API methods.

A clearer explanation of the logical meaning of each RIGHT would help developers better understand how permissions relate to operations performed through the API.


Proposed Solution

Enhance the RIGHTS explanation by introducing a mapping table that describes each RIGHT in terms of logical operations.

The table should include:

  • The RIGHT
  • A logical action/verb that describes the type of operation
  • A short description explaining the intended meaning of the right

Example:

RIGHT Logical Action Description
READ retreive Allows accessing existing data or resources
... ... ...

keywords for logical action may already exist. Reuse them here


Examples Using API Methods

To illustrate how these logical rights apply in practice, add example API methods:

  • GET /submodels/{submodelIdentifier} → Requires READ
  • GET /submodels → Requires READ or VIEW
    • if only VIEW is present in access rule, only information about the existence is returned
  • POST /submodels/{submodelIdentifier} → Requires CREATE
  • PUT /submodels/{submodelIdentifier} → Requires CREATE and/or UPDATE
    • CREATE: allows to create new submodels, does not allow to update them
    • UPDATE: allows to update submodels, does not allow to update them
  • PATCH /submodels/{submodelIdentifier} → Requires UPDATE
  • POST /shells/shellsByAssetLink → Requires READ because the operation retrieves user data

These examples demonstrate how API methods correspond to logical rights, without defining the rights themselves in terms of HTTP semantics.


Benefits

Adding the logical mapping table and examples would:

  • Clarify the intended meaning of each RIGHT
  • Make permission concepts easier to understand
  • Provide practical examples showing how rights apply in real API interactions

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions