315 lines
8.9 KiB
JSON
315 lines
8.9 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "This is the API documentation for the LfK Document Server - a tool for pdf generation.",
|
|
"title": "LfK Document Server API",
|
|
"contact": {}
|
|
},
|
|
"paths": {
|
|
"/cards": {
|
|
"post": {
|
|
"description": "Generate cards based on the provided data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/pdf"
|
|
],
|
|
"tags": [
|
|
"cards"
|
|
],
|
|
"summary": "Generate runner cards",
|
|
"parameters": [
|
|
{
|
|
"description": "Card data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/models.CardRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {}
|
|
}
|
|
},
|
|
"/certificates": {
|
|
"post": {
|
|
"description": "Generate certificates based on the provided data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/pdf"
|
|
],
|
|
"tags": [
|
|
"certificates"
|
|
],
|
|
"summary": "Generate runner certificates",
|
|
"parameters": [
|
|
{
|
|
"description": "Certificate data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/models.CertificateRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {}
|
|
}
|
|
},
|
|
"/contracts": {
|
|
"post": {
|
|
"description": "Generate a contract based on the provided data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/pdf"
|
|
],
|
|
"tags": [
|
|
"contracts"
|
|
],
|
|
"summary": "Generate a contract",
|
|
"parameters": [
|
|
{
|
|
"description": "Contract data",
|
|
"name": "data",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/models.ContractRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"models.Card": {
|
|
"type": "object",
|
|
"required": [
|
|
"code",
|
|
"id",
|
|
"runner"
|
|
],
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"runner": {
|
|
"$ref": "#/definitions/models.Runner"
|
|
}
|
|
}
|
|
},
|
|
"models.CardRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"cards",
|
|
"locale"
|
|
],
|
|
"properties": {
|
|
"cards": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/models.Card"
|
|
}
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"enum": [
|
|
"en",
|
|
"de"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"models.CertificateRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"locale",
|
|
"runners"
|
|
],
|
|
"properties": {
|
|
"locale": {
|
|
"type": "string",
|
|
"enum": [
|
|
"en",
|
|
"de"
|
|
]
|
|
},
|
|
"runners": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/models.RunnerWithDonations"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"models.ContractRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"locale",
|
|
"runners"
|
|
],
|
|
"properties": {
|
|
"locale": {
|
|
"type": "string",
|
|
"enum": [
|
|
"en",
|
|
"de"
|
|
]
|
|
},
|
|
"runners": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/models.Runner"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"models.DistanceDonation": {
|
|
"type": "object",
|
|
"required": [
|
|
"amount_per_distance",
|
|
"donor",
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"amount_per_distance": {
|
|
"type": "integer"
|
|
},
|
|
"donor": {
|
|
"$ref": "#/definitions/models.Donor"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"paid_amount": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"models.Donor": {
|
|
"type": "object",
|
|
"required": [
|
|
"first_name",
|
|
"id",
|
|
"last_name"
|
|
],
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"middle_name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Group": {
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"parent_group": {
|
|
"$ref": "#/definitions/models.Group"
|
|
}
|
|
}
|
|
},
|
|
"models.Runner": {
|
|
"type": "object",
|
|
"required": [
|
|
"first_name",
|
|
"group",
|
|
"id",
|
|
"last_name"
|
|
],
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"$ref": "#/definitions/models.Group"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"middle_name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.RunnerWithDonations": {
|
|
"type": "object",
|
|
"required": [
|
|
"distance",
|
|
"first_name",
|
|
"group",
|
|
"id",
|
|
"last_name"
|
|
],
|
|
"properties": {
|
|
"distance": {
|
|
"type": "integer"
|
|
},
|
|
"distance_donations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/models.DistanceDonation"
|
|
}
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"$ref": "#/definitions/models.Group"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"middle_name": {
|
|
"type": "string"
|
|
},
|
|
"total_donations": {
|
|
"type": "integer"
|
|
},
|
|
"total_per_distance": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |