Files
Carl Schwan 85f5c55531 feat(globalscale): Expose more configs
These are the configs used in a bunch of applications (e.g. user_saml
and user_oidc). Standarize them.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-07-30 16:32:35 +02:00

64 lines
1.4 KiB
PHP

<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCP\GlobalScale;
use OCP\AppFramework\Attribute\Consumable;
/**
* Interface IConfig
*
* Configuration of the global scale architecture
*
* @since 12.0.1
*/
#[Consumable(since: '12.0.1')]
interface IConfig {
/**
* Check if global scale is enabled.
*
* @since 12.0.1
*/
public function isGlobalScaleEnabled(): bool;
/**
* Check if federation should only be used internally in a global scale setup.
*
* @since 12.0.1
*/
public function onlyInternalFederation(): bool;
/**
* Check if the current instance is the primary instance.
*
* This instance is then only used to log in the users and then redirect them
* to their associated secondary instance.
*
* @since 34.0.3
*/
public function isPrimary(): bool;
/**
* Check if the current instance is one of the secondary instance.
*
* These instances are the actual instance of a user and hold all their data.
*
* @since 34.0.3
*/
public function isSecondary(): bool;
/**
* Check if the given user is one of the admin on the primary instance.
*
* These users won't be redirected to a secondary instance and instead will
* stay on the primary instance to manage the configuration of the instance.
*
* @since 34.0.3
*/
public function isPrimaryAdmin(string $userId): bool;
}