diff --git a/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PartialPermissionAttribute.cs b/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PartialPermissionAttribute.cs
index 80bf585b..438b9ac8 100644
--- a/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PartialPermissionAttribute.cs
+++ b/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PartialPermissionAttribute.cs
@@ -42,7 +42,7 @@ namespace Kyoo.Abstractions.Models.Permissions
///
/// The group of this permission.
///
- public Group? Group { get; set; }
+ public Group Group { get; set; }
///
/// Ask a permission to run an action.
diff --git a/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PermissionAttribute.cs b/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PermissionAttribute.cs
index cb17020c..1f43853a 100644
--- a/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PermissionAttribute.cs
+++ b/back/src/Kyoo.Abstractions/Models/Attributes/Permission/PermissionAttribute.cs
@@ -54,6 +54,11 @@ namespace Kyoo.Abstractions.Models.Permissions
///
public enum Group
{
+ ///
+ /// Default group indicating no value.
+ ///
+ None,
+
///
/// Allow all operations on basic items types.
///
diff --git a/back/src/Kyoo.Authentication/Controllers/PermissionValidator.cs b/back/src/Kyoo.Authentication/Controllers/PermissionValidator.cs
index 5defc9c2..dd198d93 100644
--- a/back/src/Kyoo.Authentication/Controllers/PermissionValidator.cs
+++ b/back/src/Kyoo.Authentication/Controllers/PermissionValidator.cs
@@ -93,7 +93,7 @@ namespace Kyoo.Authentication
///
/// The group of he permission.
///
- private readonly Group _group = Group.Overall;
+ private Group _group;
///
/// The permissions options to retrieve default permissions.
@@ -146,7 +146,7 @@ namespace Kyoo.Authentication
);
}
- if (group != null)
+ if (group is not null and not Group.None)
_group = group.Value;
_options = options;
}
@@ -159,6 +159,16 @@ namespace Kyoo.Authentication
if (permission == null || kind == null)
{
+ if (
+ context.HttpContext.Items["PermissionGroup"]
+ is Group group and not Group.None
+ )
+ _group = group;
+ else if (_group == Group.None)
+ _group = Group.Overall;
+ else
+ context.HttpContext.Items["PermissionGroup"] = _group;
+
switch (context.HttpContext.Items["PermissionType"])
{
case string perm: