]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/blocklist.ts
Translated using Weblate (Spanish)
[github/Chocobozzz/PeerTube.git] / server / lib / blocklist.ts
1 import { sequelizeTypescript } from '../initializers'
2 import { AccountBlocklistModel } from '../models/account/account-blocklist'
3 import { ServerBlocklistModel } from '../models/server/server-blocklist'
4 import { MAccountBlocklist, MServerBlocklist } from '@server/typings/models'
5
6 function addAccountInBlocklist (byAccountId: number, targetAccountId: number) {
7 return sequelizeTypescript.transaction(async t => {
8 return AccountBlocklistModel.upsert({
9 accountId: byAccountId,
10 targetAccountId: targetAccountId
11 }, { transaction: t })
12 })
13 }
14
15 function addServerInBlocklist (byAccountId: number, targetServerId: number) {
16 return sequelizeTypescript.transaction(async t => {
17 return ServerBlocklistModel.upsert({
18 accountId: byAccountId,
19 targetServerId
20 }, { transaction: t })
21 })
22 }
23
24 function removeAccountFromBlocklist (accountBlock: MAccountBlocklist) {
25 return sequelizeTypescript.transaction(async t => {
26 return accountBlock.destroy({ transaction: t })
27 })
28 }
29
30 function removeServerFromBlocklist (serverBlock: MServerBlocklist) {
31 return sequelizeTypescript.transaction(async t => {
32 return serverBlock.destroy({ transaction: t })
33 })
34 }
35
36 export {
37 addAccountInBlocklist,
38 addServerInBlocklist,
39 removeAccountFromBlocklist,
40 removeServerFromBlocklist
41 }