Theses » Historie » Verze 5

Jakub Jirůtka, 2013-07-29 13:45

1 1 Jakub Jirůtka
h1. Témata závěrečných prací
2 1 Jakub Jirůtka
3 1 Jakub Jirůtka
{{>toc}}
4 1 Jakub Jirůtka
5 1 Jakub Jirůtka
6 1 Jakub Jirůtka
h2. GET /theses
7 1 Jakub Jirůtka
8 1 Jakub Jirůtka
Vrátí všechna témata závěrečných prácí.
9 1 Jakub Jirůtka
10 1 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/
11 1 Jakub Jirůtka
* *Typ zdroje:* Atom Feed
12 1 Jakub Jirůtka
* *Typ obsahu:* [[Thesis]]
13 1 Jakub Jirůtka
* *Formáty:* [[atom]], [[xml]]
14 1 Jakub Jirůtka
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]
15 1 Jakub Jirůtka
16 1 Jakub Jirůtka
17 1 Jakub Jirůtka
h2. GET /theses/{id}
18 1 Jakub Jirůtka
19 1 Jakub Jirůtka
Vrátí téma závěrečné práce podle jejího ID.
20 1 Jakub Jirůtka
21 1 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
22 1 Jakub Jirůtka
* *Typ zdroje:* Atom Entry
23 1 Jakub Jirůtka
* *Typ obsahu:* [[Thesis]]
24 1 Jakub Jirůtka
* *Formáty:* [[atom]], [[xml]]
25 1 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
26 1 Jakub Jirůtka
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]]
27 2 Jakub Jirůtka
28 2 Jakub Jirůtka
29 2 Jakub Jirůtka
h2. POST /theses
30 2 Jakub Jirůtka
31 2 Jakub Jirůtka
Přidá nové téma závěrečné práce.
32 2 Jakub Jirůtka
33 2 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/
34 2 Jakub Jirůtka
* *Typ zdroje:* Atom Entry
35 2 Jakub Jirůtka
* *Typ obsahu:* [[Thesis]]
36 2 Jakub Jirůtka
* *Formáty:* application/atom+xml, application/xml
37 2 Jakub Jirůtka
38 3 Jakub Jirůtka
h3. Podmínky
39 3 Jakub Jirůtka
40 3 Jakub Jirůtka
* Musí být zadán alespoň český název a cílový obor (z něj plyne katedra a typ práce), nebo český název, katedra a cílový typ práce (bakalářská/diplomová/doktorská).
41 3 Jakub Jirůtka
* Pokud stav _není_ [[ThesisState|volné]] (@state != AVAILABLE@), pak musí být zadán student (@student != null@). _(automaticky provede rezervaci a příp. přiřazení tématu)_
42 3 Jakub Jirůtka
* Pokud je zadán student, (@student != null@), pak typ studijního programu (etapa) studenta musí odpovídat typu práce (@student.programme.type = this.type@). 
43 3 Jakub Jirůtka
* Pokud je zadán cílový obor a student (@branch != null && student != null@), pak obor studenta musí odpovídat cílovému oboru (@student.branch = this.branch@)
44 3 Jakub Jirůtka
45 4 Jakub Jirůtka
h3. Ukázka komunikace
46 2 Jakub Jirůtka
47 1 Jakub Jirůtka
<pre><code class="xml">
48 4 Jakub Jirůtka
POST /api/3/theses HTTP/1.1
49 4 Jakub Jirůtka
Host: kosapi.fit.cvut.cz
50 4 Jakub Jirůtka
Content-Type: application/atom+xml; charset=UTF-8
51 4 Jakub Jirůtka
Authorization: Bearer put-access-token-here
52 4 Jakub Jirůtka
53 2 Jakub Jirůtka
<?xml version="1.0" encoding="UTF-8"?>
54 2 Jakub Jirůtka
<atom:entry xmlns="http://kosapi.feld.cvut.cz/schema/3"
55 2 Jakub Jirůtka
            xmlns:atom="http://www.w3.org/2005/Atom"
