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'
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 })
15 function addServerInBlocklist (byAccountId: number, targetServerId: number) {
16 return sequelizeTypescript.transaction(async t => {
17 return ServerBlocklistModel.upsert({
18 accountId: byAccountId,
20 }, { transaction: t })
24 function removeAccountFromBlocklist (accountBlock: MAccountBlocklist) {
25 return sequelizeTypescript.transaction(async t => {
26 return accountBlock.destroy({ transaction: t })
30 function removeServerFromBlocklist (serverBlock: MServerBlocklist) {
31 return sequelizeTypescript.transaction(async t => {
32 return serverBlock.destroy({ transaction: t })
37 addAccountInBlocklist,
39 removeAccountFromBlocklist,
40 removeServerFromBlocklist