f7cloud_client/apps/notes/lib/Controller/SettingsController.php
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

66 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2018 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Notes\Controller;
use OCA\Notes\Service\SettingsService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\IUserSession;
class SettingsController extends Controller {
private SettingsService $service;
private IUserSession $userSession;
public function __construct(
string $appName,
IRequest $request,
SettingsService $service,
IUserSession $userSession,
) {
parent::__construct($appName, $request);
$this->service = $service;
$this->userSession = $userSession;
}
private function getUID(): string {
return $this->userSession->getUser()->getUID();
}
/**
* @throws \OCP\PreConditionNotMetException
*/
#[NoAdminRequired]
public function set(): JSONResponse {
$this->service->set(
$this->getUID(),
$this->request->getParams()
);
return $this->get();
}
/**
*/
#[NoAdminRequired]
public function get(): JSONResponse {
return new JSONResponse($this->service->getAll($this->getUID()));
}
/**
*/
#[NoAdminRequired]
public function migrate(): JSONResponse {
$this->service->delete($this->getUID(), 'editorHint');
return new JSONResponse();
}
}