You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
392 lines
9.2 KiB
392 lines
9.2 KiB
// Code generated by go-swagger; DO NOT EDIT.
|
|
|
|
package restapi
|
|
|
|
// This file was generated by the swagger tool.
|
|
// Editing this file might prove futile when you re-run the swagger generate command
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
// SwaggerJSON embedded version of the swagger document used at generation time
|
|
var SwaggerJSON json.RawMessage
|
|
|
|
func init() {
|
|
SwaggerJSON = json.RawMessage([]byte(`{
|
|
"schemes": [
|
|
"http",
|
|
"https"
|
|
],
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "Dies ist eine API, die es ermöglicht Daten zu Stunden-, Vertretungs-, oder Klausurplänen zu erhalten.",
|
|
"title": "Organizer",
|
|
"termsOfService": "https://organizer.martin-luther.schule/terms",
|
|
"contact": {
|
|
"email": "info@jonasfranz.software"
|
|
},
|
|
"license": {
|
|
"name": "MIT",
|
|
"url": "https://opensource.org/licenses/MIT"
|
|
},
|
|
"version": "1.0.0"
|
|
},
|
|
"host": "localhost:2101",
|
|
"basePath": "/v1",
|
|
"paths": {
|
|
"/course/{course}/exams": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"examination scheduling"
|
|
],
|
|
"summary": "Returns course's exams",
|
|
"operationId": "getExams",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "course",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Lessons sorted by weekday and period",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Exam"
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Cannot find the course"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/course/{course}/replacements": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"replacement lessons"
|
|
],
|
|
"summary": "Get replacement lesson of a course/class",
|
|
"operationId": "getReplacementByCourse",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "course",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ReplacementLesson"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/course/{course}/timetable": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"timetable"
|
|
],
|
|
"summary": "Returns course's timetable",
|
|
"operationId": "getTimetable",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "course",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Lessons sorted by weekday, period and teacher.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Lesson"
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Cannot find the course"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/replacement/findAll": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"replacement lessons"
|
|
],
|
|
"summary": "Finds all available replacement lessons",
|
|
"operationId": "findReplacementLessons",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ReplacementLesson"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/replacement/findByDate": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"replacement lessons"
|
|
],
|
|
"summary": "Finds replacement lessons by date",
|
|
"operationId": "findReplacementLessonsByDate",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date of the searched replacement lessons",
|
|
"name": "date",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ReplacementLesson"
|
|
}
|
|
}
|
|
},
|
|
"410": {
|
|
"description": "Date is not or no longer available"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/replacement/{id}": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"replacement lessons"
|
|
],
|
|
"summary": "Get replacement lesson by id",
|
|
"operationId": "getReplacement",
|
|
"security": [
|
|
{
|
|
"passwordAuth": []
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"description": "Replacement lesson's id",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "successful operation",
|
|
"schema": {
|
|
"$ref": "#/definitions/ReplacementLesson"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Cannot find a matching replacement lesson"
|
|
},
|
|
"410": {
|
|
"description": "The lesson is no longer available."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"Exam": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"endPeriod": {
|
|
"description": "The period of the day where the exam ends",
|
|
"type": "integer",
|
|
"maximum": 15,
|
|
"minimum": 1
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"x-go-name": "ID"
|
|
},
|
|
"lesson": {
|
|
"$ref": "#/definitions/Lesson"
|
|
},
|
|
"startPeriod": {
|
|
"description": "The period of the day where the exam starts",
|
|
"type": "integer",
|
|
"maximum": 15,
|
|
"minimum": 1
|
|
}
|
|
}
|
|
},
|
|
"Lesson": {
|
|
"type": "object",
|
|
"properties": {
|
|
"additionalInformation": {
|
|
"description": "An additional information like 'Every 14 days only'",
|
|
"type": "string"
|
|
},
|
|
"course": {
|
|
"description": "Class or Course",
|
|
"type": "string"
|
|
},
|
|
"period": {
|
|
"description": "The period of the day where the lesson is",
|
|
"type": "integer",
|
|
"maximum": 15,
|
|
"minimum": 1
|
|
},
|
|
"room": {
|
|
"type": "string"
|
|
},
|
|
"subject": {
|
|
"$ref": "#/definitions/Subject"
|
|
},
|
|
"teacher": {
|
|
"$ref": "#/definitions/Teacher"
|
|
},
|
|
"weekday": {
|
|
"type": "integer",
|
|
"maximum": 7,
|
|
"minimum": 0
|
|
}
|
|
}
|
|
},
|
|
"ReplacementLesson": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"x-go-name": "ID"
|
|
},
|
|
"lesson": {
|
|
"$ref": "#/definitions/Lesson"
|
|
},
|
|
"replacementLesson": {
|
|
"$ref": "#/definitions/Lesson"
|
|
}
|
|
}
|
|
},
|
|
"Subject": {
|
|
"type": "object",
|
|
"properties": {
|
|
"abbreviation": {
|
|
"description": "The abbreviation of the subject like LB for sports.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"Teacher": {
|
|
"type": "object",
|
|
"properties": {
|
|
"identifier": {
|
|
"description": "An unique string that is mostly the abbreviation of the teacher's name",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The family name of the teacher",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"passwordAuth": {
|
|
"type": "basic"
|
|
}
|
|
},
|
|
"tags": [
|
|
{
|
|
"description": "Information about replacement and canceled lessons",
|
|
"name": "replacement lessons"
|
|
},
|
|
{
|
|
"description": "Zugriff auf Stundenpläne",
|
|
"name": "timetable"
|
|
},
|
|
{
|
|
"description": "Zugriff auf Klausurtermine",
|
|
"name": "examination scheduling"
|
|
}
|
|
]
|
|
}`))
|
|
}
|
|
|