- if (body.password !== undefined) user.password = body.password
- if (body.nsfwPolicy !== undefined) user.nsfwPolicy = body.nsfwPolicy
- if (body.webTorrentEnabled !== undefined) user.webTorrentEnabled = body.webTorrentEnabled
- if (body.autoPlayVideo !== undefined) user.autoPlayVideo = body.autoPlayVideo
- if (body.videosHistoryEnabled !== undefined) user.videosHistoryEnabled = body.videosHistoryEnabled
- if (body.videoLanguages !== undefined) user.videoLanguages = body.videoLanguages
- if (body.theme !== undefined) user.theme = body.theme
+ const keysToUpdate: (keyof UserUpdateMe & keyof AttributesOnly<UserModel>)[] = [
+ 'password',
+ 'nsfwPolicy',
+ 'p2pEnabled',
+ 'autoPlayVideo',
+ 'autoPlayNextVideo',
+ 'autoPlayNextVideoPlaylist',
+ 'videosHistoryEnabled',
+ 'videoLanguages',
+ 'theme',
+ 'noInstanceConfigWarningModal',
+ 'noAccountSetupWarningModal',
+ 'noWelcomeModal'
+ ]
+
+ for (const key of keysToUpdate) {
+ if (body[key] !== undefined) user.set(key, body[key])
+ }
+
+ if (body.p2pEnabled !== undefined) {
+ user.set('p2pEnabled', body.p2pEnabled)
+ } else if (body.webTorrentEnabled !== undefined) { // FIXME: deprecated in 4.1
+ user.set('p2pEnabled', body.webTorrentEnabled)
+ }