sepia-search-motore-di-rice.../server/lib/elastic-search-instances.ts

36 lines
858 B
TypeScript

import { elasticSearch } from '../helpers/elastic-search'
import { CONFIG } from '../initializers/constants'
import { getRemovedHosts, listIndexInstancesHost } from './instances-index'
async function listIndexInstances () {
const res = await elasticSearch.search({
index: CONFIG.ELASTIC_SEARCH.INDEXES.VIDEOS,
body: {
size: 0,
aggs: {
hosts: {
terms: {
field: 'host'
}
}
}
}
})
return res.body.aggregations.hosts.buckets.map(b => b.key)
}
async function buildInstanceHosts () {
const indexHosts = (await listIndexInstancesHost()).filter(h => h === 'peertube.cpy.re')
const dbHosts = await listIndexInstances()
const removedHosts = getRemovedHosts(dbHosts, indexHosts)
return { indexHosts, removedHosts }
}
export {
listIndexInstances,
buildInstanceHosts
}