Open
Description
DbinstanceTC.mongooseResolvers
.pagination({ suffix: "Extended" })
.addArgs({
filterNodeInfo: DNSCNameTC.mongooseResolvers
.pagination()
.getArg("filter"),
})
.addArgs({
filterEnvironmentLink: EnvironmentTC.mongooseResolvers
.pagination()
.getArg("filter"),
})
.addFilterArg({
name: "isDatabaseEmpty",
type: "Boolean",
description: "Filter by empty or non-empty databases array",
query: (rawQuery, value) => {
if (value !== undefined) {
rawQuery.databases = value ? { $size: 0 } : { $not: { $size: 0 } };
}
},
})
.withMiddlewares([authorizeGraphQL([Roles.Admin, Roles.Inventory])])
.wrapResolve(processChildFilters)
.wrapResolve(addEnvFilters),
This works fine, when running a query like this:
{
dbinstancePagination(
page: 1
perPage: 50
filter: {isDatabaseEmpty: true}
) {
items {
_id
name
tenantCount
databases {
_id
name
type
}
}
pageInfo {
currentPage
perPage
pageCount
itemCount
hasNextPage
hasPreviousPage
}
}
}
but when running this it returns non-empty databases:
{
dbinstancePagination(
page: 1
perPage: 50
filter: {AND: [{isDatabaseEmpty: true}, {name: "mysql" }]}
) {
items {
_id
name
tenantCount
databases {
_id
name
type
}
}
pageInfo {
currentPage
perPage
pageCount
itemCount
hasNextPage
hasPreviousPage
}
}
}
Metadata
Metadata
Assignees
Labels
No labels