diff --git a/src/Casdoor.Client/CasdoorClient.Internal.cs b/src/Casdoor.Client/CasdoorClient.Internal.cs index 580fbc2..b17913a 100644 --- a/src/Casdoor.Client/CasdoorClient.Internal.cs +++ b/src/Casdoor.Client/CasdoorClient.Internal.cs @@ -37,6 +37,7 @@ public partial class CasdoorClient internal async Task PostAsJsonAsync(string? requestUri, TValue value, CancellationToken cancellationToken = default) { + _httpClient.SetCasdoorAuthentication(_options); HttpResponseMessage resp = await _httpClient.PostAsJsonAsync(requestUri, value, cancellationToken); return await resp.ToCasdoorResponse(cancellationToken); } diff --git a/src/Casdoor.Client/CasdoorClient.PermissionApi.cs b/src/Casdoor.Client/CasdoorClient.PermissionApi.cs index 99c2823..931c1c2 100644 --- a/src/Casdoor.Client/CasdoorClient.PermissionApi.cs +++ b/src/Casdoor.Client/CasdoorClient.PermissionApi.cs @@ -18,6 +18,26 @@ namespace Casdoor.Client; public partial class CasdoorClient { + public virtual async Task AddPermissionAsync(CasdoorPermission permission, + CancellationToken cancellationToken = default) + { + string url = _options.GetActionUrl("add-permission"); + return await PostAsJsonAsync(url, permission, cancellationToken); + } + + public virtual async Task UpdatePermissionAsync(CasdoorPermission permission, string permissionId, + CancellationToken cancellationToken = default) + { + string url = _options.GetActionUrl("update-permission", new QueryMapBuilder().Add("id", permissionId).QueryMap); + return await PostAsJsonAsync(url, permission, cancellationToken); + } + + public virtual async Task DeletePermissionAsync(CasdoorPermission permission, CancellationToken cancellationToken = default) + { + string url = _options.GetActionUrl("delete-permission"); + return await PostAsJsonAsync(url, permission, cancellationToken); + } + public virtual async Task?> GetPermissionsAsync(CancellationToken cancellationToken = default) { var queryMap = new QueryMapBuilder().Add("owner", _options.OrganizationName).QueryMap;