diff --git a/app/data/maps.csv b/app/data/maps.csv index 94560c06..53d16fb2 100644 --- a/app/data/maps.csv +++ b/app/data/maps.csv @@ -38,4 +38,5 @@ esperanca,Esperança,push,Portugal,PT new_queen_street,New Queen Street,push,"Toronto, Canada",CA antarctic_peninsula,Antarctic Peninsula,control,Antarctica,AQ new_junk_city,New Junk City,flashpoint,Central Australia,AU -suravasa,Suravasa,flashpoint,India,IN \ No newline at end of file +suravasa,Suravasa,flashpoint,India,IN +samoa,Samoa,control,Samoa,WS \ No newline at end of file diff --git a/app/main.py b/app/main.py index f1790675..b7a0fe1f 100644 --- a/app/main.py +++ b/app/main.py @@ -38,7 +38,10 @@ async def lifespan(_: FastAPI): # pragma: no cover - **percent values** are exposed as **integers** instead of a string with a percent symbol - integer and float string representations are converted into the concerned type -Swagger UI (useful for trying API calls) : {settings.app_base_url}/docs""" +Swagger UI (useful for trying API calls) : {settings.app_base_url}/docs + +Status page : https://stats.uptimerobot.com/E0k0yU1pJQ +""" def custom_openapi(): # pragma: no cover diff --git a/pyproject.toml b/pyproject.toml index 3a16bb54..c121da2f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "overfast-api" -version = "2.19.4" +version = "2.20.0" description = "Overwatch API giving data about heroes, maps, and players statistics." license = "MIT" authors = ["TeKrop "] diff --git a/static/maps/samoa.jpg b/static/maps/samoa.jpg new file mode 100644 index 00000000..d4589d98 Binary files /dev/null and b/static/maps/samoa.jpg differ diff --git a/tests/fixtures/json/maps.json b/tests/fixtures/json/maps.json index e843c706..2eb1abd6 100644 --- a/tests/fixtures/json/maps.json +++ b/tests/fixtures/json/maps.json @@ -1 +1 @@ -[{"name":"Hanamura","screenshot":"https://overfast-api.tekrop.fr/static/maps/hanamura.jpg","gamemodes":["assault"],"location":"Tokyo, Japan","country_code":"JP"},{"name":"Horizon Lunar Colony","screenshot":"https://overfast-api.tekrop.fr/static/maps/horizon.jpg","gamemodes":["assault"],"location":"Earth's moon","country_code":null},{"name":"Paris","screenshot":"https://overfast-api.tekrop.fr/static/maps/paris.jpg","gamemodes":["assault"],"location":"Paris, France","country_code":"FR"},{"name":"Temple of Anubis","screenshot":"https://overfast-api.tekrop.fr/static/maps/anubis.jpg","gamemodes":["assault"],"location":"Giza Plateau, Egypt","country_code":"EG"},{"name":"Volskaya Industries","screenshot":"https://overfast-api.tekrop.fr/static/maps/volskaya.jpg","gamemodes":["assault"],"location":"St. Petersburg, Russia","country_code":"RU"},{"name":"Ayutthaya","screenshot":"https://overfast-api.tekrop.fr/static/maps/ayutthaya.jpg","gamemodes":["capture-the-flag"],"location":"Thailand","country_code":"TH"},{"name":"Busan","screenshot":"https://overfast-api.tekrop.fr/static/maps/busan.jpg","gamemodes":["control"],"location":"South Korea","country_code":"KR"},{"name":"Nepal","screenshot":"https://overfast-api.tekrop.fr/static/maps/nepal.jpg","gamemodes":["control"],"location":"Nepal","country_code":"NP"},{"name":"Ilios","screenshot":"https://overfast-api.tekrop.fr/static/maps/ilios.jpg","gamemodes":["control"],"location":"Greece","country_code":"GR"},{"name":"Oasis","screenshot":"https://overfast-api.tekrop.fr/static/maps/oasis.jpg","gamemodes":["control"],"location":"Iraq","country_code":"IQ"},{"name":"Lijiang Tower","screenshot":"https://overfast-api.tekrop.fr/static/maps/lijiang.jpg","gamemodes":["control"],"location":"China","country_code":"CN"},{"name":"Château Guillard","screenshot":"https://overfast-api.tekrop.fr/static/maps/chateau_guillard.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Annecy, France","country_code":"FR"},{"name":"Kanezaka","screenshot":"https://overfast-api.tekrop.fr/static/maps/kanezaka.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Tokyo, Japan","country_code":"JP"},{"name":"Malevento","screenshot":"https://overfast-api.tekrop.fr/static/maps/malevento.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Italy","country_code":"IT"},{"name":"Petra","screenshot":"https://overfast-api.tekrop.fr/static/maps/petra.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Southern Jordan","country_code":"JO"},{"name":"Black Forest","screenshot":"https://overfast-api.tekrop.fr/static/maps/black_forest.jpg","gamemodes":["elimination"],"location":"Germany","country_code":"DE"},{"name":"Castillo","screenshot":"https://overfast-api.tekrop.fr/static/maps/castillo.jpg","gamemodes":["elimination"],"location":"Mexico","country_code":"MX"},{"name":"Ecopoint: Antarctica","screenshot":"https://overfast-api.tekrop.fr/static/maps/ecopoint_antarctica.jpg","gamemodes":["elimination"],"location":"Antarctica","country_code":"AQ"},{"name":"Necropolis","screenshot":"https://overfast-api.tekrop.fr/static/maps/necropolis.jpg","gamemodes":["elimination"],"location":"Egypt","country_code":"EG"},{"name":"Circuit Royal","screenshot":"https://overfast-api.tekrop.fr/static/maps/circuit_royal.jpg","gamemodes":["escort"],"location":"Monte Carlo, Monaco","country_code":"MC"},{"name":"Dorado","screenshot":"https://overfast-api.tekrop.fr/static/maps/dorado.jpg","gamemodes":["escort"],"location":"Mexico","country_code":"MX"},{"name":"Route 66","screenshot":"https://overfast-api.tekrop.fr/static/maps/route_66.jpg","gamemodes":["escort"],"location":"Albuquerque, New Mexico, United States","country_code":"US"},{"name":"Junkertown","screenshot":"https://overfast-api.tekrop.fr/static/maps/junkertown.jpg","gamemodes":["escort"],"location":"Central Australia","country_code":"AU"},{"name":"Rialto","screenshot":"https://overfast-api.tekrop.fr/static/maps/rialto.jpg","gamemodes":["escort"],"location":"Venice, Italy","country_code":"IT"},{"name":"Havana","screenshot":"https://overfast-api.tekrop.fr/static/maps/havana.jpg","gamemodes":["escort"],"location":"Havana, Cuba","country_code":"CU"},{"name":"Watchpoint: Gibraltar","screenshot":"https://overfast-api.tekrop.fr/static/maps/gibraltar.jpg","gamemodes":["escort"],"location":"Gibraltar","country_code":"GI"},{"name":"Shambali Monastery","screenshot":"https://overfast-api.tekrop.fr/static/maps/shambali.jpg","gamemodes":["escort"],"location":"Nepal","country_code":"NP"},{"name":"Blizzard World","screenshot":"https://overfast-api.tekrop.fr/static/maps/blizzard_world.jpg","gamemodes":["hybrid"],"location":"Irvine, California, United States","country_code":"US"},{"name":"Numbani","screenshot":"https://overfast-api.tekrop.fr/static/maps/numbani.jpg","gamemodes":["hybrid"],"location":"Numbani (near Nigeria)","country_code":null},{"name":"Hollywood","screenshot":"https://overfast-api.tekrop.fr/static/maps/hollywood.jpg","gamemodes":["hybrid"],"location":"Los Angeles, United States","country_code":"US"},{"name":"Eichenwalde","screenshot":"https://overfast-api.tekrop.fr/static/maps/eichenwalde.jpg","gamemodes":["hybrid"],"location":"Stuttgart, Germany","country_code":"DE"},{"name":"King’s Row","screenshot":"https://overfast-api.tekrop.fr/static/maps/kings_row.jpg","gamemodes":["hybrid"],"location":"London, United Kingdom","country_code":"UK"},{"name":"Midtown","screenshot":"https://overfast-api.tekrop.fr/static/maps/midtown.jpg","gamemodes":["hybrid"],"location":"New York, United States","country_code":"US"},{"name":"Paraíso","screenshot":"https://overfast-api.tekrop.fr/static/maps/paraiso.jpg","gamemodes":["hybrid"],"location":"Rio de Janeiro, Brazil","country_code":"BR"},{"name":"Colosseo","screenshot":"https://overfast-api.tekrop.fr/static/maps/colosseo.jpg","gamemodes":["push"],"location":"Rome, Italy","country_code":"IT"},{"name":"Esperança","screenshot":"https://overfast-api.tekrop.fr/static/maps/esperanca.jpg","gamemodes":["push"],"location":"Portugal","country_code":"PT"},{"name":"New Queen Street","screenshot":"https://overfast-api.tekrop.fr/static/maps/new_queen_street.jpg","gamemodes":["push"],"location":"Toronto, Canada","country_code":"CA"},{"name":"Antarctic Peninsula","screenshot":"https://overfast-api.tekrop.fr/static/maps/antarctic_peninsula.jpg","gamemodes":["control"],"location":"Antarctica","country_code":"AQ"},{"name":"New Junk City","screenshot":"https://overfast-api.tekrop.fr/static/maps/new_junk_city.jpg","gamemodes":["flashpoint"],"location":"Central Australia","country_code":"AU"},{"name":"Suravasa","screenshot":"https://overfast-api.tekrop.fr/static/maps/suravasa.jpg","gamemodes":["flashpoint"],"location":"India","country_code":"IN"}] \ No newline at end of file +[{"name":"Hanamura","screenshot":"https://overfast-api.tekrop.fr/static/maps/hanamura.jpg","gamemodes":["assault"],"location":"Tokyo, Japan","country_code":"JP"},{"name":"Horizon Lunar Colony","screenshot":"https://overfast-api.tekrop.fr/static/maps/horizon.jpg","gamemodes":["assault"],"location":"Earth's moon","country_code":null},{"name":"Paris","screenshot":"https://overfast-api.tekrop.fr/static/maps/paris.jpg","gamemodes":["assault"],"location":"Paris, France","country_code":"FR"},{"name":"Temple of Anubis","screenshot":"https://overfast-api.tekrop.fr/static/maps/anubis.jpg","gamemodes":["assault"],"location":"Giza Plateau, Egypt","country_code":"EG"},{"name":"Volskaya Industries","screenshot":"https://overfast-api.tekrop.fr/static/maps/volskaya.jpg","gamemodes":["assault"],"location":"St. Petersburg, Russia","country_code":"RU"},{"name":"Ayutthaya","screenshot":"https://overfast-api.tekrop.fr/static/maps/ayutthaya.jpg","gamemodes":["capture-the-flag"],"location":"Thailand","country_code":"TH"},{"name":"Busan","screenshot":"https://overfast-api.tekrop.fr/static/maps/busan.jpg","gamemodes":["control"],"location":"South Korea","country_code":"KR"},{"name":"Nepal","screenshot":"https://overfast-api.tekrop.fr/static/maps/nepal.jpg","gamemodes":["control"],"location":"Nepal","country_code":"NP"},{"name":"Ilios","screenshot":"https://overfast-api.tekrop.fr/static/maps/ilios.jpg","gamemodes":["control"],"location":"Greece","country_code":"GR"},{"name":"Oasis","screenshot":"https://overfast-api.tekrop.fr/static/maps/oasis.jpg","gamemodes":["control"],"location":"Iraq","country_code":"IQ"},{"name":"Lijiang Tower","screenshot":"https://overfast-api.tekrop.fr/static/maps/lijiang.jpg","gamemodes":["control"],"location":"China","country_code":"CN"},{"name":"Château Guillard","screenshot":"https://overfast-api.tekrop.fr/static/maps/chateau_guillard.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Annecy, France","country_code":"FR"},{"name":"Kanezaka","screenshot":"https://overfast-api.tekrop.fr/static/maps/kanezaka.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Tokyo, Japan","country_code":"JP"},{"name":"Malevento","screenshot":"https://overfast-api.tekrop.fr/static/maps/malevento.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Italy","country_code":"IT"},{"name":"Petra","screenshot":"https://overfast-api.tekrop.fr/static/maps/petra.jpg","gamemodes":["deathmatch","team-deathmatch"],"location":"Southern Jordan","country_code":"JO"},{"name":"Black Forest","screenshot":"https://overfast-api.tekrop.fr/static/maps/black_forest.jpg","gamemodes":["elimination"],"location":"Germany","country_code":"DE"},{"name":"Castillo","screenshot":"https://overfast-api.tekrop.fr/static/maps/castillo.jpg","gamemodes":["elimination"],"location":"Mexico","country_code":"MX"},{"name":"Ecopoint: Antarctica","screenshot":"https://overfast-api.tekrop.fr/static/maps/ecopoint_antarctica.jpg","gamemodes":["elimination"],"location":"Antarctica","country_code":"AQ"},{"name":"Necropolis","screenshot":"https://overfast-api.tekrop.fr/static/maps/necropolis.jpg","gamemodes":["elimination"],"location":"Egypt","country_code":"EG"},{"name":"Circuit Royal","screenshot":"https://overfast-api.tekrop.fr/static/maps/circuit_royal.jpg","gamemodes":["escort"],"location":"Monte Carlo, Monaco","country_code":"MC"},{"name":"Dorado","screenshot":"https://overfast-api.tekrop.fr/static/maps/dorado.jpg","gamemodes":["escort"],"location":"Mexico","country_code":"MX"},{"name":"Route 66","screenshot":"https://overfast-api.tekrop.fr/static/maps/route_66.jpg","gamemodes":["escort"],"location":"Albuquerque, New Mexico, United States","country_code":"US"},{"name":"Junkertown","screenshot":"https://overfast-api.tekrop.fr/static/maps/junkertown.jpg","gamemodes":["escort"],"location":"Central Australia","country_code":"AU"},{"name":"Rialto","screenshot":"https://overfast-api.tekrop.fr/static/maps/rialto.jpg","gamemodes":["escort"],"location":"Venice, Italy","country_code":"IT"},{"name":"Havana","screenshot":"https://overfast-api.tekrop.fr/static/maps/havana.jpg","gamemodes":["escort"],"location":"Havana, Cuba","country_code":"CU"},{"name":"Watchpoint: Gibraltar","screenshot":"https://overfast-api.tekrop.fr/static/maps/gibraltar.jpg","gamemodes":["escort"],"location":"Gibraltar","country_code":"GI"},{"name":"Shambali Monastery","screenshot":"https://overfast-api.tekrop.fr/static/maps/shambali.jpg","gamemodes":["escort"],"location":"Nepal","country_code":"NP"},{"name":"Blizzard World","screenshot":"https://overfast-api.tekrop.fr/static/maps/blizzard_world.jpg","gamemodes":["hybrid"],"location":"Irvine, California, United States","country_code":"US"},{"name":"Numbani","screenshot":"https://overfast-api.tekrop.fr/static/maps/numbani.jpg","gamemodes":["hybrid"],"location":"Numbani (near Nigeria)","country_code":null},{"name":"Hollywood","screenshot":"https://overfast-api.tekrop.fr/static/maps/hollywood.jpg","gamemodes":["hybrid"],"location":"Los Angeles, United States","country_code":"US"},{"name":"Eichenwalde","screenshot":"https://overfast-api.tekrop.fr/static/maps/eichenwalde.jpg","gamemodes":["hybrid"],"location":"Stuttgart, Germany","country_code":"DE"},{"name":"King’s Row","screenshot":"https://overfast-api.tekrop.fr/static/maps/kings_row.jpg","gamemodes":["hybrid"],"location":"London, United Kingdom","country_code":"UK"},{"name":"Midtown","screenshot":"https://overfast-api.tekrop.fr/static/maps/midtown.jpg","gamemodes":["hybrid"],"location":"New York, United States","country_code":"US"},{"name":"Paraíso","screenshot":"https://overfast-api.tekrop.fr/static/maps/paraiso.jpg","gamemodes":["hybrid"],"location":"Rio de Janeiro, Brazil","country_code":"BR"},{"name":"Colosseo","screenshot":"https://overfast-api.tekrop.fr/static/maps/colosseo.jpg","gamemodes":["push"],"location":"Rome, Italy","country_code":"IT"},{"name":"Esperança","screenshot":"https://overfast-api.tekrop.fr/static/maps/esperanca.jpg","gamemodes":["push"],"location":"Portugal","country_code":"PT"},{"name":"New Queen Street","screenshot":"https://overfast-api.tekrop.fr/static/maps/new_queen_street.jpg","gamemodes":["push"],"location":"Toronto, Canada","country_code":"CA"},{"name":"Antarctic Peninsula","screenshot":"https://overfast-api.tekrop.fr/static/maps/antarctic_peninsula.jpg","gamemodes":["control"],"location":"Antarctica","country_code":"AQ"},{"name":"New Junk City","screenshot":"https://overfast-api.tekrop.fr/static/maps/new_junk_city.jpg","gamemodes":["flashpoint"],"location":"Central Australia","country_code":"AU"},{"name":"Suravasa","screenshot":"https://overfast-api.tekrop.fr/static/maps/suravasa.jpg","gamemodes":["flashpoint"],"location":"India","country_code":"IN"},{"name":"Samoa","screenshot":"https://overfast-api.tekrop.fr/static/maps/samoa.jpg","gamemodes":["control"],"location":"Samoa","country_code":"WS"}] \ No newline at end of file