Theses » Historie » Verze 13

Jakub Jirůtka, 2017-03-27 17:38
Add GET /theses/{id}/files

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
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 6 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
92 3 Jakub Jirůtka
93 3 Jakub Jirůtka
h3. Podmínky
94 3 Jakub Jirůtka
95 3 Jakub Jirůtka
* Pokud je ve stavu [[ThesisState|zadáno]] (@state = ASSIGNED@), lze měnit pouze atribut stavu (@state@).
96 7 Jakub Jirůtka
* Pokud _není_ ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit cílový obor (@branch@) ani typ práce (@type@).
97 3 Jakub Jirůtka
* Pokud _není_ je ve stavu [[ThesisState|volné]] (@state != AVAILABLE@), nelze měnit přiřazeného studenta (@student@).
98 5 Jakub Jirůtka
* …a podmínky z [[Theses#POST-theses| POST /theses]].
99 3 Jakub Jirůtka
100 3 Jakub Jirůtka
101 3 Jakub Jirůtka
h2. DELETE /theses/{id}
102 3 Jakub Jirůtka
103 3 Jakub Jirůtka
Odstraní dané téma závěrečné práce.
104 3 Jakub Jirůtka
105 3 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}
106 3 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
107 6 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
108 3 Jakub Jirůtka
109 3 Jakub Jirůtka
h3. Podmínky
110 3 Jakub Jirůtka
111 3 Jakub Jirůtka
* Téma musí být ve stavu [[ThesisState|volné]] (@state = AVAILABLE@).
112 8 Jakub Jirůtka
113 8 Jakub Jirůtka
114 8 Jakub Jirůtka
h2. GET /theses/{id}/reviews
115 8 Jakub Jirůtka
116 8 Jakub Jirůtka
Vrátí posudky závěrečné práce. Jedna práce může mít 1-2 vedoucí a 1-4 oponenty, přičemž každý může napsat nejvýše jeden posudek.
117 8 Jakub Jirůtka
118 8 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}/reviews
119 8 Jakub Jirůtka
* *Typ zdroje:* Atom Feed
120 1 Jakub Jirůtka
* *Typ obsahu:* [[ThesisReview]]
121 13 Jakub Jirůtka
* *Formáty:* [[atom]], [[xml]]
122 13 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
123 13 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]]
124 13 Jakub Jirůtka
125 13 Jakub Jirůtka
126 13 Jakub Jirůtka
h2. GET /theses/{id}/files
127 13 Jakub Jirůtka
128 13 Jakub Jirůtka
Vrátí metadata o souborech na DSpace asociovaných s danou závěrečnou prací.
129 13 Jakub Jirůtka
130 13 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}/files
131 13 Jakub Jirůtka
* *Typ zdroje:* Atom Feed
132 13 Jakub Jirůtka
* *Typ obsahu:* [[DSpaceFile]]
133 8 Jakub Jirůtka
* *Formáty:* [[atom]], [[xml]]
134 8 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
135 8 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]]
136 8 Jakub Jirůtka
137 8 Jakub Jirůtka
138 9 Jakub Jirůtka
h2. GET /theses/{id}/files/main
139 9 Jakub Jirůtka
140 9 Jakub Jirůtka
Vrátí soubor s vlastním textem práce (mělo by jít o PDF).
141 9 Jakub Jirůtka
142 9 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}/files/main
143 9 Jakub Jirůtka
* *Formáty:* application/pdf
144 9 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
145 9 Jakub Jirůtka
146 9 Jakub Jirůtka
147 9 Jakub Jirůtka
h2. PUT /theses/{id}/files/main
148 9 Jakub Jirůtka
149 9 Jakub Jirůtka
Nahraje PDF soubor s vlastním textem práce.
150 9 Jakub Jirůtka
151 9 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}/files/main
152 9 Jakub Jirůtka
* *Formáty:* application/pdf
153 9 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
154 10 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)
155 12 Jakub Jirůtka
156 12 Jakub Jirůtka
157 12 Jakub Jirůtka
h2. DELETE /theses/{id}/files/main
158 12 Jakub Jirůtka
159 12 Jakub Jirůtka
Smaže PDF soubor s vlastním textem práce.
160 12 Jakub Jirůtka
161 12 Jakub Jirůtka
* *URI:* {{base_url}}/api/3/theses/{id}/files/main
162 12 Jakub Jirůtka
* *Proměnné:* @{id}@ id závěrečné práce
163 12 Jakub Jirůtka
* **Scope:** urn:ctu:oauth:kosapi:theses.readwrite (privilegovaný)