Fix searching in blocklist

pull/5023/head
Chocobozzz 2022-06-17 16:06:58 +02:00
parent ba73bedda6
commit d3976db269
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 48 additions and 3 deletions

View File

@ -132,6 +132,20 @@ export class AccountBlocklistModel extends Model<Partial<AttributesOnly<AccountB
as: 'BlockedAccount'
}
]
} else if (search) { // We need some joins when counting with search
query.include = [
{
model: AccountModel.unscoped(),
required: true,
as: 'BlockedAccount',
include: [
{
model: ActorModel.unscoped(),
required: true
}
]
}
]
}
return query

View File

@ -256,6 +256,13 @@ describe('Test blocklist', function () {
}
})
it('Should search blocked accounts', async function () {
const body = await command.listMyAccountBlocklist({ start: 0, count: 10, search: 'user2' })
expect(body.total).to.equal(1)
expect(body.data[0].blockedAccount.name).to.equal('user2')
})
it('Should get blocked status', async function () {
const remoteHandle = 'user2@' + servers[1].host
const localHandle = 'user1@' + servers[0].host
@ -475,6 +482,13 @@ describe('Test blocklist', function () {
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
})
it('Should search blocked servers', async function () {
const body = await command.listMyServerBlocklist({ start: 0, count: 10, search: servers[1].host })
expect(body.total).to.equal(1)
expect(body.data[0].blockedServer.host).to.equal(servers[1].host)
})
it('Should get blocklist status', async function () {
const blockedServer = servers[1].host
const notBlockedServer = 'example.com'
@ -645,6 +659,13 @@ describe('Test blocklist', function () {
}
})
it('Should search blocked accounts', async function () {
const body = await command.listServerAccountBlocklist({ start: 0, count: 10, search: 'user2' })
expect(body.total).to.equal(1)
expect(body.data[0].blockedAccount.name).to.equal('user2')
})
it('Should get blocked status', async function () {
const remoteHandle = 'user2@' + servers[1].host
const localHandle = 'user1@' + servers[0].host
@ -805,6 +826,13 @@ describe('Test blocklist', function () {
expect(block.blockedServer.host).to.equal('localhost:' + servers[1].port)
})
it('Should search blocked servers', async function () {
const body = await command.listServerServerBlocklist({ start: 0, count: 10, search: servers[1].host })
expect(body.total).to.equal(1)
expect(body.data[0].blockedServer.host).to.equal(servers[1].host)
})
it('Should get blocklist status', async function () {
const blockedServer = servers[1].host
const notBlockedServer = 'example.com'

View File

@ -6,7 +6,10 @@ import { AbstractCommand, OverrideCommandOptions } from '../shared'
type ListBlocklistOptions = OverrideCommandOptions & {
start: number
count: number
sort: string // default -createdAt
sort?: string // default -createdAt
search?: string
}
export class BlocklistCommand extends AbstractCommand {
@ -147,13 +150,13 @@ export class BlocklistCommand extends AbstractCommand {
}
private listBlocklist <T> (options: ListBlocklistOptions, path: string) {
const { start, count, sort = '-createdAt' } = options
const { start, count, search, sort = '-createdAt' } = options
return this.getRequestBody<ResultList<T>>({
...options,
path,
query: { start, count, sort },
query: { start, count, sort, search },
implicitToken: true,
defaultExpectedStatus: HttpStatusCode.OK_200
})