diff --git a/app/controllers/admin/tasks/index.js b/app/controllers/admin/tasks/index.js
new file mode 100644
index 0000000..ed14fcd
--- /dev/null
+++ b/app/controllers/admin/tasks/index.js
@@ -0,0 +1,13 @@
+import Controller from '@ember/controller';
+import { action } from '@ember/object';
+import { tracked } from '@glimmer/tracking';
+
+export default class AdminTasksIndexController extends Controller {
+ @tracked limit = 20;
+ @tracked from;
+ @tracked status;
+ @tracked type;
+ @tracked indexUid;
+
+ queryParams = ['limit', 'from', 'status', 'type', 'indexUid'];
+}
diff --git a/app/routes/admin/tasks/index.js b/app/routes/admin/tasks/index.js
index 09d0698..e1337d2 100644
--- a/app/routes/admin/tasks/index.js
+++ b/app/routes/admin/tasks/index.js
@@ -1,10 +1,22 @@
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
+import { hash } from 'rsvp';
export default class AdminTasksIndexRoute extends Route {
@service meilisearch;
- model() {
- return this.meilisearch.getTasks();
+ queryParams = {
+ limit: { refreshModel: true },
+ from: { refreshModel: true },
+ status: { refreshModel: true },
+ type: { refreshModel: true },
+ indexUid: { refreshModel: true },
+ };
+
+ model(params) {
+ return hash({
+ tasks: this.meilisearch.getTasks(params),
+ indexes: this.meilisearch.getIndexes(),
+ });
}
}
diff --git a/app/services/meilisearch.js b/app/services/meilisearch.js
index 28deb7a..e964618 100644
--- a/app/services/meilisearch.js
+++ b/app/services/meilisearch.js
@@ -40,8 +40,11 @@ export default class MeilisearchService extends Service {
return query(`keys/${uid}`);
}
- getTasks() {
- return query('tasks');
+ getTasks(params) {
+ // Clear from undefined fields
+ Object.keys(params).forEach((key) => params[key] ?? delete params[key]);
+
+ return query(`tasks?${new URLSearchParams(params)}`);
}
getTask(uid) {
diff --git a/app/templates/admin/tasks/index.hbs b/app/templates/admin/tasks/index.hbs
index 51ea536..14c3b59 100644
--- a/app/templates/admin/tasks/index.hbs
+++ b/app/templates/admin/tasks/index.hbs
@@ -1,58 +1,91 @@