mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 00:32:29 -04:00
Merge pull request #45270 from nextcloud/refactor/provisioning_api/type-scopes
This commit is contained in:
commit
b0429e7ef4
5 changed files with 73 additions and 42 deletions
|
|
@ -35,30 +35,32 @@ namespace OCA\Provisioning_API;
|
|||
* used?: float|int,
|
||||
* }
|
||||
*
|
||||
* @psalm-type Provisioning_APIUserDetailsScope = 'v2-private'|'v2-local'|'v2-federated'|'v2-published'|'private'|'contacts'|'public'
|
||||
*
|
||||
* @psalm-type Provisioning_APIUserDetails = array{
|
||||
* additional_mail: string[],
|
||||
* additional_mailScope?: string[],
|
||||
* additional_mailScope?: Provisioning_APIUserDetailsScope[],
|
||||
* address: string,
|
||||
* addressScope?: string,
|
||||
* avatarScope?: string,
|
||||
* addressScope?: Provisioning_APIUserDetailsScope,
|
||||
* avatarScope?: Provisioning_APIUserDetailsScope,
|
||||
* backend: string,
|
||||
* backendCapabilities: array{
|
||||
* setDisplayName: bool,
|
||||
* setPassword: bool
|
||||
* },
|
||||
* biography: string,
|
||||
* biographyScope?: string,
|
||||
* biographyScope?: Provisioning_APIUserDetailsScope,
|
||||
* display-name: string,
|
||||
* displayname: string,
|
||||
* displaynameScope?: string,
|
||||
* displaynameScope?: Provisioning_APIUserDetailsScope,
|
||||
* email: ?string,
|
||||
* emailScope?: string,
|
||||
* emailScope?: Provisioning_APIUserDetailsScope,
|
||||
* enabled?: bool,
|
||||
* fediverse: string,
|
||||
* fediverseScope?: string,
|
||||
* fediverseScope?: Provisioning_APIUserDetailsScope,
|
||||
* groups: string[],
|
||||
* headline: string,
|
||||
* headlineScope?: string,
|
||||
* headlineScope?: Provisioning_APIUserDetailsScope,
|
||||
* id: string,
|
||||
* language: string,
|
||||
* lastLogin: int,
|
||||
|
|
@ -66,20 +68,20 @@ namespace OCA\Provisioning_API;
|
|||
* manager: string,
|
||||
* notify_email: ?string,
|
||||
* organisation: string,
|
||||
* organisationScope?: string,
|
||||
* organisationScope?: Provisioning_APIUserDetailsScope,
|
||||
* phone: string,
|
||||
* phoneScope?: string,
|
||||
* phoneScope?: Provisioning_APIUserDetailsScope,
|
||||
* profile_enabled: string,
|
||||
* profile_enabledScope?: string,
|
||||
* profile_enabledScope?: Provisioning_APIUserDetailsScope,
|
||||
* quota: Provisioning_APIUserDetailsQuota,
|
||||
* role: string,
|
||||
* roleScope?: string,
|
||||
* roleScope?: Provisioning_APIUserDetailsScope,
|
||||
* storageLocation?: string,
|
||||
* subadmin: string[],
|
||||
* twitter: string,
|
||||
* twitterScope?: string,
|
||||
* twitterScope?: Provisioning_APIUserDetailsScope,
|
||||
* website: string,
|
||||
* websiteScope?: string,
|
||||
* websiteScope?: Provisioning_APIUserDetailsScope,
|
||||
* }
|
||||
*
|
||||
* @psalm-type Provisioning_APIGroupDetails = array{
|
||||
|
|
|
|||
|
|
@ -162,17 +162,17 @@
|
|||
"additional_mailScope": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
}
|
||||
},
|
||||
"address": {
|
||||
"type": "string"
|
||||
},
|
||||
"addressScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"avatarScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"backend": {
|
||||
"type": "string"
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"biographyScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"display-name": {
|
||||
"type": "string"
|
||||
|
|
@ -205,14 +205,14 @@
|
|||
"type": "string"
|
||||
},
|
||||
"displaynameScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"emailScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"fediverseScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"groups": {
|
||||
"type": "array",
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"headlineScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
|
|
@ -259,19 +259,19 @@
|
|||
"type": "string"
|
||||
},
|
||||
"organisationScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string"
|
||||
},
|
||||
"phoneScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"profile_enabled": {
|
||||
"type": "string"
|
||||
},
|
||||
"profile_enabledScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"quota": {
|
||||
"$ref": "#/components/schemas/UserDetailsQuota"
|
||||
|
|
@ -280,7 +280,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"roleScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"storageLocation": {
|
||||
"type": "string"
|
||||
|
|
@ -295,13 +295,13 @@
|
|||
"type": "string"
|
||||
},
|
||||
"twitterScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"website": {
|
||||
"type": "string"
|
||||
},
|
||||
"websiteScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -372,6 +372,18 @@
|
|||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"UserDetailsScope": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"v2-private",
|
||||
"v2-local",
|
||||
"v2-federated",
|
||||
"v2-published",
|
||||
"private",
|
||||
"contacts",
|
||||
"public"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -162,17 +162,17 @@
|
|||
"additional_mailScope": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
}
|
||||
},
|
||||
"address": {
|
||||
"type": "string"
|
||||
},
|
||||
"addressScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"avatarScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"backend": {
|
||||
"type": "string"
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"biographyScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"display-name": {
|
||||
"type": "string"
|
||||
|
|
@ -205,14 +205,14 @@
|
|||
"type": "string"
|
||||
},
|
||||
"displaynameScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"emailScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"fediverseScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"groups": {
|
||||
"type": "array",
|
||||
|
|
@ -233,7 +233,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"headlineScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
|
|
@ -259,19 +259,19 @@
|
|||
"type": "string"
|
||||
},
|
||||
"organisationScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string"
|
||||
},
|
||||
"phoneScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"profile_enabled": {
|
||||
"type": "string"
|
||||
},
|
||||
"profile_enabledScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"quota": {
|
||||
"$ref": "#/components/schemas/UserDetailsQuota"
|
||||
|
|
@ -280,7 +280,7 @@
|
|||
"type": "string"
|
||||
},
|
||||
"roleScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"storageLocation": {
|
||||
"type": "string"
|
||||
|
|
@ -295,13 +295,13 @@
|
|||
"type": "string"
|
||||
},
|
||||
"twitterScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
},
|
||||
"website": {
|
||||
"type": "string"
|
||||
},
|
||||
"websiteScope": {
|
||||
"type": "string"
|
||||
"$ref": "#/components/schemas/UserDetailsScope"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -372,6 +372,18 @@
|
|||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"UserDetailsScope": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"v2-private",
|
||||
"v2-local",
|
||||
"v2-federated",
|
||||
"v2-published",
|
||||
"private",
|
||||
"contacts",
|
||||
"public"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ use OCP\Accounts\IAccountManager;
|
|||
use OCP\Accounts\IAccountProperty;
|
||||
|
||||
class AccountProperty implements IAccountProperty {
|
||||
/**
|
||||
* @var IAccountManager::SCOPE_*
|
||||
*/
|
||||
private string $scope;
|
||||
private string $locallyVerified = IAccountManager::NOT_VERIFIED;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ interface IAccountProperty extends \JsonSerializable {
|
|||
* @since 15.0.0
|
||||
*
|
||||
* @param string $scope
|
||||
* @psalm-param IAccountManager::SCOPE_* $scope
|
||||
* @return IAccountProperty
|
||||
* @throws InvalidArgumentException (since 22.0.0)
|
||||
*/
|
||||
|
|
@ -89,6 +90,7 @@ interface IAccountProperty extends \JsonSerializable {
|
|||
* @since 15.0.0
|
||||
*
|
||||
* @return string
|
||||
* @psalm-return IAccountManager::SCOPE_*
|
||||
*/
|
||||
public function getScope(): string;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue