Projekt

Obecné

Profil

Plán Hradu - API » Historie » Verze 5

Tomáš Zikmund, 2023-10-31 09:50

1 1 Tomáš Zikmund
h1. Plán Hradu - API
2
3 3 Tomáš Zikmund
h3. Plán (výchozí stav) - API volání
4 1 Tomáš Zikmund
5 3 Tomáš Zikmund
* Výstup bude ve stejném stylu jako u vyhledávání - s agregací podle archivů, stránkováním a až 20 položkami na jednu stránku.
6 1 Tomáš Zikmund
7 3 Tomáš Zikmund
* Manuální přepnutí místnosti v roletce (Místnost) musí být propojeno s odpovídajícím patrem.
8
9 1 Tomáš Zikmund
* Zdrojové URL: http://147.228.173.159/plan
10
11 4 Tomáš Zikmund
h4. Výchozí inicializace při otevření záložky Plánu: 
12 1 Tomáš Zikmund
13 5 Tomáš Zikmund
        *Kontrola autorizace uživatele:*
14 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/isauth/", {
15
	"credentials": "include",
16
	"headers": {},
17
	"referrer": "http://147.228.173.159/plan",
18
	"method": "GET",
19
	"mode": "cors"
20
	});
21 1 Tomáš Zikmund
22 5 Tomáš Zikmund
        *Zajištění přístupu ke všem archivům inventáře (tj. 1595 Brussels až 2020 Prague):*
23
    await fetch("http://147.228.173.159/api/inventories", {
24 4 Tomáš Zikmund
	"credentials": "include",
25
	"headers": {},
26
	"referrer": "http://147.228.173.159/plan",
27
	"method": "GET",
28
	"mode": "cors"
29 1 Tomáš Zikmund
	});
30
31 4 Tomáš Zikmund
32 5 Tomáš Zikmund
        *Načtení místností (objektů) umístěných na plánku - defaultně first floor, vrací všechny místnosti včetně souřadnic a umístění v svg grafice (ucelený seznam, včetně místností mimo defaultní patro)*
33
*Některé místnosti nejsou vizualizovány v plánu - atribut: in_plan -> false*
34
*Rozlišení daného patra: dle atributu: floor*
35
*Objekt s id:200 se v plánku nevyskytuje (in_plan = false):*
36 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/plan/all", {
37 1 Tomáš Zikmund
	"credentials": "include",
38 4 Tomáš Zikmund
	"headers": {},
39
	"referrer": "http://147.228.173.159/plan",
40
	"method": "GET",
41
	"mode": "cors"
42 3 Tomáš Zikmund
	});
43 4 Tomáš Zikmund
44
	
45 5 Tomáš Zikmund
        *Vykreslení SVG grafiky korespondujícího patra - žádoucí v mapě vykreslovat pouze objekty s odpovídající hodnotou atributu floor*
46
*Výchozí patro (first floor) - alternativně ground_floor, či second_floor:*
47 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/downloads/first_floor", {
48
	"credentials": "include",
49
	"headers": {},
50
	"referrer": "http://147.228.173.159/plan",
51
	"method": "GET",
52
	"mode": "cors"
53 1 Tomáš Zikmund
	});
54
55
56 5 Tomáš Zikmund
        *Seznam místností v rámci plánu - nacházející se v daném patře.*
57
*Pojí se s API call http://147.228.173.159/api/plan/all - provázání přes id*
58
*Přehled místností/komnat, namísto souřadnic a korespondujících podlaží MŮŽE obsahovat pole zanořených objektů "Places" - pozice/umístění v dané komnatě*
59
*Opět se jedná o ucelený seznam všech komnat:*
60 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/plan/list", {
61 1 Tomáš Zikmund
	"credentials": "include",
62
	"headers": {},
63
	"referrer": "http://147.228.173.159/plan",
64
	"method": "GET",
65 3 Tomáš Zikmund
	"mode": "cors"
