add openapi doc
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Quentin 2025-02-19 20:34:34 +01:00
parent 9917429da3
commit 87e7a9e3ce
Signed by: quentin
GPG key ID: E9602264D639FF68
16 changed files with 1996 additions and 0 deletions

59
openapi/css/redoc.css Normal file
View file

@ -0,0 +1,59 @@
/* montserrat-300 - latin */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 300;
src: local(''),
url('../fonts/montserrat-v25-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/montserrat-v25-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-regular - latin */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: local(''),
url('../fonts/montserrat-v25-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/montserrat-v25-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* montserrat-700 - latin */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
src: local(''),
url('../fonts/montserrat-v25-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/montserrat-v25-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300 - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local(''),
url('../fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v30-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local(''),
url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v30-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: local(''),
url('../fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/roboto-v30-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

24
openapi/guichet-api.html Normal file
View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Guichet Adminstration API v0</title>
<!-- needed for adaptive design -->
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="./css/redoc.css" rel="stylesheet">
<!--
Redoc doesn't change outer page styles
-->
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<redoc spec-url='./guichet-api.yml'></redoc>
<script src="./redoc.standalone.js"> </script>
</body>
</html>

107
openapi/guichet-api.yml Normal file
View file

@ -0,0 +1,107 @@
openapi: 3.0.0
info:
version: v0.1.0
title: Guichet API
description: |
*TODO DESCRIPTION*
paths:
/website:
get:
tags:
- Website
operationId: "ListWebsites"
summary: "List all websites"
description: |
*TODO*
responses:
'500':
description: |
The server can not answer your request because it is in a bad state
/website/{vhost}:
get:
tags:
- Website
operationId: "GetWebsite"
summary: "Get Website"
description: |
*TODO*
responses:
'500':
description: |
The server can not answer your request because it is in a bad state
post:
tags:
- Website
operationId: "CreateWebsite"
summary: "Create a new website"
description: |
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start.
requestBody:
required: true
content:
application/json:
schema:
# todo
responses:
'500':
description: |
The server can not answer your request because it is in a bad state
'400':
description: |
Your request is malformed, check your JSON
patch:
tags:
- Website
operationId: "ConfigureWebsite"
summary: "Configure website"
description: |
Instructs this Garage node to connect to other Garage nodes at specified `<node_id>@<net_address>`. `node_id` is generated automatically on node start.
requestBody:
required: true
content:
application/json:
schema:
# todo
responses:
'500':
description: |
The server can not answer your request because it is in a bad state
'400':
description: |
Your request is malformed, check your JSON
delete:
tags:
- Website
operationId: "DeleteWebsite"
summary: "Delete Website"
description: |
*TODO*
responses:
'500':
description: |
The server can not answer your request because it is in a bad state
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
schemas:
# todo
security:
- basicAuth: []
servers:
- description: A local server
url: http://localhost:3903/v1/

1806
openapi/redoc.standalone.js Normal file

File diff suppressed because one or more lines are too long