56 2 Jakub Jirůtka
            xmlns:xlink="http://www.w3.org/1999/xlink"
57 2 Jakub Jirůtka
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
58 2 Jakub Jirůtka
59 2 Jakub Jirůtka
    <atom:content atom:type="xml" xsi:type="thesis">
60 2 Jakub Jirůtka
        <branch xlink:href="branches/4779/" />
61 2 Jakub Jirůtka
        <department xlink:href="divisions/18102/" />
62 2 Jakub Jirůtka
        <description>Prostudujte používané metodiky návrhu...</description>
63 2 Jakub Jirůtka
        <literature>Pracovní postup k rozvrhu, Tril, 1998</literature>
64 2 Jakub Jirůtka
        <name xml:lang="cs">KOSapi - verze 3</name>
65 2 Jakub Jirůtka
        <name xml:lang="en">KOSapi - third version</name>
66 2 Jakub Jirůtka
        <opponent xlink:href="people/valenta/" />
67 2 Jakub Jirůtka
        <state>RESERVED</state>
68 2 Jakub Jirůtka
        <student xlink:href="students/jirutjak/" />
69 2 Jakub Jirůtka
        <supervisor xlink:href="people/kadleto2/" />
70 2 Jakub Jirůtka
        <type>MASTER</type>
71 2 Jakub Jirůtka
    </atom:content>
72 1 Jakub Jirůtka
</atom:entry>
73 4 Jakub Jirůtka
74 4 Jakub Jirůtka
--
75 4 Jakub Jirůtka
Status Code: 201 Created
76 4 Jakub Jirůtka
Content-Length: 0
77 4 Jakub Jirůtka
Date: Mon, 29 Jul 2013 11:42:33 GMT
78 4 Jakub Jirůtka
Location: https://kosapi.fit.cvut.cz/api/3/theses/493466966705
79 2 Jakub Jirůtka
</code></pre>
80 3 Jakub Jirůtka
81 3 Jakub Jirůtka
82 3 Jakub Jirůtka
h2. PUT /theses/{id}
83 3 Jakub Jirůtka
84 3 Jakub Jirůtka
Modifikuje dané téma závěrečné práce.
85 3 Jakub Jirůtka
86 3 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
87 3 Jakub Jirůtka
* *Typ zdroje:* Atom Entry
88 3 Jakub Jirůtka
* *Typ obsahu:* [[Thesis]]
89 3 Jakub Jirůtka
* *Formáty:* application/atom+xml, application/xml
90 3 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
91 3 Jakub Jirůtka
92 3 Jakub Jirůtka
h3. Podmínky
93 3 Jakub Jirůtka
94 3 Jakub Jirůtka
* Pokud je ve stavu [[ThesisState|zadáno]] (@state = ASSIGNED@), lze měnit pouze atribut stavu (@state@).
95 3 Jakub Jirůtka
* Pokud _není_ ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit cílový obor (@branch@).
96 3 Jakub Jirůtka
* Pokud _není_ je ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit přiřazeného studenta (@student@).
97 5 Jakub Jirůtka
* …a podmínky z [[Theses#POST-theses| POST /theses]].
98 3 Jakub Jirůtka
99 3 Jakub Jirůtka
100 3 Jakub Jirůtka
h2. DELETE /theses/{id}
101 3 Jakub Jirůtka
102 3 Jakub Jirůtka
Odstraní dané téma závěrečné práce.
103 3 Jakub Jirůtka
104 3 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
105 3 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
106 3 Jakub Jirůtka
107 3 Jakub Jirůtka
h3. Podmínky
108 3 Jakub Jirůtka
109 3 Jakub Jirůtka
* Téma musí být ve stavu [[ThesisState|volné]] (@state = AVAILABLE@).