]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/blocklist.ts
Better use of space and icons in plugins administration interface
[github/Chocobozzz/PeerTube.git] / server / lib / blocklist.ts
index 394c2453705c139054a839372807ec482da53762..28c69b46e767744a73d267fa97f9fcabb9aaba8d 100644 (file)
@@ -1,10 +1,11 @@
 import { sequelizeTypescript } from '../initializers'
 import { AccountBlocklistModel } from '../models/account/account-blocklist'
 import { ServerBlocklistModel } from '../models/server/server-blocklist'
+import { MAccountBlocklist, MServerBlocklist } from '@server/typings/models'
 
 function addAccountInBlocklist (byAccountId: number, targetAccountId: number) {
   return sequelizeTypescript.transaction(async t => {
-    return AccountBlocklistModel.create({
+    return AccountBlocklistModel.upsert({
       accountId: byAccountId,
       targetAccountId: targetAccountId
     }, { transaction: t })
@@ -13,20 +14,20 @@ function addAccountInBlocklist (byAccountId: number, targetAccountId: number) {
 
 function addServerInBlocklist (byAccountId: number, targetServerId: number) {
   return sequelizeTypescript.transaction(async t => {
-    return ServerBlocklistModel.create({
+    return ServerBlocklistModel.upsert({
       accountId: byAccountId,
       targetServerId
     }, { transaction: t })
   })
 }
 
-function removeAccountFromBlocklist (accountBlock: AccountBlocklistModel) {
+function removeAccountFromBlocklist (accountBlock: MAccountBlocklist) {
   return sequelizeTypescript.transaction(async t => {
     return accountBlock.destroy({ transaction: t })
   })
 }
 
-function removeServerFromBlocklist (serverBlock: ServerBlocklistModel) {
+function removeServerFromBlocklist (serverBlock: MServerBlocklist) {
   return sequelizeTypescript.transaction(async t => {
     return serverBlock.destroy({ transaction: t })
   })