enhance: クライアント設定の初期値を変更できるように(簡易)

This commit is contained in:
kakkokari-gtyih 2024-11-03 01:32:37 +09:00
parent 224bbd486f
commit 1005d17313
19 changed files with 440 additions and 33 deletions

View file

@ -151,6 +151,7 @@ export class MetaEntityService {
const packDetailed: Packed<'MetaDetailed'> = {
...packed,
defaultClientSettingOverrides: instance.defaultClientSettingOverrides,
cacheRemoteFiles: instance.cacheRemoteFiles,
cacheRemoteSensitiveFiles: instance.cacheRemoteSensitiveFiles,
requireSetup: !await this.instanceActorService.realLocalUsersPresent(),

View file

@ -409,6 +409,12 @@ export class MiMeta {
})
public defaultDarkTheme: string | null;
@Column('varchar', {
length: 8192,
nullable: true,
})
public defaultClientSettingOverrides: string | null;
@Column('boolean', {
default: false,
})

View file

@ -315,6 +315,10 @@ export const packedMetaDetailedOnlySchema = {
},
},
},
defaultClientSettingOverrides: {
type: 'string',
optional: false, nullable: true,
},
proxyAccountName: {
type: 'string',
optional: false, nullable: true,

View file

@ -420,6 +420,10 @@ export const meta = {
type: 'string',
optional: false, nullable: true,
},
defaultClientSettingOverrides: {
type: 'string',
optional: false, nullable: true,
},
description: {
type: 'string',
optional: false, nullable: true,
@ -585,6 +589,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
logoImageUrl: instance.logoImageUrl,
defaultLightTheme: instance.defaultLightTheme,
defaultDarkTheme: instance.defaultDarkTheme,
defaultClientSettingOverrides: instance.defaultClientSettingOverrides,
enableEmail: instance.enableEmail,
enableServiceWorker: instance.enableServiceWorker,
translatorAvailable: instance.deeplAuthKey != null,

View file

@ -67,6 +67,7 @@ export const paramDef = {
description: { type: 'string', nullable: true },
defaultLightTheme: { type: 'string', nullable: true },
defaultDarkTheme: { type: 'string', nullable: true },
defaultClientSettingOverrides: { type: 'string', nullable: true },
cacheRemoteFiles: { type: 'boolean' },
cacheRemoteSensitiveFiles: { type: 'boolean' },
emailRequiredForSignup: { type: 'boolean' },
@ -303,6 +304,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.defaultDarkTheme = ps.defaultDarkTheme;
}
if (ps.defaultClientSettingOverrides !== undefined) {
set.defaultClientSettingOverrides = ps.defaultClientSettingOverrides;
}
if (ps.cacheRemoteFiles !== undefined) {
set.cacheRemoteFiles = ps.cacheRemoteFiles;
}