import { sendUpdateUser } from '../../lib/activitypub/send'
import { createUserAccountAndChannel } from '../../lib/user'
import {
- asyncMiddleware, authenticate, ensureUserHasRight, ensureUserRegistrationAllowed, paginationValidator, setPagination, setUsersSort,
- setVideosSort, token, usersAddValidator, usersGetValidator, usersRegisterValidator, usersRemoveValidator, usersSortValidator,
+ asyncMiddleware, authenticate, ensureUserHasRight, ensureUserRegistrationAllowed, paginationValidator, setDefaultSort,
+ setPagination, token, usersAddValidator, usersGetValidator, usersRegisterValidator, usersRemoveValidator, usersSortValidator,
usersUpdateMeValidator, usersUpdateValidator, usersVideoRatingValidator
} from '../../middlewares'
import { usersUpdateMyAvatarValidator, videosSortValidator } from '../../middlewares/validators'
asyncMiddleware(getUserInformation)
)
+usersRouter.get('/me/video-quota-used',
+ authenticate,
+ asyncMiddleware(getUserVideoQuotaUsed)
+)
+
usersRouter.get('/me/videos',
authenticate,
paginationValidator,
videosSortValidator,
- setVideosSort,
+ setDefaultSort,
setPagination,
asyncMiddleware(getUserVideos)
)
ensureUserHasRight(UserRight.MANAGE_USERS),
paginationValidator,
usersSortValidator,
- setUsersSort,
+ setDefaultSort,
setPagination,
asyncMiddleware(listUsers)
)
return res.json(user.toFormattedJSON())
}
+async function getUserVideoQuotaUsed (req: express.Request, res: express.Response, next: express.NextFunction) {
+ // We did not load channels in res.locals.user
+ const user = await UserModel.loadByUsernameAndPopulateChannels(res.locals.oauth.token.user.username)
+ const videoQuotaUsed = await UserModel.getOriginalVideoFileTotalFromUser(user)
+
+ return res.json({
+ videoQuotaUsed
+ })
+}
+
function getUser (req: express.Request, res: express.Response, next: express.NextFunction) {
- return res.json(res.locals.user.toFormattedJSON())
+ return res.json((res.locals.user as UserModel).toFormattedJSON())
}
async function getUserVideoRating (req: express.Request, res: express.Response, next: express.NextFunction) {
await unlinkPromise(source)
const avatar = await sequelizeTypescript.transaction(async t => {
- await updateActorAvatarInstance(actor, avatarName, t)
+ const updatedActor = await updateActorAvatarInstance(actor, avatarName, t)
+ await updatedActor.save({ transaction: t })
await sendUpdateUser(user, t)
- return avatar
+ return updatedActor.Avatar
})
return res