80 lines
1.8 KiB
YAML
80 lines
1.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"
|
|
responses:
|
|
UnAuthorized:
|
|
description: "Un Authorized"
|
|
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"
|
|
|
|
/project/{id}:
|
|
delete:
|
|
operationId: "deleteProject"
|
|
description: "Delete a specific Project"
|
|
parameters:
|
|
- in: path
|
|
name: id
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
required: true
|
|
responses:
|
|
204:
|
|
description: "Deletes a specific Project"
|
|
401:
|
|
$ref: "#/components/responses/UnAuthorized"
|
|
404:
|
|
description: "Project not found"
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
500:
|
|
$ref: "#/components/responses/InternalError"
|
|
|