๐Ÿ”Roles

This page provides a description of the available API routes for managing roles.

The PORTOS system has a predefined list of user rights. Role allows to combine multiple user rights. When assigning rights to the user, roles are used. The role is represented by Role class. Roles can be freely managed using API routes described in this section.

For instance, a user possessing the "sale" role would be granted rights such as ticketCreate, ticketUpdate, and ticketClose. Roles can be used to group user rights based on areas of work or represent specific job positions like "cashier," "waiter," or "manager."

During product installation, the default roles setup is established, and it follows a more detailed approach, allowing precise role management, such as "sale", "stats", "storno," etc.

API methods

Get roles

GET http://{server-address}/roles

Returns all roles that matches query parameters. Result is of type QueryResult<Role>.

Query Parameters

NameTypeDescription

name

string

Supports NData syntax.

label

string

Supports NData syntax.

$skip

int

Pagination property. Describing number of records to skip from beginning of result collection.

$take

int

Pagination property. Maximum count of items to be returned.

$sort

string[]

Comma separated list of property names. Please see NData syntax.

$count

bool

If set to true, response will not contain items collection. Use to get resource count, not the resources themselves.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "items":
    [
        {
            "name": "admin",
            "label": "Administrรกtor",
            "description": "Administrรกtorskรฉ oprรกvnenie, umoลพลˆuje vykonรกvaลฅ vลกetky akcie v tรฝch zariadeniach, pre ktorรฉ ma umoลพnenรฉ prihlรกsenie",
            "rights":
            [
                "admin"
            ],
            "envNames":
            [
                "BackOffice",
                "CashRegister",
                "PDA",
                "Tool"
            ],
            "_v": 1
        },
        {
            "name": "articleCategories",
            "label": "Sprรกva tovarovรฝch skupรญn",
            "description": "Umoลพลˆuje pouลพรญvateฤพovi vytvรกraลฅ, upravovaลฅ a mazaลฅ tovarovรฉ skupiny",
            "rights":
            [
                "articleCategoryCreate",
                "articleCategoryUpdate",
                "articleCategoryDelete"
            ],
            "envNames":
            [
                "BackOffice"
            ],
            "_v": 1
        }
    ],
    "count": 2,
    "totalCount": 2
}

Get role by name

GET http://{server-address}/roles/{name}

Result is of type Role.

Path Parameters

NameTypeDescription

name*

string

Unique role name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "name": "articleCategories",
    "label": "Sprรกva tovarovรฝch skupรญn",
    "description": "Umoลพลˆuje pouลพรญvateฤพovi vytvรกraลฅ, upravovaลฅ a mazaลฅ tovarovรฉ skupiny",
    "rights":
    [
        "articleCategoryCreate",
        "articleCategoryUpdate",
        "articleCategoryDelete"
    ],
    "envNames":
    [
        "BackOffice"
    ],
    "_v": 1
}

Create role

POST http://{server-address}/roles

Creates new role. Result is of type Role.

Required rights

Authorized user must have RoleCreate right assigned.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

Request Body

NameTypeDescription

(body)*

Role

Role model to create

{
    "name": "articleCategories",
    "label": "Sprรกva tovarovรฝch skupรญn",
    "description": "Umoลพลˆuje pouลพรญvateฤพovi vytvรกraลฅ, upravovaลฅ a mazaลฅ tovarovรฉ skupiny",
    "rights":
    [
        "articleCategoryCreate",
        "articleCategoryUpdate",
        "articleCategoryDelete"
    ],
    "envNames":
    [
        "BackOffice"
    ],
    "_v": 1
}

Create or update role

PUT http://{server-address}/roles/{name}

Updates existing or creates new role. Result is of type Role.

Required rights

Authorized user must have assigned RoleCreate or RoleUpdate right.

Path Parameters

NameTypeDescription

name*

string

Unique role name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

Request Body

NameTypeDescription

(body)*

Role

Model to create or update.

{
    "name": "articleCategories",
    "label": "Sprรกva tovarovรฝch skupรญn",
    "description": "Umoลพลˆuje pouลพรญvateฤพovi vytvรกraลฅ, upravovaลฅ a mazaลฅ tovarovรฉ skupiny",
    "rights":
    [
        "articleCategoryCreate",
        "articleCategoryUpdate",
        "articleCategoryDelete"
    ],
    "envNames":
    [
        "BackOffice"
    ],
    "_v": 2
}

Delete role by name

DELETE http://{server-address}/roles/{name}

Required rights

Authorized user must have RoleDelete right assigned.

Path Parameters

NameTypeDescription

name*

string

Unique role name.

Headers

NameTypeDescription

Authorization*

string

Authorization header with authorization token.

{
    "name": "articleCategories",
    "label": "Sprรกva tovarovรฝch skupรญn",
    "description": "Umoลพลˆuje pouลพรญvateฤพovi vytvรกraลฅ, upravovaลฅ a mazaลฅ tovarovรฉ skupiny",
    "rights":
    [
        "articleCategoryCreate",
        "articleCategoryUpdate",
        "articleCategoryDelete"
    ],
    "envNames":
    [
        "BackOffice"
    ],
    "_v": 1
}

Last updated