Merge pull request #36216 from nextcloud/fix/user_status-heartbeat-response

Fix user_status heartbeat response
pull/36298/head
Joas Schilling 3 years ago committed by GitHub
commit d51429a472
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      apps/user_status/lib/Controller/HeartbeatController.php
  2. 2
      apps/user_status/src/services/heartbeatService.js
  3. 4
      dist/user_status-menu.js
  4. 2
      dist/user_status-menu.js.map

@ -30,7 +30,7 @@ use OCA\UserStatus\Service\StatusService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
@ -70,16 +70,16 @@ class HeartbeatController extends OCSController {
* @NoAdminRequired
*
* @param string $status
* @return JSONResponse
* @return DataResponse
*/
public function heartbeat(string $status): JSONResponse {
public function heartbeat(string $status): DataResponse {
if (!\in_array($status, [IUserStatus::ONLINE, IUserStatus::AWAY], true)) {
return new JSONResponse([], Http::STATUS_BAD_REQUEST);
return new DataResponse([], Http::STATUS_BAD_REQUEST);
}
$user = $this->userSession->getUser();
if ($user === null) {
return new JSONResponse([], Http::STATUS_INTERNAL_SERVER_ERROR);
return new DataResponse([], Http::STATUS_INTERNAL_SERVER_ERROR);
}
$event = new UserLiveStatusEvent(
@ -92,11 +92,11 @@ class HeartbeatController extends OCSController {
$userStatus = $event->getUserStatus();
if (!$userStatus) {
return new JSONResponse([], Http::STATUS_NO_CONTENT);
return new DataResponse([], Http::STATUS_NO_CONTENT);
}
/** @psalm-suppress UndefinedInterfaceMethod */
return new JSONResponse($this->formatStatus($userStatus->getInternal()));
return new DataResponse($this->formatStatus($userStatus->getInternal()));
}
private function formatStatus(UserStatus $status): array {

@ -34,7 +34,7 @@ const sendHeartbeat = async (isAway) => {
const response = await HttpClient.put(url, {
status: isAway ? 'away' : 'online',
})
return response.data
return response.data.ocs.data
}
export {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save