mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
Refactor a little bit controllers
This commit is contained in:
parent
c00100b607
commit
c158a5faab
14 changed files with 625 additions and 504 deletions
|
@ -31,6 +31,7 @@ import { AccountVideoRateModel } from '../../../models/account/account-video-rat
|
|||
import { UserModel } from '../../../models/user/user'
|
||||
import { VideoModel } from '../../../models/video/video'
|
||||
import { VideoImportModel } from '../../../models/video/video-import'
|
||||
import { AttributesOnly } from '@shared/core-utils'
|
||||
|
||||
const auditLogger = auditLoggerFactory('users')
|
||||
|
||||
|
@ -191,17 +192,23 @@ async function updateMe (req: express.Request, res: express.Response) {
|
|||
|
||||
const user = res.locals.oauth.token.user
|
||||
|
||||
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.autoPlayNextVideo !== undefined) user.autoPlayNextVideo = body.autoPlayNextVideo
|
||||
if (body.autoPlayNextVideoPlaylist !== undefined) user.autoPlayNextVideoPlaylist = body.autoPlayNextVideoPlaylist
|
||||
if (body.videosHistoryEnabled !== undefined) user.videosHistoryEnabled = body.videosHistoryEnabled
|
||||
if (body.videoLanguages !== undefined) user.videoLanguages = body.videoLanguages
|
||||
if (body.theme !== undefined) user.theme = body.theme
|
||||
if (body.noInstanceConfigWarningModal !== undefined) user.noInstanceConfigWarningModal = body.noInstanceConfigWarningModal
|
||||
if (body.noWelcomeModal !== undefined) user.noWelcomeModal = body.noWelcomeModal
|
||||
const keysToUpdate: (keyof UserUpdateMe & keyof AttributesOnly<UserModel>)[] = [
|
||||
'password',
|
||||
'nsfwPolicy',
|
||||
'webTorrentEnabled',
|
||||
'autoPlayVideo',
|
||||
'autoPlayNextVideo',
|
||||
'autoPlayNextVideoPlaylist',
|
||||
'videosHistoryEnabled',
|
||||
'videoLanguages',
|
||||
'theme',
|
||||
'noInstanceConfigWarningModal',
|
||||
'noWelcomeModal'
|
||||
]
|
||||
|
||||
for (const key of keysToUpdate) {
|
||||
if (body[key] !== undefined) user.set(key, body[key])
|
||||
}
|
||||
|
||||
if (body.email !== undefined) {
|
||||
if (CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION) {
|
||||
|
@ -215,15 +222,15 @@ async function updateMe (req: express.Request, res: express.Response) {
|
|||
await sequelizeTypescript.transaction(async t => {
|
||||
await user.save({ transaction: t })
|
||||
|
||||
if (body.displayName !== undefined || body.description !== undefined) {
|
||||
const userAccount = await AccountModel.load(user.Account.id, t)
|
||||
if (body.displayName === undefined && body.description === undefined) return
|
||||
|
||||
if (body.displayName !== undefined) userAccount.name = body.displayName
|
||||
if (body.description !== undefined) userAccount.description = body.description
|
||||
await userAccount.save({ transaction: t })
|
||||
const userAccount = await AccountModel.load(user.Account.id, t)
|
||||
|
||||
await sendUpdateActor(userAccount, t)
|
||||
}
|
||||
if (body.displayName !== undefined) userAccount.name = body.displayName
|
||||
if (body.description !== undefined) userAccount.description = body.description
|
||||
await userAccount.save({ transaction: t })
|
||||
|
||||
await sendUpdateActor(userAccount, t)
|
||||
})
|
||||
|
||||
if (sendVerificationEmail === true) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue