Projekt

Obecné

Profil

Plán Hradu - API » Historie » Verze 3

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

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 3 Tomáš Zikmund
h4. Výchozí inicializace při otevření záložky Plánu:
12 1 Tomáš Zikmund
13 3 Tomáš Zikmund
// Kontrola autorizace uživatele:
14
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 3 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
    "credentials": "include",
25
    "headers": {},
26
    "referrer": "http://147.228.173.159/plan",
27
    "method": "GET",
28
    "mode": "cors"
29
});
30 1 Tomáš Zikmund
31 3 Tomáš Zikmund
// Načtení místností (objektů) umístěných na plánku - výchozí nastavení je první patro, vrací všechny místnosti včetně souřadnic a umístění v svg grafice (včetně místností mimo výchozí patro).
32
// Některé místnosti nejsou vizualizovány na plánu - atribut: in_plan -> false
33
// Rozlišení patra dle atributu: floor
34
// Objekt s id:200 se v plánku nevyskytuje (in_plan = false)
35
await fetch("http://147.228.173.159/api/plan/all", {
36
    "credentials": "include",
37
    "headers": {},
38
    "referrer": "http://147.228.173.159/plan",
39
    "method": "GET",
40
    "mode": "cors"
41
});
42 1 Tomáš Zikmund
43 3 Tomáš Zikmund
// Vykreslení SVG grafiky odpovídajícího patra - v mapě by se měly zobrazovat pouze objekty s odpovídající hodnotou atributu floor.
44
// Výchozí patro (první patro) - alternativně přízemí nebo druhé patro:
45
await fetch("http://147.228.173.159/api/downloads/first_floor", {
46
    "credentials": "include",
47
    "headers": {},
48
    "referrer": "http://147.228.173.159/plan",
49
    "method": "GET",
50
    "mode": "cors"
51
});
52 1 Tomáš Zikmund
53 3 Tomáš Zikmund
// Seznam místností v rámci plánu nacházejících se v daném patře.
54
// Spojuje se s API voláním http://147.228.173.159/api/plan/all - provázání přes id
55
// Přehled místností/komnat, namísto souřadnic a odpovídajícího patra může obsahovat pole zanořených objektů "Místa" - pozice/umístění v dané místnosti.
56
await fetch("http://147.228.173.159/api/plan/list", {
57
    "credentials": "include",
58
    "headers": {},
59
    "referrer": "http://147.228.173.159/plan",
60
    "method": "GET",
61
    "mode": "cors"
62
});
63 1 Tomáš Zikmund
64 3 Tomáš Zikmund
// Výpis záložek archivů, kde se nacházejí odpovídající položky. Atribut data obsahuje pole, kde je uložen počet položek v daném archivu.
65
// (Zde není vypsáno nic)
66
await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20%27&group=inventory", {
67
    "credentials": "include",
68
    "headers": {},
69
    "referrer": "http://147.228.173.159/plan",
70
    "method": "GET",
71
    "mode": "cors"
72
});
73 1 Tomáš Zikmund
74 3 Tomáš Zikmund
// Výchozí předvolba výpisu položek - Místnost/Místo/Cursor=0
75
// (Není zvolena žádná místnost)
76
// Na jednu stránku se vypisuje až 20 položek
77
// Možnost agregace výsledků v URL pomocí atributu "inventory" (pokud je vynechán, zobrazí se kompletní seznam) - &inventory=1621_Prague_A
78
// (Zde není vypsáno nic)
79
await fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20", {
80
    "credentials": "include",
81
    "headers": {},
82
    "referrer": "http://147.228.173.159/plan",
83
    "method": "GET",
84
    "mode": "cors"
85
});
86 1 Tomáš Zikmund
87
	
88 3 Tomáš Zikmund
h4. Již vybraná místnost a poloha v místnosti:
89
90
// Vybraná komnata 9 ("Spanish Hall (today Rudolf Gallery") a pozice 1 ("on the floor") (komnata = room; pozice = místo)
91
// Zvolen archiv 1621 Prague A, místo 1 ("on the floor"), druhá stránka seznamu:
92
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", {
93 1 Tomáš Zikmund
    "credentials": "include",
94
    "headers": {},
95
    "referrer": "http://147.228.173.159/plan",
96
    "method": "GET",
97
    "mode": "cors"
98 3 Tomáš Zikmund
});
99 1 Tomáš Zikmund
100 3 Tomáš Zikmund
// Výpis záložek archivů, kde se nacházejí odpovídající položky. Atribut data obsahuje pole, kde je uložen počet položek v daném archivu (např. kolik děl je v archivu 1648 Prague atd.).
101
// Výpis archivů: 1621 Prague A, 1621 Prague B, 1635 Prague, data: 24, 24, 15 (všechny počty položek):
102
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", {
103 1 Tomáš Zikmund
    "credentials": "include",
104
    "headers": {},
105
    "referrer": "http://147.228.173.159/plan",
106
    "method": "GET",
107
    "mode": "cors"
108 3 Tomáš Zikmund
});
109 1 Tomáš Zikmund
110 3 Tomáš Zikmund
// Možnost přesměrování na detail položky (Zobrazení položky - zde obraz PrgA-1253) - viz níže:
111
await fetch("http://147.228.173.159/api/concordances/PrgA-1253", {
112
    "credentials": "include",
113
    "headers": {},
114
    "referrer": "http://147.228.173.159/item/PrgA-1253",
115
    "method": "GET",
116
    "mode": "cors"
117
});
118
119
120
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".
121
Následují POUZE hodnoty atributu "label" objektu "places", identifikátor se neuvádí.