X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fusers%2Fmy-blocklist.ts;h=faaef3ac042e6b2acd95d1e581cbafe65b936c1f;hb=afd4ee86ddb97f8d49585fddd318bedcd3ad55b8;hp=713c16022322a25fed2a8ab09037fd1fd4cd02a4;hpb=97567dd81f508dd6295ac4d73d849aa2ce0a6549;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/users/my-blocklist.ts b/server/controllers/api/users/my-blocklist.ts index 713c16022..faaef3ac0 100644 --- a/server/controllers/api/users/my-blocklist.ts +++ b/server/controllers/api/users/my-blocklist.ts @@ -20,6 +20,9 @@ import { import { AccountBlocklistModel } from '../../../models/account/account-blocklist' import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../../../lib/blocklist' import { ServerBlocklistModel } from '../../../models/server/server-blocklist' +import { UserNotificationModel } from '@server/models/account/user-notification' +import { logger } from '@server/helpers/logger' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' const myBlocklistRouter = express.Router() @@ -74,7 +77,13 @@ export { async function listBlockedAccounts (req: express.Request, res: express.Response) { const user = res.locals.oauth.token.User - const resultList = await AccountBlocklistModel.listForApi(user.Account.id, req.query.start, req.query.count, req.query.sort) + const resultList = await AccountBlocklistModel.listForApi({ + start: req.query.start, + count: req.query.count, + sort: req.query.sort, + search: req.query.search, + accountId: user.Account.id + }) return res.json(getFormattedObjects(resultList.data, resultList.total)) } @@ -85,7 +94,13 @@ async function blockAccount (req: express.Request, res: express.Response) { await addAccountInBlocklist(user.Account.id, accountToBlock.id) - return res.status(204).end() + UserNotificationModel.removeNotificationsOf({ + id: accountToBlock.id, + type: 'account', + forUserId: user.id + }).catch(err => logger.error('Cannot remove notifications after an account mute.', { err })) + + return res.status(HttpStatusCode.NO_CONTENT_204).end() } async function unblockAccount (req: express.Request, res: express.Response) { @@ -93,13 +108,19 @@ async function unblockAccount (req: express.Request, res: express.Response) { await removeAccountFromBlocklist(accountBlock) - return res.status(204).end() + return res.status(HttpStatusCode.NO_CONTENT_204).end() } async function listBlockedServers (req: express.Request, res: express.Response) { const user = res.locals.oauth.token.User - const resultList = await ServerBlocklistModel.listForApi(user.Account.id, req.query.start, req.query.count, req.query.sort) + const resultList = await ServerBlocklistModel.listForApi({ + start: req.query.start, + count: req.query.count, + sort: req.query.sort, + search: req.query.search, + accountId: user.Account.id + }) return res.json(getFormattedObjects(resultList.data, resultList.total)) } @@ -110,7 +131,13 @@ async function blockServer (req: express.Request, res: express.Response) { await addServerInBlocklist(user.Account.id, serverToBlock.id) - return res.status(204).end() + UserNotificationModel.removeNotificationsOf({ + id: serverToBlock.id, + type: 'server', + forUserId: user.id + }).catch(err => logger.error('Cannot remove notifications after a server mute.', { err })) + + return res.status(HttpStatusCode.NO_CONTENT_204).end() } async function unblockServer (req: express.Request, res: express.Response) { @@ -118,5 +145,5 @@ async function unblockServer (req: express.Request, res: express.Response) { await removeServerFromBlocklist(serverBlock) - return res.status(204).end() + return res.status(HttpStatusCode.NO_CONTENT_204).end() }