Projekt

Obecné

Profil

Plán Hradu - API » Historie » Verze 1

Tomáš Zikmund, 2023-10-15 16:19

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