aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api/users
diff options
context:
space:
mode:
authorRigel Kent <sendmemail@rigelk.eu>2021-01-13 09:12:55 +0100
committerGitHub <noreply@github.com>2021-01-13 09:12:55 +0100
commit1ea7da819e5bfae7b443ed722c18c4165d101439 (patch)
tree17cea3786dfb3a59a2ad5559de9ebf106a0440a2 /server/controllers/api/users
parent75dd1b641f987e1e09dbaa3329e08c6e98a858f3 (diff)
downloadPeerTube-1ea7da819e5bfae7b443ed722c18c4165d101439.tar.gz
PeerTube-1ea7da819e5bfae7b443ed722c18c4165d101439.tar.zst
PeerTube-1ea7da819e5bfae7b443ed722c18c4165d101439.zip
add ability to remove one's avatar for account and channels (#3467)
* add ability to remove one's avatar for account and channels * add ability to remove one's avatar for account and channels * only display avatar edition options after input change
Diffstat (limited to 'server/controllers/api/users')
-rw-r--r--server/controllers/api/users/me.ts18
1 files changed, 16 insertions, 2 deletions
diff --git a/server/controllers/api/users/me.ts b/server/controllers/api/users/me.ts
index 7ab089713..009cf42b7 100644
--- a/server/controllers/api/users/me.ts
+++ b/server/controllers/api/users/me.ts
@@ -10,7 +10,7 @@ import { CONFIG } from '../../../initializers/config'
10import { MIMETYPES } from '../../../initializers/constants' 10import { MIMETYPES } from '../../../initializers/constants'
11import { sequelizeTypescript } from '../../../initializers/database' 11import { sequelizeTypescript } from '../../../initializers/database'
12import { sendUpdateActor } from '../../../lib/activitypub/send' 12import { sendUpdateActor } from '../../../lib/activitypub/send'
13import { updateActorAvatarFile } from '../../../lib/avatar' 13import { deleteActorAvatarFile, updateActorAvatarFile } from '../../../lib/avatar'
14import { getOriginalVideoFileTotalDailyFromUser, getOriginalVideoFileTotalFromUser, sendVerifyUserEmail } from '../../../lib/user' 14import { getOriginalVideoFileTotalDailyFromUser, getOriginalVideoFileTotalFromUser, sendVerifyUserEmail } from '../../../lib/user'
15import { 15import {
16 asyncMiddleware, 16 asyncMiddleware,
@@ -89,6 +89,11 @@ meRouter.post('/me/avatar/pick',
89 asyncRetryTransactionMiddleware(updateMyAvatar) 89 asyncRetryTransactionMiddleware(updateMyAvatar)
90) 90)
91 91
92meRouter.delete('/me/avatar',
93 authenticate,
94 asyncRetryTransactionMiddleware(deleteMyAvatar)
95)
96
92// --------------------------------------------------------------------------- 97// ---------------------------------------------------------------------------
93 98
94export { 99export {
@@ -225,7 +230,16 @@ async function updateMyAvatar (req: express.Request, res: express.Response) {
225 230
226 const userAccount = await AccountModel.load(user.Account.id) 231 const userAccount = await AccountModel.load(user.Account.id)
227 232
228 const avatar = await updateActorAvatarFile(avatarPhysicalFile, userAccount) 233 const avatar = await updateActorAvatarFile(userAccount, avatarPhysicalFile)
229 234
230 return res.json({ avatar: avatar.toFormattedJSON() }) 235 return res.json({ avatar: avatar.toFormattedJSON() })
231} 236}
237
238async function deleteMyAvatar (req: express.Request, res: express.Response) {
239 const user = res.locals.oauth.token.user
240
241 const userAccount = await AccountModel.load(user.Account.id)
242 await deleteActorAvatarFile(userAccount)
243
244 return res.sendStatus(HttpStatusCode.NO_CONTENT_204)
245}