mirror of
https://github.com/tcgdex/cards-database.git
synced 2025-04-23 19:32:11 +00:00
fix: no data was returned when filtering with set
(#568)
This commit is contained in:
parent
07a8ad0b8e
commit
64bcd0524d
@ -0,0 +1,21 @@
|
|||||||
|
meta {
|
||||||
|
name: 567 - invalid data returned when filtering using set
|
||||||
|
type: http
|
||||||
|
seq: 9
|
||||||
|
}
|
||||||
|
|
||||||
|
get {
|
||||||
|
url: {{BASE_URL}}/v2/en/cards?name=umbreon&set=evolving skies
|
||||||
|
body: none
|
||||||
|
auth: none
|
||||||
|
}
|
||||||
|
|
||||||
|
params:query {
|
||||||
|
name: umbreon
|
||||||
|
set: evolving skies
|
||||||
|
}
|
||||||
|
|
||||||
|
assert {
|
||||||
|
res.status: eq 200
|
||||||
|
res.body.length: lt 0
|
||||||
|
}
|
@ -128,17 +128,37 @@ server
|
|||||||
let result: unknown
|
let result: unknown
|
||||||
|
|
||||||
switch (endpoint) {
|
switch (endpoint) {
|
||||||
case 'cards':
|
case 'cards': {
|
||||||
|
if ('set' in query) {
|
||||||
|
const tmp = query.set
|
||||||
|
delete query.set
|
||||||
|
query.$or = [{
|
||||||
|
'set.id': tmp
|
||||||
|
}, {
|
||||||
|
'set.name': tmp
|
||||||
|
}]
|
||||||
|
}
|
||||||
result = Card
|
result = Card
|
||||||
.find(lang, query)
|
.find(lang, query)
|
||||||
.map((c) => c.resume())
|
.map((c) => c.resume())
|
||||||
break
|
break
|
||||||
|
}
|
||||||
|
|
||||||
case 'sets':
|
case 'sets': {
|
||||||
|
if ('serie' in query) {
|
||||||
|
const tmp = query.serie
|
||||||
|
delete query.serie
|
||||||
|
query.$or = [{
|
||||||
|
'serie.id': tmp
|
||||||
|
}, {
|
||||||
|
'serie.name': tmp
|
||||||
|
}]
|
||||||
|
}
|
||||||
result = TCGSet
|
result = TCGSet
|
||||||
.find(lang, query)
|
.find(lang, query)
|
||||||
.map((c) => c.resume())
|
.map((c) => c.resume())
|
||||||
break
|
break
|
||||||
|
}
|
||||||
case 'series':
|
case 'series':
|
||||||
result = Serie
|
result = Serie
|
||||||
.find(lang, query)
|
.find(lang, query)
|
||||||
@ -233,7 +253,7 @@ server
|
|||||||
}
|
}
|
||||||
result = {
|
result = {
|
||||||
name: id,
|
name: id,
|
||||||
cards: Card.find(lang, {[endpointToField[endpoint]]: id})
|
cards: Card.find(lang, { [endpointToField[endpoint]]: id })
|
||||||
.map((c) => c.resume())
|
.map((c) => c.resume())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -270,7 +290,7 @@ server
|
|||||||
// allow the dev to use a non prefixed value like `10` instead of `010` for newer sets
|
// allow the dev to use a non prefixed value like `10` instead of `010` for newer sets
|
||||||
result = Card
|
result = Card
|
||||||
// @ts-expect-error normal behavior until the filtering is more fiable
|
// @ts-expect-error normal behavior until the filtering is more fiable
|
||||||
.findOne(lang, { localId: { $or: [subid.padStart(3, '0'), subid]}, $or: [{ 'set.id': id }, { 'set.name': id }] })?.full()
|
.findOne(lang, { localId: { $or: [subid.padStart(3, '0'), subid] }, $or: [{ 'set.id': id }, { 'set.name': id }] })?.full()
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if (!result) {
|
if (!result) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user