Feedbacksystem (1.0.0)

Download OpenAPI specification:Download

Feedbacksystem API

Login

Login api

Login into system via the cas protocol

Responses

Login into system via username and password

Request Body schema: application/json
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Login into system via username and password

Request Body schema: application/json
username
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

User

The user api

Get user list

Authorizations:
JWT

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new user

Authorizations:
JWT
Request Body schema: application/json

User object to create

id
integer
prename
required
string
surname
required
string
email
required
string
password
required
string

Only for creation

username
required
string
alias
string
globalRole
string

Either, ADMIN, MODERATOR, or USER. Default is USER

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "prename": "string",
  • "surname": "string",
  • "email": "string",
  • "password": "string",
  • "username": "string",
  • "alias": "string",
  • "globalRole": "string"
}

Find user by ID

Returns a single user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "prename": "string",
  • "surname": "string",
  • "email": "string",
  • "password": "string",
  • "username": "string",
  • "alias": "string",
  • "globalRole": "string"
}

Delete user by ID

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Responses

Change password of a local user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Request Body schema: application/json

The new password

passwd
required
string
passwdRepeat
required
string

Responses

Request samples

Content type
application/json
{
  • "passwd": "string",
  • "passwdRepeat": "string"
}

Change global role of a user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Request Body schema: application/json

The global role id

roleName
required
string

Responses

Request samples

Content type
application/json
{
  • "roleName": "string"
}

Course

The course api

Get a list of all courses

Authorizations:
JWT
query Parameters
visible
boolean

Returns all courses that satisfy the visibility value [true, false]

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new course

Authorizations:
JWT
Request Body schema: application/json

Course object to create

id
integer
name
required
string
description
string
visible
boolean
semesterId
integer

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "visible": true,
  • "semesterId": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Get a course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "visible": true,
  • "semesterId": 0
}

Update course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Request Body schema: application/json

Course object to update

id
integer
name
required
string
description
string
visible
boolean
semesterId
integer

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "visible": true,
  • "semesterId": 0
}

Delete course by ID

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Semester

The Semester api

Get a list of all Semester-contents

Authorizations:
JWT
query Parameters
visible
boolean

Returns all Semester that exist

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Semester

Authorizations:
JWT
Request Body schema: application/json

Semester object to create

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get a semester

Authorizations:
JWT
path Parameters
sid
required
integer

semester id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Update Semester

Authorizations:
JWT
path Parameters
sid
required
integer

semester id

Request Body schema: application/json

Semester object to update

id
integer
name
required
string

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Delete Semester by ID

Authorizations:
JWT
path Parameters
sid
required
integer

semester id

Responses

Course Registration

The course registration api

Get all registered courses

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all participants of a course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Register a user into a course

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

Request Body schema: application/json

Course role: either DOCENT, TUTOR, or STUDENT. Default is STUDENT

roleName
required
string

Responses

Request samples

Content type
application/json
{
  • "roleName": "string"
}

De-register a user from a course

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

Responses

Deregister all users with a specific role

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Request Body schema: application/json

All users with the roleName role get deregistered from the course with uid

roleName
required
string

Responses

Request samples

Content type
application/json
{
  • "roleName": "string"
}

Deregister all users except the current user from the course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Group

The group API

Get a group list

Authorizations:
JWT
path Parameters
cid
required
integer
query Parameters
visible
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new group

Authorizations:
JWT
path Parameters
cid
required
integer
Request Body schema: application/json
name
required
string
membership
required
integer
visible
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "membership": 0,
  • "visible": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "cid": 0,
  • "name": "string",
  • "membership": 0,
  • "visible": true
}

Get a single group by id

Authorizations:
JWT
path Parameters
cid
required
integer
gid
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "cid": 0,
  • "name": "string",
  • "membership": 0,
  • "visible": true
}

Update a single group by id

Authorizations:
JWT
path Parameters
cid
required
integer
gid
required
integer
Request Body schema: application/json
name
required
string
membership
required
integer
visible
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "membership": 0,
  • "visible": true
}

Delete a group by id

Authorizations:
JWT
path Parameters
cid
required
integer
gid
required
integer

Responses

GroupMembership

The group Membership

Add a user to a group within a course

Authorizations:
JWT
path Parameters
cid
required
integer

Course ID

gid
required
integer

Group ID

uid
required
integer

User ID

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Remove a user from a group

Authorizations:
JWT
path Parameters
cid
required
integer

Course ID

gid
required
integer

Group ID

uid
required
integer

User ID

Responses

Remove all users from a group

Authorizations:
JWT
path Parameters
cid
required
integer

Course ID

gid
required
integer

Group ID

Responses

Retrieve all groups of a specific user

Authorizations:
JWT
path Parameters
uid
required
integer

User ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all course participants who are part of a group

