Introduce blocklist command
This commit is contained in:
parent
9fff08cf83
commit
5f8bd4cbb1
|
@ -4,8 +4,6 @@ import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import {
|
import {
|
||||||
AbusesCommand,
|
AbusesCommand,
|
||||||
addAccountToServerBlocklist,
|
|
||||||
addServerToServerBlocklist,
|
|
||||||
addVideoCommentThread,
|
addVideoCommentThread,
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
createUser,
|
createUser,
|
||||||
|
@ -16,8 +14,6 @@ import {
|
||||||
getVideoCommentThreads,
|
getVideoCommentThreads,
|
||||||
getVideoIdFromUUID,
|
getVideoIdFromUUID,
|
||||||
getVideosList,
|
getVideosList,
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
removeServerFromServerBlocklist,
|
|
||||||
removeUser,
|
removeUser,
|
||||||
removeVideo,
|
removeVideo,
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
|
@ -27,7 +23,7 @@ import {
|
||||||
userLogin,
|
userLogin,
|
||||||
waitJobs
|
waitJobs
|
||||||
} from '@shared/extra-utils'
|
} from '@shared/extra-utils'
|
||||||
import { AbuseMessage, AbusePredefinedReasonsString, AbuseState, Account, AdminAbuse, UserAbuse, VideoComment } from '@shared/models'
|
import { AbuseMessage, AbusePredefinedReasonsString, AbuseState, AdminAbuse, UserAbuse, VideoComment } from '@shared/models'
|
||||||
|
|
||||||
const expect = chai.expect
|
const expect = chai.expect
|
||||||
|
|
||||||
|
@ -225,7 +221,7 @@ describe('Test abuses', function () {
|
||||||
const accountToBlock = 'root@' + servers[1].host
|
const accountToBlock = 'root@' + servers[1].host
|
||||||
|
|
||||||
{
|
{
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, accountToBlock)
|
await servers[0].blocklistCommand.addToServerBlocklist({ account: accountToBlock })
|
||||||
|
|
||||||
const body = await commands[0].getAdminList()
|
const body = await commands[0].getAdminList()
|
||||||
expect(body.total).to.equal(2)
|
expect(body.total).to.equal(2)
|
||||||
|
@ -235,7 +231,7 @@ describe('Test abuses', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, accountToBlock)
|
await servers[0].blocklistCommand.removeFromServerBlocklist({ account: accountToBlock })
|
||||||
|
|
||||||
const body = await commands[0].getAdminList()
|
const body = await commands[0].getAdminList()
|
||||||
expect(body.total).to.equal(3)
|
expect(body.total).to.equal(3)
|
||||||
|
@ -246,7 +242,7 @@ describe('Test abuses', function () {
|
||||||
const serverToBlock = servers[1].host
|
const serverToBlock = servers[1].host
|
||||||
|
|
||||||
{
|
{
|
||||||
await addServerToServerBlocklist(servers[0].url, servers[0].accessToken, servers[1].host)
|
await servers[0].blocklistCommand.addToServerBlocklist({ server: serverToBlock })
|
||||||
|
|
||||||
const body = await commands[0].getAdminList()
|
const body = await commands[0].getAdminList()
|
||||||
expect(body.total).to.equal(2)
|
expect(body.total).to.equal(2)
|
||||||
|
@ -256,7 +252,7 @@ describe('Test abuses', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
await removeServerFromServerBlocklist(servers[0].url, servers[0].accessToken, serverToBlock)
|
await servers[0].blocklistCommand.removeFromServerBlocklist({ server: serverToBlock })
|
||||||
|
|
||||||
const body = await commands[0].getAdminList()
|
const body = await commands[0].getAdminList()
|
||||||
expect(body.total).to.equal(3)
|
expect(body.total).to.equal(3)
|
||||||
|
|
|
@ -2,30 +2,23 @@
|
||||||
|
|
||||||
import 'mocha'
|
import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import { getUserNotifications, markAsReadAllNotifications } from '@shared/extra-utils/users/user-notifications'
|
|
||||||
import { addUserSubscription, removeUserSubscription } from '@shared/extra-utils/users/user-subscriptions'
|
|
||||||
import { UserNotification, UserNotificationType } from '@shared/models'
|
|
||||||
import {
|
import {
|
||||||
|
addUserSubscription,
|
||||||
|
addVideoCommentThread,
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
createUser,
|
createUser,
|
||||||
doubleFollow,
|
doubleFollow,
|
||||||
flushAndRunMultipleServers,
|
flushAndRunMultipleServers,
|
||||||
|
getUserNotifications,
|
||||||
|
markAsReadAllNotifications,
|
||||||
|
removeUserSubscription,
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
|
setAccessTokensToServers,
|
||||||
uploadVideo,
|
uploadVideo,
|
||||||
userLogin
|
userLogin,
|
||||||
} from '../../../../shared/extra-utils/index'
|
waitJobs
|
||||||
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
|
} from '@shared/extra-utils'
|
||||||
import {
|
import { UserNotification, UserNotificationType } from '@shared/models'
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
addAccountToServerBlocklist,
|
|
||||||
addServerToAccountBlocklist,
|
|
||||||
addServerToServerBlocklist,
|
|
||||||
removeAccountFromAccountBlocklist,
|
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
removeServerFromAccountBlocklist
|
|
||||||
} from '../../../../shared/extra-utils/users/blocklist'
|
|
||||||
import { setAccessTokensToServers } from '../../../../shared/extra-utils/users/login'
|
|
||||||
import { addVideoCommentThread } from '../../../../shared/extra-utils/videos/video-comments'
|
|
||||||
|
|
||||||
const expect = chai.expect
|
const expect = chai.expect
|
||||||
|
|
||||||
|
@ -134,7 +127,7 @@ describe('Test blocklist', function () {
|
||||||
it('Should block an account', async function () {
|
it('Should block an account', async function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
|
|
||||||
await addAccountToAccountBlocklist(servers[0].url, userToken1, 'user3@' + servers[1].host)
|
await servers[0].blocklistCommand.addToMyBlocklist({ token: userToken1, account: 'user3@' + servers[1].host })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -147,7 +140,7 @@ describe('Test blocklist', function () {
|
||||||
|
|
||||||
await checkNotifications(servers[0].url, userToken2, notifs)
|
await checkNotifications(servers[0].url, userToken2, notifs)
|
||||||
|
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, userToken1, 'user3@' + servers[1].host)
|
await servers[0].blocklistCommand.removeFromMyBlocklist({ token: userToken1, account: 'user3@' + servers[1].host })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -167,7 +160,7 @@ describe('Test blocklist', function () {
|
||||||
it('Should block an account', async function () {
|
it('Should block an account', async function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
|
|
||||||
await addServerToAccountBlocklist(servers[0].url, userToken1, servers[1].host)
|
await servers[0].blocklistCommand.addToMyBlocklist({ token: userToken1, server: servers[1].host })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -180,7 +173,7 @@ describe('Test blocklist', function () {
|
||||||
|
|
||||||
await checkNotifications(servers[0].url, userToken2, notifs)
|
await checkNotifications(servers[0].url, userToken2, notifs)
|
||||||
|
|
||||||
await removeServerFromAccountBlocklist(servers[0].url, userToken1, servers[1].host)
|
await servers[0].blocklistCommand.removeFromMyBlocklist({ token: userToken1, server: servers[1].host })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -207,7 +200,7 @@ describe('Test blocklist', function () {
|
||||||
it('Should block an account', async function () {
|
it('Should block an account', async function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
|
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'user3@' + servers[1].host)
|
await servers[0].blocklistCommand.addToServerBlocklist({ account: 'user3@' + servers[1].host })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -215,7 +208,7 @@ describe('Test blocklist', function () {
|
||||||
await checkNotifications(servers[0].url, userToken1, [])
|
await checkNotifications(servers[0].url, userToken1, [])
|
||||||
await checkNotifications(servers[0].url, userToken2, [])
|
await checkNotifications(servers[0].url, userToken2, [])
|
||||||
|
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, 'user3@' + servers[1].host)
|
await servers[0].blocklistCommand.removeFromServerBlocklist({ account: 'user3@' + servers[1].host })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -242,7 +235,7 @@ describe('Test blocklist', function () {
|
||||||
it('Should block an account', async function () {
|
it('Should block an account', async function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
|
|
||||||
await addServerToServerBlocklist(servers[0].url, servers[0].accessToken, servers[1].host)
|
await servers[0].blocklistCommand.addToServerBlocklist({ server: servers[1].host })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -3,46 +3,27 @@
|
||||||
import 'mocha'
|
import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import {
|
import {
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
addAccountToServerBlocklist,
|
|
||||||
addServerToAccountBlocklist,
|
|
||||||
addServerToServerBlocklist,
|
|
||||||
addVideoCommentReply,
|
addVideoCommentReply,
|
||||||
addVideoCommentThread,
|
addVideoCommentThread,
|
||||||
|
BlocklistCommand,
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
createUser,
|
createUser,
|
||||||
deleteVideoComment,
|
deleteVideoComment,
|
||||||
doubleFollow,
|
doubleFollow,
|
||||||
findCommentId,
|
findCommentId,
|
||||||
flushAndRunMultipleServers,
|
flushAndRunMultipleServers,
|
||||||
getAccountBlocklistByAccount,
|
|
||||||
getAccountBlocklistByServer,
|
|
||||||
getServerBlocklistByAccount,
|
|
||||||
getServerBlocklistByServer,
|
|
||||||
getUserNotifications,
|
getUserNotifications,
|
||||||
getVideoCommentThreads,
|
getVideoCommentThreads,
|
||||||
getVideosList,
|
getVideosList,
|
||||||
getVideosListWithToken,
|
getVideosListWithToken,
|
||||||
getVideoThreadComments,
|
getVideoThreadComments,
|
||||||
removeAccountFromAccountBlocklist,
|
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
removeServerFromAccountBlocklist,
|
|
||||||
removeServerFromServerBlocklist,
|
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
setAccessTokensToServers,
|
setAccessTokensToServers,
|
||||||
uploadVideo,
|
uploadVideo,
|
||||||
userLogin,
|
userLogin,
|
||||||
waitJobs
|
waitJobs
|
||||||
} from '@shared/extra-utils'
|
} from '@shared/extra-utils'
|
||||||
import {
|
import { UserNotification, UserNotificationType, Video, VideoComment, VideoCommentThreadTree } from '@shared/models'
|
||||||
AccountBlock,
|
|
||||||
ServerBlock,
|
|
||||||
UserNotification,
|
|
||||||
UserNotificationType,
|
|
||||||
Video,
|
|
||||||
VideoComment,
|
|
||||||
VideoCommentThreadTree
|
|
||||||
} from '@shared/models'
|
|
||||||
|
|
||||||
const expect = chai.expect
|
const expect = chai.expect
|
||||||
|
|
||||||
|
@ -108,6 +89,8 @@ describe('Test blocklist', function () {
|
||||||
let userModeratorToken: string
|
let userModeratorToken: string
|
||||||
let userToken2: string
|
let userToken2: string
|
||||||
|
|
||||||
|
let command: BlocklistCommand
|
||||||
|
|
||||||
before(async function () {
|
before(async function () {
|
||||||
this.timeout(120000)
|
this.timeout(120000)
|
||||||
|
|
||||||
|
@ -167,6 +150,8 @@ describe('Test blocklist', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
|
command = servers[0].blocklistCommand
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('User blocklist', function () {
|
describe('User blocklist', function () {
|
||||||
|
@ -181,7 +166,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a remote account', async function () {
|
it('Should block a remote account', async function () {
|
||||||
await addAccountToAccountBlocklist(servers[0].url, servers[0].accessToken, 'user2@localhost:' + servers[1].port)
|
await command.addToMyBlocklist({ account: 'user2@localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -195,7 +180,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a local account', async function () {
|
it('Should block a local account', async function () {
|
||||||
await addAccountToAccountBlocklist(servers[0].url, servers[0].accessToken, 'user1')
|
await command.addToMyBlocklist({ account: 'user1' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -251,12 +236,10 @@ describe('Test blocklist', function () {
|
||||||
|
|
||||||
it('Should list blocked accounts', async function () {
|
it('Should list blocked accounts', async function () {
|
||||||
{
|
{
|
||||||
const res = await getAccountBlocklistByAccount(servers[0].url, servers[0].accessToken, 0, 1, 'createdAt')
|
const body = await command.listMyAccountBlocklist({ start: 0, count: 1, sort: 'createdAt' })
|
||||||
const blocks: AccountBlock[] = res.body.data
|
expect(body.total).to.equal(2)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(2)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('root')
|
expect(block.byAccount.displayName).to.equal('root')
|
||||||
expect(block.byAccount.name).to.equal('root')
|
expect(block.byAccount.name).to.equal('root')
|
||||||
expect(block.blockedAccount.displayName).to.equal('user2')
|
expect(block.blockedAccount.displayName).to.equal('user2')
|
||||||
|
@ -265,12 +248,10 @@ describe('Test blocklist', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
const res = await getAccountBlocklistByAccount(servers[0].url, servers[0].accessToken, 1, 2, 'createdAt')
|
const body = await command.listMyAccountBlocklist({ start: 1, count: 2, sort: 'createdAt' })
|
||||||
const blocks: AccountBlock[] = res.body.data
|
expect(body.total).to.equal(2)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(2)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('root')
|
expect(block.byAccount.displayName).to.equal('root')
|
||||||
expect(block.byAccount.name).to.equal('root')
|
expect(block.byAccount.name).to.equal('root')
|
||||||
expect(block.blockedAccount.displayName).to.equal('user1')
|
expect(block.blockedAccount.displayName).to.equal('user1')
|
||||||
|
@ -335,7 +316,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the remote account', async function () {
|
it('Should unblock the remote account', async function () {
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, servers[0].accessToken, 'user2@localhost:' + servers[1].port)
|
await command.removeFromMyBlocklist({ account: 'user2@localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should display its videos', async function () {
|
it('Should display its videos', async function () {
|
||||||
|
@ -374,7 +355,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the local account', async function () {
|
it('Should unblock the local account', async function () {
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, servers[0].accessToken, 'user1')
|
await command.removeFromMyBlocklist({ account: 'user1' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should display its comments', function () {
|
it('Should display its comments', function () {
|
||||||
|
@ -402,6 +383,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('When managing server blocklist', function () {
|
describe('When managing server blocklist', function () {
|
||||||
|
|
||||||
it('Should list all videos', function () {
|
it('Should list all videos', function () {
|
||||||
return checkAllVideos(servers[0].url, servers[0].accessToken)
|
return checkAllVideos(servers[0].url, servers[0].accessToken)
|
||||||
})
|
})
|
||||||
|
@ -411,7 +393,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a remote server', async function () {
|
it('Should block a remote server', async function () {
|
||||||
await addServerToAccountBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.addToMyBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -464,19 +446,17 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should list blocked servers', async function () {
|
it('Should list blocked servers', async function () {
|
||||||
const res = await getServerBlocklistByAccount(servers[0].url, servers[0].accessToken, 0, 1, 'createdAt')
|
const body = await command.listMyServerBlocklist({ start: 0, count: 1, sort: 'createdAt' })
|
||||||
const blocks: ServerBlock[] = res.body.data
|
expect(body.total).to.equal(1)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(1)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('root')
|
expect(block.byAccount.displayName).to.equal('root')
|
||||||
expect(block.byAccount.name).to.equal('root')
|
expect(block.byAccount.name).to.equal('root')
|
||||||
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
|
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the remote server', async function () {
|
it('Should unblock the remote server', async function () {
|
||||||
await removeServerFromAccountBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.removeFromMyBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should display its videos', function () {
|
it('Should display its videos', function () {
|
||||||
|
@ -524,7 +504,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a remote account', async function () {
|
it('Should block a remote account', async function () {
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'user2@localhost:' + servers[1].port)
|
await command.addToServerBlocklist({ account: 'user2@localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -540,7 +520,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a local account', async function () {
|
it('Should block a local account', async function () {
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'user1')
|
await command.addToServerBlocklist({ account: 'user1' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -598,12 +578,10 @@ describe('Test blocklist', function () {
|
||||||
|
|
||||||
it('Should list blocked accounts', async function () {
|
it('Should list blocked accounts', async function () {
|
||||||
{
|
{
|
||||||
const res = await getAccountBlocklistByServer(servers[0].url, servers[0].accessToken, 0, 1, 'createdAt')
|
const body = await command.listServerAccountBlocklist({ start: 0, count: 1, sort: 'createdAt' })
|
||||||
const blocks: AccountBlock[] = res.body.data
|
expect(body.total).to.equal(2)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(2)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('peertube')
|
expect(block.byAccount.displayName).to.equal('peertube')
|
||||||
expect(block.byAccount.name).to.equal('peertube')
|
expect(block.byAccount.name).to.equal('peertube')
|
||||||
expect(block.blockedAccount.displayName).to.equal('user2')
|
expect(block.blockedAccount.displayName).to.equal('user2')
|
||||||
|
@ -612,12 +590,10 @@ describe('Test blocklist', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
const res = await getAccountBlocklistByServer(servers[0].url, servers[0].accessToken, 1, 2, 'createdAt')
|
const body = await command.listServerAccountBlocklist({ start: 1, count: 2, sort: 'createdAt' })
|
||||||
const blocks: AccountBlock[] = res.body.data
|
expect(body.total).to.equal(2)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(2)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('peertube')
|
expect(block.byAccount.displayName).to.equal('peertube')
|
||||||
expect(block.byAccount.name).to.equal('peertube')
|
expect(block.byAccount.name).to.equal('peertube')
|
||||||
expect(block.blockedAccount.displayName).to.equal('user1')
|
expect(block.blockedAccount.displayName).to.equal('user1')
|
||||||
|
@ -627,7 +603,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the remote account', async function () {
|
it('Should unblock the remote account', async function () {
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, 'user2@localhost:' + servers[1].port)
|
await command.removeFromServerBlocklist({ account: 'user2@localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should display its videos', async function () {
|
it('Should display its videos', async function () {
|
||||||
|
@ -643,7 +619,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the local account', async function () {
|
it('Should unblock the local account', async function () {
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, 'user1')
|
await command.removeFromServerBlocklist({ account: 'user1' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should display its comments', async function () {
|
it('Should display its comments', async function () {
|
||||||
|
@ -686,7 +662,7 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should block a remote server', async function () {
|
it('Should block a remote server', async function () {
|
||||||
await addServerToServerBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.addToServerBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should hide its videos', async function () {
|
it('Should hide its videos', async function () {
|
||||||
|
@ -758,19 +734,17 @@ describe('Test blocklist', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should list blocked servers', async function () {
|
it('Should list blocked servers', async function () {
|
||||||
const res = await getServerBlocklistByServer(servers[0].url, servers[0].accessToken, 0, 1, 'createdAt')
|
const body = await command.listServerServerBlocklist({ start: 0, count: 1, sort: 'createdAt' })
|
||||||
const blocks: ServerBlock[] = res.body.data
|
expect(body.total).to.equal(1)
|
||||||
|
|
||||||
expect(res.body.total).to.equal(1)
|
const block = body.data[0]
|
||||||
|
|
||||||
const block = blocks[0]
|
|
||||||
expect(block.byAccount.displayName).to.equal('peertube')
|
expect(block.byAccount.displayName).to.equal('peertube')
|
||||||
expect(block.byAccount.name).to.equal('peertube')
|
expect(block.byAccount.name).to.equal('peertube')
|
||||||
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
|
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should unblock the remote server', async function () {
|
it('Should unblock the remote server', async function () {
|
||||||
await removeServerFromServerBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.removeFromServerBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should list all videos', async function () {
|
it('Should list all videos', async function () {
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
import 'mocha'
|
import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import {
|
import {
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
addVideoCommentReply,
|
addVideoCommentReply,
|
||||||
addVideoCommentThread,
|
addVideoCommentThread,
|
||||||
checkCommentMention,
|
checkCommentMention,
|
||||||
|
@ -14,7 +13,6 @@ import {
|
||||||
getVideoThreadComments,
|
getVideoThreadComments,
|
||||||
MockSmtpServer,
|
MockSmtpServer,
|
||||||
prepareNotificationsTest,
|
prepareNotificationsTest,
|
||||||
removeAccountFromAccountBlocklist,
|
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
updateMyUser,
|
updateMyUser,
|
||||||
uploadVideo,
|
uploadVideo,
|
||||||
|
@ -86,7 +84,7 @@ describe('Test comments notifications', function () {
|
||||||
it('Should not send a new comment notification if the account is muted', async function () {
|
it('Should not send a new comment notification if the account is muted', async function () {
|
||||||
this.timeout(20000)
|
this.timeout(20000)
|
||||||
|
|
||||||
await addAccountToAccountBlocklist(servers[0].url, userAccessToken, 'root')
|
await servers[0].blocklistCommand.addToMyBlocklist({ token: userAccessToken, account: 'root' })
|
||||||
|
|
||||||
const resVideo = await uploadVideo(servers[0].url, userAccessToken, { name: 'super video' })
|
const resVideo = await uploadVideo(servers[0].url, userAccessToken, { name: 'super video' })
|
||||||
const uuid = resVideo.body.video.uuid
|
const uuid = resVideo.body.video.uuid
|
||||||
|
@ -97,7 +95,7 @@ describe('Test comments notifications', function () {
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
await checkNewCommentOnMyVideo(baseParams, uuid, commentId, commentId, 'absence')
|
await checkNewCommentOnMyVideo(baseParams, uuid, commentId, commentId, 'absence')
|
||||||
|
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, userAccessToken, 'root')
|
await servers[0].blocklistCommand.removeFromMyBlocklist({ token: userAccessToken, account: 'root' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should send a new comment notification after a local comment on my video', async function () {
|
it('Should send a new comment notification after a local comment on my video', async function () {
|
||||||
|
@ -244,7 +242,7 @@ describe('Test comments notifications', function () {
|
||||||
it('Should not send a new mention notification if the account is muted', async function () {
|
it('Should not send a new mention notification if the account is muted', async function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
|
|
||||||
await addAccountToAccountBlocklist(servers[0].url, userAccessToken, 'root')
|
await servers[0].blocklistCommand.addToMyBlocklist({ token: userAccessToken, account: 'root' })
|
||||||
|
|
||||||
const resVideo = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'super video' })
|
const resVideo = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'super video' })
|
||||||
const uuid = resVideo.body.video.uuid
|
const uuid = resVideo.body.video.uuid
|
||||||
|
@ -255,7 +253,7 @@ describe('Test comments notifications', function () {
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
await checkCommentMention(baseParams, uuid, commentId, commentId, 'super root name', 'absence')
|
await checkCommentMention(baseParams, uuid, commentId, commentId, 'super root name', 'absence')
|
||||||
|
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, userAccessToken, 'root')
|
await servers[0].blocklistCommand.removeFromMyBlocklist({ token: userAccessToken, account: 'root' })
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should not send a new mention notification if the remote account mention a local account', async function () {
|
it('Should not send a new mention notification if the remote account mention a local account', async function () {
|
||||||
|
|
|
@ -4,10 +4,6 @@ import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import { HttpStatusCode } from '@shared/core-utils'
|
import { HttpStatusCode } from '@shared/core-utils'
|
||||||
import {
|
import {
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
addAccountToServerBlocklist,
|
|
||||||
addServerToAccountBlocklist,
|
|
||||||
addServerToServerBlocklist,
|
|
||||||
addVideoChannel,
|
addVideoChannel,
|
||||||
addVideoInPlaylist,
|
addVideoInPlaylist,
|
||||||
addVideoToBlacklist,
|
addVideoToBlacklist,
|
||||||
|
@ -31,10 +27,6 @@ import {
|
||||||
getVideoPlaylistPrivacies,
|
getVideoPlaylistPrivacies,
|
||||||
getVideoPlaylistsList,
|
getVideoPlaylistsList,
|
||||||
getVideoPlaylistWithToken,
|
getVideoPlaylistWithToken,
|
||||||
removeAccountFromAccountBlocklist,
|
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
removeServerFromAccountBlocklist,
|
|
||||||
removeServerFromServerBlocklist,
|
|
||||||
removeUser,
|
removeUser,
|
||||||
removeVideoFromBlacklist,
|
removeVideoFromBlacklist,
|
||||||
removeVideoFromPlaylist,
|
removeVideoFromPlaylist,
|
||||||
|
@ -760,56 +752,58 @@ describe('Test video playlists', function () {
|
||||||
it('Should update the element type if the account or server of the video is blocked', async function () {
|
it('Should update the element type if the account or server of the video is blocked', async function () {
|
||||||
this.timeout(90000)
|
this.timeout(90000)
|
||||||
|
|
||||||
|
const command = servers[0].blocklistCommand
|
||||||
|
|
||||||
const name = 'video 90'
|
const name = 'video 90'
|
||||||
const position = 2
|
const position = 2
|
||||||
|
|
||||||
{
|
{
|
||||||
await addAccountToAccountBlocklist(servers[0].url, userAccessTokenServer1, 'root@localhost:' + servers[1].port)
|
await command.addToMyBlocklist({ token: userAccessTokenServer1, account: 'root@localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
|
|
||||||
await removeAccountFromAccountBlocklist(servers[0].url, userAccessTokenServer1, 'root@localhost:' + servers[1].port)
|
await command.removeFromMyBlocklist({ token: userAccessTokenServer1, account: 'root@localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
await addServerToAccountBlocklist(servers[0].url, userAccessTokenServer1, 'localhost:' + servers[1].port)
|
await command.addToMyBlocklist({ token: userAccessTokenServer1, server: 'localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
|
|
||||||
await removeServerFromAccountBlocklist(servers[0].url, userAccessTokenServer1, 'localhost:' + servers[1].port)
|
await command.removeFromMyBlocklist({ token: userAccessTokenServer1, server: 'localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'root@localhost:' + servers[1].port)
|
await command.addToServerBlocklist({ account: 'root@localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
|
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, 'root@localhost:' + servers[1].port)
|
await command.removeFromServerBlocklist({ account: 'root@localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
await addServerToServerBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.addToServerBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
await checkPlaylistElementType(groupUser1, playlistServer1UUID2, VideoPlaylistElementType.UNAVAILABLE, position, name, 3)
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
|
|
||||||
await removeServerFromServerBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await command.removeFromServerBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
||||||
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
await checkPlaylistElementType(group2, playlistServer1UUID2, VideoPlaylistElementType.REGULAR, position, name, 3)
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
import 'mocha'
|
import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import {
|
import {
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
flushAndRunServer,
|
flushAndRunServer,
|
||||||
generateUserAccessToken,
|
generateUserAccessToken,
|
||||||
|
@ -115,7 +114,7 @@ describe('Test a videos overview', function () {
|
||||||
it('Should hide muted accounts', async function () {
|
it('Should hide muted accounts', async function () {
|
||||||
const token = await generateUserAccessToken(server, 'choco')
|
const token = await generateUserAccessToken(server, 'choco')
|
||||||
|
|
||||||
await addAccountToAccountBlocklist(server.url, token, 'root@' + server.host)
|
await server.blocklistCommand.addToMyBlocklist({ token, account: 'root@' + server.host })
|
||||||
|
|
||||||
{
|
{
|
||||||
const body = await server.overviewsCommand.getVideos({ page: 1 })
|
const body = await server.overviewsCommand.getVideos({ page: 1 })
|
||||||
|
|
|
@ -4,8 +4,6 @@ import 'mocha'
|
||||||
import { expect } from 'chai'
|
import { expect } from 'chai'
|
||||||
import { HttpStatusCode } from '@shared/core-utils'
|
import { HttpStatusCode } from '@shared/core-utils'
|
||||||
import {
|
import {
|
||||||
addAccountToServerBlocklist,
|
|
||||||
addServerToAccountBlocklist,
|
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
doubleFollow,
|
doubleFollow,
|
||||||
flushAndRunMultipleServers,
|
flushAndRunMultipleServers,
|
||||||
|
@ -13,7 +11,6 @@ import {
|
||||||
killallServers,
|
killallServers,
|
||||||
makeGetRequest,
|
makeGetRequest,
|
||||||
MockBlocklist,
|
MockBlocklist,
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
reRunServer,
|
reRunServer,
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
setAccessTokensToServers,
|
setAccessTokensToServers,
|
||||||
|
@ -147,7 +144,7 @@ describe('Official plugin auto-mute', function () {
|
||||||
expect(res.body.total).to.equal(1)
|
expect(res.body.total).to.equal(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
await removeAccountFromServerBlocklist(servers[0].url, servers[0].accessToken, account)
|
await servers[0].blocklistCommand.removeFromServerBlocklist({ account })
|
||||||
|
|
||||||
{
|
{
|
||||||
const res = await getVideosList(servers[0].url)
|
const res = await getVideosList(servers[0].url)
|
||||||
|
@ -201,8 +198,8 @@ describe('Official plugin auto-mute', function () {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
await addAccountToServerBlocklist(servers[0].url, servers[0].accessToken, 'root@localhost:' + servers[1].port)
|
await servers[0].blocklistCommand.addToServerBlocklist({ account: 'root@localhost:' + servers[1].port })
|
||||||
await addServerToAccountBlocklist(servers[0].url, servers[0].accessToken, 'localhost:' + servers[1].port)
|
await servers[0].blocklistCommand.addToMyBlocklist({ server: 'localhost:' + servers[1].port })
|
||||||
|
|
||||||
const res = await makeGetRequest({
|
const res = await makeGetRequest({
|
||||||
url: servers[0].url,
|
url: servers[0].url,
|
||||||
|
|
|
@ -3,16 +3,10 @@
|
||||||
import 'mocha'
|
import 'mocha'
|
||||||
import * as chai from 'chai'
|
import * as chai from 'chai'
|
||||||
import * as xmlParser from 'fast-xml-parser'
|
import * as xmlParser from 'fast-xml-parser'
|
||||||
|
import { HttpStatusCode } from '@shared/core-utils'
|
||||||
import {
|
import {
|
||||||
addAccountToAccountBlocklist,
|
addUserSubscription,
|
||||||
addAccountToServerBlocklist,
|
addVideoCommentThread,
|
||||||
removeAccountFromServerBlocklist
|
|
||||||
} from '@shared/extra-utils/users/blocklist'
|
|
||||||
import { addUserSubscription, listUserSubscriptionVideos } from '@shared/extra-utils/users/user-subscriptions'
|
|
||||||
import { VideoPrivacy } from '@shared/models'
|
|
||||||
import { ScopedToken } from '@shared/models/users/user-scoped-token'
|
|
||||||
import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
|
|
||||||
import {
|
|
||||||
cleanupTests,
|
cleanupTests,
|
||||||
createUser,
|
createUser,
|
||||||
doubleFollow,
|
doubleFollow,
|
||||||
|
@ -20,16 +14,17 @@ import {
|
||||||
flushAndRunServer,
|
flushAndRunServer,
|
||||||
getMyUserInformation,
|
getMyUserInformation,
|
||||||
getUserScopedTokens,
|
getUserScopedTokens,
|
||||||
|
listUserSubscriptionVideos,
|
||||||
renewUserScopedTokens,
|
renewUserScopedTokens,
|
||||||
ServerInfo,
|
ServerInfo,
|
||||||
setAccessTokensToServers,
|
setAccessTokensToServers,
|
||||||
uploadVideo,
|
uploadVideo,
|
||||||
uploadVideoAndGetId,
|
uploadVideoAndGetId,
|
||||||
userLogin
|
userLogin,
|
||||||
} from '../../../shared/extra-utils'
|
waitJobs
|
||||||
import { waitJobs } from '../../../shared/extra-utils/server/jobs'
|
} from '@shared/extra-utils'
|
||||||
import { addVideoCommentThread } from '../../../shared/extra-utils/videos/video-comments'
|
import { User, VideoPrivacy } from '@shared/models'
|
||||||
import { User } from '../../../shared/models/users'
|
import { ScopedToken } from '@shared/models/users/user-scoped-token'
|
||||||
|
|
||||||
chai.use(require('chai-xml'))
|
chai.use(require('chai-xml'))
|
||||||
chai.use(require('chai-json-schema'))
|
chai.use(require('chai-json-schema'))
|
||||||
|
@ -271,7 +266,7 @@ describe('Test syndication feeds', () => {
|
||||||
|
|
||||||
const remoteHandle = 'root@localhost:' + servers[0].port
|
const remoteHandle = 'root@localhost:' + servers[0].port
|
||||||
|
|
||||||
await addAccountToServerBlocklist(servers[1].url, servers[1].accessToken, remoteHandle)
|
await servers[1].blocklistCommand.addToServerBlocklist({ account: remoteHandle })
|
||||||
|
|
||||||
{
|
{
|
||||||
const json = await servers[1].feedCommand.getJSON({ feed: 'video-comments', query: { version: 2 } })
|
const json = await servers[1].feedCommand.getJSON({ feed: 'video-comments', query: { version: 2 } })
|
||||||
|
@ -279,7 +274,7 @@ describe('Test syndication feeds', () => {
|
||||||
expect(jsonObj.items.length).to.be.equal(0)
|
expect(jsonObj.items.length).to.be.equal(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
await removeAccountFromServerBlocklist(servers[1].url, servers[1].accessToken, remoteHandle)
|
await servers[1].blocklistCommand.removeFromServerBlocklist({ account: remoteHandle })
|
||||||
|
|
||||||
{
|
{
|
||||||
const videoUUID = (await uploadVideoAndGetId({ server: servers[1], videoName: 'server 2' })).uuid
|
const videoUUID = (await uploadVideoAndGetId({ server: servers[1], videoName: 'server 2' })).uuid
|
||||||
|
@ -292,7 +287,7 @@ describe('Test syndication feeds', () => {
|
||||||
expect(jsonObj.items.length).to.be.equal(3)
|
expect(jsonObj.items.length).to.be.equal(3)
|
||||||
}
|
}
|
||||||
|
|
||||||
await addAccountToAccountBlocklist(servers[1].url, servers[1].accessToken, remoteHandle)
|
await servers[1].blocklistCommand.addToMyBlocklist({ account: remoteHandle })
|
||||||
|
|
||||||
{
|
{
|
||||||
const json = await servers[1].feedCommand.getJSON({ feed: 'video-comments', query: { version: 4 } })
|
const json = await servers[1].feedCommand.getJSON({ feed: 'video-comments', query: { version: 4 } })
|
||||||
|
|
|
@ -17,7 +17,7 @@ import { OverviewsCommand } from '../overviews'
|
||||||
import { makeGetRequest } from '../requests/requests'
|
import { makeGetRequest } from '../requests/requests'
|
||||||
import { SearchCommand } from '../search'
|
import { SearchCommand } from '../search'
|
||||||
import { SocketIOCommand } from '../socket'
|
import { SocketIOCommand } from '../socket'
|
||||||
import { AccountsCommand } from '../users'
|
import { AccountsCommand, BlocklistCommand } from '../users'
|
||||||
import { ConfigCommand } from './config-command'
|
import { ConfigCommand } from './config-command'
|
||||||
import { ContactFormCommand } from './contact-form-command'
|
import { ContactFormCommand } from './contact-form-command'
|
||||||
import { DebugCommand } from './debug-command'
|
import { DebugCommand } from './debug-command'
|
||||||
|
@ -97,6 +97,7 @@ interface ServerInfo {
|
||||||
configCommand?: ConfigCommand
|
configCommand?: ConfigCommand
|
||||||
socketIOCommand?: SocketIOCommand
|
socketIOCommand?: SocketIOCommand
|
||||||
accountsCommand?: AccountsCommand
|
accountsCommand?: AccountsCommand
|
||||||
|
blocklistCommand?: BlocklistCommand
|
||||||
}
|
}
|
||||||
|
|
||||||
function parallelTests () {
|
function parallelTests () {
|
||||||
|
@ -320,6 +321,7 @@ async function runServer (server: ServerInfo, configOverrideArg?: any, args = []
|
||||||
server.configCommand = new ConfigCommand(server)
|
server.configCommand = new ConfigCommand(server)
|
||||||
server.socketIOCommand = new SocketIOCommand(server)
|
server.socketIOCommand = new SocketIOCommand(server)
|
||||||
server.accountsCommand = new AccountsCommand(server)
|
server.accountsCommand = new AccountsCommand(server)
|
||||||
|
server.blocklistCommand = new BlocklistCommand(server)
|
||||||
|
|
||||||
res(server)
|
res(server)
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,7 +5,7 @@ export class SocketIOCommand extends AbstractCommand {
|
||||||
|
|
||||||
getUserNotificationSocket (options: OverrideCommandOptions = {}) {
|
getUserNotificationSocket (options: OverrideCommandOptions = {}) {
|
||||||
return io(this.server.url + '/user-notifications', {
|
return io(this.server.url + '/user-notifications', {
|
||||||
query: { accessToken: this.server.accessToken }
|
query: { accessToken: options.token ?? this.server.accessToken }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
135
shared/extra-utils/users/blocklist-command.ts
Normal file
135
shared/extra-utils/users/blocklist-command.ts
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
|
||||||
|
|
||||||
|
import { HttpStatusCode } from '@shared/core-utils'
|
||||||
|
import { AccountBlock, ResultList, ServerBlock } from '@shared/models'
|
||||||
|
import { AbstractCommand, OverrideCommandOptions } from '../shared'
|
||||||
|
|
||||||
|
type ListBlocklistOptions = OverrideCommandOptions & {
|
||||||
|
start: number
|
||||||
|
count: number
|
||||||
|
sort: string // default -createdAt
|
||||||
|
}
|
||||||
|
|
||||||
|
export class BlocklistCommand extends AbstractCommand {
|
||||||
|
|
||||||
|
listMyAccountBlocklist (options: ListBlocklistOptions) {
|
||||||
|
const path = '/api/v1/users/me/blocklist/accounts'
|
||||||
|
|
||||||
|
return this.listBlocklist<AccountBlock>(options, path)
|
||||||
|
}
|
||||||
|
|
||||||
|
listMyServerBlocklist (options: ListBlocklistOptions) {
|
||||||
|
const path = '/api/v1/users/me/blocklist/servers'
|
||||||
|
|
||||||
|
return this.listBlocklist<ServerBlock>(options, path)
|
||||||
|
}
|
||||||
|
|
||||||
|
listServerAccountBlocklist (options: ListBlocklistOptions) {
|
||||||
|
const path = '/api/v1/server/blocklist/accounts'
|
||||||
|
|
||||||
|
return this.listBlocklist<AccountBlock>(options, path)
|
||||||
|
}
|
||||||
|
|
||||||
|
listServerServerBlocklist (options: ListBlocklistOptions) {
|
||||||
|
const path = '/api/v1/server/blocklist/servers'
|
||||||
|
|
||||||
|
return this.listBlocklist<ServerBlock>(options, path)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
addToMyBlocklist (options: OverrideCommandOptions & {
|
||||||
|
account?: string
|
||||||
|
server?: string
|
||||||
|
}) {
|
||||||
|
const { account, server } = options
|
||||||
|
|
||||||
|
const path = account
|
||||||
|
? '/api/v1/users/me/blocklist/accounts'
|
||||||
|
: '/api/v1/users/me/blocklist/servers'
|
||||||
|
|
||||||
|
return this.postBodyRequest({
|
||||||
|
...options,
|
||||||
|
|
||||||
|
path,
|
||||||
|
fields: {
|
||||||
|
accountName: account,
|
||||||
|
host: server
|
||||||
|
},
|
||||||
|
defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
addToServerBlocklist (options: OverrideCommandOptions & {
|
||||||
|
account?: string
|
||||||
|
server?: string
|
||||||
|
}) {
|
||||||
|
const { account, server } = options
|
||||||
|
|
||||||
|
const path = account
|
||||||
|
? '/api/v1/server/blocklist/accounts'
|
||||||
|
: '/api/v1/server/blocklist/servers'
|
||||||
|
|
||||||
|
return this.postBodyRequest({
|
||||||
|
...options,
|
||||||
|
|
||||||
|
path,
|
||||||
|
fields: {
|
||||||
|
accountName: account,
|
||||||
|
host: server
|
||||||
|
},
|
||||||
|
defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
removeFromMyBlocklist (options: OverrideCommandOptions & {
|
||||||
|
account?: string
|
||||||
|
server?: string
|
||||||
|
}) {
|
||||||
|
const { account, server } = options
|
||||||
|
|
||||||
|
const path = account
|
||||||
|
? '/api/v1/users/me/blocklist/accounts/' + account
|
||||||
|
: '/api/v1/users/me/blocklist/servers/' + server
|
||||||
|
|
||||||
|
return this.deleteRequest({
|
||||||
|
...options,
|
||||||
|
|
||||||
|
path,
|
||||||
|
defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
removeFromServerBlocklist (options: OverrideCommandOptions & {
|
||||||
|
account?: string
|
||||||
|
server?: string
|
||||||
|
}) {
|
||||||
|
const { account, server } = options
|
||||||
|
|
||||||
|
const path = account
|
||||||
|
? '/api/v1/server/blocklist/accounts/' + account
|
||||||
|
: '/api/v1/server/blocklist/servers/' + server
|
||||||
|
|
||||||
|
return this.deleteRequest({
|
||||||
|
...options,
|
||||||
|
|
||||||
|
path,
|
||||||
|
defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
private listBlocklist <T> (options: ListBlocklistOptions, path: string) {
|
||||||
|
const { start, count, sort = '-createdAt' } = options
|
||||||
|
|
||||||
|
return this.getRequestBody<ResultList<T>>({
|
||||||
|
...options,
|
||||||
|
|
||||||
|
path,
|
||||||
|
query: { start, count, sort },
|
||||||
|
defaultExpectedStatus: HttpStatusCode.OK_200
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,238 +0,0 @@
|
||||||
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
|
|
||||||
|
|
||||||
import { makeGetRequest, makeDeleteRequest, makePostBodyRequest } from '../requests/requests'
|
|
||||||
import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
|
|
||||||
|
|
||||||
function getAccountBlocklistByAccount (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
start: number,
|
|
||||||
count: number,
|
|
||||||
sort = '-createdAt',
|
|
||||||
statusCodeExpected = HttpStatusCode.OK_200
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/accounts'
|
|
||||||
|
|
||||||
return makeGetRequest({
|
|
||||||
url,
|
|
||||||
token,
|
|
||||||
query: { start, count, sort },
|
|
||||||
path,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function addAccountToAccountBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
accountToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/accounts'
|
|
||||||
|
|
||||||
return makePostBodyRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
fields: {
|
|
||||||
accountName: accountToBlock
|
|
||||||
},
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeAccountFromAccountBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
accountToUnblock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/accounts/' + accountToUnblock
|
|
||||||
|
|
||||||
return makeDeleteRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getServerBlocklistByAccount (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
start: number,
|
|
||||||
count: number,
|
|
||||||
sort = '-createdAt',
|
|
||||||
statusCodeExpected = HttpStatusCode.OK_200
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/servers'
|
|
||||||
|
|
||||||
return makeGetRequest({
|
|
||||||
url,
|
|
||||||
token,
|
|
||||||
query: { start, count, sort },
|
|
||||||
path,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function addServerToAccountBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
serverToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/servers'
|
|
||||||
|
|
||||||
return makePostBodyRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
fields: {
|
|
||||||
host: serverToBlock
|
|
||||||
},
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeServerFromAccountBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
serverToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/users/me/blocklist/servers/' + serverToBlock
|
|
||||||
|
|
||||||
return makeDeleteRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAccountBlocklistByServer (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
start: number,
|
|
||||||
count: number,
|
|
||||||
sort = '-createdAt',
|
|
||||||
statusCodeExpected = HttpStatusCode.OK_200
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/accounts'
|
|
||||||
|
|
||||||
return makeGetRequest({
|
|
||||||
url,
|
|
||||||
token,
|
|
||||||
query: { start, count, sort },
|
|
||||||
path,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function addAccountToServerBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
accountToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/accounts'
|
|
||||||
|
|
||||||
return makePostBodyRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
fields: {
|
|
||||||
accountName: accountToBlock
|
|
||||||
},
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeAccountFromServerBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
accountToUnblock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/accounts/' + accountToUnblock
|
|
||||||
|
|
||||||
return makeDeleteRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getServerBlocklistByServer (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
start: number,
|
|
||||||
count: number,
|
|
||||||
sort = '-createdAt',
|
|
||||||
statusCodeExpected = HttpStatusCode.OK_200
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/servers'
|
|
||||||
|
|
||||||
return makeGetRequest({
|
|
||||||
url,
|
|
||||||
token,
|
|
||||||
query: { start, count, sort },
|
|
||||||
path,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function addServerToServerBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
serverToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/servers'
|
|
||||||
|
|
||||||
return makePostBodyRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
fields: {
|
|
||||||
host: serverToBlock
|
|
||||||
},
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeServerFromServerBlocklist (
|
|
||||||
url: string,
|
|
||||||
token: string,
|
|
||||||
serverToBlock: string,
|
|
||||||
statusCodeExpected = HttpStatusCode.NO_CONTENT_204
|
|
||||||
) {
|
|
||||||
const path = '/api/v1/server/blocklist/servers/' + serverToBlock
|
|
||||||
|
|
||||||
return makeDeleteRequest({
|
|
||||||
url,
|
|
||||||
path,
|
|
||||||
token,
|
|
||||||
statusCodeExpected
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
export {
|
|
||||||
getAccountBlocklistByAccount,
|
|
||||||
addAccountToAccountBlocklist,
|
|
||||||
removeAccountFromAccountBlocklist,
|
|
||||||
getServerBlocklistByAccount,
|
|
||||||
addServerToAccountBlocklist,
|
|
||||||
removeServerFromAccountBlocklist,
|
|
||||||
|
|
||||||
getAccountBlocklistByServer,
|
|
||||||
addAccountToServerBlocklist,
|
|
||||||
removeAccountFromServerBlocklist,
|
|
||||||
getServerBlocklistByServer,
|
|
||||||
addServerToServerBlocklist,
|
|
||||||
removeServerFromServerBlocklist
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
export * from './accounts'
|
|
||||||
export * from './accounts-command'
|
export * from './accounts-command'
|
||||||
|
export * from './accounts'
|
||||||
|
export * from './blocklist-command'
|
||||||
|
|
||||||
export * from './blocklist'
|
|
||||||
export * from './login'
|
export * from './login'
|
||||||
export * from './user-notifications'
|
export * from './user-notifications'
|
||||||
export * from './user-subscriptions'
|
export * from './user-subscriptions'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user