diff --git a/src/Umbraco.Cms.Api.Management/Factories/UserPresentationFactory.cs b/src/Umbraco.Cms.Api.Management/Factories/UserPresentationFactory.cs index 585b87cc05..76fde6af7e 100644 --- a/src/Umbraco.Cms.Api.Management/Factories/UserPresentationFactory.cs +++ b/src/Umbraco.Cms.Api.Management/Factories/UserPresentationFactory.cs @@ -10,6 +10,7 @@ using Umbraco.Cms.Core.Media; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Membership; using Umbraco.Cms.Core.Services; +using Umbraco.Extensions; namespace Umbraco.Cms.Api.Management.Factories; @@ -69,6 +70,7 @@ public class UserPresentationFactory : IUserPresentationFactory LastLoginDate = user.LastLoginDate, LastLockoutDate = user.LastLockoutDate, LastPasswordChangeDate = user.LastPasswordChangeDate, + IsAdmin = user.IsAdmin(), }; return responseModel; @@ -181,6 +183,7 @@ public class UserPresentationFactory : IUserPresentationFactory HasAccessToAllLanguages = hasAccessToAllLanguages, HasAccessToSensitiveData = user.HasAccessToSensitiveData(), AllowedSections = allowedSections, + IsAdmin = user.IsAdmin() }); } diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json index 2cee1c6d5e..5d1ada7cd6 100644 --- a/src/Umbraco.Cms.Api.Management/OpenApi.json +++ b/src/Umbraco.Cms.Api.Management/OpenApi.json @@ -36085,6 +36085,7 @@ "hasAccessToAllLanguages", "hasAccessToSensitiveData", "id", + "isAdmin", "languages", "mediaStartNodeIds", "name", @@ -36171,6 +36172,9 @@ "items": { "type": "string" } + }, + "isAdmin": { + "type": "boolean" } }, "additionalProperties": false @@ -43817,6 +43821,7 @@ "documentStartNodeIds", "failedLoginAttempts", "id", + "isAdmin", "mediaStartNodeIds", "state", "updateDate" @@ -43887,6 +43892,9 @@ "type": "string", "format": "date-time", "nullable": true + }, + "isAdmin": { + "type": "boolean" } }, "additionalProperties": false diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/User/Current/CurrentUserResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/User/Current/CurrentUserResponseModel.cs index 994a4c5e03..13fcd5ac2e 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/User/Current/CurrentUserResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/User/Current/CurrentUserResponseModel.cs @@ -33,4 +33,5 @@ public class CurrentUserResponseModel public required ISet Permissions { get; init; } public required ISet AllowedSections { get; init; } + public bool IsAdmin { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/User/UserResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/User/UserResponseModel.cs index fc6124ceb3..f886f7d69a 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/User/UserResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/User/UserResponseModel.cs @@ -27,4 +27,5 @@ public class UserResponseModel : UserPresentationBase public DateTimeOffset? LastLockoutDate { get; set; } public DateTimeOffset? LastPasswordChangeDate { get; set; } + public bool IsAdmin { get; set; } }