X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Fcontrollers%2Fapi%2Fusers%2Fme.ts;h=7ab089713c0efdcdc560dbf74c2e000d42a28f1f;hb=1acb94750408490ce89264f92a14aceeffe81c96;hp=23890e20ce72c5e5e3c8ce664433ecf1704ec326;hpb=610d0be13b3d01f653ef269271dd667a57c85ef2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/users/me.ts b/server/controllers/api/users/me.ts index 23890e20c..7ab089713 100644 --- a/server/controllers/api/users/me.ts +++ b/server/controllers/api/users/me.ts @@ -1,9 +1,17 @@ -import * as express from 'express' import 'multer' -import { UserUpdateMe, UserVideoRate as FormattedUserVideoRate } from '../../../../shared' +import * as express from 'express' +import { auditLoggerFactory, getAuditIdFromRes, UserAuditView } from '@server/helpers/audit-logger' +import { UserUpdateMe, UserVideoRate as FormattedUserVideoRate, VideoSortField } from '../../../../shared' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { UserVideoQuota } from '../../../../shared/models/users/user-video-quota.model' +import { createReqFiles } from '../../../helpers/express-utils' import { getFormattedObjects } from '../../../helpers/utils' +import { CONFIG } from '../../../initializers/config' import { MIMETYPES } from '../../../initializers/constants' +import { sequelizeTypescript } from '../../../initializers/database' import { sendUpdateActor } from '../../../lib/activitypub/send' +import { updateActorAvatarFile } from '../../../lib/avatar' +import { getOriginalVideoFileTotalDailyFromUser, getOriginalVideoFileTotalFromUser, sendVerifyUserEmail } from '../../../lib/user' import { asyncMiddleware, asyncRetryTransactionMiddleware, @@ -11,23 +19,19 @@ import { paginationValidator, setDefaultPagination, setDefaultSort, + setDefaultVideosSort, usersUpdateMeValidator, usersVideoRatingValidator } from '../../../middlewares' import { deleteMeValidator, videoImportsSortValidator, videosSortValidator } from '../../../middlewares/validators' +import { updateAvatarValidator } from '../../../middlewares/validators/avatar' +import { AccountModel } from '../../../models/account/account' import { AccountVideoRateModel } from '../../../models/account/account-video-rate' import { UserModel } from '../../../models/account/user' import { VideoModel } from '../../../models/video/video' -import { VideoSortField } from '../../../../client/src/app/shared/video/sort-field.type' -import { createReqFiles } from '../../../helpers/express-utils' -import { UserVideoQuota } from '../../../../shared/models/users/user-video-quota.model' -import { updateAvatarValidator } from '../../../middlewares/validators/avatar' -import { updateActorAvatarFile } from '../../../lib/avatar' import { VideoImportModel } from '../../../models/video/video-import' -import { AccountModel } from '../../../models/account/account' -import { CONFIG } from '../../../initializers/config' -import { sequelizeTypescript } from '../../../initializers/database' -import { sendVerifyUserEmail } from '../../../lib/user' + +const auditLogger = auditLoggerFactory('users') const reqAvatarFile = createReqFiles([ 'avatarfile' ], MIMETYPES.IMAGE.MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.TMP_DIR }) @@ -61,7 +65,7 @@ meRouter.get('/me/videos', authenticate, paginationValidator, videosSortValidator, - setDefaultSort, + setDefaultVideosSort, setDefaultPagination, asyncMiddleware(getUserVideos) ) @@ -126,15 +130,15 @@ async function getUserVideoImports (req: express.Request, res: express.Response) async function getUserInformation (req: express.Request, res: express.Response) { // We did not load channels in res.locals.user - const user = await UserModel.loadForMeAPI(res.locals.oauth.token.user.username) + const user = await UserModel.loadForMeAPI(res.locals.oauth.token.user.id) return res.json(user.toMeFormattedJSON()) } async function getUserVideoQuotaUsed (req: express.Request, res: express.Response) { const user = res.locals.oauth.token.user - const videoQuotaUsed = await UserModel.getOriginalVideoFileTotalFromUser(user) - const videoQuotaUsedDaily = await UserModel.getOriginalVideoFileTotalDailyFromUser(user) + const videoQuotaUsed = await getOriginalVideoFileTotalFromUser(user) + const videoQuotaUsedDaily = await getOriginalVideoFileTotalDailyFromUser(user) const data: UserVideoQuota = { videoQuotaUsed, @@ -158,11 +162,13 @@ async function getUserVideoRating (req: express.Request, res: express.Response) } async function deleteMe (req: express.Request, res: express.Response) { - const user = res.locals.oauth.token.User + const user = await UserModel.loadByIdWithChannels(res.locals.oauth.token.User.id) + + auditLogger.delete(getAuditIdFromRes(res), new UserAuditView(user.toFormattedJSON())) await user.destroy() - return res.sendStatus(204) + return res.sendStatus(HttpStatusCode.NO_CONTENT_204) } async function updateMe (req: express.Request, res: express.Response) { @@ -210,7 +216,7 @@ async function updateMe (req: express.Request, res: express.Response) { await sendVerifyUserEmail(user, true) } - return res.sendStatus(204) + return res.sendStatus(HttpStatusCode.NO_CONTENT_204) } async function updateMyAvatar (req: express.Request, res: express.Response) {