mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #49905 from nextcloud/chore/deps/openapi-extractor
This commit is contained in:
commit
e686b93d73
29 changed files with 265 additions and 30 deletions
|
|
@ -36,7 +36,6 @@ use Psr\Log\LoggerInterface;
|
|||
*
|
||||
* @package OCA\FederatedFileSharing\Controller
|
||||
*/
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_FEDERATION)]
|
||||
class MountPublicLinkController extends Controller {
|
||||
/**
|
||||
* MountPublicLinkController constructor.
|
||||
|
|
@ -71,6 +70,7 @@ class MountPublicLinkController extends Controller {
|
|||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[BruteForceProtection(action: 'publicLink2FederatedShare')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_FEDERATION)]
|
||||
public function createFederatedShare($shareWith, $token, $password = '') {
|
||||
if (!$this->federatedShareProvider->isOutgoingServer2serverShareEnabled()) {
|
||||
return new JSONResponse(
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ class ApiController extends Controller {
|
|||
#[NoAdminRequired]
|
||||
#[NoCSRFRequired]
|
||||
#[StrictCookiesRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getThumbnail($x, $y, $file) {
|
||||
if ($x < 1 || $y < 1) {
|
||||
return new DataResponse(['message' => 'Requested size must be numeric and a positive value.'], Http::STATUS_BAD_REQUEST);
|
||||
|
|
@ -277,6 +278,7 @@ class ApiController extends Controller {
|
|||
*/
|
||||
#[NoAdminRequired]
|
||||
#[ApiRoute(verb: 'GET', url: '/api/v1/folder-tree')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getFolderTree(string $path = '/', int $depth = 1): JSONResponse {
|
||||
$user = $this->userSession->getUser();
|
||||
if (!($user instanceof IUser)) {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ namespace OCA\Files_Sharing\Controller;
|
|||
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
|
|
@ -71,6 +72,7 @@ class PublicPreviewController extends PublicShareController {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getPreview(
|
||||
string $token,
|
||||
string $file = '',
|
||||
|
|
@ -143,6 +145,7 @@ class PublicPreviewController extends PublicShareController {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function directLink(string $token) {
|
||||
// No token no image
|
||||
if ($token === '') {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ use OCP\AppFramework\ApiController;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\Constants;
|
||||
|
|
@ -57,6 +58,7 @@ class ShareInfoController extends ApiController {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[BruteForceProtection(action: 'shareinfo')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function info(string $t, ?string $password = null, ?string $dir = null, int $depth = -1): JSONResponse {
|
||||
try {
|
||||
$share = $this->shareManager->getShareByToken($t);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
|
|
@ -24,6 +25,7 @@ use OCP\IPreview;
|
|||
use OCP\IRequest;
|
||||
use OCP\IUserSession;
|
||||
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
class PreviewController extends Controller {
|
||||
public function __construct(
|
||||
string $appName,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
use OCP\Files\IRootFolder;
|
||||
|
|
@ -18,6 +19,7 @@ use OCP\IPreview;
|
|||
use OCP\IRequest;
|
||||
use OCP\IUserSession;
|
||||
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
class PreviewController extends Controller {
|
||||
|
||||
public function __construct(
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCA\OAuth2\Exceptions\ClientNotFoundException;
|
|||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\Attribute\UseSession;
|
||||
use OCP\AppFramework\Http\RedirectResponse;
|
||||
|
|
@ -22,6 +23,7 @@ use OCP\IRequest;
|
|||
use OCP\ISession;
|
||||
use OCP\IURLGenerator;
|
||||
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
class LoginRedirectorController extends Controller {
|
||||
/**
|
||||
* @param string $appName
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
|
|
@ -29,6 +30,7 @@ use OCP\Security\ICrypto;
|
|||
use OCP\Security\ISecureRandom;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
class OauthApiController extends Controller {
|
||||
// the authorization code expires after 10 minutes
|
||||
public const AUTHORIZATION_CODE_EXPIRES_AFTER = 10 * 60;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ return array(
|
|||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'OCA\\Provisioning_API\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\Provisioning_API\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AUserData' => $baseDir . '/../lib/Controller/AUserData.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AUserDataOCSController' => $baseDir . '/../lib/Controller/AUserDataOCSController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AppConfigController' => $baseDir . '/../lib/Controller/AppConfigController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AppsController' => $baseDir . '/../lib/Controller/AppsController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\GroupsController' => $baseDir . '/../lib/Controller/GroupsController.php',
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class ComposerStaticInitProvisioning_API
|
|||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'OCA\\Provisioning_API\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\Provisioning_API\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AUserData' => __DIR__ . '/..' . '/../lib/Controller/AUserData.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AUserDataOCSController' => __DIR__ . '/..' . '/../lib/Controller/AUserDataOCSController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AppConfigController' => __DIR__ . '/..' . '/../lib/Controller/AppConfigController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\AppsController' => __DIR__ . '/..' . '/../lib/Controller/AppsController.php',
|
||||
'OCA\\Provisioning_API\\Controller\\GroupsController' => __DIR__ . '/..' . '/../lib/Controller/GroupsController.php',
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ use OCP\User\Backend\ISetPasswordBackend;
|
|||
* @psalm-import-type Provisioning_APIUserDetails from ResponseDefinitions
|
||||
* @psalm-import-type Provisioning_APIUserDetailsQuota from ResponseDefinitions
|
||||
*/
|
||||
abstract class AUserData extends OCSController {
|
||||
abstract class AUserDataOCSController extends OCSController {
|
||||
public const SCOPE_SUFFIX = 'Scope';
|
||||
|
||||
public const USER_FIELD_DISPLAYNAME = 'display';
|
||||
|
|
@ -36,7 +36,7 @@ use Psr\Log\LoggerInterface;
|
|||
* @psalm-import-type Provisioning_APIGroupDetails from ResponseDefinitions
|
||||
* @psalm-import-type Provisioning_APIUserDetails from ResponseDefinitions
|
||||
*/
|
||||
class GroupsController extends AUserData {
|
||||
class GroupsController extends AUserDataOCSController {
|
||||
|
||||
public function __construct(
|
||||
string $appName,
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ use Psr\Log\LoggerInterface;
|
|||
/**
|
||||
* @psalm-import-type Provisioning_APIUserDetails from ResponseDefinitions
|
||||
*/
|
||||
class UsersController extends AUserData {
|
||||
class UsersController extends AUserDataOCSController {
|
||||
|
||||
private IL10N $l10n;
|
||||
|
||||
|
|
@ -1092,9 +1092,9 @@ class UsersController extends AUserData {
|
|||
throw new OCSException($this->l10n->t('Invalid first day of week'), 101);
|
||||
}
|
||||
if ($intValue === -1) {
|
||||
$this->config->deleteUserValue($targetUser->getUID(), 'core', AUserData::USER_FIELD_FIRST_DAY_OF_WEEK);
|
||||
$this->config->deleteUserValue($targetUser->getUID(), 'core', AUserDataOCSController::USER_FIELD_FIRST_DAY_OF_WEEK);
|
||||
} else {
|
||||
$this->config->setUserValue($targetUser->getUID(), 'core', AUserData::USER_FIELD_FIRST_DAY_OF_WEEK, $value);
|
||||
$this->config->setUserValue($targetUser->getUID(), 'core', AUserDataOCSController::USER_FIELD_FIRST_DAY_OF_WEEK, $value);
|
||||
}
|
||||
break;
|
||||
case self::USER_FIELD_NOTIFICATION_EMAIL:
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace OCA\Settings\Settings\Personal;
|
|||
|
||||
use OC\Profile\ProfileManager;
|
||||
use OCA\FederatedFileSharing\FederatedShareProvider;
|
||||
use OCA\Provisioning_API\Controller\AUserData;
|
||||
use OCA\Provisioning_API\Controller\AUserDataOCSController;
|
||||
use OCP\Accounts\IAccount;
|
||||
use OCP\Accounts\IAccountManager;
|
||||
use OCP\Accounts\IAccountProperty;
|
||||
|
|
@ -106,7 +106,7 @@ class PersonalInfo implements ISettings {
|
|||
'headline' => $this->getProperty($account, IAccountManager::PROPERTY_HEADLINE),
|
||||
'biography' => $this->getProperty($account, IAccountManager::PROPERTY_BIOGRAPHY),
|
||||
'birthdate' => $this->getProperty($account, IAccountManager::PROPERTY_BIRTHDATE),
|
||||
'firstDayOfWeek' => $this->config->getUserValue($uid, 'core', AUserData::USER_FIELD_FIRST_DAY_OF_WEEK),
|
||||
'firstDayOfWeek' => $this->config->getUserValue($uid, 'core', AUserDataOCSController::USER_FIELD_FIRST_DAY_OF_WEEK),
|
||||
'pronouns' => $this->getProperty($account, IAccountManager::PROPERTY_PRONOUNS),
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCP\App\IAppManager;
|
|||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\DataDisplayResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
|
|
@ -51,6 +52,7 @@ class IconController extends Controller {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getThemedIcon(string $app, string $image): Response {
|
||||
if ($app !== 'core' && !$this->appManager->isEnabledForUser($app)) {
|
||||
$app = 'core';
|
||||
|
|
@ -84,6 +86,7 @@ class IconController extends Controller {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getFavicon(string $app = 'core'): Response {
|
||||
if ($app !== 'core' && !$this->appManager->isEnabledForUser($app)) {
|
||||
$app = 'core';
|
||||
|
|
@ -129,6 +132,7 @@ class IconController extends Controller {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getTouchIcon(string $app = 'core'): Response {
|
||||
if ($app !== 'core' && !$this->appManager->isEnabledForUser($app)) {
|
||||
$app = 'core';
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ use OCP\AppFramework\Http;
|
|||
use OCP\AppFramework\Http\Attribute\AuthorizedAdminSetting;
|
||||
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||
use OCP\AppFramework\Http\DataDisplayResponse;
|
||||
|
|
@ -339,6 +340,7 @@ class ThemingController extends Controller {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getImage(string $key, bool $useSvg = true) {
|
||||
try {
|
||||
$file = $this->imageManager->getImage($key, $useSvg);
|
||||
|
|
@ -377,6 +379,7 @@ class ThemingController extends Controller {
|
|||
*/
|
||||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getThemeStylesheet(string $themeId, bool $plain = false, bool $withCustomCss = false) {
|
||||
$themes = $this->themesService->getThemes();
|
||||
if (!in_array($themeId, array_keys($themes))) {
|
||||
|
|
@ -425,6 +428,7 @@ class ThemingController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[BruteForceProtection(action: 'manifest')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getManifest(string $app): JSONResponse {
|
||||
$cacheBusterValue = $this->config->getAppValue('theming', 'cachebuster', '0');
|
||||
if ($app === 'core' || $app === 'settings') {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ use OCA\Theming\ThemingDefaults;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
|
|
@ -130,6 +131,7 @@ class UserThemeController extends OCSController {
|
|||
*/
|
||||
#[NoAdminRequired]
|
||||
#[NoCSRFRequired]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getBackground(): Response {
|
||||
$file = $this->backgroundService->getBackground();
|
||||
if ($file !== null) {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,31 @@
|
|||
}
|
||||
},
|
||||
"schemas": {
|
||||
"Background": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"backgroundImage",
|
||||
"backgroundColor",
|
||||
"primaryColor",
|
||||
"version"
|
||||
],
|
||||
"properties": {
|
||||
"backgroundImage": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"backgroundColor": {
|
||||
"type": "string"
|
||||
},
|
||||
"primaryColor": {
|
||||
"type": "string"
|
||||
},
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
}
|
||||
}
|
||||
},
|
||||
"OCSMeta": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
@ -602,6 +627,18 @@
|
|||
"basic_auth": []
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "OCS-APIRequest",
|
||||
"in": "header",
|
||||
"description": "Required to be true for the API request to pass",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Background image returned",
|
||||
|
|
@ -627,6 +664,155 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/index.php/apps/theming/background/{type}": {
|
||||
"post": {
|
||||
"operationId": "user_theme-set-background",
|
||||
"summary": "Set the background",
|
||||
"tags": [
|
||||
"user_theme"
|
||||
],
|
||||
"security": [
|
||||
{
|
||||
"bearer_auth": []
|
||||
},
|
||||
{
|
||||
"basic_auth": []
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": false,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Path of the background image"
|
||||
},
|
||||
"color": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"description": "Color for the background"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Type of background",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "OCS-APIRequest",
|
||||
"in": "header",
|
||||
"description": "Required to be true for the API request to pass",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Background set successfully",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Background"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Setting background is not possible",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"error"
|
||||
],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"error"
|
||||
],
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/index.php/apps/theming/background/custom": {
|
||||
"delete": {
|
||||
"operationId": "user_theme-delete-background",
|
||||
"summary": "Delete the background",
|
||||
"tags": [
|
||||
"user_theme"
|
||||
],
|
||||
"security": [
|
||||
{
|
||||
"bearer_auth": []
|
||||
},
|
||||
{
|
||||
"basic_auth": []
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "OCS-APIRequest",
|
||||
"in": "header",
|
||||
"description": "Required to be true for the API request to pass",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Background deleted successfully",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Background"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ocs/v2.php/apps/theming/api/v1/theme/{themeId}/enable": {
|
||||
"put": {
|
||||
"operationId": "user_theme-enable-theme",
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCP\AppFramework\Http;
|
|||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\DataDisplayResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
|
|
@ -66,6 +67,7 @@ class AvatarController extends Controller {
|
|||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/avatar/{userId}/{size}/dark')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getAvatarDark(string $userId, int $size, bool $guestFallback = false) {
|
||||
if ($size <= 64) {
|
||||
if ($size !== 64) {
|
||||
|
|
@ -117,6 +119,7 @@ class AvatarController extends Controller {
|
|||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/avatar/{userId}/{size}')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getAvatar(string $userId, int $size, bool $guestFallback = false) {
|
||||
if ($size <= 64) {
|
||||
if ($size !== 64) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\IRequest;
|
||||
|
|
@ -37,6 +38,7 @@ class CSRFTokenController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/csrftoken')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function index(): JSONResponse {
|
||||
if (!$this->request->passesStrictCookieCheck()) {
|
||||
return new JSONResponse([], Http::STATUS_FORBIDDEN);
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ class ClientFlowLoginV2Controller extends Controller {
|
|||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[FrontpageRoute(verb: 'POST', url: '/login/v2/poll')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function poll(string $token): JSONResponse {
|
||||
try {
|
||||
$creds = $this->loginFlowV2Service->poll($token);
|
||||
|
|
@ -275,6 +276,7 @@ class ClientFlowLoginV2Controller extends Controller {
|
|||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[FrontpageRoute(verb: 'POST', url: '/login/v2')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function init(): JSONResponse {
|
||||
// Get client user agent
|
||||
$userAgent = $this->request->getHeader('USER_AGENT');
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
use OCP\AppFramework\Http\Response;
|
||||
|
|
@ -46,6 +47,7 @@ class GuestAvatarController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/avatar/guest/{guestName}/{size}')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getAvatar(string $guestName, int $size, ?bool $darkTheme = false) {
|
||||
$darkTheme = $darkTheme ?? false;
|
||||
|
||||
|
|
@ -97,6 +99,7 @@ class GuestAvatarController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/avatar/guest/{guestName}/{size}/dark')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getAvatarDark(string $guestName, int $size) {
|
||||
return $this->getAvatar($guestName, $size, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -410,6 +410,7 @@ class LoginController extends Controller {
|
|||
#[UseSession]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'POST', url: '/login/confirm')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function confirmPassword(string $password): DataResponse {
|
||||
$loginName = $this->userSession->getLoginName();
|
||||
$loginResult = $this->userManager->checkPassword($loginName, $password);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\Capabilities\ICapability;
|
||||
|
|
@ -51,6 +52,7 @@ class OCMController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/ocm-provider/')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function discovery(): DataResponse {
|
||||
try {
|
||||
$cap = Server::get(
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ use OCP\AppFramework\Http;
|
|||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\FileDisplayResponse;
|
||||
use OCP\AppFramework\Http\RedirectResponse;
|
||||
|
|
@ -58,6 +59,7 @@ class PreviewController extends Controller {
|
|||
#[NoAdminRequired]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/core/preview.png')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getPreview(
|
||||
string $file = '',
|
||||
int $x = 32,
|
||||
|
|
@ -101,6 +103,7 @@ class PreviewController extends Controller {
|
|||
#[NoAdminRequired]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/core/preview')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function getPreviewByFileId(
|
||||
int $fileId = -1,
|
||||
int $x = 32,
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ use OCP\AppFramework\Controller;
|
|||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\DataDownloadResponse;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
|
|
@ -43,6 +44,7 @@ class ReferenceController extends Controller {
|
|||
#[PublicPage]
|
||||
#[NoCSRFRequired]
|
||||
#[FrontpageRoute(verb: 'GET', url: '/core/references/preview/{referenceId}')]
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
public function preview(string $referenceId): DataDownloadResponse|DataResponse {
|
||||
$reference = $this->referenceManager->getReferenceByCacheKey($referenceId);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,11 +14,13 @@ use OCP\AppFramework\Http;
|
|||
use OCP\AppFramework\Http\Attribute\AnonRateLimit;
|
||||
use OCP\AppFramework\Http\Attribute\FrontpageRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\Authentication\Exceptions\InvalidTokenException;
|
||||
use OCP\IRequest;
|
||||
|
||||
#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)]
|
||||
class WipeController extends Controller {
|
||||
public function __construct(
|
||||
string $appName,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ use OC\Authentication\Token\IProvider;
|
|||
use OC\CapabilitiesManager;
|
||||
use OC\Files\FilenameValidator;
|
||||
use OC\Share\Share;
|
||||
use OCA\Provisioning_API\Controller\AUserData;
|
||||
use OCA\Provisioning_API\Controller\AUserDataOCSController;
|
||||
use OCP\App\AppPathNotFoundException;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\Authentication\Exceptions\ExpiredTokenException;
|
||||
|
|
@ -136,7 +136,7 @@ class JSConfigHelper {
|
|||
|
||||
$capabilities = $this->capabilitiesManager->getCapabilities(false, true);
|
||||
|
||||
$userFirstDay = $this->config->getUserValue($uid, 'core', AUserData::USER_FIELD_FIRST_DAY_OF_WEEK, null);
|
||||
$userFirstDay = $this->config->getUserValue($uid, 'core', AUserDataOCSController::USER_FIELD_FIRST_DAY_OF_WEEK, null);
|
||||
$firstDay = (int)($userFirstDay ?? $this->l->l('firstday', null));
|
||||
|
||||
$config = [
|
||||
|
|
|
|||
40
vendor-bin/openapi-extractor/composer.lock
generated
40
vendor-bin/openapi-extractor/composer.lock
generated
|
|
@ -8,16 +8,16 @@
|
|||
"packages": [
|
||||
{
|
||||
"name": "adhocore/cli",
|
||||
"version": "v1.7.2",
|
||||
"version": "v1.9.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/adhocore/php-cli.git",
|
||||
"reference": "57834cbaa4fb68cda849417ab86577fba2b15298"
|
||||
"reference": "86be16e3c3b42d76fcdb32529bcded0fedb925d3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/adhocore/php-cli/zipball/57834cbaa4fb68cda849417ab86577fba2b15298",
|
||||
"reference": "57834cbaa4fb68cda849417ab86577fba2b15298",
|
||||
"url": "https://api.github.com/repos/adhocore/php-cli/zipball/86be16e3c3b42d76fcdb32529bcded0fedb925d3",
|
||||
"reference": "86be16e3c3b42d76fcdb32529bcded0fedb925d3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -28,6 +28,9 @@
|
|||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Ahc\\Cli\\": "src/"
|
||||
}
|
||||
|
|
@ -62,7 +65,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/adhocore/php-cli/issues",
|
||||
"source": "https://github.com/adhocore/php-cli/tree/v1.7.2"
|
||||
"source": "https://github.com/adhocore/php-cli/tree/v1.9.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -74,20 +77,20 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-05T00:08:47+00:00"
|
||||
"time": "2024-12-04T03:40:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nextcloud/openapi-extractor",
|
||||
"version": "v1.1.0",
|
||||
"version": "v1.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nextcloud-releases/openapi-extractor.git",
|
||||
"reference": "d7c135e819d2297e7e9414a3f80464d68f164c94"
|
||||
"reference": "c0761cb7a3a0cd29c85ede9f27883d7f9f477bd0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nextcloud-releases/openapi-extractor/zipball/d7c135e819d2297e7e9414a3f80464d68f164c94",
|
||||
"reference": "d7c135e819d2297e7e9414a3f80464d68f164c94",
|
||||
"url": "https://api.github.com/repos/nextcloud-releases/openapi-extractor/zipball/c0761cb7a3a0cd29c85ede9f27883d7f9f477bd0",
|
||||
"reference": "c0761cb7a3a0cd29c85ede9f27883d7f9f477bd0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -99,11 +102,12 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"nextcloud/coding-standard": "^1.2",
|
||||
"nextcloud/ocp": "dev-master"
|
||||
"nextcloud/ocp": "dev-master",
|
||||
"rector/rector": "^2.0"
|
||||
},
|
||||
"bin": [
|
||||
"generate-spec",
|
||||
"merge-specs"
|
||||
"bin/generate-spec",
|
||||
"bin/merge-specs"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
|
|
@ -118,9 +122,9 @@
|
|||
"description": "A tool for extracting OpenAPI specifications from Nextcloud source code",
|
||||
"support": {
|
||||
"issues": "https://github.com/nextcloud-releases/openapi-extractor/issues",
|
||||
"source": "https://github.com/nextcloud-releases/openapi-extractor/tree/v1.1.0"
|
||||
"source": "https://github.com/nextcloud-releases/openapi-extractor/tree/v1.3.0"
|
||||
},
|
||||
"time": "2024-11-06T11:50:20+00:00"
|
||||
"time": "2024-12-17T16:34:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
|
|
@ -231,11 +235,11 @@
|
|||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"stability-flags": {},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"platform": {},
|
||||
"platform-dev": {},
|
||||
"platform-overrides": {
|
||||
"php": "8.1"
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue