mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
[web] use client-side filtering for split tests in admin panel (#34975)
* [web] use client-side filtering for split tests in admin panel Filtering on non-indexed fields is not allowed with notablescan. * [web] add initial value for DEFAULT_FILTERS.active * [web] unset error before fetching split tests GitOrigin-RevId: 0813873c5a90d57c4fdbfd0043fcc325f00408aa
This commit is contained in:
@@ -10,47 +10,9 @@ const LABS_PHASE = 'labs'
|
||||
const BETA_PHASE = 'beta'
|
||||
const RELEASE_PHASE = 'release'
|
||||
|
||||
async function getSplitTests({ name, phase, type, active, archived }) {
|
||||
const filters = {}
|
||||
if (name && name !== '') {
|
||||
filters.name = { $regex: _.escapeRegExp(name) }
|
||||
}
|
||||
if (active) {
|
||||
filters.$where = 'this.versions[this.versions.length - 1].active === true'
|
||||
}
|
||||
if (type === 'split-test') {
|
||||
const query =
|
||||
'this.versions[this.versions.length - 1].analyticsEnabled === true'
|
||||
if (filters.$where) {
|
||||
filters.$where += `&& ${query}`
|
||||
} else {
|
||||
filters.$where = query
|
||||
}
|
||||
}
|
||||
if (type === 'gradual-rollout') {
|
||||
const query =
|
||||
'this.versions[this.versions.length - 1].analyticsEnabled === false'
|
||||
if (filters.$where) {
|
||||
filters.$where += `&& ${query}`
|
||||
} else {
|
||||
filters.$where = query
|
||||
}
|
||||
}
|
||||
if (['alpha', 'labs', 'beta', 'release'].includes(phase)) {
|
||||
const query = `this.versions[this.versions.length - 1].phase === "${phase}"`
|
||||
if (filters.$where) {
|
||||
filters.$where += `&& ${query}`
|
||||
} else {
|
||||
filters.$where = query
|
||||
}
|
||||
}
|
||||
if (archived === true) {
|
||||
filters.archived = true
|
||||
} else if (archived === false) {
|
||||
filters.archived = { $ne: true }
|
||||
}
|
||||
async function getSplitTests() {
|
||||
try {
|
||||
return await SplitTest.find(filters)
|
||||
return await SplitTest.find({})
|
||||
.populate('archivedBy', ['email', 'first_name', 'last_name'])
|
||||
.populate('versions.author', ['email', 'first_name', 'last_name'])
|
||||
.limit(300)
|
||||
|
||||
Reference in New Issue
Block a user