66 4 Tomáš Zikmund
	});
67 1 Tomáš Zikmund
68
	
69 5 Tomáš Zikmund
        *Výpis záložek (tab view) archivů, v nichž se nalezená/odpovídající díla nacházejí.*
70
*Atribut data představuje pole, v nichž je uložen počet děl v daném archivu (např. kolik děl je v archivu 1648 Prague apod.) (Zde není vypsáno nic):*
71
    await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20%27&group=inventory", {
72 3 Tomáš Zikmund
    "credentials": "include",
73 4 Tomáš Zikmund
    "headers": {},
74 1 Tomáš Zikmund
    "referrer": "http://147.228.173.159/plan",
75
    "method": "GET",
76 4 Tomáš Zikmund
    "mode": "cors"
77
	});
78
	
79
	
80 5 Tomáš Zikmund
        *Výchozí předvolba výpisu položek - Room/Place/Cursor=0 (Není zvolena žádná místnost)*
81
*Na jednu stránku výpis až 20 položek*
82
*Možnost agregace výsledků v URL přes zahrnutí atributu inventory (vynecháním se zobrazí kompletní seznam) - &inventory=1621_Prague_A (Zde není vypsáno nic):*
83
	await fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20", {
84 4 Tomáš Zikmund
	"credentials": "include",
85
	"headers": {},
86
	"referrer": "http://147.228.173.159/plan",
87
	"method": "GET",
88
	"mode": "cors"
89
	});
90
	
91 3 Tomáš Zikmund
h4.  Již vybraná místnost a poloha v místnosti:
92 1 Tomáš Zikmund
93 5 Tomáš Zikmund
	*Vybrání komnaty 9 ("Spanish Hall (today Rudolf Gallery") a pozice 1 ("on the floor"). (komnata = room; pozice = place)*
94
*Zvolen archiv 1621 Prague A, place 1 ("on the floor"), druhá stránka seznamu:*
95
	await fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=2&tabbed=true&room=9&place=1&cursor=20&items=20&inventory=1621_Prague_A", {
96 4 Tomáš Zikmund
	"credentials": "include",
97
	"headers": {},
98
	"referrer": "http://147.228.173.159/plan",
99
	"method": "GET",
100
	"mode": "cors"
101
	});
102
	
103
	
104 5 Tomáš Zikmund
	*Výpis záložek (tab view) archivů, v nichž se nalezená/odpovídající díla nacházejí. Atribut data představuje pole, v nichž je uložen počet děl v daném archivu (např. kolik děl je v archivu 1648 Prague apod.)*
105
*Vypis archivů: 1621 Prague A, 1621 Prague B, 1635 Prague, data: 24, 24, 15 (vše počty položek):*
106 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=9&place=1&cursor=0&items=20%27&group=inventory", {
107 1 Tomáš Zikmund
    "credentials": "include",
108 3 Tomáš Zikmund
    "headers": {},
109 1 Tomáš Zikmund
    "referrer": "http://147.228.173.159/plan",
110 3 Tomáš Zikmund
    "method": "GET",
111
    "mode": "cors"
112 4 Tomáš Zikmund
	});
113
	
114
	
115 5 Tomáš Zikmund
	*Možnost přesměrování na detail položky (Item view - zde obraz PrgA-1253) - viz níže:*
116 4 Tomáš Zikmund
	await fetch("http://147.228.173.159/api/concordances/PrgA-1253", {
117
	"credentials": "include",
118
	"headers": {},
119
	"referrer": "http://147.228.173.159/item/PrgA-1253",
120
	"method": "GET",
121
	"mode": "cors"
122
	});
123 1 Tomáš Zikmund
124
125 5 Tomáš Zikmund
*Při výpisu aktuální komnaty a místa (room + places) se u objektu místnosti zobrazuje identifikátor místnosti a hodnota atributu "label".*
126
*Následují POUZE hodnoty atributu "label" objektu "places", identifikátor se neuvádí.*