Authorizations:
JWT
path Parameters
cid
required
integer

Course ID

gid
required
integer

Group ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Task

The task api

Get all tasks of a course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new task for this course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Request Body schema: application/json

Task object to create

id
integer
name
required
string
isPrivate
boolean
description
string
deadline
string

ISO-8601 time as string

mediaType
string

The media type for the submissions according to RFC 4288

SpreadsheetInformationRequest (object) or SpreadsheetInformationResponse (object)

Media type spezific Information

requirementType
string
Default: "mandatory"
Enum: "mandatory" "optional" "practice"

The type of requirment like "mandatory", "bonus/additional", etc.

attempts
number or null

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "isPrivate": true,
  • "description": "string",
  • "deadline": "string",
  • "mediaType": "string",
  • "mediaInformation": {
    },
  • "requirementType": "mandatory",
  • "attempts": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "isPrivate": true,
  • "description": "string",
  • "deadline": "string",
  • "mediaType": "string",
  • "mediaInformation": {
    },
  • "requirementType": "mandatory",
  • "attempts": 0
}

Get all the result for the tasks

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a task by id

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "isPrivate": true,
  • "description": "string",
  • "deadline": "string",
  • "mediaType": "string",
  • "mediaInformation": {
    },
  • "requirementType": "mandatory",
  • "attempts": 0
}

Update an existing task for this course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Request Body schema: application/json

Task object to create

id
integer
name
required
string
isPrivate
boolean
description
string
deadline
string

ISO-8601 time as string

mediaType
string

The media type for the submissions according to RFC 4288

SpreadsheetInformationRequest (object) or SpreadsheetInformationResponse (object)

Media type spezific Information

requirementType
string
Default: "mandatory"
Enum: "mandatory" "optional" "practice"

The type of requirment like "mandatory", "bonus/additional", etc.

attempts
number or null

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "isPrivate": true,
  • "description": "string",
  • "deadline": "string",
  • "mediaType": "string",
  • "mediaInformation": {
    },
  • "requirementType": "mandatory",
  • "attempts": 0
}

Delete a task by id

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Responses

Gets the task result by id

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Responses

Response samples

Content type
application/json
{
  • "points": 0,
  • "maxPoints": 0,
  • "passed": true,
  • "submission": true
}

Get a Tar-Archive of the Task which contains all Checker Configurations of the Task

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Responses

Get a Tar-Archive of all the chosen Tasks which contain all Checker Configurations of those Tasks

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Request Body schema: application/json
taskIds
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "taskIds": [
    ]
}

Get a Tar-Archive of all the Tasks which contain all Checker Configurations of all the Tasks from a specified course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Course evaluation

Course evaluation api

Validate a evaluation formula

Authorizations:
JWT
Request Body schema: application/json
formula
string

Responses

Request samples

Content type
application/json
{
  • "formula": "string"
}

Response samples

Content type
application/json
{
  • "valid": true,
  • "message": "string"
}

Get all Course evaluation Containers

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Request Body schema: application/json
id
required
integer
toPass
integer

The number of tasks that need to be passed

bonusFormula
string

The formula that defines when you get the bonus points of the container

hidePoints
boolean

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Get a Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

ctid
required
integer

Container id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Update a Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

ctid
required
integer

Container id

Request Body schema: application/json
id
required
integer
toPass
integer

The number of tasks that need to be passed

bonusFormula
string

The formula that defines when you get the bonus points of the container

hidePoints
boolean

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Delete a Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

ctid
required
integer

Container id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Add a Task to an Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

ctid
required
integer

Container id

tid
required
integer

Task id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Delate a Task from an Course evaluation Container

Authorizations:
JWT
path Parameters
cid
required
integer

course id

ctid
required
integer

Container id

tid
required
integer

Task id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "tasks": [
    ],
  • "toPass": 0,
  • "bonusFormula": "string",
  • "hidePoints": true
}

Course Results

Course Results api

Get the Results for a Course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the Evaluation Results for a Course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Checker Configuration

Checker configuration api

Get a list of configured checkers

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new checker configuration

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

Request Body schema: application/json
id
integer
checkerType
required
string
mainFileUploaded
boolean

True if main file was provided

secondaryFileUploaded
boolean

True if secondary file was provided

ord
required
integer

Defines in which order the checker are executed

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "checkerType": "string",
  • "mainFileUploaded": true,
  • "secondaryFileUploaded": true,
  • "ord": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "checkerType": "string",
  • "mainFileUploaded": true,
  • "secondaryFileUploaded": true,
  • "ord": 0
}

Update an existing checker configuration

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

ID of checker configuration

Request Body schema: application/json
id
integer
checkerType
required
string
mainFileUploaded
boolean

True if main file was provided

secondaryFileUploaded
boolean

