diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 201888d42..91d0a60ff 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -24,7 +24,6 @@ namespace OCA\Passman\AppInfo; use OC\Files\View; -use OC\ServerContainer; use OCA\Passman\Controller\ShareController; use OCA\Passman\Middleware\APIMiddleware; use OCA\Passman\Middleware\ShareMiddleware; @@ -43,6 +42,7 @@ use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\IRequest; use OCP\IUserManager; use OCP\IUserSession; use OCP\Notification\IManager; @@ -83,7 +83,7 @@ public function register(IRegistrationContext $context): void { return new ShareController( $c->get('AppName'), - $c->get('Request'), + $c->get(IRequest::class), $userSession->getUser(), $userManager, $c->get(ActivityService::class), @@ -105,12 +105,12 @@ public function register(IRegistrationContext $context): void { $c->get(ActivityService::class) )); - $context->registerService('Logger', fn(ContainerInterface $c) => $c->get(ServerContainer::class)->getLogger()); + $context->registerService('Logger', fn(ContainerInterface $c) => $c->get(LoggerInterface::class)); } public function boot(IBootContext $context): void { /** @var IManager $manager */ - $manager = $context->getAppContainer()->query(IManager::class); + $manager = $context->getAppContainer()->get(IManager::class); $manager->registerNotifierService(Notifier::class); Util::addTranslations(self::APP_ID); diff --git a/lib/Controller/AdminController.php b/lib/Controller/AdminController.php index f7e286de2..41d0b692d 100644 --- a/lib/Controller/AdminController.php +++ b/lib/Controller/AdminController.php @@ -21,6 +21,7 @@ use OCA\Passman\Service\VaultService; use OCA\Passman\Utility\Utils; use OCP\AppFramework\ApiController; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\IL10N; use OCP\IRequest; @@ -143,9 +144,7 @@ public function acceptRequestDeletion($vault_guid, $requested_by){ return new JSONResponse(['result' => true]); } - /** - * @NoAdminRequired - */ + #[NoAdminRequired] public function requestDeletion($vault_guid, $reason) { $req = $this->deleteVaultRequestService->getDeleteRequestForVault($vault_guid); if($req){ @@ -165,9 +164,7 @@ public function requestDeletion($vault_guid, $reason) { return new JSONResponse(['result' => $result]); } - /** - * @NoAdminRequired - */ + #[NoAdminRequired] public function deleteRequestDeletion($vault_guid) { $delete_request = false; $result = false; diff --git a/lib/Controller/CredentialController.php b/lib/Controller/CredentialController.php index 432f485a9..12ccdc763 100644 --- a/lib/Controller/CredentialController.php +++ b/lib/Controller/CredentialController.php @@ -22,6 +22,8 @@ use OCA\Passman\Utility\NotFoundJSONResponse; use OCP\AppFramework\ApiController; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; @@ -47,10 +49,8 @@ public function __construct( } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function createCredential($changed, $created, $credential_id, $custom_fields, $delete_time, $description, $email, $expire_time, $favicon, $files, $guid, @@ -94,19 +94,15 @@ public function createCredential($changed, $created, return new JSONResponse($this->credentialService->getCredentialByGUID($credential->getGuid())); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getCredential($credential_guid) { $credential = $this->credentialService->getCredentialByGUID($credential_guid, $this->userId); return new JSONResponse($credential); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateCredential($changed, $created, $credential_id, $custom_fields, $delete_time, $credential_guid, $description, $email, $expire_time, $icon, $files, $guid, @@ -254,10 +250,8 @@ public function updateCredential($changed, $created, return new JSONResponse($this->credentialService->getCredentialByGUID($credential->getGuid())); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function deleteCredential($credential_guid) { try { $credential = $this->credentialService->getCredentialByGUID($credential_guid, $this->userId); @@ -275,10 +269,10 @@ public function deleteCredential($credential_guid) { } /** - * @NoAdminRequired - * @NoCSRFRequired * @throws \Exception */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getRevision($credential_guid) { try { $credential = $this->credentialService->getCredentialByGUID($credential_guid); @@ -300,19 +294,15 @@ public function getRevision($credential_guid) { return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function deleteRevision($credential_id, $revision_id) { $result = $this->credentialRevisionService->deleteRevision($revision_id, $this->userId); return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateRevision($revision_id, $credential_data) { $revision = null; try { diff --git a/lib/Controller/FileController.php b/lib/Controller/FileController.php index 3cd02aafa..58ce17e54 100644 --- a/lib/Controller/FileController.php +++ b/lib/Controller/FileController.php @@ -13,6 +13,9 @@ use OCA\Passman\Service\FileService; use OCP\AppFramework\ApiController; +use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; use Psr\Log\LoggerInterface; @@ -34,10 +37,8 @@ public function __construct( } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function uploadFile($data, $filename, $mimetype, $size) { $file = [ 'filename' => $filename, @@ -49,26 +50,20 @@ public function uploadFile($data, $filename, $mimetype, $size) { return new JSONResponse($this->fileService->createFile($file, $this->userId)); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getFile($file_id) { return new JSONResponse($this->fileService->getFile($file_id, $this->userId)); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function deleteFile($file_id) { return new JSONResponse($this->fileService->deleteFile($file_id, $this->userId)); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function deleteFiles(string $file_ids) { $failed_file_ids = []; if (!empty($file_ids)) { @@ -87,10 +82,8 @@ public function deleteFiles(string $file_ids) { return new JSONResponse(['ok' => empty($failed_file_ids), 'failed' => $failed_file_ids]); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateFile($file_id, $file_data, $filename) { try { $file = $this->fileService->getFile($file_id, $this->userId); @@ -105,8 +98,9 @@ public function updateFile($file_id, $file_data, $filename) { $file->setFilename($filename); } if ($filename || $file_data) { - new JSONResponse($this->fileService->updateFile($file)); + return new JSONResponse($this->fileService->updateFile($file)); } } + return new JSONResponse(['failed' => $file_id], Http::STATUS_NOT_FOUND); } } diff --git a/lib/Controller/IconController.php b/lib/Controller/IconController.php index d6d0efe7c..f3477e389 100644 --- a/lib/Controller/IconController.php +++ b/lib/Controller/IconController.php @@ -12,13 +12,15 @@ namespace OCA\Passman\Controller; use Doctrine\DBAL\Exception\DriverException; -use OC\App\AppManager; use OCA\Passman\AppInfo\Application; use OCA\Passman\Service\CredentialService; use OCA\Passman\Service\IconService; use OCA\Passman\Utility\Utils; +use OCP\App\IAppManager; use OCP\AppFramework\ApiController; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataDownloadResponse; use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; @@ -32,7 +34,7 @@ public function __construct( IRequest $request, private $userId, private readonly CredentialService $credentialService, - private readonly AppManager $am, + private readonly IAppManager $am, private readonly IURLGenerator $urlGenerator, ) { parent::__construct( @@ -43,10 +45,8 @@ public function __construct( 86400); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getSingleIcon($base64Url) { $url = base64_decode(str_replace('_', '/', $base64Url)); if (!preg_match("~^(?:f|ht)tps?://~i", $url)) { @@ -65,10 +65,8 @@ public function getSingleIcon($base64Url) { return new JSONResponse(); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getIcon($base64Url, $credentialId) { $url = base64_decode(str_replace('_', '/', $base64Url)); @@ -132,10 +130,8 @@ public function getIcon($base64Url, $credentialId) { return $response; } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getLocalIconList() { $dir = $this->am->getAppPath(Application::APP_ID); $result = Utils::getDirContents($dir . '/img/icons'); diff --git a/lib/Controller/InternalController.php b/lib/Controller/InternalController.php index 289066649..fe15204b4 100644 --- a/lib/Controller/InternalController.php +++ b/lib/Controller/InternalController.php @@ -17,6 +17,8 @@ use OCP\App\IAppManager; use OCP\AppFramework\ApiController; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\IAppConfig; use OCP\IConfig; @@ -41,9 +43,7 @@ public function __construct( 86400); } - /** - * @NoAdminRequired - */ + #[NoAdminRequired] public function remind($credential_id) { $credential = $this->credentialService->getCredentialById($credential_id, $this->userId); if ($credential) { @@ -54,9 +54,7 @@ public function remind($credential_id) { } } - /** - * @NoAdminRequired - */ + #[NoAdminRequired] public function read($credential_id) { try { // need to check overall credential existence before, since getCredentialById() method call below throws a @@ -78,17 +76,13 @@ public function read($credential_id) { } } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getAppVersion() { return new JSONResponse(['version' => $this->appManager->getAppInfo(Application::APP_ID)["version"]]); } - /** - * @NoAdminRequired - */ + #[NoAdminRequired] public function generatePerson() { $context = ['http' => ['method' => 'GET'], 'ssl' => ['verify_peer' => false, 'allow_self_signed' => true]]; $context = stream_context_create($context); @@ -96,10 +90,8 @@ public function generatePerson() { return new JSONResponse($random_person); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getSettings() { $settings = [ 'link_sharing_enabled' => intval($this->appConfig->getValue(Application::APP_ID, 'link_sharing_enabled', 1)), @@ -112,9 +104,7 @@ public function getSettings() { return new JSONResponse($settings); } - /** - * @NoCSRFRequired - */ + #[NoCSRFRequired] public function saveSettings($key, $value) { if (is_numeric($value)) { $value = intval($value); diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 3e40d22f1..9c49e73f2 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -13,9 +13,11 @@ use OCA\Passman\AppInfo\Application; use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\TemplateResponse; use OCP\IRequest; -use OCP\Util; class PageController extends Controller { @@ -30,28 +32,24 @@ public function __construct(IRequest $request) { * basically the only required method to add this exemption, don't * add it to any other method if you don't exactly know what it does * - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function index() { return new TemplateResponse($this->appName, 'main'); // templates/main.php } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function bookmarklet($url='', $title='') { $params = ['url' => $url, 'title' => $title]; return new TemplateResponse($this->appName, 'bookmarklet', $params); } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] public function publicSharePage() { return new TemplateResponse($this->appName, 'public_share', [], TemplateResponse::RENDER_AS_PUBLIC); } diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index b43dbfd59..ea439497e 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -14,6 +14,8 @@ use OCA\Passman\AppInfo\Application; use OCA\Passman\Service\SettingsService; use OCP\AppFramework\ApiController; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\IL10N; @@ -63,10 +65,9 @@ public function getPriority() { /** * Get all settings - * - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getSettings() { $settings = $this->settings->getAppSettings(); return new JSONResponse($settings); @@ -74,10 +75,9 @@ public function getSettings() { /** * Save a user setting - * - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function saveUserSetting($key, $value) { $this->settings->setUserSetting($key, $value); return new JSONResponse('OK'); @@ -86,9 +86,8 @@ public function saveUserSetting($key, $value) { /** * Save a app setting - * - * @NoCSRFRequired */ + #[NoCSRFRequired] public function saveAdminSetting($key, $value) { $this->settings->setAppSetting($key, $value); return new JSONResponse('OK'); diff --git a/lib/Controller/ShareController.php b/lib/Controller/ShareController.php index 51ac779a1..5f6f3c8c6 100644 --- a/lib/Controller/ShareController.php +++ b/lib/Controller/ShareController.php @@ -26,6 +26,9 @@ use OCP\AppFramework\ApiController; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Db\MultipleObjectsReturnedException; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\NotFoundResponse; use OCP\IRequest; @@ -64,9 +67,9 @@ public function __construct( * @param $item_guid * @param $permissions * @param $expire_timestamp - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function createPublicShare($item_id, $item_guid, $permissions, $expire_timestamp, $expire_views) { try { $credential = $this->credentialService->getCredentialByGUID($item_guid); @@ -99,10 +102,8 @@ public function createPublicShare($item_id, $item_guid, $permissions, $expire_ti } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function applyIntermediateShare($item_id, $item_guid, $vaults, $permissions) { /** * Assemble notification @@ -170,10 +171,8 @@ public function applyIntermediateShare($item_id, $item_guid, $vaults, $permissio return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function searchUsers($search) { $users = []; $usersTmp = $this->userManager->searchDisplayName($search, $this->limit, $this->offset); @@ -191,19 +190,15 @@ public function searchUsers($search) { } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function unshareCredential($item_guid) { $this->shareService->unshareCredential($item_guid); return new JSONResponse(['result' => true]); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function unshareCredentialFromUser($item_guid, $user_id) { $acl = null; $sr = null; @@ -233,20 +228,16 @@ public function unshareCredentialFromUser($item_guid, $user_id) { return new JSONResponse(['result' => true]); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function search($search) { $user_search = $this->searchUsers($search); return new JSONResponse($user_search); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getVaultsByUser($user_id) { $user_vaults = $this->vaultService->getByUser($user_id); $result = []; @@ -261,10 +252,8 @@ public function getVaultsByUser($user_id) { return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function savePendingRequest($item_guid, $target_vault_guid, $final_shared_key) { try { $sr = $this->shareService->getRequestByGuid($item_guid, $target_vault_guid); @@ -293,10 +282,8 @@ public function savePendingRequest($item_guid, $target_vault_guid, $final_shared $this->shareService->applyShare($item_guid, $target_vault_guid, $final_shared_key); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getPendingRequests() { try { $requests = $this->shareService->getUserPendingRequests($this->userId->getUID()); @@ -316,9 +303,9 @@ public function getPendingRequests() { /** * @param $item_guid * @return JSONResponse - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getRevisions($item_guid) { try { return new JSONResponse($this->shareService->getItemHistory($this->userId, $item_guid)); @@ -330,9 +317,9 @@ public function getRevisions($item_guid) { /** * Obtains the list of credentials shared with this vault * - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getVaultItems($vault_guid) { try { return new JSONResponse($this->shareService->getSharedItems($this->userId->getUID(), $vault_guid)); @@ -344,9 +331,9 @@ public function getVaultItems($vault_guid) { /** * Obtains the list of acl entries for credentials shared with this vault * - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getVaultAclEntries($vault_guid) { try { return new JSONResponse($this->shareService->getVaultAclList($this->userId->getUID(), $vault_guid)); @@ -358,9 +345,9 @@ public function getVaultAclEntries($vault_guid) { /** * @param $share_request_id * @return JSONResponse - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function deleteShareRequest($share_request_id) { try { @@ -392,10 +379,10 @@ public function deleteShareRequest($share_request_id) { /** * @param $credential_guid * @return JSONResponse - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage */ + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] public function getPublicCredentialData($credential_guid) { //@TODO Check expire date $acl = $this->shareService->getACL(null, $credential_guid); @@ -426,9 +413,9 @@ public function getPublicCredentialData($credential_guid) { * @param $item_guid * @return JSONResponse|NotFoundResponse * @throws \OCP\DB\Exception - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getItemAcl($item_guid) { $acl = $this->shareService->getCredentialAclList($item_guid); $pending = $this->shareService->getCredentialPendingAclList($item_guid); @@ -454,9 +441,9 @@ public function getItemAcl($item_guid) { * @return array|File|NotFoundJSONResponse * @throws DoesNotExistException * @throws MultipleObjectsReturnedException - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getFile($item_guid, $file_guid) { try { $credential = $this->credentialService->getCredentialByGUID($item_guid); @@ -484,9 +471,9 @@ public function getFile($item_guid, $file_guid) { * @param $size * @return DataResponse|NotFoundJSONResponse|JSONResponse * @throws \Exception - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function uploadFile($item_guid, $data, $filename, $mimetype, $size) { try { $credential = $this->credentialService->getCredentialByGUID($item_guid); @@ -519,9 +506,9 @@ public function uploadFile($item_guid, $data, $filename, $mimetype, $size) { * @param $user_id * @param $permission * @return JSONResponse - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateSharedCredentialACL($item_guid, $user_id, $permission) { try { $credential = $this->credentialService->getCredentialByGUID($item_guid); @@ -549,9 +536,9 @@ public function updateSharedCredentialACL($item_guid, $user_id, $permission) { * @param $item_guid * @param $shared_key * @return JSONResponse - * @NoAdminRequired - * @NoCSRFRequired */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateSharedCredentialACLSharedKey($item_guid, $shared_key) { /** @var SharingACL $acl */ $acl = $this->shareService->getACL($this->userId->getUID(), $item_guid); diff --git a/lib/Controller/TranslationController.php b/lib/Controller/TranslationController.php index 104ddb6bd..2dedfacd3 100644 --- a/lib/Controller/TranslationController.php +++ b/lib/Controller/TranslationController.php @@ -12,6 +12,9 @@ namespace OCA\Passman\Controller; use OCP\AppFramework\ApiController; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Http\JSONResponse; use OCP\IL10N; use OCP\IRequest; @@ -31,12 +34,9 @@ public function __construct( 86400); } - - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoAdminRequired] + #[NoCSRFRequired] + #[PublicPage] public function getLanguageStrings() { $translations = [ // js/app/controllers/bookmarklet.js diff --git a/lib/Controller/VaultController.php b/lib/Controller/VaultController.php index 0bf8f1cf1..c820d849f 100644 --- a/lib/Controller/VaultController.php +++ b/lib/Controller/VaultController.php @@ -17,6 +17,8 @@ use OCA\Passman\Service\VaultService; use OCA\Passman\Utility\NotFoundJSONResponse; use OCP\AppFramework\ApiController; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; use Psr\Log\LoggerInterface; @@ -40,10 +42,8 @@ public function __construct( 86400); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function listVaults() { $result = []; $vaults = $this->vaultService->getByUser($this->userId); @@ -71,19 +71,15 @@ public function listVaults() { return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function create($vault_name) { $vault = $this->vaultService->createVault($vault_name, $this->userId); return new JSONResponse($vault); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function get($vault_guid) { $vault = null; try { @@ -116,10 +112,8 @@ public function get($vault_guid) { return new JSONResponse($result); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function update($vault_guid, $name, $vault_settings) { $vault = $this->vaultService->getByGuid($vault_guid, $this->userId); if ($name && $vault) { @@ -131,10 +125,8 @@ public function update($vault_guid, $name, $vault_settings) { $this->vaultService->updateVault($vault); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function updateSharingKeys($vault_guid, $private_sharing_key, $public_sharing_key) { $vault = null; try { @@ -150,10 +142,8 @@ public function updateSharingKeys($vault_guid, $private_sharing_key, $public_sha return; } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoAdminRequired] + #[NoCSRFRequired] public function delete($vault_guid) { $failed_credential_guids = []; try { diff --git a/lib/Notifier.php b/lib/Notifier.php index 1d3f5d9a3..fdf3f5844 100644 --- a/lib/Notifier.php +++ b/lib/Notifier.php @@ -28,6 +28,7 @@ use OCP\L10N\IFactory; use OCP\Notification\INotification; use OCP\Notification\INotifier; +use OCP\Notification\UnknownNotificationException; class Notifier implements INotifier { @@ -44,7 +45,7 @@ public function __construct( public function prepare(INotification $notification, string $languageCode): INotification { if ($notification->getApp() !== Application::APP_ID) { // Not my app => throw - throw new \InvalidArgumentException(); + throw new UnknownNotificationException(); } // Read the language from the notification @@ -115,7 +116,7 @@ public function prepare(INotification $notification, string $languageCode): INot return $notification; default: // Unknown subject => Unknown notification => throw - throw new \InvalidArgumentException(); + throw new UnknownNotificationException(); } }