feat: Implement time based filters for executions API endpoint

This commit is contained in:
Faruk AYDIN
2025-03-27 23:22:22 +01:00
parent 80132054b6
commit 6068b6c746
2 changed files with 17 additions and 1 deletions

View File

@@ -15,5 +15,7 @@ const executionParams = (request) => {
return { return {
name: request.query.name, name: request.query.name,
status: request.query.status, status: request.query.status,
startDateTime: request.query.startDateTime,
endDateTime: request.query.endDateTime,
}; };
}; };

View File

@@ -566,7 +566,7 @@ class User extends Base {
.orderBy('updated_at', 'desc'); .orderBy('updated_at', 'desc');
} }
getExecutions({ name, status }) { getExecutions({ name, status, startDateTime, endDateTime }) {
return this.authorizedExecutions return this.authorizedExecutions
.clone() .clone()
.withSoftDeleted() .withSoftDeleted()
@@ -590,6 +590,20 @@ class User extends Base {
} else if (status === 'failure') { } else if (status === 'failure') {
builder.where('executions.status', 'failure'); builder.where('executions.status', 'failure');
} }
if (startDateTime && endDateTime) {
const startDate = DateTime.fromMillis(Number(startDateTime));
if (startDate.isValid) {
builder.where('executions.created_at', '>=', startDate.toISO());
}
const endDate = DateTime.fromMillis(Number(endDateTime));
if (endDate.isValid) {
builder.where('executions.created_at', '<=', endDate.toISO());
}
}
}) })
.orderBy('created_at', 'desc'); .orderBy('created_at', 'desc');
} }