Course Service

Course controller - port:8082 https://app.swaggerhub.com/apis/Afeka2020/ASIS/1.0.0

All operations that admin/lecturer/user can use. This service stores data about the courses in the system.

Student-Controller: Get all courses

GET /course

Get all courses from database

Query Parameters

Name
Type
Description

filterType

string

filterValue

string

direction

string

sort

string

page

integer

size

integer

{
  "code": 0,
  "department": {
    "code": 0,
    "name": "string"
  },
  "lecturersIdList": [
    {
      "email": "string",
      "id": "string",
      "username": "string"
    }
  ],
  "name": "string",
  "softwareIdList": [
    {
      "name": "string",
      "version": "string"
    }
  ],
  "studentsIdList": [
    {
      "email": "string",
      "id": "string",
      "username": "string"
    }
  ]
}

Student-Controller: Assign a student to a course

PATCH /course/{id}

Path Parameters

Name
Type
Description

code

integer

Query Parameters

Name
Type
Description

id

string

Ok

Student-Controller: Get student courses

GET /course/{id}

Path Parameters

Name
Type
Description

id

string

[
  {
    "code": 0,
    "lecturers": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ],
    "name": "string",
    "software": [
      {
        "id": "string",
        "name": "string",
        "version": "string"
      }
    ],
    "students": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ]
  }
]

Admin-Controller: Get all Courses

GET /course/admin

Get all courses from the database

Query Parameters

Name
Type
Description

direction

string

filterType

string

filterValue

string

page

integer

size

integer

sortBy

string

[
  {
    "code": 0,
    "department": {
      "code": 0,
      "name": "string"
    },
    "lecturersIdList": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ],
    "name": "string",
    "softwareIdList": [
      {
        "name": "string",
        "version": "string"
      }
    ],
    "studentsIdList": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ]
  }
]

Admin-Controller: Create new Courses

POST /course/admin

Request Body

Name
Type
Description

courses

object

[
  {
    "code": 0,
    "department": {
      "code": 0,
      "name": "string"
    },
    "lecturersIdList": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ],
    "name": "string",
    "softwareIdList": [
      {
        "name": "string",
        "version": "string"
      }
    ],
    "studentsIdList": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ]
  }
]

Admin-Controller: Delete all courses

DELETE /course/admin

Delete courses from database

Resource has deleted

Admin-Controller: Edit course details

PUT /course/admin/{code}

Path Parameters

Name
Type
Description

code

integer

Request Body

Name
Type
Description

courseEdit

object

Resource has edited

Admin-Controller: Delete specific course

DELETE /course/admin/{code}

Remove course by course code

Path Parameters

Name
Type
Description

code

integer

Resource has deleted

Admin-Controller: Remove Lecturer from course

DELETE /course/admin/{code}/{id}

Path Parameters

Name
Type
Description

code

integer

id

string

Resource has deleted

Admin-Controller: Assign lecturer to course

PATCH /course/admin/{code}

Path Parameters

Name
Type
Description

code

integer

Query Parameters

Name
Type
Description

id

string

OK

Lecturer-Controller: Remove software to course

DELETE /course/lecturer/{code}

Path Parameters

Name
Type
Description

code

integer

Request Body

Name
Type
Description

idBoundary

object

Resource has deleted

Lecturer-Controller: Add software to course

PATCH /course/lecturer/{code}

Path Parameters

Name
Type
Description

code

integer

Request Body

Name
Type
Description

idBoundary

object

{
  "code": 0,
  "lecturers": [
    {
      "email": "string",
      "id": "string",
      "username": "string"
    }
  ],
  "name": "string",
  "software": [
    {
      "id": "string",
      "name": "string",
      "version": "string"
    }
  ],
  "students": [
    {
      "email": "string",
      "id": "string",
      "username": "string"
    }
  ]
}

Lecturer-Controller: Find lecturer courses

GET /course/lecturer/{id}

Path Parameters

Name
Type
Description

id

string

[
  {
    "code": 0,
    "lecturers": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ],
    "name": "string",
    "software": [
      {
        "id": "string",
        "name": "string",
        "version": "string"
      }
    ],
    "students": [
      {
        "email": "string",
        "id": "string",
        "username": "string"
      }
    ]
  }
]

Last updated

Was this helpful?