feat: sortable date with time respect
This commit is contained in:
parent
eb0511ee70
commit
e04f40c58e
1 changed files with 11 additions and 7 deletions
|
|
@ -28,16 +28,20 @@ export class LogController extends Controller {
|
|||
@Query() date?: Date,
|
||||
@Query() startDate?: Date,
|
||||
@Query() endDate?: Date,
|
||||
@Query() timezone = "+07:00",
|
||||
@Query() sort: "asc" | "desc" = "desc",
|
||||
) {
|
||||
if (!endDate && !startDate) startDate = endDate = date;
|
||||
|
||||
let startDateString: string | undefined;
|
||||
let endDateString: string | undefined;
|
||||
let startTimeString = "00:00:00";
|
||||
let endTimeString = "23:59:59";
|
||||
|
||||
if (startDate && endDate) {
|
||||
startDateString = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, "0")}-${startDate.getDate().toString().padStart(2, "0")}T00:00:00`;
|
||||
endDateString = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, "0")}-${endDate.getDate().toString().padStart(2, "0")}T23:59:59`;
|
||||
if (date && !startDate && !endDate) {
|
||||
startDateString = `${date.getFullYear()}-${`${date.getMonth() + 1}`.padStart(2, "0")}-${`${date.getDate()}`.padStart(2, "0")}T${startTimeString}`;
|
||||
endDateString = `${date.getFullYear()}-${`${date.getMonth() + 1}`.padStart(2, "0")}-${`${date.getDate()}`.padStart(2, "0")}T${endTimeString}`;
|
||||
}
|
||||
if (startDate) startDateString = startDate.toISOString();
|
||||
if (endDate) endDateString = endDate.toISOString();
|
||||
|
||||
const queryData = await elasticsearch.search({
|
||||
index: ELASTICSEARCH_INDEX,
|
||||
|
|
@ -63,7 +67,7 @@ export class LogController extends Controller {
|
|||
{
|
||||
range: {
|
||||
startTimeStamp: {
|
||||
time_zone: "+07:00",
|
||||
time_zone: timezone,
|
||||
gte: startDateString,
|
||||
lte: endDateString,
|
||||
},
|
||||
|
|
@ -75,7 +79,7 @@ export class LogController extends Controller {
|
|||
},
|
||||
},
|
||||
search_after: searchAfter ? [searchAfter] : undefined,
|
||||
sort: [{ startTimeStamp: "desc" }],
|
||||
sort: [{ startTimeStamp: sort }],
|
||||
size: size,
|
||||
});
|
||||
return queryData.hits.hits;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue