File tree Expand file tree Collapse file tree 4 files changed +47
-0
lines changed
Refresh.Interfaces.APIv3/Endpoints Expand file tree Collapse file tree 4 files changed +47
-0
lines changed Original file line number Diff line number Diff line change @@ -47,11 +47,18 @@ public class ApiInstanceResponse : IApiResponse
4747
4848 public required bool MaintenanceModeEnabled { get ; set ; }
4949 public required string ? GrafanaDashboardUrl { get ; set ; }
50+ public required string ? ServerStatusUrl { get ; set ; }
5051
5152 public required string WebsiteLogoUrl { get ; set ; }
5253 public required string ? WebsiteDefaultTheme { get ; set ; }
5354
5455 public required ApiContactInfoResponse ContactInfo { get ; set ; }
5556
5657 public required ApiContestResponse ? ActiveContest { get ; set ; }
58+
59+ public required ApiRolePermissionsResponse NormalUserPermissions { get ; set ; }
60+ public required ApiRolePermissionsResponse TrustedUserPermissions { get ; set ; }
61+
62+ public required bool IsPresenceServerEnabled { get ; set ; }
63+ // TODO: similar attribute for CWLib integration
5764}
Original file line number Diff line number Diff line change 1+ using Refresh . Core . Configuration ;
2+
3+ namespace Refresh . Interfaces . APIv3 . Endpoints . DataTypes . Response ;
4+
5+ [ JsonObject ( NamingStrategyType = typeof ( CamelCaseNamingStrategy ) ) ]
6+ public class ApiRolePermissionsResponse : IApiResponse
7+ {
8+ public required ConfigAssetFlags BlockedAssetFlags { get ; set ; }
9+ public required bool ReadOnlyMode { get ; set ; }
10+ public required ApiTimedLevelLimitResponse ? TimedLevelUploadLimits { get ; set ; }
11+ public required int UserFilesizeQuota { get ; set ; }
12+
13+ public static ApiRolePermissionsResponse FromOld ( RolePermissions old )
14+ {
15+ return new ( )
16+ {
17+ BlockedAssetFlags = old . BlockedAssetFlags ,
18+ ReadOnlyMode = old . ReadOnlyMode ,
19+ TimedLevelUploadLimits = old . TimedLevelUploadLimits . Enabled ? new ApiTimedLevelLimitResponse ( )
20+ {
21+ TimeSpanHours = old . TimedLevelUploadLimits . TimeSpanHours ,
22+ LevelQuota = old . TimedLevelUploadLimits . LevelQuota ,
23+ } : null ,
24+ UserFilesizeQuota = old . UserFilesizeQuota ,
25+ } ;
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ namespace Refresh . Interfaces . APIv3 . Endpoints . DataTypes . Response ;
2+
3+ [ JsonObject ( NamingStrategyType = typeof ( CamelCaseNamingStrategy ) ) ]
4+ public class ApiTimedLevelLimitResponse : IApiResponse
5+ {
6+ public required int TimeSpanHours { get ; set ; }
7+ public required int LevelQuota { get ; set ; }
8+ }
Original file line number Diff line number Diff line change @@ -72,6 +72,11 @@ public ApiResponse<ApiInstanceResponse> GetInstanceInformation(RequestContext co
7272 GrafanaDashboardUrl = integrationConfig . GrafanaDashboardUrl ,
7373 WebsiteLogoUrl = integrationConfig . WebsiteLogoUrl ,
7474 WebsiteDefaultTheme = integrationConfig . WebsiteDefaultTheme ,
75+ IsPresenceServerEnabled = integrationConfig . PresenceEnabled ,
76+ ServerStatusUrl = integrationConfig . ServerStatusUrl ,
77+
78+ NormalUserPermissions = ApiRolePermissionsResponse . FromOld ( gameConfig . NormalUserPermissions ) ,
79+ TrustedUserPermissions = ApiRolePermissionsResponse . FromOld ( gameConfig . TrustedUserPermissions ) ,
7580
7681 ContactInfo = new ApiContactInfoResponse
7782 {
You can’t perform that action at this time.
0 commit comments