This commit is contained in:
samunohito 2025-05-30 07:51:11 +09:00
parent 4131be525b
commit d33b7b7d6e
1 changed files with 20 additions and 44 deletions

View File

@ -266,50 +266,26 @@ export class SearchService {
op: 'and', op: 'and',
qs: [], qs: [],
}; };
if (pagination.untilId || opts.rangeEndAt) { if (pagination.untilId) filter.qs.push({
let time: number; op: '<',
k: 'createdAt',
if (pagination.untilId && opts.rangeEndAt) { v: this.idService.parse(pagination.untilId).date.getTime(),
time = Math.min( });
this.idService.parse(pagination.untilId).date.getTime(), if (opts.rangeEndAt) filter.qs.push({
opts.rangeEndAt, op: '<=',
); k: 'createdAt',
} else if (pagination.untilId) { v: opts.rangeEndAt,
time = this.idService.parse(pagination.untilId).date.getTime(); });
} else if (opts.rangeEndAt) { if (pagination.sinceId) filter.qs.push({
time = opts.rangeEndAt; op: '>',
} else { k: 'createdAt',
throw new Error('Either pagination.untilId or opts.rangeEndAt must be provided'); v: this.idService.parse(pagination.sinceId).date.getTime(),
} });
if (opts.rangeStartAt) filter.qs.push({
filter.qs.push({ op: '>=',
op: '<', k: 'createdAt',
k: 'createdAt', v: opts.rangeStartAt,
v: time, });
});
}
if (pagination.sinceId || opts.rangeStartAt) {
let time: number;
if (pagination.sinceId && opts.rangeStartAt) {
time = Math.max(
this.idService.parse(pagination.sinceId).date.getTime(),
opts.rangeStartAt,
);
} else if (pagination.sinceId) {
time = this.idService.parse(pagination.sinceId).date.getTime();
} else if (opts.rangeStartAt) {
time = opts.rangeStartAt;
} else {
throw new Error('Either pagination.sinceId or opts.rangeStartAt must be provided');
}
filter.qs.push({
op: '>',
k: 'createdAt',
v: time,
});
}
if (opts.userId) filter.qs.push({ op: '=', k: 'userId', v: opts.userId }); if (opts.userId) filter.qs.push({ op: '=', k: 'userId', v: opts.userId });
if (opts.channelId) filter.qs.push({ op: '=', k: 'channelId', v: opts.channelId }); if (opts.channelId) filter.qs.push({ op: '=', k: 'channelId', v: opts.channelId });
if (opts.host) { if (opts.host) {