Browse Source

Merge pull request #23043 from nextcloud/fix/noid/weather-status-not-logged-in

Avoid crash when unauthenticated users make weather-related requests
pull/842/head
Roeland Jago Douma 3 weeks ago
committed by GitHub
parent
commit
adf1b8a32f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 11 deletions
  1. +2
    -2
      apps/weather_status/js/weather-status.js
  2. +1
    -1
      apps/weather_status/js/weather-status.js.map
  3. +1
    -1
      apps/weather_status/lib/Controller/WeatherStatusController.php
  4. +1
    -1
      apps/weather_status/lib/Service/WeatherStatusService.php
  5. +25
    -6
      apps/weather_status/src/App.vue

+ 2
- 2
apps/weather_status/js/weather-status.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/weather_status/js/weather-status.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
apps/weather_status/lib/Controller/WeatherStatusController.php View File

@@ -46,7 +46,7 @@ class WeatherStatusController extends OCSController {
IRequest $request,
ILogger $logger,
WeatherStatusService $service,
string $userId) {
?string $userId) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->logger = $logger;


+ 1
- 1
apps/weather_status/lib/Service/WeatherStatusService.php View File

@@ -105,7 +105,7 @@ class WeatherStatusService {
IUserManager $userManager,
IAppManager $appManager,
ICacheFactory $cacheFactory,
string $userId) {
?string $userId) {
$this->config = $config;
$this->userId = $userId;
$this->l10n = $l10n;


+ 25
- 6
apps/weather_status/src/App.vue View File

@@ -240,7 +240,11 @@ export default {
console.info('The weather status request was cancelled because the user navigates.')
return
}
showError(t('weather_status', 'There was an error getting the weather status information.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error getting the weather status information.'))
}
console.error(err)
}
},
@@ -309,8 +313,11 @@ export default {
this.loading = false
}
} catch (err) {
showError(t('weather_status', 'There was an error setting the location address.'))
console.debug(err)
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error setting the location address.'))
}
this.loading = false
}
},
@@ -320,7 +327,11 @@ export default {
this.address = loc.address
this.startLoop()
} catch (err) {
showError(t('weather_status', 'There was an error setting the location.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error setting the location.'))
}
console.debug(err)
}
},
@@ -328,7 +339,11 @@ export default {
try {
await network.setMode(mode)
} catch (err) {
showError(t('weather_status', 'There was an error saving the mode.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error saving the mode.'))
}
console.debug(err)
}
},
@@ -345,7 +360,11 @@ export default {
this.mode = MODE_MANUAL_LOCATION
this.startLoop()
} catch (err) {
showError(t('weather_status', 'There was an error using personal address.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error using personal address.'))
}
console.debug(err)
this.loading = false
}


Loading…
Cancel
Save