Expand openapi.yaml with endpoints for branding, roles, permissions, department management, and module operations.

This commit is contained in:
Jeppe Bundgaard
2026-01-05 12:04:31 +01:00
parent 5c0092125e
commit c8b83c63d3
+344
View File
@@ -2705,6 +2705,350 @@ paths:
responses:
'200': {description: Success}
/branding:
get:
tags:
- Branding
summary: List branding options
description: Retrieve a list of branding options or a specific branding option if ID is provided
operationId: listBrandingOptions
parameters:
- name: id
in: query
required: false
schema:
type: integer
- $ref: '#/components/parameters/PageParam'
- $ref: '#/components/parameters/PerPageParam'
responses:
'200':
description: Branding options retrieved successfully
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
post:
tags:
- Branding
summary: Add branding option
description: Create a new branding option
operationId: addBrandingOption
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [name, description, cvr]
properties:
name: {type: string}
description: {type: string}
cvr: {type: integer}
responses:
'200':
description: Branding option added successfully
'403':
$ref: '#/components/responses/Forbidden'
put:
tags:
- Branding
summary: Edit branding option
description: Update an existing branding option
operationId: editBrandingOption
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [id]
properties:
id: {type: integer}
name: {type: string}
description: {type: string}
cvr: {type: integer}
responses:
'200':
description: Branding option updated successfully
'403':
$ref: '#/components/responses/Forbidden'
/roles:
get:
tags:
- Roles
summary: List roles
operationId: listRoles
responses:
'200':
description: Success
post:
tags:
- Roles
summary: Add role
operationId: addRole
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [name]
properties:
name: {type: string}
responses:
'200':
description: Success
put:
tags:
- Roles
summary: Edit role
operationId: editRole
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [id, name]
properties:
id: {type: integer}
name: {type: string}
responses:
'200':
description: Success
/roles/permissions:
post:
tags:
- Roles
summary: Add permission to role
operationId: addRolePermission
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [role_id, permission]
properties:
role_id: {type: integer}
permission: {type: string}
responses:
'200':
description: Success
delete:
tags:
- Roles
summary: Remove permission from role
operationId: removeRolePermission
parameters:
- name: role_id
in: query
required: true
schema: {type: integer}
- name: permission
in: query
required: true
schema: {type: string}
responses:
'200':
description: Success
/roles/clone:
post:
tags:
- Roles
summary: Clone role
operationId: cloneRole
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [role_id, name]
properties:
role_id: {type: integer}
name: {type: string}
responses:
'200':
description: Success
/modules/washcertificates:
get:
tags:
- Modules
summary: List wash certificates
operationId: listWashCertificates
responses:
'200':
description: Success
/modules/xlvask/services/usage/orders:
get:
tags:
- Modules
summary: Get XLVask usage orders
operationId: getXlvaskUsageOrders
responses:
'200':
description: Success
/modules/xlvask/services/usage/orders/fast-link:
get:
tags:
- Modules
summary: Get XLVask usage orders fast link
operationId: getXlvaskUsageOrdersFastLink
responses:
'200':
description: Success
/superuser/department:
get:
tags:
- Departments
summary: List departments (superuser)
operationId: listSuperuserDepartments
responses:
'200':
description: Success
/superuser/department/prices:
get:
tags:
- Departments
summary: Get department prices
operationId: getDepartmentPrices
parameters:
- name: department_id
in: query
required: true
schema: {type: integer}
responses:
'200':
description: Success
post:
tags:
- Departments
summary: Set department price
operationId: setDepartmentPrice
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [department_id, category_id, price]
properties:
department_id: {type: integer}
category_id: {type: string}
price: {type: integer}
responses:
'200':
description: Success
/superuser/department/variables:
get:
tags:
- Departments
summary: Get department variables
operationId: getDepartmentVariables
parameters:
- name: department_id
in: query
required: true
schema: {type: integer}
responses:
'200':
description: Success
post:
tags:
- Departments
summary: Set department variable
operationId: setDepartmentVariable
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [department_id, key, value]
properties:
department_id: {type: integer}
key: {type: string}
value: {type: string}
responses:
'200':
description: Success
/departments/daily-reports:
get:
tags:
- Departments
summary: List daily reports
operationId: listDailyReports
responses:
'200':
description: Success
post:
tags:
- Departments
summary: Add daily report
operationId: addDailyReport
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [department_id, date, report]
properties:
department_id: {type: integer}
date: {type: string}
report: {type: string}
responses:
'200':
description: Success
put:
tags:
- Departments
summary: Edit daily report
operationId: editDailyReport
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [id, report]
properties:
id: {type: integer}
report: {type: string}
responses:
'200':
description: Success
/departments/daily-reports/get:
get:
tags:
- Departments
summary: Get daily report
operationId: getDailyReport
parameters:
- name: department_id
in: query
required: true
schema: {type: integer}
- name: date
in: query
required: true
schema: {type: string}
responses:
'200':
description: Success
components:
securitySchemes:
BearerAuth: