850 lines
25 KiB
YAML
850 lines
25 KiB
YAML
openapi: "3.0.3"
|
|
info:
|
|
title: legalconsenthub
|
|
version: 0.1.0
|
|
description: A platform for digital applications, approvals and discussions.
|
|
contact:
|
|
name: Denis Lugowski
|
|
email: denis.lugowski@gmail.com
|
|
|
|
servers:
|
|
- url: /api/v3
|
|
|
|
paths:
|
|
/application-forms:
|
|
get:
|
|
summary: Get all ApplicationForms
|
|
operationId: getAllApplicationForms
|
|
tags:
|
|
- application-form
|
|
responses:
|
|
"200":
|
|
description: Paged list of application forms
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PagedApplicationFormDto"
|
|
"500":
|
|
description: Internal server error
|
|
post:
|
|
summary: Create a new ApplicationForm
|
|
operationId: createApplicationForm
|
|
tags:
|
|
- application-form
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateApplicationFormDto"
|
|
responses:
|
|
"201":
|
|
description: Successfully created application form
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ApplicationFormDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/application-forms/{id}:
|
|
get:
|
|
summary: Get a specific ApplicationForm
|
|
operationId: getApplicationFormById
|
|
tags:
|
|
- application-form
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Get application form by ID
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ApplicationFormDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
delete:
|
|
summary: Delete a ApplicationForm
|
|
operationId: deleteApplicationForm
|
|
tags:
|
|
- application-form
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Application Form successfully deleted
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/users:
|
|
get:
|
|
summary: Get all users
|
|
operationId: getAllUsers
|
|
tags:
|
|
- user
|
|
responses:
|
|
"200":
|
|
description: Paged list of users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PagedUserDto"
|
|
"500":
|
|
description: Internal server error
|
|
post:
|
|
summary: Create a new user
|
|
operationId: createUser
|
|
tags:
|
|
- user
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateUserDTO"
|
|
responses:
|
|
"201":
|
|
description: Successfully created user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UserDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/users/{id}:
|
|
get:
|
|
summary: Get a specific user
|
|
operationId: getUserById
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Get user by ID
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/UserDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
delete:
|
|
summary: Delete a user
|
|
operationId: deleteUser
|
|
tags:
|
|
- user
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: User successfully deleted
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/comments:
|
|
get:
|
|
summary: Get all comments
|
|
operationId: getAllComments
|
|
tags:
|
|
- comment
|
|
responses:
|
|
"200":
|
|
description: Paged list of comments
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PagedCommentDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
post:
|
|
summary: Create a new comment
|
|
operationId: createComment
|
|
tags:
|
|
- comment
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateCommentDto"
|
|
responses:
|
|
"201":
|
|
description: Successfully created comment
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CommentDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/comments/{id}:
|
|
get:
|
|
summary: Get a specific comment
|
|
operationId: getCommentById
|
|
tags:
|
|
- comment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Get comment by ID
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CommentDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
delete:
|
|
summary: Delete a comment
|
|
operationId: deleteComment
|
|
tags:
|
|
- comment
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Comment successfully deleted
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/roles:
|
|
get:
|
|
summary: Get all roles
|
|
operationId: getAllRoles
|
|
tags:
|
|
- role
|
|
responses:
|
|
"200":
|
|
description: List of roles
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/RoleDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
post:
|
|
summary: Create a new role
|
|
operationId: createRole
|
|
tags:
|
|
- role
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateRoleDto"
|
|
responses:
|
|
"201":
|
|
description: Successfully created role
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RoleDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/roles/{id}:
|
|
get:
|
|
summary: Get a specific role
|
|
operationId: getRoleById
|
|
tags:
|
|
- role
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Get role by ID
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RoleDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
delete:
|
|
summary: Delete a role
|
|
operationId: deleteRole
|
|
tags:
|
|
- role
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: Role successfully deleted
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/files:
|
|
get:
|
|
summary: Get all files
|
|
operationId: getAllFiles
|
|
tags:
|
|
- file
|
|
responses:
|
|
"200":
|
|
description: Successful response
|
|
"500":
|
|
description: Internal server error
|
|
post:
|
|
summary: Upload a new file
|
|
operationId: uploadFile
|
|
tags:
|
|
- file
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: "#/components/schemas/UploadFileDto"
|
|
responses:
|
|
"201":
|
|
description: File uploaded
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
/files/{id}:
|
|
get:
|
|
summary: Get a specific file
|
|
operationId: getFileById
|
|
tags:
|
|
- file
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: Get file by ID
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/FileDto"
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
delete:
|
|
summary: Delete a file
|
|
operationId: deleteFile
|
|
tags:
|
|
- file
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"204":
|
|
description: File successfully deleted
|
|
"400":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/Unauthorized"
|
|
"500":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServerError"
|
|
"503":
|
|
$ref: "https://api.swaggerhub.com/domains/smartbear-public/ProblemDetails/1.0.0#/components/responses/ServiceUnavailable"
|
|
|
|
components:
|
|
schemas:
|
|
####### UserDto #######
|
|
UserDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- username
|
|
- firstname
|
|
- lastname
|
|
- email
|
|
- password
|
|
- roleId
|
|
- createdAt
|
|
- modifiedAt
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
username:
|
|
type: string
|
|
firstName:
|
|
type: string
|
|
lastName:
|
|
type: string
|
|
email:
|
|
type: string
|
|
format: email
|
|
password:
|
|
type: string
|
|
roleId:
|
|
type: string
|
|
format: uuid
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
modifiedAt:
|
|
type: string
|
|
format: date-time
|
|
|
|
CreateUserDTO:
|
|
type: object
|
|
required:
|
|
- username
|
|
- firstname
|
|
- lastname
|
|
- email
|
|
- password
|
|
- roleId
|
|
- createdAt
|
|
- modifiedAt
|
|
properties:
|
|
username:
|
|
type: string
|
|
firstName:
|
|
type: string
|
|
lastName:
|
|
type: string
|
|
email:
|
|
type: string
|
|
format: email
|
|
password:
|
|
type: string
|
|
roleId:
|
|
type: string
|
|
format: uuid
|
|
|
|
PagedUserDto:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Page"
|
|
required:
|
|
- content
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/UserDto"
|
|
|
|
####### ApplicationFormDto #######
|
|
ApplicationFormDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- formElements
|
|
- createdAt
|
|
- modifiedAt
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
formElements:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FormElementDto"
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
modifiedAt:
|
|
type: string
|
|
format: date-time
|
|
|
|
CreateApplicationFormDto:
|
|
required:
|
|
- formElements
|
|
type: object
|
|
properties:
|
|
formElements:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CreateFormElementDto"
|
|
|
|
PagedApplicationFormDto:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Page"
|
|
required:
|
|
- content
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ApplicationFormDto"
|
|
|
|
####### CommentDto #######
|
|
CommentDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- message
|
|
- createdAt
|
|
- modifiedAt
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
message:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
modifiedAt:
|
|
type: string
|
|
format: date-time
|
|
|
|
CreateCommentDto:
|
|
type: object
|
|
required:
|
|
- message
|
|
properties:
|
|
message:
|
|
type: string
|
|
|
|
PagedCommentDto:
|
|
type: object
|
|
allOf:
|
|
- $ref: "#/components/schemas/Page"
|
|
required:
|
|
- content
|
|
properties:
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/CommentDto"
|
|
|
|
####### RoleDto #######
|
|
RoleDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- name
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
|
|
CreateRoleDto:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
|
|
####### FileDto #######
|
|
FileDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- name
|
|
- file
|
|
- createdAt
|
|
- modifiedAt
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
type: string
|
|
file:
|
|
type: string
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
modifiedAt:
|
|
type: string
|
|
format: date-time
|
|
|
|
UploadFileDto:
|
|
type: object
|
|
required:
|
|
- name
|
|
- file
|
|
properties:
|
|
name:
|
|
type: string
|
|
file:
|
|
type: string
|
|
format: binary
|
|
|
|
####### Form #######
|
|
FormElementDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- applicationFormId
|
|
- options
|
|
- type
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
applicationFormId:
|
|
type: string
|
|
format: uuid
|
|
options:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FormOptionDto"
|
|
type:
|
|
$ref: "#/components/schemas/FormElementType"
|
|
|
|
CreateFormElementDto:
|
|
type: object
|
|
required:
|
|
- options
|
|
- type
|
|
properties:
|
|
options:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/FormOptionDto"
|
|
type:
|
|
$ref: "#/components/schemas/FormElementType"
|
|
|
|
FormOptionDto:
|
|
type: object
|
|
required:
|
|
- value
|
|
- label
|
|
- processingPurpose
|
|
- employeeDataCategory
|
|
properties:
|
|
value:
|
|
type: string
|
|
label:
|
|
type: string
|
|
processingPurpose:
|
|
$ref: "#/components/schemas/ProcessingPurpose"
|
|
employeeDataCategory:
|
|
$ref: "#/components/schemas/EmployeeDataCategory"
|
|
|
|
FormElementType:
|
|
type: string
|
|
enum:
|
|
- DROPDOWN
|
|
- CHECKBOX
|
|
- RADIOBUTTON
|
|
- TEXTFIELD
|
|
- SWITCH
|
|
|
|
####### Notification #######
|
|
NotificationDto:
|
|
type: object
|
|
required:
|
|
- id
|
|
- notificationType
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
notificationType:
|
|
$ref: "#/components/schemas/NotificationType"
|
|
|
|
NotificationType:
|
|
type: string
|
|
enum:
|
|
- EMAIL
|
|
|
|
####### Miscellaneous #######
|
|
ProcessingPurpose:
|
|
type: string
|
|
enum:
|
|
- SYSTEM_OPERATION
|
|
- BUSINESS_PROCESS
|
|
- DATA_ANALYSIS
|
|
- NONE
|
|
|
|
EmployeeDataCategory:
|
|
type: string
|
|
enum:
|
|
- NON_CRITICAL
|
|
- REVIEW_REQUIRED
|
|
- SENSITIVE
|
|
- NONE
|
|
|
|
####### Supporting components #######
|
|
Page:
|
|
type: object
|
|
required:
|
|
- number
|
|
- size
|
|
- numberOfElements
|
|
- last
|
|
- totalPages
|
|
- first
|
|
- totalElements
|
|
- empty
|
|
properties:
|
|
number:
|
|
type: integer
|
|
format: int32
|
|
example: 0
|
|
size:
|
|
type: integer
|
|
format: int32
|
|
example: 100
|
|
numberOfElements:
|
|
type: integer
|
|
format: int32
|
|
example: 0
|
|
last:
|
|
type: boolean
|
|
example: true
|
|
totalPages:
|
|
type: integer
|
|
format: int32
|
|
example: 0
|
|
first:
|
|
type: boolean
|
|
example: true
|
|
totalElements:
|
|
type: integer
|
|
format: int64
|
|
example: 0
|
|
empty:
|
|
type: boolean
|
|
example: true
|