mirror of
https://github.com/hcengineering/platform.git
synced 2025-05-09 17:05:01 +00:00
Fixed validation of class inheritance in queries (#7789)
* Fixed validation of class inheritance in queries Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com> * added mixin check Co-authored-by: Denis Bykhov <bykhov.denis@gmail.com> Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com> --------- Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com> Co-authored-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
parent
e950ee48a3
commit
83a912d716
@ -156,7 +156,11 @@ export function matchQuery<T extends Doc> (
|
|||||||
hierarchy: Hierarchy,
|
hierarchy: Hierarchy,
|
||||||
skipLookup: boolean = false
|
skipLookup: boolean = false
|
||||||
): Doc[] {
|
): Doc[] {
|
||||||
let result = docs
|
const baseClass = hierarchy.getBaseClass(clazz)
|
||||||
|
let result = docs.filter((r) => hierarchy.isDerived(r._class, baseClass))
|
||||||
|
if (baseClass !== clazz) {
|
||||||
|
result = docs.filter((r) => hierarchy.hasMixin(r, clazz))
|
||||||
|
}
|
||||||
for (const key in query) {
|
for (const key in query) {
|
||||||
if (skipLookup && key.startsWith('$lookup.')) {
|
if (skipLookup && key.startsWith('$lookup.')) {
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user