Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/Enum/DataProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
title: 'DataProvider',
description: 'What type of data provider did the user specify? (users need to be in closed-beta for this to take effect)',
type: 'string',
example: 'cargo',
example: 'default',
enum: ['default', 'transitous'],
)]
enum DataProvider: string
Expand Down
8 changes: 4 additions & 4 deletions app/Enum/MapProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@

#[OA\Schema(
title: 'MapProvider',
description: 'What type of map provider (cargo, open-railway-map) did the user specify?',
description: 'What type of map provider (open-free-map, open-railway-map) did the user specify?',
type: 'string',
example: 'cargo',
enum: ['cargo', 'open-railway-map'],
example: 'open-free-map',
enum: ['open-free-map', 'open-railway-map'],
)]
enum MapProvider: string
{
case CARGO = 'cargo';
case OPEN_FREE_MAP = 'open-free-map';
case OPEN_RAILWAY_MAP = 'open-railway-map';
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
public function up(): void
{
Schema::table('users', static function (Blueprint $table) {
$table->enum('mapprovider', [MapProvider::CARGO->value, MapProvider::OPEN_RAILWAY_MAP->value])
->default(MapProvider::CARGO->value)
$table->enum('mapprovider', ['cargo', MapProvider::OPEN_RAILWAY_MAP->value])
->default('cargo')
->after('likes_enabled');
});
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

use App\Enum\MapProvider;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;

return new class() extends Migration
{
public function up(): void
{
Schema::table('users', static function (Blueprint $table) {
$table->string('mapprovider')
->default(MapProvider::OPEN_FREE_MAP->value)
->change();
});

DB::table('users')->where('mapprovider', 'cargo')->update(['mapprovider' => MapProvider::OPEN_FREE_MAP->value]);
}

public function down(): void
{
DB::table('users')
->where('mapprovider', MapProvider::OPEN_FREE_MAP->value)
->update(['mapprovider' => 'cargo']);

Schema::table('users', static function (Blueprint $table) {
$table->enum('mapprovider', ['cargo', MapProvider::OPEN_RAILWAY_MAP->value])
->default('cargo')
->change();
});
}
};
2 changes: 0 additions & 2 deletions lang/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,6 @@
"maintenance.subtitle": "Nebojte se, aktuálně pracujeme na vylepšení webových stránek.",
"maintenance.title": "Momentálně provádíme aktualizace.",
"maintenance.try-later": "Zkuste to prosím brzy znovu.",
"map-providers.cargo": "Carto",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Zpět",
"menu.about": "Nejčastější dotazy",
"menu.active": "Na cestě",
Expand Down
2 changes: 0 additions & 2 deletions lang/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,6 @@
"map.consent.load": "Karte laden",
"map.consent.notice": "Diese Karte lädt Kartendaten von externen Servern (OpenFreeMap / OpenStreetMap). Deine IP-Adresse wird dabei an diese Anbieter übermittelt.",
"map.consent.remember": "Auswahl merken",
"map-providers.cargo": "OpenFreeMap",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Abbrechen",
"menu.about": "Über Träwelling",
"menu.active": "Unterwegs",
Expand Down
2 changes: 0 additions & 2 deletions lang/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,6 @@
"copy": "Αντιγραφή",
"menu.copy": "Αντιγραφή",
"menu.copy-link": "Αντιγραφή συνδέσμου",
"map-providers.cargo": "Carto",
"map-providers.open-railway-map": "Open Railway Map",
"menu.about": "Σχετικά με",
"menu.close": "Κλείσιμο",
"menu.export": "Εξαγωγή",
Expand Down
2 changes: 0 additions & 2 deletions lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,6 @@
"map.consent.load": "Load map",
"map.consent.notice": "This map loads map data from external servers (OpenFreeMap / OpenStreetMap). Your IP address will be shared with these providers.",
"map.consent.remember": "Remember my choice",
"map-providers.cargo": "OpenFreeMap",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Abort",
"menu.about": "About",
"menu.active": "En Route",
Expand Down
2 changes: 0 additions & 2 deletions lang/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -280,8 +280,6 @@
"maintenance.subtitle": "No te preocupes, estamos trabajando en mejorar el sitio.",
"maintenance.title": "Estamos realizando actualizaciones.",
"maintenance.try-later": "Prueba otra vez más tarde.",
"map-providers.cargo": "OpenFreeMap",
"map-providers.open-railway-map": "OpenRailwayMap",
"menu.abort": "Abortar",
"menu.about": "Sobre Träwelling",
"menu.active": "En ruta",
Expand Down
2 changes: 0 additions & 2 deletions lang/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,6 @@
"maintenance.subtitle": "Ne t'inquiète pas, nous travaillons actuellement à l'amélioration du site.",
"maintenance.title": "Nous effectuons actuellement des mises à jour.",
"maintenance.try-later": "Merci de réessayer ultérieurement.",
"map-providers.cargo": "OpenFreeMap",
"map-providers.open-railway-map": "Open Railway Map",
"map.consent.load": "Charger la carte",
"map.consent.notice": "Cette carte charge des données cartographiques depuis des serveurs externes (OpenFreeMap / OpenStreetMap). Ton adresse IP sera partagée avec ces fournisseurs.",
"map.consent.remember": "Mémoriser mon choix",
Expand Down
2 changes: 0 additions & 2 deletions lang/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,6 @@
"leaderboard.top": "Top",
"leaderboard.user": "Nome",
"localisation.not-available": "Siamo spiacenti, questo contenuto non è attualmente disponibile nella tua lingua.",
"map-providers.cargo": "Carto",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Annullare",
"menu.about": "Informazioni su Träwelling",
"menu.active": "In viaggio",
Expand Down
2 changes: 0 additions & 2 deletions lang/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -311,8 +311,6 @@
"maintenance.subtitle": "Geen zorgen: we werken juist aan verbetering van de website.",
"maintenance.title": "Er wordt momenteel onderhoud uitgevoerd.",
"maintenance.try-later": "Probeer het later opnieuw.",
"map-providers.cargo": "Carto",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Afbreken",
"menu.about": "Over Träwelling",
"menu.active": "Onderweg",
Expand Down
2 changes: 0 additions & 2 deletions lang/pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,6 @@
"localisation.not-available": "Niestety ninejsza zawartość nie jest dostępna w twoim języku.",
"mail.hello": "Witaj :username!",
"maintenance.title": "Obecnie pracujemy nad usprawnieniem naszej strony internetowej.",
"map-providers.cargo": "Carto",
"map-providers.open-railway-map": "Open Railway Map",
"menu.abort": "Anuluj",
"menu.about": "O Träwelling",
"menu.active": "W trasie",
Expand Down
1 change: 0 additions & 1 deletion lang/tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@
"events.show-all-for-event": "Bu etkinlik için tüm check-in'leri göster",
"events.suggest.card_button": "Etkinlik önerin",
"export.departure": "Kalkış",
"map-providers.cargo": "Carto",
"menu.oauth_authorize.application_information.user_count": ":count Kullanıcı|:count Kullanıcılar",
"menu.oauth_authorize.third_party": "Bu uygulama resmi bir Träwelling uygulaması değildir!",
"menu.share": "Paylaş",
Expand Down
2 changes: 1 addition & 1 deletion resources/js/components/maps.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ window.setTilingLayer = (mapprovider, map, opacity = 1) => {

//add additional copyright notice to map
break;
case 'cargo':
case 'open-free-map':
default:
// Default voyager map
// eslint-disable-next-line no-undef
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ onUnmounted(() => {
:map-provider="
user.user?.mapProvider
? MapProvider[user.user!.mapProvider as keyof typeof MapProvider]
: MapProvider.Cargo
: MapProvider.OpenFreeMap
"
>
<EventMarker v-for="event in events" :key="event.id" :event="event" />
Expand Down
2 changes: 1 addition & 1 deletion resources/tailwind-app/pages/Events/EventView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ onMounted(() => {
:map-provider="
user.user?.mapProvider
? MapProvider[user.user!.mapProvider as keyof typeof MapProvider]
: MapProvider.Cargo
: MapProvider.OpenFreeMap
"
:bounds="bounds"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ function updateMapProvider() {
<div class="modal-box">
<h3 class="text-lg font-bold">{{ trans('user.mapprovider') }}</h3>
<select v-model="input" class="select w-full mt-4">
<option :value="MapProvider.Cargo">{{ trans('map-providers.cargo') }}</option>
<option :value="MapProvider.OpenRailwayMap">{{ trans('map-providers.open-railway-map') }}</option>
<option :value="MapProvider.OpenFreeMap">OpenFreeMap</option>
<option :value="MapProvider.OpenRailwayMap">OpenRailwayMap</option>
</select>
<div class="modal-action">
<form method="dialog">
Expand Down
10 changes: 5 additions & 5 deletions resources/types/Api.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,11 @@ export enum MastodonVisibility {

/**
* MapProvider
* What type of map provider (cargo, open-railway-map) did the user specify?
* @example "cargo"
* What type of map provider (open-free-map, open-railway-map) did the user specify?
* @example "open-free-map"
*/
export enum MapProvider {
Cargo = "cargo",
OpenFreeMap = "open-free-map",
OpenRailwayMap = "open-railway-map",
}

Expand Down Expand Up @@ -244,7 +244,7 @@ export enum ExportableColumn {
/**
* DataProvider
* What type of data provider did the user specify? (users need to be in closed-beta for this to take effect)
* @example "cargo"
* @example "default"
*/
export enum DataProvider {
Default = "default",
Expand Down Expand Up @@ -2729,7 +2729,7 @@ export interface UserProfileSettingsResource {
likesEnabled: boolean;
/** @example true */
pointsEnabled: boolean;
/** What type of map provider (cargo, open-railway-map) did the user specify? */
/** What type of map provider (open-free-map, open-railway-map) did the user specify? */
mapProvider: MapProvider;
/** @example "Europe/Berlin" */
timezone: string;
Expand Down
2 changes: 1 addition & 1 deletion resources/vue/components/Map/GenericMap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ const props = defineProps({
},
mapProvider: {
type: String as PropType<MapProvider>,
default: MapProvider.Cargo,
default: MapProvider.OpenFreeMap,
},
previewPolyline: {
type: Object as PropType<GeoJSONFeature | null>,
Expand Down
2 changes: 1 addition & 1 deletion resources/vue/components/Map/Map.vue
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const lineColor = ref<string>('#c72730');
const polylines = ref<GeoJSONFeature[]>([]);
const livePositions = ref<LivePointDto[]>([]);
const events = ref<EventResource[]>([]);
const mapProvider = computed<MapProvider>(() => userStore.user?.mapProvider ?? MapProvider.Cargo);
const mapProvider = computed<MapProvider>(() => userStore.user?.mapProvider ?? MapProvider.OpenFreeMap);

if (props.statuses.length === 1) {
lineColor.value = props.statuses[0].checkin.routeColor ? '#' + props.statuses[0].checkin.routeColor : '#c72730';
Expand Down
2 changes: 1 addition & 1 deletion resources/vue/views/ActiveJourneys.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ setInterval(() => {
v-if="user.hasBeta"
:live-positions="livePositions"
:bounds="bounds"
:map-provider="user.user?.mapProvider ?? MapProvider.Cargo"
:map-provider="user.user?.mapProvider ?? MapProvider.OpenFreeMap"
>
<EventMarker v-for="trwlEvent in events" :key="trwlEvent.id" :event="trwlEvent" />
</GenericMap>
Expand Down
8 changes: 4 additions & 4 deletions storage/api-docs/api-docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -11741,7 +11741,7 @@
"title": "DataProvider",
"description": "What type of data provider did the user specify? (users need to be in closed-beta for this to take effect)",
"type": "string",
"example": "cargo",
"example": "default",
"enum": [
"default",
"transitous"
Expand Down Expand Up @@ -11806,11 +11806,11 @@
},
"MapProvider": {
"title": "MapProvider",
"description": "What type of map provider (cargo, open-railway-map) did the user specify?",
"description": "What type of map provider (open-free-map, open-railway-map) did the user specify?",
"type": "string",
"example": "cargo",
"example": "open-free-map",
"enum": [
"cargo",
"open-free-map",
"open-railway-map"
]
},
Expand Down
16 changes: 16 additions & 0 deletions tests/Feature/APIv1/SettingsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,22 @@ public function test_update_profile_settings(): void
$this->assertEquals(FriendCheckinSetting::FRIENDS, $user->friend_checkin);
}

public function test_update_map_provider(): void
{
$user = User::factory()->create();
Passport::actingAs($user, ['*']);

foreach (MapProvider::cases() as $mapProvider) {
$response = $this->putJson(
uri: '/api/v1/settings/profile',
data: ['mapProvider' => $mapProvider->value],
);
$response->assertOk();
$this->assertEquals($mapProvider->value, $response->json('data.mapProvider'));
$this->assertEquals($mapProvider, $user->refresh()->mapprovider);
}
}

public function test_set_email_without_prior_email_or_password(): void
{
$user = User::factory(['email' => null, 'email_verified_at' => null, 'password' => null])->create();
Expand Down
Loading