diff --git a/back/src/Kyoo.Authentication/Models/DTO/ServerInfo.cs b/back/src/Kyoo.Authentication/Models/DTO/ServerInfo.cs
index 50ff3a71..bfb3dbd2 100644
--- a/back/src/Kyoo.Authentication/Models/DTO/ServerInfo.cs
+++ b/back/src/Kyoo.Authentication/Models/DTO/ServerInfo.cs
@@ -31,6 +31,11 @@ public class ServerInfo
/// True if guest accounts are allowed on this instance.
///
public bool AllowGuests { get; set; }
+
+ ///
+ /// The list of permissions available for the guest account.
+ ///
+ public List GuestPermissions { get; set; }
}
public class OidcInfo
diff --git a/back/src/Kyoo.Authentication/Views/InfoApi.cs b/back/src/Kyoo.Authentication/Views/InfoApi.cs
index fd951935..93065198 100644
--- a/back/src/Kyoo.Authentication/Views/InfoApi.cs
+++ b/back/src/Kyoo.Authentication/Views/InfoApi.cs
@@ -39,6 +39,7 @@ public class InfoApi(PermissionOption options) : ControllerBase
new ServerInfo()
{
AllowGuests = options.Default.Any(),
+ GuestPermissions = options.Default.ToList(),
Oidc = options
.OIDC.Select(x => new KeyValuePair(
x.Key,
diff --git a/front/packages/models/src/resources/server-info.ts b/front/packages/models/src/resources/server-info.ts
index 25faf913..00b84c0f 100644
--- a/front/packages/models/src/resources/server-info.ts
+++ b/front/packages/models/src/resources/server-info.ts
@@ -37,22 +37,24 @@ export const ServerInfoP = z.object({
* True if guest accounts are allowed on this instance.
*/
allowGuests: z.boolean(),
+ /*
+ * The list of permissions available for the guest account.
+ */
+ guestPermissions: z.array(z.string()),
/*
* The list of oidc providers configured for this instance of kyoo.
*/
- oidc: z
- .record(z.string(), OidcInfoP)
- .transform((x) =>
- Object.fromEntries(
- Object.entries(x).map(([provider, info]) => [
- provider,
- {
- ...info,
- link: imageFn(`/auth/login/${provider}?redirectUrl=${baseAppUrl()}/login/callback`),
- },
- ]),
- ),
+ oidc: z.record(z.string(), OidcInfoP).transform((x) =>
+ Object.fromEntries(
+ Object.entries(x).map(([provider, info]) => [
+ provider,
+ {
+ ...info,
+ link: imageFn(`/auth/login/${provider}?redirectUrl=${baseAppUrl()}/login/callback`),
+ },
+ ]),
),
+ ),
});
/**