feat(docs): First model for swagger

This commit is contained in:
2024-12-02 17:26:03 +01:00
parent 7d571ad46b
commit 13e9c88a8e
5 changed files with 173 additions and 0 deletions

View File

@@ -28,9 +28,67 @@ const docTemplate = `{
"contracts"
],
"summary": "Generate a contract",
"parameters": [
{
"description": "Contract data",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Contract"
}
}
],
"responses": {}
}
}
},
"definitions": {
"models.Contract": {
"type": "object",
"properties": {
"runners": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Runner"
}
}
}
},
"models.Group": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parent_group": {
"$ref": "#/definitions/models.Group"
}
}
},
"models.Runner": {
"type": "object",
"properties": {
"first_name": {
"type": "string"
},
"group": {
"$ref": "#/definitions/models.Group"
},
"id": {
"type": "integer"
},
"last_name": {
"type": "string"
},
"middle_name": {
"type": "string"
}
}
}
}
}`

View File

@@ -19,8 +19,66 @@
"contracts"
],
"summary": "Generate a contract",
"parameters": [
{
"description": "Contract data",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/models.Contract"
}
}
],
"responses": {}
}
}
},
"definitions": {
"models.Contract": {
"type": "object",
"properties": {
"runners": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Runner"
}
}
}
},
"models.Group": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"parent_group": {
"$ref": "#/definitions/models.Group"
}
}
},
"models.Runner": {
"type": "object",
"properties": {
"first_name": {
"type": "string"
},
"group": {
"$ref": "#/definitions/models.Group"
},
"id": {
"type": "integer"
},
"last_name": {
"type": "string"
},
"middle_name": {
"type": "string"
}
}
}
}
}

View File

@@ -1,3 +1,33 @@
definitions:
models.Contract:
properties:
runners:
items:
$ref: '#/definitions/models.Runner'
type: array
type: object
models.Group:
properties:
id:
type: integer
name:
type: string
parent_group:
$ref: '#/definitions/models.Group'
type: object
models.Runner:
properties:
first_name:
type: string
group:
$ref: '#/definitions/models.Group'
id:
type: integer
last_name:
type: string
middle_name:
type: string
type: object
info:
contact: {}
description: This is the API documentation for the LfK Document Server - a tool
@@ -9,6 +39,13 @@ paths:
consumes:
- application/json
description: Generate a contract based on the provided data
parameters:
- description: Contract data
in: body
name: data
required: true
schema:
$ref: '#/definitions/models.Contract'
produces:
- application/pdf
responses: {}