Organizer ist der Backend-Server der Organizer-App.
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.
Organizer/restapi/embedded_spec.go

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"
}
]
}`))
}