Skip to content

Province use common list (right now splitted) and read from database and list reservoirs per province #90

@brauliodiez

Description

@brauliodiez

For this task we have to make to clean up the mess :).

First of all just not get messed up, ignore

front/src/pods/embalse-search/api/embalse-search.mock.ts

This one is temporary and as soon the real backend implementation is done this file will be removed.

Then we have got the following file:

integrations/arcgis/src/embalse-provincias.ts

/**
 * Mapa hardcodeado de slug → provincia.
 *
 * El API de ArcGIS no devuelve la provincia, así que la asignamos manualmente
 * usando conocimiento geográfico. Las claves son los slugs generados con
 * generateSlug(embalse_nombre), lo que evita problemas de tildes,
 * mayúsculas/minúsculas y caracteres especiales.
 */
export const embalseProvincias = new Map<string, string>([
  ["acena", "Zamora"],
  ["agavanzal-n-a-s-a-de", "Zamora"],
  ["agrio-aznalcollar", "Sevilla"],
  ["aguascebas", "Jaén"],
  ["agueda", "Salamanca"],
  ["aguijon-el", "Ciudad Real"],

Here we should replace the province names with consts, the good thing, we can do this using some IA stuff, since provinces is something that is not going to change (well uuhh... who knows hehehee), we can play hard.

We can create a list of consts, and then replace then in the ArcGis, then create an array of provinces.

Going AI wise it could be something like:

packages/db-model/src/provinces.ts

export const ALAVA = "Álava";
export const ALBACETE = "Albacete";
export const ALICANTE = "Alicante";
export const ALMERIA = "Almería";
export const A_CORUNA = "A Coruña";
export const ASTURIAS = "Asturias";
export const AVILA = "Ávila";
export const BADAJOZ = "Badajoz";
export const BALEARES = "Baleares";
export const BARCELONA = "Barcelona";
export const BURGOS = "Burgos";
export const CACERES = "Cáceres";
export const CADIZ = "Cádiz";
export const CANTABRIA = "Cantabria";
export const CASTELLON = "Castellón";
export const CIUDAD_REAL = "Ciudad Real";
export const CORDOBA = "Córdoba";
export const CUENCA = "Cuenca";
export const GIRONA = "Girona";
export const GRANADA = "Granada";
export const GUADALAJARA = "Guadalajara";
export const GUIPUZCOA = "Guipúzcoa";
export const HUELVA = "Huelva";
export const HUESCA = "Huesca";
export const JAEN = "Jaén";
export const LA_RIOJA = "La Rioja";
export const LAS_PALMAS = "Las Palmas";
export const LEON = "León";
export const LLEIDA = "Lleida";
export const LUGO = "Lugo";
export const MADRID = "Madrid";
export const MALAGA = "Málaga";
export const MURCIA = "Murcia";
export const NAVARRA = "Navarra";
export const OURENSE = "Ourense";
export const PALENCIA = "Palencia";
export const PONTEVEDRA = "Pontevedra";
export const SALAMANCA = "Salamanca";
export const SANTA_CRUZ_DE_TENERIFE = "Santa Cruz de Tenerife";
export const SEGOVIA = "Segovia";
export const SEVILLA = "Sevilla";
export const SORIA = "Soria";
export const TARRAGONA = "Tarragona";
export const TERUEL = "Teruel";
export const TOLEDO = "Toledo";
export const VALENCIA = "Valencia";
export const VALLADOLID = "Valladolid";
export const VIZCAYA = "Vizcaya";
export const ZAMORA = "Zamora";
export const ZARAGOZA = "Zaragoza";

export const PROVINCES = [
  A_CORUNA,
  ALAVA,
  ALBACETE,
  ALICANTE,
  ALMERIA,
  ASTURIAS,
  AVILA,
  BADAJOZ,
  BALEARES,
  BARCELONA,
  BURGOS,
  CACERES,
  CADIZ,
  CANTABRIA,
  CASTELLON,
  CIUDAD_REAL,
  CORDOBA,
  CUENCA,
  GIRONA,
  GRANADA,
  GUADALAJARA,
  GUIPUZCOA,
  HUELVA,
  HUESCA,
  JAEN,
  LA_RIOJA,
  LAS_PALMAS,
  LEON,
  LLEIDA,
  LUGO,
  MADRID,
  MALAGA,
  MURCIA,
  NAVARRA,
  OURENSE,
  PALENCIA,
  PONTEVEDRA,
  SALAMANCA,
  SANTA_CRUZ_DE_TENERIFE,
  SEGOVIA,
  SEVILLA,
  SORIA,
  TARRAGONA,
  TERUEL,
  TOLEDO,
  VALENCIA,
  VALLADOLID,
  VIZCAYA,
  ZAMORA,
  ZARAGOZA,
] as const;

And use it in the ARCGis integration

integrations/arcgis/src/embalse-provincias.ts

import {
  A_CORUNA,
  ALAVA,
  ALBACETE,
  ALICANTE,
  ALMERIA,
  ASTURIAS,
  AVILA,
  BADAJOZ,
  BARCELONA,
  BURGOS,
  CACERES,
  CADIZ,
  CANTABRIA,
  CASTELLON,
  CIUDAD_REAL,
  CORDOBA,
  CUENCA,
  GIRONA,
  GRANADA,
  GUADALAJARA,
  GUIPUZCOA,
  HUELVA,
  HUESCA,
  JAEN,
  LA_RIOJA,
  LEON,
  LLEIDA,
  LUGO,
  MADRID,
  MALAGA,
  MURCIA,
  NAVARRA,
  OURENSE,
  PALENCIA,
  PONTEVEDRA,
  SALAMANCA,
  SEGOVIA,
  SEVILLA,
  SORIA,
  TARRAGONA,
  TERUEL,
  TOLEDO,
  VALENCIA,
  VIZCAYA,
  ZAMORA,
  ZARAGOZA,
} from "db-model";

/**
 * Mapa hardcodeado de slug → provincia.
 *
 * El API de ArcGIS no devuelve la provincia, así que la asignamos manualmente
 * usando conocimiento geográfico. Las claves son los slugs generados con
 * generateSlug(embalse_nombre), lo que evita problemas de tildes,
 * mayúsculas/minúsculas y caracteres especiales.
 */
export const embalseProvincias = new Map<string, string>([
  ["acena", ZAMORA],
  ["agavanzal-n-a-s-a-de", ZAMORA],
  ["agrio-aznalcollar", SEVILLA],
  ["aguascebas", JAEN],
  ["agueda", SALAMANCA],
  ["aguijon-el", CIUDAD_REAL],
  ["aguilar", CORDOBA],
  ["alange", BADAJOZ],
  ["alarcon", CUENCA],
  ["albarellos", OURENSE],
  ["albina", ALAVA],
  ["alcala-del-rio", SEVILLA],
  ["alcaniz-estanca", TERUEL],
  ["alcantara", CACERES],
  ["alcollarin", CACERES],
  ["alcorlo", GUADALAJARA],
  ["aldeadavila", SALAMANCA],
  ["alfilorios", ASTURIAS],
  ["alfonso-xiii", MURCIA],
  ["algar", CADIZ],
  ["algeciras", MURCIA],
  ["alloz", NAVARRA],
  ["almendra", SALAMANCA],
  ["almodovar", CORDOBA],
  ["almoguera", GUADALAJARA],
  ["alsa-mediajo", CANTABRIA],
  ["amadorio", ALICANTE],
  ["anarbe", GUIPUZCOA],
  ["anchuricas", JAEN],
  ["andevalo", HUELVA],
  ["aracena", HUELVA],
  ["arbon", ASTURIAS],
  ["arcos-de-la-frontera", CADIZ],
  ["arenos", BARCELONA],
  ["arenoso", CORDOBA],
  ["argos", MURCIA],
  ["arlanzon", BURGOS],
  ["arquillo-de-san-blas", TERUEL],
  ["atance-el", GUADALAJARA],
  ["atazar-el", MADRID],
  ["azutan", TOLEDO],
  ["bachimana-lago", HUESCA],
  ["banos", GRANADA],
  ["bao", OURENSE],
  ["barasona", HUESCA],
  ["barbate", CADIZ],
  ["barca-la", PONTEVEDRA],
  ["barcena", LEON],
  ["barrie-de-la-maza", A_CORUNA],
  ["barrios-de-luna", LEON],
  ["baserca", HUESCA],
  ["belena", GUADALAJARA],
  ["belesar", LUGO],
  ["bellus", VALENCIA],
  ["bembezar", CORDOBA],
  ["benageber", VALENCIA],
  ["beniarres", ALICANTE],
  ["beninar", ALMERIA],
  ["bermejales", GRANADA],
  ["beznar", GRANADA],
  ["boadella", GIRONA],
  ["bolarque", GUADALAJARA],
  ["bolera-la", JAEN],
  ["boqueron", SEVILLA],
  ["borbollon", CACERES],
  ["bornos", CADIZ],
  ["bramatuero-alto", HUESCA],
  ["brena-ii-la", CORDOBA],
  ["brena-la", CORDOBA],
  ["brovales", BADAJOZ],
  ["bubal", HUESCA],
  ["buendia", CUENCA],
  ["burdalo", CACERES],
  ["burgomillodo", SEGOVIA],
  ["burguillo-puente-nuevo", AVILA],
  ["buseo", VALENCIA],
  ["caceres-guadiloba", CACERES],
  ["cala", SEVILLA],
  ["calanda", TERUEL],
  ["camarasa", LLEIDA],
  ["camarillas", TERUEL],
  ["campanana-la", JAEN],
  ["camporredondo", PALENCIA],
  ["canales", GRANADA],
  ["canchales", BADAJOZ],
  ["cancho-del-fresno", CACERES],
  ["canelles", HUESCA],
  ["canon-de-santolea", TERUEL],
  ["cantillana", SEVILLA],
  ["carpio-el", CORDOBA],
  ["casares-de-arbas", LEON],
  ["casasola", SALAMANCA],
  ["caspe", ZARAGOZA],
  ["castilseras", CIUDAD_REAL],
  ["castrejon", TOLEDO],
  ["castrelo", OURENSE],
  ["castro", LUGO],
  ["castro-de-las-cogotas", AVILA],
  ["castro-el", OURENSE],
  ["catllar", TARRAGONA],
  ["cavallers", LLEIDA],
  ["cazalegas", TOLEDO],
  ["cecebre", A_CORUNA],
  ["cedillo", CACERES],
  ["celemin", CADIZ],
  ["cenajo", ALBACETE],
  ["cenza", ASTURIAS],
  ["cernadilla", ZAMORA],
  ["certescans", LLEIDA],
  ["cervera", CACERES],
  ["chandrexa", OURENSE],
  ["chanza", HUELVA],
  ["charco-redondo", CADIZ],
  ["cierva-la", MURCIA],
  ["cijara", BADAJOZ],
  ["ciurana", TARRAGONA],
  ["cohilla-la", CANTABRIA],
  ["colomera", GRANADA],
  ["compuerto", PALENCIA],
  ["concepcion", JAEN],
  ["conchas-las", OURENSE],
  ["conde-guadalhorce", MALAGA],
  ["contreras", CUENCA],
  ["cordobilla", CORDOBA],
  ["cornalbo", BADAJOZ],
  ["cortes-ii", VALENCIA],
  ["corumbel-bajo", HUELVA],
  ["crevillente", ALICANTE],
  ["cubilar", LUGO],
  ["cubillas", GRANADA],
  ["cuerda-del-pozo", SORIA],
  ["cueva-foradada", TERUEL],
  ["cuevas-de-almanzora", ALMERIA],
  ["derivacion-retortillo", SALAMANCA],
  ["doiras", ASTURIAS],
  ["dona-aldonza", CIUDAD_REAL],
  ["ebro", CANTABRIA],
  ["edrada-mao", LUGO],
  ["eiras", PONTEVEDRA],
  ["el-naranjero", HUELVA],
  ["el-portillo", BADAJOZ],
  ["el-vicario", CIUDAD_REAL],
  ["encinarejo", CORDOBA],
  ["enciso", LA_RIOJA],
  ["entrepenas", GUADALAJARA],
  ["escales", HUESCA],
  ["escalona", HUESCA],
  ["escarra", HUESCA],
  ["eugui", NAVARRA],
  ["eume", A_CORUNA],
  ["fernandina-la", CACERES],
  ["fervenza", A_CORUNA],
  ["finisterre", CACERES],
  ["foix", BARCELONA],
  ["forata", VALENCIA],
  ["forcadas-as", PONTEVEDRA],
  ["francisco-abellan", GRANADA],
  ["fresneda", SORIA],
  ["frieira", OURENSE],
  ["fuensanta", ALBACETE],
  ["gabriel-y-galan", CACERES],
  ["garcia-de-sola", BADAJOZ],
  ["gargaligas", BADAJOZ],
  ["gasset", CIUDAD_REAL],
  ["gergal", ALMERIA],
  ["giribaile", JAEN],
  ["gonzalez-lacasa", LA_RIOJA],
  ["grado-el", HUESCA],
  ["guadalcacin-ii", CADIZ],
  ["guadalen", JAEN],
  ["guadalest", ALICANTE],
  ["guadalhorce-guadalteba", MALAGA],
  ["guadalmellato", CORDOBA],
  ["guadalmena", JAEN],
  ["guadarranque", CADIZ],
  ["guajaraz", TOLEDO],
  ["guiamets", TARRAGONA],
  ["guijo-de-granadilla", CACERES],
  ["guillena", SEVILLA],
  ["guistolas", OURENSE],
  ["hornachuelos", CORDOBA],
  ["horno-tejero", AVILA],
  ["huesna", SEVILLA],
  ["hurones-los", CADIZ],
  ["ibai-eder", GUIPUZCOA],
  ["ibiur", GUIPUZCOA],
  ["ip", HUESCA],
  ["irabia", NAVARRA],
  ["iruena", SORIA],
  ["itoiz", NAVARRA],
  ["iznajar", CORDOBA],
  ["jandula", JAEN],
  ["jarosa-la", CORDOBA],
  ["jarrama", BADAJOZ],
  ["jerte-plasencia", CACERES],
  ["jose-toran", GUADALAJARA],
  ["la-baells", BARCELONA],
  ["la-cabezuela", ALMERIA],
  ["la-colada", BADAJOZ],
  ["la-llosa-del-cavall", LLEIDA],
  ["la-muela", JAEN],
  ["la-pedrera", ALICANTE],
  ["la-serena", BADAJOZ],
  ["la-toba", CUENCA],
  ["lanuza", HUESCA],
  ["las-fitas", HUESCA],
  ["laverne", BARCELONA],
  ["lechago", TERUEL],
  ["limonero", MALAGA],
  ["linares-del-arroyo", SEGOVIA],
  ["llauset", HUESCA],
  ["llerena", BADAJOZ],
  ["loriguilla", VALENCIA],
  ["los-machos", HUELVA],
  ["los-molinos", MADRID],
  ["loteta-la", ZARAGOZA],
  ["maidevera", ZARAGOZA],
  ["malpasillo-jauja", CORDOBA],
  ["mansilla", LA_RIOJA],
  ["mar-lago", LEON],
  ["maria-cristina", CASTELLON],
  ["marmolejo", JAEN],
  ["martin-gonzalo", CORDOBA],
  ["matalavilla", LEON],
  ["mediano", HUESCA],
  ["melonares-los", SEVILLA],
  ["mequinenza", ZARAGOZA],
  ["minilla-la", SEVILLA],
  ["molino-de-chincha", CADIZ],
  ["moneva", ZARAGOZA],
  ["monteagudo", MURCIA],
  ["montearagon", HUESCA],
  ["montefurado", LUGO],
  ["montijo", BADAJOZ],
  ["montoro", CIUDAD_REAL],
  ["nagore", NAVARRA],
  ["navacerrada", MADRID],
  ["navalcan", TOLEDO],
  ["navamuno", CACERES],
  ["negratin", GRANADA],
  ["negro-lago", HUESCA],
  ["nogales", BADAJOZ],
  ["odiel", HUELVA],
  ["oliana", LLEIDA],
  ["olivargas", A_CORUNA],
  ["ordunte", VIZCAYA],
  ["orellana", BADAJOZ],
  ["pajares", JAEN],
  ["palmaces", GUADALAJARA],
  ["pardo-el", MADRID],
  ["parras-las", JAEN],
  ["peares-os", OURENSE],
  ["pedro-marin", JAEN],
  ["pena", OURENSE],
  ["pena-la", HUESCA],
  ["penarroya", CIUDAD_REAL],
  ["penarrubia", CANTABRIA],
  ["pias-san-agustin", OURENSE],
  ["picadas", MADRID],
  ["piedra-aguda", PONTEVEDRA],
  ["piedras", HUELVA],
  ["pinilla", MADRID],
  ["pintado-el", SEVILLA],
  ["ponton-alto-el", SEGOVIA],
  ["porma-juan-benet", LEON],
  ["portaje", CACERES],
  ["portas-las", OURENSE],
  ["portina-la", CACERES],
  ["portodemouros", A_CORUNA],
  ["prada", LEON],
  ["proserpina", BADAJOZ],
  ["pto-vallehermoso", CORDOBA],
  ["puebla-de-cazalla", SEVILLA],
  ["puente-de-santolea", TERUEL],
  ["puente-nuevo", CORDOBA],
  ["puente-porto", ZAMORA],
  ["puentes", MURCIA],
  ["puentes-viejas", MADRID],
  ["quentar", GRANADA],
  ["quiebrajano", JAEN],
  ["rabanos", SORIA],
  ["regajo", CASTELLON],
  ["requejada", PALENCIA],
  ["respomuso", HUESCA],
  ["retortillo", SALAMANCA],
  ["rialb", LLEIDA],
  ["riano", LEON],
  ["ribarroja", TARRAGONA],
  ["ribeira-a", LUGO],
  ["ricobayo", ZAMORA],
  ["riocobo", CACERES],
  ["rioseco", LEON],
  ["riosequillo", MADRID],
  ["riudecanyes", TARRAGONA],
  ["rivera-de-gata", CACERES],
  ["rosarito", CACERES],
  ["rozas-las", LEON],
  ["ruecas", BADAJOZ],
  ["rules", GRANADA],
  ["rumblar", JAEN],
  ["saburo-lago", HUESCA],
  ["salas", ASTURIAS],
  ["salime", ASTURIAS],
  ["sallente", LLEIDA],
  ["salor", CACERES],
  ["san-anton", ALMERIA],
  ["san-bartolome", HUELVA],
  ["san-clemente", HUELVA],
  ["san-jose", ALMERIA],
  ["san-juan", MADRID],
  ["san-lorenzo", HUELVA],
  ["san-martino", PONTEVEDRA],
  ["san-pedro", JAEN],
  ["san-rafael-de-navallana", CORDOBA],
  ["san-salvador", ZAMORA],
  ["san-sebastian", JAEN],
  ["san-estevo", OURENSE],
  ["sancho", HUELVA],
  ["sant-pons", BARCELONA],
  ["santa-ana", HUESCA],
  ["santa-eulalia", CACERES],
  ["santa-maria-de-belsue", HUESCA],
  ["santa-teresa", SALAMANCA],
  ["santillana", CANTABRIA],
  ["santolea", TERUEL],
  ["santomera", MURCIA],
  ["sau", BARCELONA],
  ["saucelle", SALAMANCA],
  ["sequeiros", OURENSE],
  ["serones", ALMERIA],
  ["sichar", HUESCA],
  ["sierra-boyera", CORDOBA],
  ["sierra-brava", CACERES],
  ["siles", JAEN],
  ["sistema-aguas-limpias", HUESCA],
  ["sistema-alto-caldares", HUESCA],
  ["sistema-capdella", LLEIDA],
  ["sistema-escarra", HUESCA],
  ["sistema-lagos-espot", LLEIDA],
  ["sistema-valle-de-aran", LLEIDA],
  ["sobron", BURGOS],
  ["somiedo-lagos", ASTURIAS],
  ["sotonera", HUESCA],
  ["sta-uxia", A_CORUNA],
  ["susqueda", GIRONA],
  ["taibilla", ALBACETE],
  ["tajera-la", GUADALAJARA],
  ["talave", ALBACETE],
  ["tanes", ASTURIAS],
  ["tentudia", BADAJOZ],
  ["terradets", LLEIDA],
  ["terroba", LA_RIOJA],
  ["torcas-las", CUENCA],
  ["torcon", TOLEDO],
  ["torre-de-abraham", CIUDAD_REAL],
  ["torre-del-aguila", SEVILLA],
  ["torrejon-tajo-tietar", CACERES],
  ["tort-lago", LLEIDA],
  ["tous-la-ribera", VALENCIA],
  ["tranco-de-beas", JAEN],
  ["tranquera-la", ZARAGOZA],
  ["tremp-o-talarn", LLEIDA],
  ["ulldecona", CASTELLON],
  ["ullivarri", ALAVA],
  ["urdalur", NAVARRA],
  ["urdiceto", HUESCA],
  ["urkulu", GUIPUZCOA],
  ["urrunaga", ALAVA],
  ["uzquiza", BURGOS],
  ["vadiello", HUESCA],
  ["vado-el", GUADALAJARA],
  ["vadomojon", JAEN],
  ["val-el", ZARAGOZA],
  ["valdecanas", CACERES],
  ["valdeinfierno", MURCIA],
  ["valdeobispo", CACERES],
  ["valdepatao", HUESCA],
  ["valmayor", MADRID],
  ["valparaiso", ZAMORA],
  ["valuengo", BADAJOZ],
  ["vega-del-jabalon", CIUDAD_REAL],
  ["velle", OURENSE],
  ["vellon-el-pedrezuela", MADRID],
  ["vencias-las", LEON],
  ["viboras", JAEN],
  ["vilasouto", LUGO],
  ["villafranca", CORDOBA],
  ["villagonzalo", BADAJOZ],
  ["villagudin", LUGO],
  ["villalba-de-los-barros", BADAJOZ],
  ["villalcampo", ZAMORA],
  ["villameca", LEON],
  ["villar-del-rey", BADAJOZ],
  ["villar-el", JAEN],
  ["vinuela-la", MALAGA],
  ["yeguas", CORDOBA],
  ["yesa", NAVARRA],
  ["zahara-el-gastor", CADIZ],
  ["zocueca", JAEN],
  ["zufre", HUELVA],
  ["zujar", GRANADA],
]);

Then later on we can use the list in the list of provinces pages / pod

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions