ProjectManagmentTool/api/pmt.yml
2024-10-07 15:53:26 +02:00

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"