feat: dedicated Instance Settings modal with admin controls
Move instance-level administration out of Space Settings into its own modal. Adds admin UI for instance name, registration toggle, and discovery toggle. Streaming limits panel relocated from SpaceSettings. - Add InstanceAdminSettings type and GET/PATCH /api/settings/instance - Add registration_open DB column (nullable, env var fallback) - Auth registration and instance info now check DB override - New InstanceSettings modal with General and Streaming tabs - Admin shield button in UserAreaPanel (visible to admins only) - Remove Streaming tab from SpaceSettings
This commit is contained in:
@@ -26,6 +26,7 @@ import type {
|
||||
Friend,
|
||||
FriendRequest,
|
||||
InstanceStreamingLimits,
|
||||
InstanceAdminSettings,
|
||||
InstanceInfoResponse,
|
||||
VerifyPasswordResponse,
|
||||
ExploreSpace,
|
||||
@@ -112,6 +113,8 @@ export class BackspaceApiClient {
|
||||
readonly settings: {
|
||||
getStreaming: () => Promise<InstanceStreamingLimits>;
|
||||
updateStreaming: (data: Partial<InstanceStreamingLimits>) => Promise<InstanceStreamingLimits>;
|
||||
getInstance: () => Promise<InstanceAdminSettings>;
|
||||
updateInstance: (data: Partial<InstanceAdminSettings>) => Promise<InstanceAdminSettings>;
|
||||
};
|
||||
|
||||
readonly instance: {
|
||||
@@ -300,6 +303,9 @@ export class BackspaceApiClient {
|
||||
getStreaming: () => request<InstanceStreamingLimits>('GET', '/settings/streaming'),
|
||||
updateStreaming: (data: Partial<InstanceStreamingLimits>) =>
|
||||
request<InstanceStreamingLimits>('PATCH', '/settings/streaming', data),
|
||||
getInstance: () => request<InstanceAdminSettings>('GET', '/settings/instance'),
|
||||
updateInstance: (data: Partial<InstanceAdminSettings>) =>
|
||||
request<InstanceAdminSettings>('PATCH', '/settings/instance', data),
|
||||
};
|
||||
|
||||
this.instance = {
|
||||
|
||||
Reference in New Issue
Block a user