user.Account.id,
req.query.start as number,
req.query.count as number,
- req.query.sort as VideoSortField,
- false // Display my NSFW videos
+ req.query.sort as VideoSortField
)
const additionalAttributes = {
waitTranscoding: true,
state: true,
- scheduledUpdate: true
+ scheduledUpdate: true,
+ blacklistInfo: true
}
return res.json(getFormattedObjects(resultList.data, resultList.total, { additionalAttributes }))
}
async function blockUser (req: express.Request, res: express.Response, next: express.NextFunction) {
const user: UserModel = res.locals.user
+ const reason = req.body.reason
- await changeUserBlock(res, user, true)
+ await changeUserBlock(res, user, true, reason)
return res.status(204).end()
}
res.end()
}
-async function changeUserBlock (res: express.Response, user: UserModel, block: boolean) {
+async function changeUserBlock (res: express.Response, user: UserModel, block: boolean, reason?: string) {
const oldUserAuditView = new UserAuditView(user.toFormattedJSON())
user.blocked = block
+ user.blockedReason = reason || null
await sequelizeTypescript.transaction(async t => {
await OAuthTokenModel.deleteUserToken(user.id, t)
await user.save({ transaction: t })
})
+ await Emailer.Instance.addUserBlockJob(user, block, reason)
+
auditLogger.update(
res.locals.oauth.token.User.Account.Actor.getIdentifier(),
new UserAuditView(user.toFormattedJSON()),