Difference between revisions of "Codebase"
Jump to navigation
Jump to search
(→Wikidocumentaries-API) |
(→Wikidocumentaries-API) |
||
Line 89: | Line 89: | ||
get | get | ||
* /wiki | * /wiki | ||
− | ** var language = req.query.language | + | ** var language = req.query.language |
− | ** var topic = req.query.topic | + | ** var topic = req.query.topic |
− | ** var wikidata = req.query.wikidata | + | ** var wikidata = req.query.wikidata |
** var wikidataByItemIdPromise(wikidata) | ** var wikidataByItemIdPromise(wikidata) | ||
*** var requestConfig | *** var requestConfig | ||
− | **** baseURL: "https://www.wikidata.org/w/api.php" | + | **** baseURL: "https://www.wikidata.org/w/api.php" |
− | **** method: "get" | + | **** method: "get" |
− | **** responseType: 'json' | + | **** responseType: 'json' |
**** headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT | **** headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT | ||
**** params: action: "wbgetentities", ids: wikidata, format: "json" | **** params: action: "wbgetentities", ids: wikidata, format: "json" | ||
− | *** return axios.request(requestConfig).then((response) => | + | *** return axios.request(requestConfig).then((response) => |
− | **** var item=response.data.entities[wikidata] | + | **** var item=response.data.entities[wikidata] |
− | **** combineResults(res, language, wikidata, item) | + | **** combineResults(res, language, wikidata, item) |
− | ** var getWikidataItemIDPromise() | + | ** var getWikidataItemIDPromise() |
− | *** var requestConfig | + | *** var requestConfig |
− | **** baseURL: "https://" + language + ".wikipedia.org/w/api.php" | + | **** baseURL: "https://" + language + ".wikipedia.org/w/api.php" |
− | **** method: "get" | + | **** method: "get" |
− | **** responseType: 'json' | + | **** responseType: 'json' |
**** headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT | **** headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT | ||
**** params: action: "query", prop: "pageprops", ppprop: "wikibase_item", redirects: "resolve", titles: topic, format: "json" | **** params: action: "query", prop: "pageprops", ppprop: "wikibase_item", redirects: "resolve", titles: topic, format: "json" | ||
− | *** return axios.request(requestConfig).then((response) => | + | *** return axios.request(requestConfig).then((response) => |
**** if (response.data.query != undefined) | **** if (response.data.query != undefined) | ||
− | ***** var key=Object.keys(response.data.query.pages)[0] | + | ***** var key=Object.keys(response.data.query.pages)[0] |
− | ***** var page=response.data.query.pages[key] | + | ***** var page=response.data.query.pages[key] |
***** if (page["pageprops"] != undefined && page["pageprops"]["wikibase_item"]!=undefined) | ***** if (page["pageprops"] != undefined && page["pageprops"]["wikibase_item"]!=undefined) | ||
− | ****** wikidata=page["pageprops"]["wikibase_item"] | + | ****** wikidata=page["pageprops"]["wikibase_item"] |
− | ****** wikidataByItemIdPromise(wikidata) | + | ****** wikidataByItemIdPromise(wikidata) |
* /wiki/items/by/latlon | * /wiki/items/by/latlon | ||
** var language = req.query.language; | ** var language = req.query.language; |
Revision as of 08:26, 11 January 2019
Navigate the codebase
Contents
Global variables
wikidocumentaries
Reads all values at time of page load from Wikipedia and Wikidata and prepares for the app. Stored, updated add addressed at @/store/store.js
- title - Wikidata title in the user's language. Add a fallback option and create a new property with knowledge about the original value (boolean exists or empty data).
- description - Wikidata title in the user's language. Add a fallback option and create a new property with knowledge about the original value (boolean exists or empty data).
- headerImageURL
- wikipedia
- excerptHTML - summary part of the Wikipedia article
- remainingHTML - remaining part of the Wikipedia article as a separate object.
- wikipediaURL - link to the Wikipedia article in the user's language
- wikidata
- id
- instance_of
- id
- value
- url
- statements
- id
- label
- value - This returns a string for an object, and the QID is only in the URL. The QID should be extracted already before this?
- url
- dates
- images
- id
- source
- imageURL
- title
- authors
- institutions
- infoURL
- location
- geoLocations
- year
- license
- geo
- location
- admin
- topicStartYear
basemaps
- id
- title
- imageURL
- year
- server
- warperID
- municipality
- country
state
- wikidocumentariesDataState: WIKI.STATES.UNINITIALIZED,
- wikidocumentaries: wikidocumentaries
- shownImages (array)
- timelineImages (array)
- historicalMapSearchPageMap (array)
- historicalMaps (array)
- basemaps: basemaps
- selectedBasemaps (array)
- selectedBasemapOpacity (float)
- shouldFitMapToBasemap (boolean)
- photoOfTheDay (string) "https://upload.wikimedia.org/wikipedia/commons/a/ad/Kulutusosuuskuntien_Keskusliiton_kokoelma_D1974_11333A_%2830804608561%29.jpg",
- mapOfTheDay
- id (string) "File:1900_Plan_af_Helsingfors_stad.tif"
- warperID (integer) 148
- server (string) "http://warper.wmflabs.org/"
- coordinates (array) [24.9351, 60.1658]
- nearbyWikiItems (array)
Router
-
- path: '/dev'
- name: 'DevPage'
- component: devpage
-
- path: '/'
- name: 'LandingPage'
- component: LandingPage
-
- path: '/wikipedia/:language/:topic'
- component: MainPage
-
- path: '/:wikidata/:language?/:topic?'
- name: 'TopicPage'
- component: MainPage
Wikidocumentaries-API
get
- /wiki
- var language = req.query.language
- var topic = req.query.topic
- var wikidata = req.query.wikidata
- var wikidataByItemIdPromise(wikidata)
- var requestConfig
- baseURL: "https://www.wikidata.org/w/api.php"
- method: "get"
- responseType: 'json'
- headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT
- params: action: "wbgetentities", ids: wikidata, format: "json"
- return axios.request(requestConfig).then((response) =>
- var item=response.data.entities[wikidata]
- combineResults(res, language, wikidata, item)
- var requestConfig
- var getWikidataItemIDPromise()
- var requestConfig
- baseURL: "https://" + language + ".wikipedia.org/w/api.php"
- method: "get"
- responseType: 'json'
- headers: 'Api-User-Agent': process.env.WIKIDOCUMENTARIES_API_USER_AGENT
- params: action: "query", prop: "pageprops", ppprop: "wikibase_item", redirects: "resolve", titles: topic, format: "json"
- return axios.request(requestConfig).then((response) =>
- if (response.data.query != undefined)
- var key=Object.keys(response.data.query.pages)[0]
- var page=response.data.query.pages[key]
- if (page["pageprops"] != undefined && page["pageprops"]["wikibase_item"]!=undefined)
- wikidata=page["pageprops"]["wikibase_item"]
- wikidataByItemIdPromise(wikidata)
- if (response.data.query != undefined)
- var requestConfig
- /wiki/items/by/latlon
- var language = req.query.language;
- var topic = req.query.topic;
- var requestConfig
- baseURL: 'https://query.wikidata.org/'
- url: '/bigdata/namespace/wdq/sparql?query=SELECT%3Fitem(SAMPLE(%3Fitem_label)as%3Flabel)(SAMPLE(%3Flocation)as%3Flocation)WHERE%7BSERVICE%20wikibase%3Aaround%7B%3Fitem%20wdt%3AP625%3Flocation.bd%3AserviceParam%20wikibase%3Acenter"Point(' + req.query.lon + '%20' + req.query.lat + ')"%5E%5Egeo%3AwktLiteral.%20bd%3AserviceParam%20wikibase%3Aradius"' + req.query.radius / 1000 + '".%7DOPTIONAL%7B%3Fitem%20rdfs%3Alabel%3Fitem_label.%7D%7DGROUP%20BY%20%3Fitem'
- timeout: 20000
- method: "get"
- params: format: 'json'
- Response: wikiItems.push for each response.data.results.bindings
- id: id,
- title: response.data.results.bindings[i].label.value,
- lat: Number(lat)
- lon: Number(lon)
- /images
- /basemaps
- /geocode