Add player mode in watch/embed urls
[oweals/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
5 function addAccountInBlocklist (byAccountId: number, targetAccountId: number) {
6   return sequelizeTypescript.transaction(async t => {
7     return AccountBlocklistModel.upsert({
8       accountId: byAccountId,
9       targetAccountId: targetAccountId
10     }, { transaction: t })
11   })
12 }
13
14 function addServerInBlocklist (byAccountId: number, targetServerId: number) {
15   return sequelizeTypescript.transaction(async t => {
16     return ServerBlocklistModel.upsert({
17       accountId: byAccountId,
18       targetServerId
19     }, { transaction: t })
20   })
21 }
22
23 function removeAccountFromBlocklist (accountBlock: AccountBlocklistModel) {
24   return sequelizeTypescript.transaction(async t => {
25     return accountBlock.destroy({ transaction: t })
26   })
27 }
28
29 function removeServerFromBlocklist (serverBlock: ServerBlocklistModel) {
30   return sequelizeTypescript.transaction(async t => {
31     return serverBlock.destroy({ transaction: t })
32   })
33 }
34
35 export {
36   addAccountInBlocklist,
37   addServerInBlocklist,
38   removeAccountFromBlocklist,
39   removeServerFromBlocklist
40 }