Theses » Historie » Verze 7

Jakub Jirůtka, 2013-07-29 14:53

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 6 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
38 2 Jakub Jirůtka
39 3 Jakub Jirůtka
h3. Podmínky
40 3 Jakub Jirůtka
41 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á).
42 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)_
43 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@). 
44 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@)
45 3 Jakub Jirůtka
46 4 Jakub Jirůtka
h3. Ukázka komunikace
47 2 Jakub Jirůtka
48 1 Jakub Jirůtka
<pre><code class="xml">
49 4 Jakub Jirůtka
POST /api/3/theses HTTP/1.1
50 4 Jakub Jirůtka
Host: kosapi.fit.cvut.cz
51 4 Jakub Jirůtka
Content-Type: application/atom+xml; charset=UTF-8
52 4 Jakub Jirůtka
Authorization: Bearer put-access-token-here
53 4 Jakub Jirůtka
54 2 Jakub Jirůtka
<?xml version="1.0" encoding="UTF-8"?>
55 2 Jakub Jirůtka
<atom:entry xmlns="http://kosapi.feld.cvut.cz/schema/3"
56 2 Jakub Jirůtka
            xmlns:atom="http://www.w3.org/2005/Atom"
57 2 Jakub Jirůtka
            xmlns:xlink="http://www.w3.org/1999/xlink"
58 2 Jakub Jirůtka
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
59 2 Jakub Jirůtka
60 2 Jakub Jirůtka
    <atom:content atom:type="xml" xsi:type="thesis">
61 2 Jakub Jirůtka
        <branch xlink:href="branches/4779/" />
62 2 Jakub Jirůtka
        <department xlink:href="divisions/18102/" />
63 2 Jakub Jirůtka
        <description>Prostudujte používané metodiky návrhu...</description>
64 2 Jakub Jirůtka
        <literature>Pracovní postup k rozvrhu, Tril, 1998</literature>
65 2 Jakub Jirůtka
        <name xml:lang="cs">KOSapi - verze 3</name>
66 2 Jakub Jirůtka
        <name xml:lang="en">KOSapi - third version</name>
67 2 Jakub Jirůtka
        <opponent xlink:href="people/valenta/" />
68 2 Jakub Jirůtka
        <state>RESERVED</state>
69 2 Jakub Jirůtka
        <student xlink:href="students/jirutjak/" />
70 2 Jakub Jirůtka
        <supervisor xlink:href="people/kadleto2/" />
71 2 Jakub Jirůtka
        <type>MASTER</type>
72 2 Jakub Jirůtka
    </atom:content>
73 1 Jakub Jirůtka
</atom:entry>
74 4 Jakub Jirůtka
75 4 Jakub Jirůtka
--
76 4 Jakub Jirůtka
Status Code: 201 Created
77 4 Jakub Jirůtka
Content-Length: 0
78 4 Jakub Jirůtka
Date: Mon, 29 Jul 2013 11:42:33 GMT
79 4 Jakub Jirůtka
Location: https://kosapi.fit.cvut.cz/api/3/theses/493466966705
80 2 Jakub Jirůtka
</code></pre>
81 3 Jakub Jirůtka
82 3 Jakub Jirůtka
83 3 Jakub Jirůtka
h2. PUT /theses/{id}
84 3 Jakub Jirůtka
85 3 Jakub Jirůtka
Modifikuje dané téma závěrečné práce.
86 3 Jakub Jirůtka
87 3 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
88 3 Jakub Jirůtka
* *Typ zdroje:* Atom Entry
89 3 Jakub Jirůtka
* *Typ obsahu:* [[Thesis]]
90 3 Jakub Jirůtka
* *Formáty:* application/atom+xml, application/xml
91 3 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
92 6 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
93 3 Jakub Jirůtka
94 3 Jakub Jirůtka
h3. Podmínky
95 3 Jakub Jirůtka
96 3 Jakub Jirůtka
* Pokud je ve stavu [[ThesisState|zadáno]] (@state = ASSIGNED@), lze měnit pouze atribut stavu (@state@).
97 7 Jakub Jirůtka
* Pokud _není_ ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit cílový obor (@branch@) ani typ práce (@type@).
98 3 Jakub Jirůtka
* Pokud _není_ je ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit přiřazeného studenta (@student@).
99 5 Jakub Jirůtka
* …a podmínky z [[Theses#POST-theses| POST /theses]].
100 3 Jakub Jirůtka
101 3 Jakub Jirůtka
102 3 Jakub Jirůtka
h2. DELETE /theses/{id}
103 3 Jakub Jirůtka
104 3 Jakub Jirůtka
Odstraní dané téma závěrečné práce.
105 3 Jakub Jirůtka
106 3 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
107 3 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
108 6 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
109 3 Jakub Jirůtka
110 3 Jakub Jirůtka
h3. Podmínky
111 3 Jakub Jirůtka
112 3 Jakub Jirůtka
* Téma musí být ve stavu [[ThesisState|volné]] (@state = AVAILABLE@).