122 lines
No EOL
2.8 KiB
YAML
122 lines
No EOL
2.8 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Project Management API
|
|
description: An API for Managing Internal tools
|
|
version: 1.0.0
|
|
servers:
|
|
- url: /api/v1
|
|
security:
|
|
- JWTAuth: []
|
|
|
|
components:
|
|
securitySchemes:
|
|
JWTAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
schemas:
|
|
ProjectInfo:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
name:
|
|
type: string
|
|
GetAllProjectsDTO:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ProjectInfo"
|
|
CreateProjectDTO:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
goal:
|
|
type: string
|
|
customerId:
|
|
type: integer
|
|
format: int64
|
|
administratorId:
|
|
type: integer
|
|
format: int64
|
|
start:
|
|
type: string
|
|
format: date-time
|
|
plannedEnd:
|
|
type: string
|
|
format: date-time
|
|
CreatedProjectDTO:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
name:
|
|
type: string
|
|
goal:
|
|
type: string
|
|
customerId:
|
|
type: integer
|
|
format: int64
|
|
administratorId:
|
|
type: integer
|
|
format: int64
|
|
start:
|
|
type: string
|
|
format: date-time
|
|
plannedEnd:
|
|
type: string
|
|
format: date-time
|
|
responses:
|
|
Unauthorized:
|
|
description: "Unauthorized"
|
|
NotFound:
|
|
description: "Not Found"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
InternalError:
|
|
description: "Internal Server Error"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
paths:
|
|
/project:
|
|
get:
|
|
operationId: "getAllProjects"
|
|
description: "Get a List of all Projects"
|
|
responses:
|
|
200:
|
|
description: "Returns a List of all Projects"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetAllProjectsDTO"
|
|
401:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
500:
|
|
$ref: "#/components/responses/InternalError"
|
|
post:
|
|
operationId: "CreateProject"
|
|
description: "Creates a new Project"
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreateProjectDTO"
|
|
responses:
|
|
201:
|
|
description: "Project created successfully"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CreatedProjectDTO"
|
|
401:
|
|
$ref: "#/components/responses/Unauthorized"
|
|
404:
|
|
$ref: "#/components/responses/NotFound"
|
|
500:
|
|
$ref: "#/components/responses/InternalError" |