Skip to content

Commit f8ce023

Browse files
committed
Add token permission to ui better
1 parent 87c0316 commit f8ce023

File tree

7 files changed

+29
-9
lines changed

7 files changed

+29
-9
lines changed

Desktop/Ui/Pages/Authentication/Authenticate.razor

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
@inject ConfigManager ConfigManager
2-
@inject NavigationManager NavigationManager
3-
@inject ISnackbar Snackbar
42
@inject AuthService AuthService
53
@inject PipeServerService PipeService
64
@layout NotAuthedLayout
@@ -9,8 +7,6 @@
97
@using OpenShock.Desktop.Services.Pipes
108
@inherits LayoutComponentBase
119
@implements IAsyncDisposable
12-
@inject ILogger<Authenticate> Logger
13-
1410

1511
<MudDialog>
1612
<DialogContent>

Desktop/Ui/Pages/Authentication/LoginPart.razor

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
@using OpenShock.SDK.CSharp.Utils
1111

1212
@inject ConfigManager ConfigManager
13-
@inject OpenShockApi ApiClient
1413
@inject ISnackbar Snackbar
1514
@inject ILogger<LoginPart> Logger
1615

Desktop/Ui/Pages/Dash/DashLayout.razor

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
@using OpenShock.Desktop.Logging
33
@using OpenShock.Desktop.Services
44
@inherits LayoutComponentBase
5-
@inject AuthService AuthService
6-
@inject NavigationManager NavigationManager
7-
@inject ILogger<DashLayout> Logger
85

96
<style>
107
.childs-width-100 > * {

Desktop/Ui/Pages/Dash/Tabs/AppSettingsTab.razor

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
@using OpenShock.Desktop.ModuleManager.Repository
66
@using OpenShock.Desktop.Services
77
@using OpenShock.Desktop.Ui.Pages.Dash.Components
8+
@using OpenShock.SDK.CSharp.Models
89
@inject IDialogService DialogService
910
@inject ISnackbar Snackbar
1011
@inject RepositoryManager RepositoryManager
@@ -34,11 +35,12 @@
3435
<div class="d-flex gap-5 align-center pt-2">
3536
<span class="d-flex align-center">
3637
<MudText>Permissions: </MudText>
38+
<br/>
3739
@if (AuthService.TokenSelf is not null)
3840
{
3941
@foreach (var permission in AuthService.TokenSelf.Permissions)
4042
{
41-
<MudChip Value="permission"></MudChip>
43+
<MudChip Value="PermissionTypeBindings.PermissionTypeToName[permission].Name"></MudChip>
4244
}
4345
}
4446
</span>

ModuleBase/DesktopModuleAttribute.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2+
using OpenShock.Desktop.ModuleBase.Models;
23

34
namespace OpenShock.Desktop.ModuleBase;
45

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// ReSharper disable InconsistentNaming
2+
namespace OpenShock.Desktop.ModuleBase.Models;
3+
4+
public enum TokenPermissions
5+
{
6+
Shockers_Use,
7+
Shockers_Edit,
8+
Shockers_Pause,
9+
Devices_Edit,
10+
Devices_Auth
11+
}

ModuleBase/RequiredPermissions.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using OpenShock.Desktop.ModuleBase.Models;
2+
3+
namespace OpenShock.Desktop.ModuleBase;
4+
5+
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false, Inherited = false)]
6+
public sealed class RequiredPermissionsAttribute : Attribute
7+
{
8+
public IReadOnlyList<TokenPermissions> Permissions { get; init; }
9+
10+
public RequiredPermissionsAttribute(params IReadOnlyList<TokenPermissions> permissions)
11+
{
12+
Permissions = permissions;
13+
}
14+
}

0 commit comments

Comments
 (0)