1964 lines
61 KiB
JSON
1964 lines
61 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"version": "0.1.0",
|
|
"title": "Dwengo-1 Backend API",
|
|
"description": "Dwengo-1 Backend API using Express, based on VZW Dwengo",
|
|
"license": {
|
|
"name": "MIT",
|
|
"url": "https://github.com/SELab-2/Dwengo-1/blob/336496ab6352ee3f8bf47490c90b5cf81526cef6/LICENSE"
|
|
}
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "http://localhost:3000/",
|
|
"description": "Development server"
|
|
},
|
|
{
|
|
"url": "https://sel2-1.ugent.be/",
|
|
"description": "Production server"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/api/": {
|
|
"get": {
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": {
|
|
"example": "any"
|
|
},
|
|
"firstName": {
|
|
"example": "any"
|
|
},
|
|
"lastName": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{username}": {
|
|
"delete": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{id}/classes": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{id}/submissions": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{id}/assignments": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{id}/groups": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/student/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Student"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/group/": {
|
|
"get": {
|
|
"tags": ["Group"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Group"],
|
|
"description": "",
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/group/{groupid}": {
|
|
"get": {
|
|
"tags": ["Group"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "groupid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/group/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Group"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"example": "any"
|
|
},
|
|
"language": {
|
|
"example": "any"
|
|
},
|
|
"learningPath": {
|
|
"example": "any"
|
|
},
|
|
"title": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{id}": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{id}/submissions": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{assignmentid}/groups/": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{assignmentid}/groups/{groupid}": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "groupid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/assignment/{assignmentid}/groups/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Assignment"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/submission/": {
|
|
"get": {
|
|
"tags": ["Submission"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/submission/{id}": {
|
|
"post": {
|
|
"tags": ["Submission"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["Submission"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["Submission"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"displayName": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{id}": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{id}/teacher-invitations": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{id}/students": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"example": "any"
|
|
},
|
|
"language": {
|
|
"example": "any"
|
|
},
|
|
"learningPath": {
|
|
"example": "any"
|
|
},
|
|
"title": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{id}": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{id}/submissions": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{assignmentid}/groups/": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{assignmentid}/groups/{groupid}": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "groupid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/class/{classid}/assignments/{assignmentid}/groups/{id}/questions": {
|
|
"get": {
|
|
"tags": ["Class"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "classid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assignmentid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/question/": {
|
|
"get": {
|
|
"tags": ["Question"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Question"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"learningObjectIdentifier": {
|
|
"example": "any"
|
|
},
|
|
"author": {
|
|
"example": "any"
|
|
},
|
|
"content": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/question/{seq}": {
|
|
"delete": {
|
|
"tags": ["Question"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["Question"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/question/answers/{seq}": {
|
|
"get": {
|
|
"tags": ["Question"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/auth/config": {
|
|
"get": {
|
|
"tags": ["Auth"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/auth/testAuthenticatedOnly": {
|
|
"get": {
|
|
"tags": ["Auth"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"student": []
|
|
},
|
|
{
|
|
"teacher": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/testStudentsOnly": {
|
|
"get": {
|
|
"tags": ["Auth"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"student": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/auth/testTeachersOnly": {
|
|
"get": {
|
|
"tags": ["Auth"],
|
|
"description": "",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"teacher": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/theme/": {
|
|
"get": {
|
|
"tags": ["Theme"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/theme/{theme}": {
|
|
"get": {
|
|
"tags": ["Theme"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "theme",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningPath/": {
|
|
"get": {
|
|
"tags": ["Learning Path"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "theme",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "search",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "forStudent",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "forGroup",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assignmentNo",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "classId",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/html": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/html/{attachmentName}": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "attachmentName",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/submissions/": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/submissions/{id}": {
|
|
"post": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "language",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/{version}/questions/": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"learningObjectIdentifier": {
|
|
"example": "any"
|
|
},
|
|
"author": {
|
|
"example": "any"
|
|
},
|
|
"content": {
|
|
"example": "any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/{version}/questions/{seq}": {
|
|
"delete": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/learningObject/{hruid}/{version}/questions/answers/{seq}": {
|
|
"get": {
|
|
"tags": ["Learning Object"],
|
|
"description": "",
|
|
"parameters": [
|
|
{
|
|
"name": "hruid",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "version",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "seq",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "full",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"404": {
|
|
"description": "Not Found"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"student": {
|
|
"type": "oauth2",
|
|
"flows": {
|
|
"implicit": {
|
|
"authorizationUrl": "https://sel2-1.ugent.be/idp/realms/student/protocol/openid-connect/auth",
|
|
"scopes": {
|
|
"openid": "openid",
|
|
"profile": "profile",
|
|
"email": "email"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"teacher": {
|
|
"type": "oauth2",
|
|
"flows": {
|
|
"implicit": {
|
|
"authorizationUrl": "https://sel2-1.ugent.be/idp/realms/teacher/protocol/openid-connect/auth",
|
|
"scopes": {
|
|
"openid": "openid",
|
|
"profile": "profile",
|
|
"email": "email"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|