2024-05-16 18:00:32 +02:00
|
|
|
{
|
2024-07-04 12:54:47 +02:00
|
|
|
"components": {
|
|
|
|
|
"schemas": {
|
|
|
|
|
"Error": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"message": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"statusCode": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": [
|
|
|
|
|
"message",
|
|
|
|
|
"statusCode"
|
|
|
|
|
],
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
"portfolio_api_types_LoginUser": {
|
|
|
|
|
"properties": {
|
2025-02-23 14:41:30 +01:00
|
|
|
"email": {
|
2024-07-04 12:54:47 +02:00
|
|
|
"type": "string"
|
|
|
|
|
},
|
2025-02-23 14:41:30 +01:00
|
|
|
"password": {
|
2024-07-04 12:54:47 +02:00
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
"portfolio_api_types_Project": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"description": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"doc_url": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
"image_url": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"url": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
"portfolio_api_types_User": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"-": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"email": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"role": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": [
|
|
|
|
|
"-"
|
|
|
|
|
],
|
|
|
|
|
"type": "object"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-05-16 18:00:32 +02:00
|
|
|
"info": {
|
2024-05-16 18:12:02 +02:00
|
|
|
"title": "portfolio",
|
2024-05-16 18:00:32 +02:00
|
|
|
"version": "0.0.0"
|
|
|
|
|
},
|
|
|
|
|
"openapi": "3.0.0",
|
2024-05-16 18:12:02 +02:00
|
|
|
"paths": {
|
2024-07-04 12:54:47 +02:00
|
|
|
"/check": {
|
|
|
|
|
"get": {
|
|
|
|
|
"description": "check for user jwt cookie",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/htmx/canEdit": {
|
|
|
|
|
"get": {
|
|
|
|
|
"description": "check if user is allowed to edit",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/login": {
|
|
|
|
|
"post": {
|
|
|
|
|
"description": "Login.",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_LoginUser"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/project": {
|
|
|
|
|
"post": {
|
|
|
|
|
"description": "Create project",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/project/{id}": {
|
2024-05-16 18:12:02 +02:00
|
|
|
"get": {
|
2024-07-04 12:54:47 +02:00
|
|
|
"description": "Get project by id",
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"description": "id of the project",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"name": "id",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"pattern": "\\d+",
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_Project"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"patch": {
|
|
|
|
|
"description": "Update project by id",
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"description": "id of the project",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"name": "id",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"pattern": "\\d+",
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_Project"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/projects": {
|
|
|
|
|
"get": {
|
|
|
|
|
"description": "Get projects",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_Project"
|
|
|
|
|
},
|
|
|
|
|
"nullable": true,
|
|
|
|
|
"type": "array"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"patch": {
|
|
|
|
|
"description": "Update projects WIP",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_Project"
|
|
|
|
|
},
|
|
|
|
|
"nullable": true,
|
|
|
|
|
"type": "array"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/register": {
|
|
|
|
|
"post": {
|
|
|
|
|
"description": "Register.",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_User"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"201": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/user/{uid}": {
|
|
|
|
|
"get": {
|
|
|
|
|
"description": "Get user by uid.",
|
2024-05-16 18:12:02 +02:00
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"description": "id of the user",
|
|
|
|
|
"in": "path",
|
2024-07-04 12:54:47 +02:00
|
|
|
"name": "id",
|
2024-05-16 18:12:02 +02:00
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"pattern": "\\d+",
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
2024-07-04 12:54:47 +02:00
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/portfolio_api_types_User"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
2024-05-16 18:12:02 +02:00
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
2024-07-04 12:54:47 +02:00
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Error"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": ""
|
|
|
|
|
},
|
2024-05-16 18:12:02 +02:00
|
|
|
"default": {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-05-16 18:00:32 +02:00
|
|
|
}
|
2025-02-23 14:41:30 +01:00
|
|
|
: {
|
|
|
|
|
"description": ""
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|