Add game category and region metadata for genlocke presets
Add `category` field (original/remake/enhanced/sequel/spinoff) to the Game model and tag all 38 games. Create regions.json with generation mapping, ordering, and genlocke preset defaults per region. Add GET /games/by-region endpoint returning games grouped by region. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"slug": "alpha-sapphire",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"category": "remake",
|
||||
"release_year": 2014,
|
||||
"color": "#26649C"
|
||||
},
|
||||
@@ -12,6 +13,7 @@
|
||||
"slug": "black",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"category": "original",
|
||||
"release_year": 2010,
|
||||
"color": "#444444"
|
||||
},
|
||||
@@ -20,6 +22,7 @@
|
||||
"slug": "black-2",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"category": "sequel",
|
||||
"release_year": 2012,
|
||||
"color": "#424B50"
|
||||
},
|
||||
@@ -28,6 +31,7 @@
|
||||
"slug": "blue",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"category": "original",
|
||||
"release_year": 1996,
|
||||
"color": "#1111FF"
|
||||
},
|
||||
@@ -36,6 +40,7 @@
|
||||
"slug": "brilliant-diamond",
|
||||
"generation": 8,
|
||||
"region": "sinnoh",
|
||||
"category": "remake",
|
||||
"release_year": 2021,
|
||||
"color": "#44BAE5"
|
||||
},
|
||||
@@ -44,6 +49,7 @@
|
||||
"slug": "crystal",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"category": "enhanced",
|
||||
"release_year": 2000,
|
||||
"color": "#4FD9FF"
|
||||
},
|
||||
@@ -52,6 +58,7 @@
|
||||
"slug": "diamond",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"category": "original",
|
||||
"release_year": 2006,
|
||||
"color": "#AAAAFF"
|
||||
},
|
||||
@@ -60,6 +67,7 @@
|
||||
"slug": "emerald",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"category": "enhanced",
|
||||
"release_year": 2005,
|
||||
"color": "#00A000"
|
||||
},
|
||||
@@ -68,6 +76,7 @@
|
||||
"slug": "firered",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"category": "remake",
|
||||
"release_year": 2004,
|
||||
"color": "#FF7327"
|
||||
},
|
||||
@@ -76,6 +85,7 @@
|
||||
"slug": "gold",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"category": "original",
|
||||
"release_year": 1999,
|
||||
"color": "#DAA520"
|
||||
},
|
||||
@@ -84,6 +94,7 @@
|
||||
"slug": "heartgold",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"category": "remake",
|
||||
"release_year": 2010,
|
||||
"color": "#B69E00"
|
||||
},
|
||||
@@ -92,6 +103,7 @@
|
||||
"slug": "leafgreen",
|
||||
"generation": 3,
|
||||
"region": "kanto",
|
||||
"category": "remake",
|
||||
"release_year": 2004,
|
||||
"color": "#00DD00"
|
||||
},
|
||||
@@ -100,6 +112,7 @@
|
||||
"slug": "legends-arceus",
|
||||
"generation": 8,
|
||||
"region": "hisui",
|
||||
"category": "spinoff",
|
||||
"release_year": 2022,
|
||||
"color": "#36597B"
|
||||
},
|
||||
@@ -108,6 +121,7 @@
|
||||
"slug": "legends-z-a",
|
||||
"generation": 9,
|
||||
"region": "lumiose",
|
||||
"category": "spinoff",
|
||||
"release_year": 2025,
|
||||
"color": "#3A7BDB"
|
||||
},
|
||||
@@ -116,6 +130,7 @@
|
||||
"slug": "lets-go-eevee",
|
||||
"generation": 7,
|
||||
"region": "kanto",
|
||||
"category": "remake",
|
||||
"release_year": 2018,
|
||||
"color": "#D4924B"
|
||||
},
|
||||
@@ -124,6 +139,7 @@
|
||||
"slug": "lets-go-pikachu",
|
||||
"generation": 7,
|
||||
"region": "kanto",
|
||||
"category": "remake",
|
||||
"release_year": 2018,
|
||||
"color": "#F5DA00"
|
||||
},
|
||||
@@ -132,6 +148,7 @@
|
||||
"slug": "moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"category": "original",
|
||||
"release_year": 2016,
|
||||
"color": "#5599CA"
|
||||
},
|
||||
@@ -140,6 +157,7 @@
|
||||
"slug": "omega-ruby",
|
||||
"generation": 6,
|
||||
"region": "hoenn",
|
||||
"category": "remake",
|
||||
"release_year": 2014,
|
||||
"color": "#CF3025"
|
||||
},
|
||||
@@ -148,6 +166,7 @@
|
||||
"slug": "pearl",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"category": "original",
|
||||
"release_year": 2006,
|
||||
"color": "#FFAAAA"
|
||||
},
|
||||
@@ -156,6 +175,7 @@
|
||||
"slug": "platinum",
|
||||
"generation": 4,
|
||||
"region": "sinnoh",
|
||||
"category": "enhanced",
|
||||
"release_year": 2008,
|
||||
"color": "#999999"
|
||||
},
|
||||
@@ -164,6 +184,7 @@
|
||||
"slug": "red",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"category": "original",
|
||||
"release_year": 1996,
|
||||
"color": "#FF1111"
|
||||
},
|
||||
@@ -172,6 +193,7 @@
|
||||
"slug": "ruby",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"category": "original",
|
||||
"release_year": 2002,
|
||||
"color": "#A00000"
|
||||
},
|
||||
@@ -180,6 +202,7 @@
|
||||
"slug": "sapphire",
|
||||
"generation": 3,
|
||||
"region": "hoenn",
|
||||
"category": "original",
|
||||
"release_year": 2002,
|
||||
"color": "#0000A0"
|
||||
},
|
||||
@@ -188,6 +211,7 @@
|
||||
"slug": "scarlet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"category": "original",
|
||||
"release_year": 2022,
|
||||
"color": "#F93C3C"
|
||||
},
|
||||
@@ -196,6 +220,7 @@
|
||||
"slug": "shield",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"category": "original",
|
||||
"release_year": 2019,
|
||||
"color": "#EF3B6E"
|
||||
},
|
||||
@@ -204,6 +229,7 @@
|
||||
"slug": "shining-pearl",
|
||||
"generation": 8,
|
||||
"region": "sinnoh",
|
||||
"category": "remake",
|
||||
"release_year": 2021,
|
||||
"color": "#E18AAA"
|
||||
},
|
||||
@@ -212,6 +238,7 @@
|
||||
"slug": "silver",
|
||||
"generation": 2,
|
||||
"region": "johto",
|
||||
"category": "original",
|
||||
"release_year": 1999,
|
||||
"color": "#C0C0C0"
|
||||
},
|
||||
@@ -220,6 +247,7 @@
|
||||
"slug": "soulsilver",
|
||||
"generation": 4,
|
||||
"region": "johto",
|
||||
"category": "remake",
|
||||
"release_year": 2010,
|
||||
"color": "#C0C0E0"
|
||||
},
|
||||
@@ -228,6 +256,7 @@
|
||||
"slug": "sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"category": "original",
|
||||
"release_year": 2016,
|
||||
"color": "#F1912B"
|
||||
},
|
||||
@@ -236,6 +265,7 @@
|
||||
"slug": "sword",
|
||||
"generation": 8,
|
||||
"region": "galar",
|
||||
"category": "original",
|
||||
"release_year": 2019,
|
||||
"color": "#00D4E7"
|
||||
},
|
||||
@@ -244,6 +274,7 @@
|
||||
"slug": "ultra-moon",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"category": "enhanced",
|
||||
"release_year": 2017,
|
||||
"color": "#204E8C"
|
||||
},
|
||||
@@ -252,6 +283,7 @@
|
||||
"slug": "ultra-sun",
|
||||
"generation": 7,
|
||||
"region": "alola",
|
||||
"category": "enhanced",
|
||||
"release_year": 2017,
|
||||
"color": "#E95B2B"
|
||||
},
|
||||
@@ -260,6 +292,7 @@
|
||||
"slug": "violet",
|
||||
"generation": 9,
|
||||
"region": "paldea",
|
||||
"category": "original",
|
||||
"release_year": 2022,
|
||||
"color": "#A96EEC"
|
||||
},
|
||||
@@ -268,6 +301,7 @@
|
||||
"slug": "white",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"category": "original",
|
||||
"release_year": 2010,
|
||||
"color": "#E1E1E1"
|
||||
},
|
||||
@@ -276,6 +310,7 @@
|
||||
"slug": "white-2",
|
||||
"generation": 5,
|
||||
"region": "unova",
|
||||
"category": "sequel",
|
||||
"release_year": 2012,
|
||||
"color": "#E3CED0"
|
||||
},
|
||||
@@ -284,6 +319,7 @@
|
||||
"slug": "x",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"category": "original",
|
||||
"release_year": 2013,
|
||||
"color": "#025DA6"
|
||||
},
|
||||
@@ -292,6 +328,7 @@
|
||||
"slug": "y",
|
||||
"generation": 6,
|
||||
"region": "kalos",
|
||||
"category": "original",
|
||||
"release_year": 2013,
|
||||
"color": "#EA1A3E"
|
||||
},
|
||||
@@ -300,6 +337,7 @@
|
||||
"slug": "yellow",
|
||||
"generation": 1,
|
||||
"region": "kanto",
|
||||
"category": "enhanced",
|
||||
"release_year": 1998,
|
||||
"color": "#FFD733"
|
||||
}
|
||||
|
||||
83
backend/src/app/seeds/data/regions.json
Normal file
83
backend/src/app/seeds/data/regions.json
Normal file
@@ -0,0 +1,83 @@
|
||||
[
|
||||
{
|
||||
"name": "kanto",
|
||||
"generation": 1,
|
||||
"order": 1,
|
||||
"genlocke_defaults": {
|
||||
"true": "red",
|
||||
"normal": "firered"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "johto",
|
||||
"generation": 2,
|
||||
"order": 2,
|
||||
"genlocke_defaults": {
|
||||
"true": "gold",
|
||||
"normal": "heartgold"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hoenn",
|
||||
"generation": 3,
|
||||
"order": 3,
|
||||
"genlocke_defaults": {
|
||||
"true": "ruby",
|
||||
"normal": "alpha-sapphire"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "sinnoh",
|
||||
"generation": 4,
|
||||
"order": 4,
|
||||
"genlocke_defaults": {
|
||||
"true": "diamond",
|
||||
"normal": "platinum"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "unova",
|
||||
"generation": 5,
|
||||
"order": 5,
|
||||
"genlocke_defaults": {
|
||||
"true": "black",
|
||||
"normal": "black"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kalos",
|
||||
"generation": 6,
|
||||
"order": 6,
|
||||
"genlocke_defaults": {
|
||||
"true": "x",
|
||||
"normal": "x"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "alola",
|
||||
"generation": 7,
|
||||
"order": 7,
|
||||
"genlocke_defaults": {
|
||||
"true": "sun",
|
||||
"normal": "ultra-sun"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "galar",
|
||||
"generation": 8,
|
||||
"order": 8,
|
||||
"genlocke_defaults": {
|
||||
"true": "sword",
|
||||
"normal": "sword"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "paldea",
|
||||
"generation": 9,
|
||||
"order": 9,
|
||||
"genlocke_defaults": {
|
||||
"true": "scarlet",
|
||||
"normal": "scarlet"
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user