diff --git a/Makefile b/Makefile index a601bf4..5c60024 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,13 @@ download: swagger-codegen-cli.jar swagger-codegen-cli.jar: wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.20/swagger-codegen-cli-3.0.20.jar -O swagger-codegen-cli.jar -doc: openkarotz-openapi.json +doc: openkarotz-openapi.yaml mkdir -p html - java -jar swagger-codegen-cli.jar generate -i openkarotz-openapi.json -l html -o html + java -jar swagger-codegen-cli.jar generate -i openkarotz-openapi.yaml -l html -o html -python: openkarotz-openapi.json +python: openkarotz-openapi.yaml mkdir -p python - java -jar swagger-codegen-cli.jar generate -i openkarotz-openapi.json -l python -o python -c config-python.json + java -jar swagger-codegen-cli.jar generate -i openkarotz-openapi.yaml -l python -o python -c config-python.json clean: rm -rf doc python diff --git a/openkarotz-openapi.json b/openkarotz-openapi.json deleted file mode 100644 index 3302be7..0000000 --- a/openkarotz-openapi.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "openapi":"3.0.3", - "info":{ - "title":"OpenKarotz API", - "decription":"Cf. http://www.openkarotz.org/", - "license": { - "name": "Apache 2.0", - "url": "https://www.apache.org/licenses/LICENSE-2.0.html" - }, - "version":"3.10" - }, - "paths":{ - "/cgi-bin/status":{ - "summary":"status", - "description":"Permet d’afficher des informations sur le karotz, la réponse est un tableau JSON avec les attributs", - "get":{ - "summary":"get status", - "responses":{ - "200":{ - "description":"la liste des informations sur le karotz", - "content":{ - "application/json": { - "schema":{ - "type": "object", - "title": "status", - "properties": { - "version": { - "type": "string", - "description":"version des scripts installés" - }, - "ears_disabled": { - "type": "integer", - "description":"1 si les oreilles on été désactivées, 0 sinon" - }, - "sleep": { - "type": "integer", - "description": "1 si le lapin dors, 0 sinon" - }, - "sleep_time": { - "type": "string", - "description":"si le lapin dors, contient un Timestamp de l’heure d’endormissement." - }, - "led_color": { - "type": "string", - "description": "couleur actuelle de la led" - }, - "led_pulse": { - "type": "integer", - "description": "1 si le lapin respire, 0 si fixe." - }, - "tts_cache_size": { - "type": "integer", - "description": "Nombre de phrase(s) dans le cache TTS." - }, - "usb_stick_free_space": { - "oneOf": [ - { "type": "string"}, - { "type": "integer"} - ], - "description": "Place libre sur la clé USB (Version lisible)" - }, - "karotz_free_Space": { - "oneOf": [ - { "type": "string"}, - { "type": "integer"} - ], - "description": "Place libre dans le Karotz (Version lisible)" - }, - "eth_mac": { - "type": "string", - "description": "Adresse MAC adaptateur ethernet" - }, - "wlan_mac": { - "type": "string", - "description": "Adresse MAC adaptateur WIFI" - }, - "nb_tags": { - "type": "integer", - "description": "Nombre de tags enregistrés." - }, - "nb_moods": { - "type": "integer", - "description": "Nombre d’humeurs installées." - }, - "nb_sounds": { - "type": "integer", - "description": "Nombre de Sons Installés." - }, - "nb_stories": { - "type": "integer", - "description": "Nombre d’Histoires Installées." - }, - "karotz_percent_used_space": { - "type": "integer", - "description": "Espace utilisé dans la mémoire du Karotz" - }, - "usb_percent_used_space": { - "oneOf": [ - { "type": "string"}, - { "type": "integer"} - ], - "description": "Espace utilisé sur la clef USB" - }, - "data_dir": { - "type": "string", - "description": "Emplacement des fichiers de donnés" - } - } - }, - "example":{"version":"210","ears_disabled":"0","sleep":"1","sleep_time":"1398086161","led_color":"000000","led_pulse":"0","tts_cache_size":"1","usb_free_space":"-1","karotz_free_space":"144.0M","eth_mac":"00:13:3B:90:97:5D","wlan_mac":"00:0E:8E:2C:93:B2","nb_tags":"14","nb_moods":"305","nb_sounds":"15","nb_stories":"0","karotz_percent_used_space":"38","usb_percent_used_space":"","data_dir":"/usr/openkarotz"} - } - } - } - } - } - }, - "/cgi-bin/get_version": { - "summary": "get_version", - "description": "Renvoi les versions des différents composants", - "get": { - "summary": "get version", - "responses": { - "200": { - "description": "Renvoi les versions des différents composants", - "content": { - "application/json": { - "schema":{ - "type": "object", - "title": "versions", - "properties": { - "version" : { - "type": "string", - "description": "version des scripts installée." - }, - "rootfs_version" : { - "type": "string", - "description": "version du firmware" - }, - "patch_version" : { - "type": "string", - "description": "version des patchs installés" - }, - "serial" : { - "type": "string", - "description": "Numéro de série du lapin (Unique)" - } - } - }, - "example":{"version":"210","rootfs_version":"2.0.r8","patch_version":"213","serial":"61xxxxxxxxx8926xxxxxxxxxx016","return":"0"} - } - } - } - } - } - }, - "/cgi-bin/wakeup": { - "summary": "wakeup", - "description": "Permet de réveiller le lapin, si le paramètre silent est utilisé avec la valeur 1 aucun son n’est joué.", - "get": { - "summary": "wakeup karotz", - "responses": { - "200": { - "description": "Permet de réveiller le lapin", - "content": { - "application/json": { - "example": {"return":"0","silent":"0"} - } - } - } - } - }, - "parameters":[ - { - "name": "silent", - "description": "si le paramètre silent est utilisé avec la valeur 1 aucun son n’est joué.", - "in": "query", - "required": false, - " allowEmptyValue": false, - "schema": { - "type": "integer" - } - } - ] - }, - "/cgi-bin/sleep": { - "tags":["state"], - "summary": "sleep", - "description": "Permet d'endormir le lapin.", - "get": { - "summary": "sleep karotz", - "operationId": "sleep", - "responses": { - "200": { - "description": "Permet d'endormir le lapin", - "content": { - "application/json": { - "example": {"return":"0"} - } - } - } - } - } - } - } -} diff --git a/openkarotz-openapi.yaml b/openkarotz-openapi.yaml new file mode 100644 index 0000000..33be5d7 --- /dev/null +++ b/openkarotz-openapi.yaml @@ -0,0 +1,179 @@ +openapi: 3.0.3 +info: + title: OpenKarotz API + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0.html + version: "3.10" +servers: +- url: / +paths: + /cgi-bin/status: + summary: status + description: Permet d’afficher des informations sur le karotz, la réponse est + un tableau JSON avec les attributs + get: + summary: get status + responses: + "200": + description: la liste des informations sur le karotz + content: + application/json: + schema: + $ref: '#/components/schemas/status' + example: + version: "210" + ears_disabled: "0" + sleep: "1" + sleep_time: "1398086161" + led_color: "000000" + led_pulse: "0" + tts_cache_size: "1" + usb_free_space: -1 + karotz_free_space: 144.0M + eth_mac: 00:13:3B:90:97:5D + wlan_mac: 00:0E:8E:2C:93:B2 + nb_tags: "14" + nb_moods: "305" + nb_sounds: "15" + nb_stories: "0" + karotz_percent_used_space: "38" + usb_percent_used_space: "" + data_dir: /usr/openkarotz + /cgi-bin/get_version: + summary: get_version + description: Renvoi les versions des différents composants + get: + summary: get version + responses: + "200": + description: Renvoi les versions des différents composants + content: + application/json: + schema: + $ref: '#/components/schemas/versions' + example: + version: "210" + rootfs_version: 2.0.r8 + patch_version: "213" + serial: 61xxxxxxxxx8926xxxxxxxxxx016 + return: "0" + /cgi-bin/wakeup: + summary: wakeup + description: Permet de réveiller le lapin, si le paramètre silent est utilisé + avec la valeur 1 aucun son n’est joué. + get: + summary: wakeup karotz + parameters: + - name: silent + in: query + description: si le paramètre silent est utilisé avec la valeur 1 aucun son + n’est joué. + required: false + style: form + explode: true + schema: + type: integer + responses: + "200": + description: Permet de réveiller le lapin + content: + application/json: + example: + return: "0" + silent: "0" + /cgi-bin/sleep: + summary: sleep + description: Permet d'endormir le lapin. + get: + summary: sleep karotz + operationId: sleep + responses: + "200": + description: Permet d'endormir le lapin + content: + application/json: + example: + return: "0" +components: + schemas: + status: + title: status + type: object + properties: + version: + type: string + description: version des scripts installés + ears_disabled: + type: integer + description: 1 si les oreilles on été désactivées, 0 sinon + sleep: + type: integer + description: 1 si le lapin dors, 0 sinon + sleep_time: + type: string + description: si le lapin dors, contient un Timestamp de l’heure d’endormissement. + led_color: + type: string + description: couleur actuelle de la led + led_pulse: + type: integer + description: 1 si le lapin respire, 0 si fixe. + tts_cache_size: + type: integer + description: Nombre de phrase(s) dans le cache TTS. + usb_stick_free_space: + description: Place libre sur la clé USB (Version lisible) + oneOf: + - type: string + - type: integer + karotz_free_Space: + description: Place libre dans le Karotz (Version lisible) + oneOf: + - type: string + - type: integer + eth_mac: + type: string + description: Adresse MAC adaptateur ethernet + wlan_mac: + type: string + description: Adresse MAC adaptateur WIFI + nb_tags: + type: integer + description: Nombre de tags enregistrés. + nb_moods: + type: integer + description: Nombre d’humeurs installées. + nb_sounds: + type: integer + description: Nombre de Sons Installés. + nb_stories: + type: integer + description: Nombre d’Histoires Installées. + karotz_percent_used_space: + type: integer + description: Espace utilisé dans la mémoire du Karotz + usb_percent_used_space: + description: Espace utilisé sur la clef USB + oneOf: + - type: string + - type: integer + data_dir: + type: string + description: Emplacement des fichiers de donnés + versions: + title: versions + type: object + properties: + version: + type: string + description: version des scripts installée. + rootfs_version: + type: string + description: version du firmware + patch_version: + type: string + description: version des patchs installés + serial: + type: string + description: Numéro de série du lapin (Unique)