Projekt

Obecné

Profil

Plán Hradu - API » Historie » Revize 4

Revize 3 (Tomáš Zikmund, 2023-10-31 09:37) → Revize 4/5 (Tomáš Zikmund, 2023-10-31 09:37)

h1. Plán Hradu - API 

 h3. Plán (výchozí stav) - API volání 

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

 * Manuální přepnutí místnosti v roletce (Místnost) musí být propojeno s odpovídajícím patrem. 

 * Zdrojové URL: http://147.228.173.159/plan 

 h4. Výchozí inicializace při otevření záložky Plánu:  

         

 // Kontrola autorizace uživatele: 
	 
 await fetch("http://147.228.173.159/api/isauth/", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 

         

 // Zajištění přístupu ke všem archivům inventáře (tj. 1595 Brussels až 2020 Prague): 
         
 await fetch("http://147.228.173.159/api/inventories", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 


         

 // Načtení místností (objektů) umístěných na plánku - defaultně first floor, výchozí nastavení je první patro, vrací všechny místnosti 
	 včetně souřadnic a umístění v svg grafice (ucelený seznam, včetně (včetně místností mimo defaultní patro) 
	 výchozí patro). 
 // Některé místnosti nejsou vizualizovány v na plánu - atribut: in_plan -> false 
	 
 // Rozlišení daného patra: patra dle atributu: floor 
	 --Objekt 
 // Objekt s id:200 se v plánku nevyskytuje (in_plan = false) 
	 
 await fetch("http://147.228.173.159/api/plan/all", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 

	
         

 // Vykreslení SVG grafiky korespondujícího odpovídajícího patra 
	 --Žádoucí - v mapě vykreslovat by se měly zobrazovat pouze objekty s odpovídající hodnotou atributu floor 
	 floor. 
 // Výchozí patro (first floor) (první patro) - alternativně ground_floor, či second_floor: 
	 přízemí nebo druhé patro: 
 await fetch("http://147.228.173.159/api/downloads/first_floor", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 


         

 // Seznam místností v rámci plánu - nacházející nacházejících se v daném patře. 
	 Pojí 
 // Spojuje se s API call voláním http://147.228.173.159/api/plan/all - provázání přes id 
	 
 // Přehled místností/komnat, namísto souřadnic a korespondujících podlaží MŮŽE odpovídajícího patra může obsahovat 
	 pole zanořených objektů "Places" "Místa" - pozice/umístění v dané komnatě 
	 Opět se jedná o ucelený seznam všech komnat: 
	 místnosti. 
 await fetch("http://147.228.173.159/api/plan/list", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 

	
         

 // Výpis záložek (tab view) archivů, v nichž kde se nalezená/odpovídající díla nacházejí. nacházejí odpovídající položky. Atribut data představuje obsahuje pole, v nichž kde je uložen počet děl položek v daném archivu (např. kolik děl je v archivu 1648 Prague apod.) 
	 archivu. 
 // (Zde není vypsáno nic) 
	 
 await fetch("http://147.228.173.159/api/graph?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20%27&group=inventory", { 
     "credentials": "include", 
     "headers": {}, 
     "referrer": "http://147.228.173.159/plan", 
     "method": "GET", 
     "mode": "cors" 
	 
 }); 
	
	
         

 // Výchozí předvolba výpisu položek - Room/Place/Cursor=0 
	 Místnost/Místo/Cursor=0 
 // (Není zvolena žádná místnost) 
	 
 // Na jednu stránku výpis se vypisuje až 20 položek 
	 
 // Možnost agregace výsledků v URL přes zahrnutí pomocí atributu inventory (vynecháním "inventory" (pokud je vynechán, zobrazí se zobrazí kompletní seznam) - &inventory=1621_Prague_A 
	 
 // (Zde není vypsáno nic) 
	 
 await 
	 fetch("http://147.228.173.159/api/search_v2?activeTab=0&page=1&tabbed=true&room=0&cursor=0&items=20", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 
	
 

	
 h4.    Již vybraná místnost a poloha v místnosti: 

	 Vybrání komnaty 

 // Vybraná komnata 9 ("Spanish Hall (today Rudolf Gallery") a pozice 1 ("on the floor"). floor") (komnata = room; pozice = place) 
	 místo) 
 // Zvolen archiv 1621 Prague A, place místo 1 ("on the floor"), druhá stránka seznamu: 	
	 
 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", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/plan", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 
	
	
	 

 // Výpis záložek (tab view) archivů, v nichž kde se nalezená/odpovídající díla nacházejí. nacházejí odpovídající položky. Atribut data představuje obsahuje pole, v nichž kde je uložen počet děl položek v daném archivu (např. kolik děl je v archivu 1648 Prague apod.) 
	 Vypis atd.). 
 // Výpis archivů: 1621 Prague A, 1621 Prague B, 1635 Prague, data: 24, 24, 15 (vše (všechny počty položek) 
	 položek): 
 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", { 
     "credentials": "include", 
     "headers": {}, 
     "referrer": "http://147.228.173.159/plan", 
     "method": "GET", 
     "mode": "cors" 
	 
 }); 
	
	
	 

 // Možnost přesměrování na detail položky (Item view (Zobrazení položky - zde obraz PrgA-1253) - viz níže: 
	 
 await fetch("http://147.228.173.159/api/concordances/PrgA-1253", { 
	 
     "credentials": "include", 
	 
     "headers": {}, 
	 
     "referrer": "http://147.228.173.159/item/PrgA-1253", 
	 
     "method": "GET", 
	 
     "mode": "cors" 
	 
 }); 


 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". 
 Následují POUZE hodnoty atributu "label" objektu "places", identifikátor se neuvádí.