12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import express from 'express'
- import { CONFIG } from '@server/initializers/config.js'
- import { AccountBlocklistModel } from '@server/models/account/account-blocklist.js'
- import { getServerActor } from '@server/models/application/application.js'
- import { ServerBlocklistModel } from '@server/models/server/server-blocklist.js'
- import { SearchTargetQuery } from '@peertube/peertube-models'
- function isSearchIndexSearch (query: SearchTargetQuery) {
- if (query.searchTarget === 'search-index') return true
- const searchIndexConfig = CONFIG.SEARCH.SEARCH_INDEX
- if (searchIndexConfig.ENABLED !== true) return false
- if (searchIndexConfig.IS_DEFAULT_SEARCH && !query.searchTarget) return true
- return false
- }
- async function buildMutedForSearchIndex (res: express.Response) {
- const serverActor = await getServerActor()
- const accountIds = [ serverActor.Account.id ]
- if (res.locals.oauth) {
- accountIds.push(res.locals.oauth.token.User.Account.id)
- }
- const [ blockedHosts, blockedAccounts ] = await Promise.all([
- ServerBlocklistModel.listHostsBlockedBy(accountIds),
- AccountBlocklistModel.listHandlesBlockedBy(accountIds)
- ])
- return {
- blockedHosts,
- blockedAccounts
- }
- }
- function isURISearch (search: string) {
- if (!search) return false
- return search.startsWith('http://') || search.startsWith('https://')
- }
- export {
- isSearchIndexSearch,
- buildMutedForSearchIndex,
- isURISearch
- }
|