Robert Schäfer cca7d78d25 refactor(backend): put fetch into context
It's a best practice to add HTTP API clients to the `context`. Standard Apollo GraphQL tutorial has an example:
https://www.apollographql.com/docs/apollo-server/data/context#resolvers

Also database drivers, loggers, message queues or process environment defined configuration should go into the `context`, just like HTTP-clients.
2025-06-19 00:41:42 +08:00

687 lines
23 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export const welzheim = {
type: 'FeatureCollection',
query: ['welzheim', 'baden', 'württemberg', 'germany'],
features: [
{
id: 'place.85084218',
type: 'Feature',
place_type: ['place'],
relevance: 1,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpCUkpJT2c',
wikidata: 'Q82421',
},
text_en: 'Welzheim',
language_en: 'en',
place_name_en: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Germany',
text: 'Welzheim',
language: 'en',
place_name: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Germany',
text_de: 'Welzheim',
language_de: 'de',
place_name_de: 'Welzheim, Rems-Murr-Kreis, Baden-Württemberg, Deutschland',
text_fr: 'Welzheim',
language_fr: 'fr',
place_name_fr: 'Welzheim, arrondissement de Rems-Murr, Bade-Wurtemberg, Allemagne',
text_nl: 'Welzheim',
language_nl: 'nl',
place_name_nl: 'Welzheim, arrondissement de Rems-Murr, Baden-Württemberg, Duitsland',
text_it: 'Welzheim',
language_it: 'it',
place_name_it: 'Welzheim, circondario del Rems-Murr, Baden-Württemberg, Germania',
text_es: 'Welzheim',
language_es: 'es',
place_name_es: 'Welzheim, arrondissement de Rems-Murr, Baden-Wurtemberg, Alemania',
text_pt: 'Welzheim',
language_pt: 'pt',
place_name_pt: 'Welzheim, circondario del Rems-Murr, Baden-Württemberg, Alemanha',
text_pl: 'Welzheim',
language_pl: 'pl',
place_name_pl: 'Welzheim, Powiat Rems-Murr, Badenia-Wirtembergia, Niemcy',
text_ru: 'Вельцхайм',
language_ru: 'ru',
place_name_ru: 'Вельцхайм, Ремс-Мур, Баден-Вюртемберг, Германия',
bbox: [9.555711, 48.840845, 9.69537, 48.923906],
center: [9.634301, 48.874393],
geometry: {
type: 'Point',
coordinates: [9.634301, 48.874393],
},
context: [
{
id: 'district.2598458',
mapbox_id: 'dXJuOm1ieHBsYzpKNlk2',
wikidata: 'Q8528',
text_en: 'arrondissement de Rems-Murr',
language_en: 'fr',
text: 'arrondissement de Rems-Murr',
language: 'fr',
text_de: 'Rems-Murr-Kreis',
language_de: 'de',
text_fr: 'arrondissement de Rems-Murr',
language_fr: 'fr',
text_nl: 'arrondissement de Rems-Murr',
language_nl: 'fr',
text_it: 'circondario del Rems-Murr',
language_it: 'it',
text_es: 'arrondissement de Rems-Murr',
language_es: 'fr',
text_pt: 'circondario del Rems-Murr',
language_pt: 'it',
text_pl: 'Powiat Rems-Murr',
language_pl: 'pl',
text_ru: 'Ремс-Мур',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'region.132154',
type: 'Feature',
place_type: ['region'],
relevance: 0.703704,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
},
text_en: 'Baden-Württemberg',
language_en: 'en',
place_name_en: 'Baden-Württemberg, Germany',
text: 'Baden-Württemberg',
language: 'en',
place_name: 'Baden-Württemberg, Germany',
text_de: 'Baden-Württemberg',
language_de: 'de',
place_name_de: 'Baden-Württemberg, Deutschland',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
place_name_fr: 'Bade-Wurtemberg, Allemagne',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
place_name_nl: 'Baden-Württemberg, Duitsland',
text_it: 'Baden-Württemberg',
language_it: 'it',
place_name_it: 'Baden-Württemberg, Germania',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
place_name_es: 'Baden-Wurtemberg, Alemania',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
place_name_pt: 'Baden-Württemberg, Alemanha',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
place_name_pl: 'Badenia-Wirtembergia, Niemcy',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
place_name_ru: 'Баден-Вюртемберг, Германия',
bbox: [7.511749, 47.532404, 10.495575, 49.791327],
center: [9.180013, 48.778449],
geometry: {
type: 'Point',
coordinates: [9.180013, 48.778449],
},
context: [
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7757118904863240',
type: 'Feature',
place_type: ['address'],
relevance: 0.67254,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6YTZkMmM2YTYtZDY3ZC00MjE1LWIyZmYtOTUwODQ4MTk3MmIz',
},
text_en: 'German-Götz-Straße',
place_name_en: 'German-Götz-Straße, 72469 Meßstetten, Germany',
text: 'German-Götz-Straße',
place_name: 'German-Götz-Straße, 72469 Meßstetten, Germany',
text_de: 'German-Götz-Straße',
place_name_de: 'German-Götz-Straße, 72469 Meßstetten, Deutschland',
text_fr: 'German-Götz-Straße',
place_name_fr: 'German-Götz-Straße, 72469 Meßstetten, Allemagne',
text_nl: 'German-Götz-Straße',
place_name_nl: 'German-Götz-Straße, 72469 Meßstetten, Duitsland',
text_it: 'German-Götz-Straße',
place_name_it: 'German-Götz-Straße, 72469 Meßstetten, Germania',
text_es: 'German-Götz-Straße',
place_name_es: 'German-Götz-Straße, 72469 Meßstetten, Alemania',
text_pt: 'German-Götz-Straße',
place_name_pt: 'German-Götz-Straße, 72469 Meßstetten, Alemanha',
text_pl: 'German-Götz-Straße',
place_name_pl: 'German-Götz-Straße, 72469 Meßstetten, Niemcy',
text_ru: 'German-Götz-Straße',
place_name_ru: 'German-Götz-Straße, 72469 Месштеттен, Германия',
center: [8.920287, 48.189669],
geometry: {
type: 'Point',
coordinates: [8.920287, 48.189669],
},
context: [
{
id: 'postcode.41586234',
mapbox_id: 'dXJuOm1ieHBsYzpBbnFPT2c',
text_en: '72469',
text: '72469',
text_de: '72469',
text_fr: '72469',
text_nl: '72469',
text_it: '72469',
text_es: '72469',
text_pt: '72469',
text_pl: '72469',
text_ru: '72469',
},
{
id: 'locality.150301242',
mapbox_id: 'dXJuOm1ieHBsYzpDUFZxT2c',
wikidata: 'Q18337859',
text_en: 'Hossingen',
language_en: 'en',
text: 'Hossingen',
language: 'en',
text_de: 'Hossingen',
language_de: 'de',
text_fr: 'Hossingen',
language_fr: 'fr',
text_nl: 'Hossingen',
language_nl: 'nl',
text_it: 'Hossingen',
language_it: 'fr',
text_es: 'Hossingen',
language_es: 'fr',
text_pt: 'Hossingen',
text_pl: 'Hossingen',
language_pl: 'nl',
text_ru: 'Hossingen',
},
{
id: 'place.50759738',
mapbox_id: 'dXJuOm1ieHBsYzpBd2FJT2c',
wikidata: 'Q515661',
text_en: 'Meßstetten',
language_en: 'en',
text: 'Meßstetten',
language: 'en',
text_de: 'Meßstetten',
language_de: 'de',
text_fr: 'Meßstetten',
language_fr: 'fr',
text_nl: 'Meßstetten',
language_nl: 'nl',
text_it: 'Meßstetten',
language_it: 'it',
text_es: 'Meßstetten',
language_es: 'es',
text_pt: 'Meßstetten',
language_pt: 'pt',
text_pl: 'Meßstetten',
language_pl: 'pl',
text_ru: 'Месштеттен',
language_ru: 'ru',
},
{
id: 'district.2795066',
mapbox_id: 'dXJuOm1ieHBsYzpLcVk2',
wikidata: 'Q8233',
text_en: 'arrondissement de Zollernalb',
language_en: 'fr',
text: 'arrondissement de Zollernalb',
language: 'fr',
text_de: 'Zollernalbkreis',
language_de: 'de',
text_fr: 'arrondissement de Zollernalb',
language_fr: 'fr',
text_nl: 'arrondissement de Zollernalb',
language_nl: 'fr',
text_it: 'circondario dello Zollernalb',
language_it: 'it',
text_es: 'arrondissement de Zollernalb',
language_es: 'fr',
text_pt: 'circondario dello Zollernalb',
language_pt: 'it',
text_pl: 'Powiat Zollernalb',
language_pl: 'pl',
text_ru: 'Цоллернальб',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'address.7729037509260214',
type: 'Feature',
place_type: ['address'],
relevance: 0.67254,
properties: {
accuracy: 'street',
mapbox_id: 'dXJuOm1ieGFkci1zdHI6ZTFhMjYyZTEtN2I4Ny00YTYxLThlYmMtNTQxYzQyYzljMzQ2',
},
text_en: 'Germanstraße',
place_name_en: 'Germanstraße, 78048 Villingen-Schwenningen, Germany',
text: 'Germanstraße',
place_name: 'Germanstraße, 78048 Villingen-Schwenningen, Germany',
text_de: 'Germanstraße',
place_name_de: 'Germanstraße, 78048 Villingen-Schwenningen, Deutschland',
text_fr: 'Germanstraße',
place_name_fr: 'Germanstraße, 78048 Villingen-Schwenningen, Allemagne',
text_nl: 'Germanstraße',
place_name_nl: 'Germanstraße, 78048 Villingen-Schwenningen, Duitsland',
text_it: 'Germanstraße',
place_name_it: 'Germanstraße, 78048 Villingen-Schwenningen, Germania',
text_es: 'Germanstraße',
place_name_es: 'Germanstraße, 78048 Villingen-Schwenningen, Alemania',
text_pt: 'Germanstraße',
place_name_pt: 'Germanstraße, 78048 Villingen-Schwenningen, Alemanha',
text_pl: 'Germanstraße',
place_name_pl: 'Germanstraße, 78048 Villingen-Schwenningen, Niemcy',
text_ru: 'Germanstraße',
place_name_ru: 'Germanstraße, 78048 Филлинген-Швеннинген, Германия',
center: [8.430963, 48.073201],
geometry: {
type: 'Point',
coordinates: [8.430963, 48.073201],
},
context: [
{
id: 'postcode.45977146',
mapbox_id: 'dXJuOm1ieHBsYzpBcjJPT2c',
text_en: '78048',
text: '78048',
text_de: '78048',
text_fr: '78048',
text_nl: '78048',
text_it: '78048',
text_es: '78048',
text_pt: '78048',
text_pl: '78048',
text_ru: '78048',
},
{
id: 'locality.351808058',
mapbox_id: 'dXJuOm1ieHBsYzpGUGdxT2c',
wikidata: 'Q47501154',
text_en: 'Villingen',
language_en: 'en',
text: 'Villingen',
language: 'en',
text_de: 'Villingen',
language_de: 'de',
text_fr: 'Villingen',
language_fr: 'nl',
text_nl: 'Villingen',
language_nl: 'nl',
text_it: 'Villingen',
language_it: 'it',
text_es: 'Villingen',
language_es: 'nl',
text_pt: 'Villingen',
language_pt: 'it',
text_pl: 'Villingen',
language_pl: 'nl',
text_ru: 'Villingen',
},
{
id: 'place.81537082',
mapbox_id: 'dXJuOm1ieHBsYzpCTndvT2c',
wikidata: 'Q3865',
text_en: 'Villingen-Schwenningen',
language_en: 'en',
text: 'Villingen-Schwenningen',
language: 'en',
text_de: 'Villingen-Schwenningen',
language_de: 'de',
text_fr: 'Villingen-Schwenningen',
language_fr: 'fr',
text_nl: 'Villingen-Schwenningen',
language_nl: 'nl',
text_it: 'Villingen-Schwenningen',
language_it: 'it',
text_es: 'Villingen-Schwenningen',
language_es: 'es',
text_pt: 'Villingen-Schwenningen',
language_pt: 'pt',
text_pl: 'Villingen-Schwenningen',
language_pl: 'pl',
text_ru: 'Филлинген-Швеннинген',
language_ru: 'ru',
},
{
id: 'district.2729530',
mapbox_id: 'dXJuOm1ieHBsYzpLYVk2',
wikidata: 'Q8203',
text_en: 'Schwarzwald-Baar district',
language_en: 'en',
text: 'Schwarzwald-Baar district',
language: 'en',
text_de: 'Schwarzwald-Baar-Kreis',
language_de: 'de',
text_fr: 'arrondissement de Forêt-Noire-Baar',
language_fr: 'fr',
text_nl: 'arrondissement de Forêt-Noire-Baar',
language_nl: 'fr',
text_it: 'circondario della Foresta Nera-Baar',
language_it: 'it',
text_es: 'arrondissement de Forêt-Noire-Baar',
language_es: 'fr',
text_pt: 'circondario della Foresta Nera-Baar',
language_pt: 'it',
text_pl: 'Powiat Schwarzwald-Baar',
language_pl: 'pl',
text_ru: 'Шварцвальд-Бар',
language_ru: 'ru',
},
{
id: 'region.132154',
mapbox_id: 'dXJuOm1ieHBsYzpBZ1E2',
wikidata: 'Q985',
short_code: 'DE-BW',
text_en: 'Baden-Württemberg',
language_en: 'en',
text: 'Baden-Württemberg',
language: 'en',
text_de: 'Baden-Württemberg',
language_de: 'de',
text_fr: 'Bade-Wurtemberg',
language_fr: 'fr',
text_nl: 'Baden-Württemberg',
language_nl: 'nl',
text_it: 'Baden-Württemberg',
language_it: 'it',
text_es: 'Baden-Wurtemberg',
language_es: 'es',
text_pt: 'Baden-Württemberg',
language_pt: 'pt',
text_pl: 'Badenia-Wirtembergia',
language_pl: 'pl',
text_ru: 'Баден-Вюртемберг',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
{
id: 'place.85002298',
type: 'Feature',
place_type: ['place'],
relevance: 0.574074,
properties: {
mapbox_id: 'dXJuOm1ieHBsYzpCUkVJT2c',
wikidata: 'Q509998',
},
text_en: 'Wellheim',
language_en: 'en',
place_name_en: "Wellheim, arrondissement d'Eichstätt, Bavaria, Germany",
text: 'Wellheim',
language: 'en',
place_name: "Wellheim, arrondissement d'Eichstätt, Bavaria, Germany",
text_de: 'Wellheim',
language_de: 'de',
place_name_de: 'Wellheim, Kreis Eichstätt, Bayern, Deutschland',
text_fr: 'Wellheim',
language_fr: 'fr',
place_name_fr: "Wellheim, arrondissement d'Eichstätt, Bavière, Allemagne",
text_nl: 'Wellheim',
language_nl: 'nl',
place_name_nl: 'Wellheim, Landkreis Eichstätt, Beieren, Duitsland',
text_it: 'Wellheim',
language_it: 'it',
place_name_it: 'Wellheim, circondario di Eichstätt, Baviera, Germania',
text_es: 'Wellheim',
language_es: 'es',
place_name_es: "Wellheim, arrondissement d'Eichstätt, Baviera, Alemania",
text_pt: 'Wellheim',
language_pt: 'pt',
place_name_pt: 'Wellheim, circondario di Eichstätt, Baviera, Alemanha',
text_pl: 'Wellheim',
language_pl: 'pl',
place_name_pl: 'Wellheim, Powiat Eichstätt, Bawaria, Niemcy',
text_ru: 'Велльхайм',
language_ru: 'ru',
place_name_ru: 'Велльхайм, Айхштет, Бавария, Германия',
bbox: [11.032347, 48.79008, 11.173361, 48.846386],
center: [11.080854, 48.817787],
geometry: {
type: 'Point',
coordinates: [11.080854, 48.817787],
},
context: [
{
id: 'district.460346',
mapbox_id: 'dXJuOm1ieHBsYzpCd1k2',
wikidata: 'Q10491',
text_en: "arrondissement d'Eichstätt",
language_en: 'fr',
text: "arrondissement d'Eichstätt",
language: 'fr',
text_de: 'Kreis Eichstätt',
language_de: 'de',
text_fr: "arrondissement d'Eichstätt",
language_fr: 'fr',
text_nl: 'Landkreis Eichstätt',
language_nl: 'nl',
text_it: 'circondario di Eichstätt',
language_it: 'it',
text_es: "arrondissement d'Eichstätt",
language_es: 'fr',
text_pt: 'circondario di Eichstätt',
language_pt: 'it',
text_pl: 'Powiat Eichstätt',
language_pl: 'pl',
text_ru: 'Айхштет',
language_ru: 'ru',
},
{
id: 'region.123962',
mapbox_id: 'dXJuOm1ieHBsYzpBZVE2',
wikidata: 'Q980',
short_code: 'DE-BY',
text_en: 'Bavaria',
language_en: 'en',
text: 'Bavaria',
language: 'en',
text_de: 'Bayern',
language_de: 'de',
text_fr: 'Bavière',
language_fr: 'fr',
text_nl: 'Beieren',
language_nl: 'nl',
text_it: 'Baviera',
language_it: 'it',
text_es: 'Baviera',
language_es: 'es',
text_pt: 'Baviera',
language_pt: 'pt',
text_pl: 'Bawaria',
language_pl: 'pl',
text_ru: 'Бавария',
language_ru: 'ru',
},
{
id: 'country.8762',
mapbox_id: 'dXJuOm1ieHBsYzpJam8',
wikidata: 'Q183',
short_code: 'de',
text_en: 'Germany',
language_en: 'en',
text: 'Germany',
language: 'en',
text_de: 'Deutschland',
language_de: 'de',
text_fr: 'Allemagne',
language_fr: 'fr',
text_nl: 'Duitsland',
language_nl: 'nl',
text_it: 'Germania',
language_it: 'it',
text_es: 'Alemania',
language_es: 'es',
text_pt: 'Alemanha',
language_pt: 'pt',
text_pl: 'Niemcy',
language_pl: 'pl',
text_ru: 'Германия',
language_ru: 'ru',
},
],
},
],
attribution:
'NOTICE: © 2025 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained.',
}