Courses » Historie » Verze 7

Verze 6 (Jakub Jirůtka, 2012-07-12 18:53) → Verze 7/12 (Jakub Jirůtka, 2012-07-12 18:56)

h1. Předměty

{{>toc}}

Rozlišují se dvě entity předmětu - předmět (course) a tzv. instance předmětu (coursin). První obsahuje všechny statické údaje předmětu jako je název, způsob zakončení, anotace, osnovy apod. Tyto údaje by měly být po dobu existence předmětu neměnné. Instance předmětu je pak konkrétní instance vypsaná v semestru (tzv. „semestropředmět“) a obsahuje proměnné údaje jako je kapacita, počet obsazených míst apod.

h2. GET /courses

Vrátí všechny předměty vyučované na ČVUT. Výchozí hodnota parametru [[URLParameters#sem|sem]] je _none_, což zde znamená, že se vypíší pouze obecné atributy platné pro předmět samotný, nikoli jeho instanci v semestru.

Pomocí parametru [[URLParameters#sem|sem]] lze vyfiltrovat pouze ty předměty, které jsou/byly vypsané (tzn. existuje jejich instance) v alespoň jednom z daných semestrů (např. _sem=current_ pro aktuální semestr). Zároveň se vypíší i atributy instance předmětu pro dané semestry.

Vysvětlení k parametru _detail_ viz dále.

* *URI:* {{base_url}}/api/3/courses/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Course]]
* *Formáty:* [[atom]], [[xml]]
* *Parametry:* [[URLParameters#detail|detail]], [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]

h2. GET /courses/{code}

Vrátí konkrétní předmět podle jeho kódu. Výchozí hodnota parametru [[URLParameters#sem|sem]] je _none_, což zde znamená, že se vypíší pouze obecné atributy platné pro předmět samotný, nikoli jeho instanci v semestru.

Pomocí parametru [[URLParameters#sem|sem]] lze zároveň zobrazit i atributy instance předmětu ve vybraném semestru (např. _sem=current_ pro aktuální semestr). Pakliže předmět není/nebyl vypsaný v žádném z daných semestrů (tzn. neexistuje jeho instance pro tyto semestry), tak vrátí kód 404 (Not Found).

Ve výchozím nastavení se nevypisují popisné texty předmětu (např. osnova přednášek, požadavky, …), jelikož jejich načítání je pomalé a hodně navyšují velikost vráceného XML. Pro vypsání i popisných textů lze použít parametr _[[URLParameters#detail|detail]]=1_.

* *URI:* {{base_url}}/api/3/courses/{code}/
* *Typ zdroje:* Atom Entry
* *Typ obsahu:* [[Course]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu
* *Parametry:* [[URLParameters#detail|detail]], [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]]

h2. GET /courses/{code}/examDates

Vrátí zkouškové termíny (instance) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_).

* *URI:* {{base_url}}/api/3/courses/{code}/examDates/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[ExamDate]]
* *Formáty:* [[atom]], [[xml]]
* *Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]

h2. GET /courses/{code}/parallels

Vrátí paralelky (instance) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_).

* *URI:* {{base_url}}/api/3/courses/{code}/parallels/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Parallel]]
* *Formáty:* [[atom]], [[xml]]
* *Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]

h2. GET /courses/{code}/students

Vrátí studenty zapsané na (instanci) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_).

* *URI:* {{base_url}}/api/3/courses/{code}/students/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Student]]
* *Formáty:* [[atom]], [[xml]]
* *Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]

h2. GET /courses/{code}/instances

Vrátí všechny instance daného předmětu – pouze atributy instance, nikoli obecné předmětu. Ve většině případech budete chtít použít spíše zdroj [[Courses#GET-coursescode|/courses/{code}]] s parametrem [[URLParameters#sem|sem]].

* *URI:* {{base_url}}/api/3/courses/{code}/instances/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Coursin]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]]