True if secondary file was provided

ord
required
integer

Defines in which order the checker are executed

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "checkerType": "string",
  • "mainFileUploaded": true,
  • "secondaryFileUploaded": true,
  • "ord": 0
}

Delete an existing checker configuration

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

ID of checker configuration

Responses

Get a the main file of the configuration

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

configuration id

Responses

Update / upload a new file

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

configuration id

Request Body schema: */*

new file

string <binary>

Responses

Get a list of configured checkers

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

configuration id

Responses

Update / upload a new file

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

ccid
required
integer

configuration id

Request Body schema: */*

new file

string <binary>

Responses

Submission

Task submission api

Get all submissions for a task

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

query Parameters
passed
boolean

Filters only the passed submissions

Responses

Submit a solution for a task

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

Request Body schema: */*

The solution for the task

any <binary>

Responses

Response samples

Content type
application/json
{
  • "submissionTime": 0,
  • "done": true,
  • "id": 0,
  • "results": [
    ]
}

Get the submission content for a task

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

sid
required
integer

submission id

query Parameters
passed
boolean

Filters only the passed submissions

Responses

Get the submission content for a course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

query Parameters
passed
boolean

Filters only the passed submissions

Responses

Get the submission content for a task

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

task id

query Parameters
passed
boolean

Filters only the passed submissions

Responses

Get all subresults for a submission

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

sid
required
integer

submission id

Responses

Restart the submission process

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

sid
required
integer

ID of submission

Responses

Get the current submission state

Authorizations:
JWT
path Parameters
uid
required
integer

user id

cid
required
integer

course id

tid
required
integer

task id

sid
required
integer

ID of submission

Responses

Response samples

Content type
application/json
{
  • "submissionTime": 0,
  • "done": true,
  • "id": 0,
  • "results": [
    ]
}

Get the content of a submission

Authorizations:
JWT
path Parameters
submissionID
required
integer

the submission id

query Parameters
token
required
string

the token granting access to the submission

Responses

Legal

Legally obligatory documents and checks

Returns the imprint

Authorizations:
JWT

Responses

Returns the information how user data is treated in the system

Authorizations:
JWT

Responses

Get the information if a user accepted the terms of usage

Authorizations:
JWT
path Parameters
uid
required
integer

User id

Responses

Accept the terms of usage

Authorizations:
JWT
path Parameters
uid
required
integer

User id

Responses

Result

Incomming checker results

Incomming checker results

Authorizations:
JWT
path Parameters
sid
required
integer

Submission id

cid
required
integer

Configuration id

Responses

Analysis

Routes to query data for analysis purposes

Get anonymised results of a course from an task

Authorizations:
JWT
path Parameters
cid
required
integer

course id

tid
required
integer

Task id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SQL Checker

Routes used for SQL-Checker quering

Add up correct in false for give conditon

Authorizations:
JWT
path Parameters
tid
required
integer

Task id

query Parameters
returns
string
Enum: "tables" "attributes"

what summs to return

Responses

Response samples

Content type
application/json
{
  • "trueCount": 0,
  • "falseCount": 0
}

Add up correct in false for give conditon

Authorizations:
JWT
path Parameters
tid
required
integer

Task id

query Parameters
return
string
Enum: "tables" "attributes"

what summs to return

Responses

Response samples

Content type
application/json
{
  • "trueCount": 0,
  • "falseCount": 0
}

Add up correct in false for give conditon

Authorizations:
JWT
path Parameters
tid
required
integer

Task id

query Parameters
return
string
Enum: "tables" "attributes"

what queries to return

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add up correct in false for give conditon

Authorizations:
JWT
path Parameters
tid
required
integer

Task id

query Parameters
tables
boolean

condition for tables

attributes
boolean

condition for attributes

Responses

Response samples

Content type
application/json
[
  • {
    }
]

SQL Playground API

API used to interact with the SQL Playground

Get all playground databases for a given user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Responses

Create a new playground databases for a given user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Get playground database results for a given user

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get playground database result for a given user and result

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

database id

rId
required
integer

database id

Responses

Rest playground database for a given user and database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Execute a statment on the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Request Body schema: application/json
statement
string

Responses

Request samples

Content type
application/json
{
  • "statement": "string"
}

Get the given Playground database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Delete the given Playground database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get all Tabels from the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get all Views from the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get all Triggers from the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get all Routines from the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Get all Constraints from the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Activate the given Playground Database

Authorizations:
JWT
path Parameters
uid
required
integer

user id

dbId
required
integer

user id

Responses

Course Statistics

Get the Subtask statistic for a course

Authorizations:
JWT
path Parameters
cid
required
integer

course id

Responses

Response samples

Content type
application/json
{
  • "taskID": 0,
  • "name": "string",
  • "subtasks": [
    ]
}