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í. |