{ summary: '', description: '', tags: [ 'meta', ], requireCredential: true, req: { type: 'object', properties: {}, required: [], }, res: { type: 'object', optional: false, nullable: false, properties: { driveCapacityPerLocalUserMb: { type: 'number', optional: false, nullable: false, }, driveCapacityPerRemoteUserMb: { type: 'number', optional: false, nullable: false, }, cacheRemoteFiles: { type: 'boolean', optional: false, nullable: false, }, emailRequiredForSignup: { type: 'boolean', optional: false, nullable: false, }, enableHcaptcha: { type: 'boolean', optional: false, nullable: false, }, hcaptchaSiteKey: { type: 'string', optional: false, nullable: true, }, enableRecaptcha: { type: 'boolean', optional: false, nullable: false, }, recaptchaSiteKey: { type: 'string', optional: false, nullable: true, }, swPublickey: { type: 'string', optional: false, nullable: true, }, mascotImageUrl: { type: 'string', optional: false, nullable: false, default: '/assets/ai.png', }, bannerUrl: { type: 'string', optional: false, nullable: false, }, errorImageUrl: { type: 'string', optional: false, nullable: false, default: 'https://xn--931a.moe/aiart/yubitun.png', }, iconUrl: { type: 'string', optional: false, nullable: true, }, maxNoteTextLength: { type: 'number', optional: false, nullable: false, }, emojis: { type: 'array', optional: false, nullable: false, items: { type: 'object', optional: false, nullable: false, properties: { id: { type: 'string', optional: false, nullable: false, format: 'id', }, aliases: { type: 'array', optional: false, nullable: false, items: { type: 'string', optional: false, nullable: false, }, }, category: { type: 'string', optional: false, nullable: true, }, host: { type: 'string', optional: false, nullable: true, }, url: { type: 'string', optional: false, nullable: false, format: 'url', }, }, required: [ 'id', 'aliases', 'category', 'host', 'url', ], }, }, ads: { type: 'array', optional: false, nullable: false, items: { type: 'object', optional: false, nullable: false, properties: { place: { type: 'string', optional: false, nullable: false, }, url: { type: 'string', optional: false, nullable: false, format: 'url', }, imageUrl: { type: 'string', optional: false, nullable: false, format: 'url', }, }, required: [ 'place', 'url', 'imageUrl', ], }, }, enableEmail: { type: 'boolean', optional: false, nullable: false, }, enableTwitterIntegration: { type: 'boolean', optional: false, nullable: false, }, enableGithubIntegration: { type: 'boolean', optional: false, nullable: false, }, enableDiscordIntegration: { type: 'boolean', optional: false, nullable: false, }, enableServiceWorker: { type: 'boolean', optional: false, nullable: false, }, translatorAvailable: { type: 'boolean', optional: false, nullable: false, }, proxyAccountName: { type: 'string', optional: false, nullable: true, }, userStarForReactionFallback: { type: 'boolean', optional: true, nullable: false, }, pinnedUsers: { type: 'array', optional: true, nullable: false, items: { type: 'string', optional: false, nullable: false, }, }, hiddenTags: { type: 'array', optional: true, nullable: false, items: { type: 'string', optional: false, nullable: false, }, }, blockedHosts: { type: 'array', optional: true, nullable: false, items: { type: 'string', optional: false, nullable: false, }, }, hcaptchaSecretKey: { type: 'string', optional: true, nullable: true, }, recaptchaSecretKey: { type: 'string', optional: true, nullable: true, }, sensitiveMediaDetection: { type: 'string', optional: true, nullable: false, }, sensitiveMediaDetectionSensitivity: { type: 'string', optional: true, nullable: false, }, setSensitiveFlagAutomatically: { type: 'boolean', optional: true, nullable: false, }, enableSensitiveMediaDetectionForVideos: { type: 'boolean', optional: true, nullable: false, }, proxyAccountId: { type: 'string', optional: true, nullable: true, format: 'id', }, twitterConsumerKey: { type: 'string', optional: true, nullable: true, }, twitterConsumerSecret: { type: 'string', optional: true, nullable: true, }, githubClientId: { type: 'string', optional: true, nullable: true, }, githubClientSecret: { type: 'string', optional: true, nullable: true, }, discordClientId: { type: 'string', optional: true, nullable: true, }, discordClientSecret: { type: 'string', optional: true, nullable: true, }, summaryProxy: { type: 'string', optional: true, nullable: true, }, email: { type: 'string', optional: true, nullable: true, }, smtpSecure: { type: 'boolean', optional: true, nullable: false, }, smtpHost: { type: 'string', optional: true, nullable: true, }, smtpPort: { type: 'string', optional: true, nullable: true, }, smtpUser: { type: 'string', optional: true, nullable: true, }, smtpPass: { type: 'string', optional: true, nullable: true, }, swPrivateKey: { type: 'string', optional: true, nullable: true, }, useObjectStorage: { type: 'boolean', optional: true, nullable: false, }, objectStorageBaseUrl: { type: 'string', optional: true, nullable: true, }, objectStorageBucket: { type: 'string', optional: true, nullable: true, }, objectStoragePrefix: { type: 'string', optional: true, nullable: true, }, objectStorageEndpoint: { type: 'string', optional: true, nullable: true, }, objectStorageRegion: { type: 'string', optional: true, nullable: true, }, objectStoragePort: { type: 'number', optional: true, nullable: true, }, objectStorageAccessKey: { type: 'string', optional: true, nullable: true, }, objectStorageSecretKey: { type: 'string', optional: true, nullable: true, }, objectStorageUseSSL: { type: 'boolean', optional: true, nullable: false, }, objectStorageUseProxy: { type: 'boolean', optional: true, nullable: false, }, objectStorageSetPublicRead: { type: 'boolean', optional: true, nullable: false, }, enableIpLogging: { type: 'boolean', optional: true, nullable: false, }, enableActiveEmailValidation: { type: 'boolean', optional: true, nullable: false, }, }, required: [ 'driveCapacityPerLocalUserMb', 'driveCapacityPerRemoteUserMb', 'cacheRemoteFiles', 'emailRequiredForSignup', 'enableHcaptcha', 'hcaptchaSiteKey', 'enableRecaptcha', 'recaptchaSiteKey', 'swPublickey', 'mascotImageUrl', 'bannerUrl', 'errorImageUrl', 'iconUrl', 'maxNoteTextLength', 'emojis', 'ads', 'enableEmail', 'enableTwitterIntegration', 'enableGithubIntegration', 'enableDiscordIntegration', 'enableServiceWorker', 'translatorAvailable', 'proxyAccountName', ], }, errors: {}, }