Skip to content
Snippets Groups Projects
Commit cb005444 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

cleanup api docs

parent 387a55ee
Branches
Tags
No related merge requests found
......@@ -6,11 +6,6 @@ info:
description: The StorageLeaf API
version: "2.7.0"
title: StorageLeaf API
tags:
- name: admins
description: Secured Admin-only calls
- name: public
description: Operations available to the public
paths:
/version:
......@@ -26,752 +21,39 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Version'
/login:
post:
tags:
- public
summary: Gets a bearer JSON Web Token
operationId: login
requestBody:
description: Credentials
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Credentials'
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/TokenResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/roadmaps:
get:
tags:
- public
summary: Gets all roadmaps
operationId: roadmaps
responses:
'200':
description: All available roadmaps
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Roadmap'
/roadmap/{roadmapID}:
get:
tags:
- public
summary: Gets a specific roadmap
operationId: roadmap
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
responses:
'200':
description: The roadmap
content:
application/json:
schema:
$ref: '#/components/schemas/Roadmap'
delete:
tags:
- admins
description: Deletes a roadmap based on the given ID
operationId: deleteRoadmap
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/roadmap:
post:
tags:
- admins
summary: Adds a new roadmap
operationId: addRoadmap
requestBody:
description: Roadmap to add
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewRoadmap'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
tags:
- admins
summary: Updates a roadmap
operationId: updateRoadmap
requestBody:
description: Roadmap to update
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Roadmap'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/roadmap/{roadmapID}/full:
get:
tags:
- public
summary: Gets a specific roadmap with all milestones, tasks and sub tasks
operationId: roadmapFull
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
responses:
'200':
description: The roadmap
content:
application/json:
schema:
$ref: '#/components/schemas/RoadmapFull'
/milestones/{roadmapID}:
get:
tags:
- public
summary: Gets all milestones for a roadmap
operationId: milestones
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
responses:
'200':
description: All milestones for the given roadmap ID
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Milestone'
/milestones/{roadmapID}/open:
get:
tags:
- public
summary: Gets all open milestones for a roadmap
operationId: openMilestones
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
responses:
'200':
description: All open milestones for the given roadmap ID
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Milestone'
/milestones/{roadmapID}/latest:
get:
tags:
- public
summary: Gets the lastest finished milestone for a roadmap
operationId: latestMilestone
parameters:
- in: path
name: roadmapID
description: The roadmap ID
required: true
schema:
type: integer
responses:
'200':
description: The latest finished milestone for the given roadmap ID
content:
application/json:
schema:
$ref: '#/components/schemas/Milestone'
/milestone/{milestoneID}:
get:
tags:
- public
summary: Gets a specific milestone
operationId: milestone
parameters:
- in: path
name: milestoneID
description: The milestone ID
required: true
schema:
type: string
responses:
'200':
description: The milestone
content:
application/json:
schema:
$ref: '#/components/schemas/Milestone'
delete:
tags:
- admins
description: Deletes a milestone based on the given ID
operationId: deleteMilestone
parameters:
- in: path
name: milestoneID
description: The milestone ID
required: true
schema:
type: integer
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/milestone:
post:
tags:
- admins
summary: Adds a new milestone
operationId: addMilestone
requestBody:
description: Milestone to add
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewMilestone'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
tags:
- admins
summary: Updates a milestone
operationId: updateMilestone
requestBody:
description: Milestone to update
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Milestone'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/milestone/{milestoneID}/close:
post:
tags:
- admins
summary: Closes a milestone and all corresponding tasks and sub tasks
operationId: closeMilestone
parameters:
- in: path
name: milestoneID
description: The milestone ID
required: true
schema:
type: integer
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/tasks/{milestoneID}:
get:
tags:
- public
summary: Gets all tasks for a milestone
operationId: tasks
parameters:
- in: path
name: milestoneID
description: The milestone ID
required: true
schema:
type: integer
responses:
'200':
description: All tasks for the given milestone ID
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Task'
/tasks/{milestoneID}/open:
get:
tags:
- public
summary: Gets all open tasks for a milestone
operationId: openTasks
parameters:
- in: path
name: milestoneID
description: The milestone ID
required: true
schema:
type: integer
responses:
'200':
description: All open tasks for the given milestone ID
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Task'
/task/{taskID}:
/devices:
get:
tags:
- public
summary: Gets a specific task
operationId: task
parameters:
- in: path
name: taskID
description: The task ID
required: true
schema:
type: string
summary: Gets all devices
operationId: devices
responses:
'200':
description: The task
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
delete:
tags:
- admins
description: Deletes a task based on the given ID
operationId: deleteTask
parameters:
- in: path
name: taskID
description: The task ID
required: true
schema:
type: integer
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/task:
post:
tags:
- admins
summary: Adds a new task
operationId: addTask
requestBody:
description: Task to add
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewTask'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
tags:
- admins
summary: Updates a task
operationId: updateTask
requestBody:
description: Task to update
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/subtasks/{taskID}:
get:
tags:
- public
summary: Gets all sub taks for a task
operationId: substasks
parameters:
- in: path
name: taskID
description: The task ID
required: true
schema:
type: integer
responses:
'200':
description: All sub tasks for the given task ID
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SubTask'
/subtasks/{taskID}/open:
get:
tags:
- public
summary: Gets all open sub taks for a task
operationId: openSubtasks
parameters:
- in: path
name: taskID
description: The task ID
required: true
schema:
type: integer
responses:
'200':
description: All open sub tasks for the given task ID
description: All available devices
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SubTask'
/subtask/{subtaskID}:
$ref: '#/components/schemas/Device'
/device/{deviceName}:
get:
tags:
- public
summary: Gets a specific sub task
operationId: subtask
summary: Gets a specific device
operationId: device
parameters:
- in: path
name: subtaskID
description: The sub task ID
name: deviceName
description: The device name
required: true
schema:
type: string
responses:
'200':
description: The sub task
content:
application/json:
schema:
$ref: '#/components/schemas/SubTask'
delete:
tags:
- admins
description: Deletes a sub task based on the given ID
operationId: deleteSubTask
parameters:
- in: path
name: subtaskID
description: The sub task ID
required: true
schema:
type: integer
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/subtask:
post:
tags:
- admins
summary: Adds a new sub task
operationId: addSubTask
requestBody:
description: Sub task to add
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewSubTask'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
tags:
- admins
summary: Updates a sub task
operationId: updateSubTask
requestBody:
description: Sub task to update
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubTask'
security:
- BearerAuth: []
responses:
'200':
description: success response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: unauthorized response
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
default:
description: error response
description: The device
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
$ref: '#/components/schemas/Device'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
Version:
type: object
......@@ -791,258 +73,19 @@ components:
format: date
example: "30.05.19"
Credentials:
type: object
required:
- username
- password
properties:
username:
type: string
example: "admin"
password:
type: string
example: "123"
Roadmap:
Device:
type: object
required:
- ID
- Projectname
properties:
ID:
type: integer
example: 1
Projectname:
type: string
example: "Example Roadmap"
RoadmapFull:
allOf:
- $ref: '#/components/schemas/Roadmap'
- type: object
properties:
milestones:
type: array
items:
allOf:
- $ref: '#/components/schemas/Milestone'
- type: object
properties:
tasks:
type: array
items:
allOf:
- $ref: '#/components/schemas/Task'
- type: object
properties:
subtasks:
type: array
items:
$ref: '#/components/schemas/SubTask'
NewRoadmap:
type: object
required:
- ID
- Projectname
- name
properties:
ID:
type: integer
example: 1
Projectname:
type: string
example: "Example Roadmap"
example: "My Device"
Milestone:
type: object
required:
- ID
- RoadmapID
- VersionCode
- VersionName
- Title
- DueDate
- CompletionDate
- Status
properties:
ID:
type: integer
example: 1
RoadmapID:
type: integer
example: 2
VersionCode:
type: integer
example: 3
VersionName:
type: string
example: "v1.0.0"
Title:
type: string
example: "My awesome milestone"
DueDate:
type: string
format: date
example: "2019-05-30"
CompletionDate:
type: string
format: date
example: "2019-05-30"
Status:
type: integer
enum:
- 0
- 1
NewMilestone:
type: object
required:
- RoadmapID
- VersionCode
- VersionName
- Title
- DueDate
- CompletionDate
- Status
properties:
RoadmapID:
type: integer
example: 2
VersionCode:
type: integer
example: 3
VersionName:
type: string
example: "v1.0.0"
Title:
type: string
example: "My awesome milestone"
DueDate:
type: string
format: date
example: "2019-05-30"
CompletionDate:
type: string
format: date
example: "2019-05-30"
Status:
type: integer
enum:
- 0
- 1
Task:
type: object
required:
- ID
- MilestoneID
- Title
- Description
- Status
properties:
ID:
type: integer
example: 1
MilestoneID:
type: integer
example: 2
Title:
type: string
example: "My awesome task"
Description:
type: string
example: "Lorem Ipsum dolor sit amet"
Status:
type: integer
enum:
- 0
- 1
NewTask:
type: object
required:
- MilestoneID
- Title
- Description
- Status
properties:
MilestoneID:
type: integer
example: 2
Title:
type: string
example: "My awesome task"
Description:
type: string
example: "Lorem Ipsum dolor sit amet"
Status:
type: integer
enum:
- 0
- 1
SubTask:
type: object
required:
- ID
- TaskID
- Title
- Description
- Status
properties:
ID:
type: integer
example: 1
TaskID:
type: integer
example: 2
Title:
type: string
example: "My awesome sub task"
Description:
type: string
example: "Lorem Ipsum dolor sit amet"
Status:
type: integer
enum:
- 0
- 1
NewSubTask:
type: object
required:
- TaskID
- Title
- Description
- Status
properties:
TaskID:
type: integer
example: 2
Title:
type: string
example: "My awesome sub task"
Description:
type: string
example: "Lorem Ipsum dolor sit amet"
Status:
type: integer
enum:
- 0
- 1
UnauthorizedResponse:
description: Access token is missing or invalid
properties:
msg:
type: string
example: "Missing Authorization Header"
TokenResponse:
description: JSON web token
properties:
access_token:
type: string
SuccessResponse:
required:
- success
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment