diff options
Diffstat (limited to 'schemas')
| -rw-r--r-- | schemas/opcut.yaml | 102 | ||||
| -rw-r--r-- | schemas/openapi.yaml | 55 |
2 files changed, 157 insertions, 0 deletions
diff --git a/schemas/opcut.yaml b/schemas/opcut.yaml new file mode 100644 index 0000000..a6d5d0b --- /dev/null +++ b/schemas/opcut.yaml @@ -0,0 +1,102 @@ +--- +"$schema": "http://json-schema.org/schema#" +id: "opcut://opcut.yaml#" +definitions: + params: + type: object + required: + - cut_width + - panels + - items + properties: + cut_width: + type: number + panels: + type: object + patternProperties: + ".+": + "$ref": "opcut://opcut.yaml#/definitions/panel" + items: + type: object + patternProperties: + ".+": + "$ref": "opcut://opcut.yaml#/definitions/item" + result: + type: object + required: + - params + - used + - unused + properties: + params: + "$ref": "opcut://opcut.yaml#" + used: + type: array + items: + "$ref": "opcut://opcut.yaml#/definitions/used" + unused: + type: array + items: + "$ref": "opcut://opcut.yaml#/definitions/unused" + panel: + type: object + required: + - width + - height + properties: + width: + type: number + height: + type: number + item: + type: object + required: + - width + - height + - can_rotate + properties: + width: + type: number + height: + type: number + can_rotate: + type: boolean + used: + type: object + required: + - panel + - item + - x + - y + - rotate + properties: + panel: + type: string + item: + type: string + x: + type: number + y: + type: number + rotate: + type: boolean + unused: + type: object + required: + - panel + - width + - height + - x + - y + properties: + panel: + type: string + width: + type: number + height: + type: number + x: + type: number + y: + type: number +... diff --git a/schemas/openapi.yaml b/schemas/openapi.yaml new file mode 100644 index 0000000..ecc9390 --- /dev/null +++ b/schemas/openapi.yaml @@ -0,0 +1,55 @@ +--- +openapi: 3.1.0 +info: + title: opcut + version: 0.0.1 +paths: + '/calculate': + post: + parameters: + - name: method + in: query + required: true + schema: + enum: + - greedy + - forward_greedy + requestBody: + content: + application/json: + schema: + "$ref": "opcut.yaml#/definitions/params" + responses: + "200": + content: + application/json: + schema: + "$ref": "opcut.yaml#/definitions/result" + default: + description: error + '/generate_output': + post: + parameters: + - name: output_type + in: query + required: true + schema: + enum: + - pdf + - svg + - name: panel + in: query + required: false + requestBody: + content: + application/json: + schema: + "$ref": "opcut.yaml#/definitions/result" + responses: + "200": + content: + application/pdf: {} + image/svg+xml: {} + default: + description: error +... |
