diff --git a/app/controllers/admin/indexes/item/delete.js b/app/controllers/admin/indexes/item/delete.js
new file mode 100644
index 0000000..0b48d0e
--- /dev/null
+++ b/app/controllers/admin/indexes/item/delete.js
@@ -0,0 +1,12 @@
+import Controller from '@ember/controller';
+import { action } from '@ember/object';
+import { inject as service } from '@ember/service';
+
+export default class AdminIndexesItemDeleteController extends Controller {
+ @service meilisearch;
+
+ @action
+ delete() {
+ this.meilisearch.deleteIndex(this.model.uid);
+ }
+}
diff --git a/app/router.js b/app/router.js
index c696780..9eec278 100644
--- a/app/router.js
+++ b/app/router.js
@@ -20,6 +20,7 @@ Router.map(function () {
});
this.route('new');
});
+ this.route('delete');
});
this.route('new');
});
diff --git a/app/routes/admin/indexes/item/delete.js b/app/routes/admin/indexes/item/delete.js
new file mode 100644
index 0000000..8a071b4
--- /dev/null
+++ b/app/routes/admin/indexes/item/delete.js
@@ -0,0 +1,3 @@
+import Route from '@ember/routing/route';
+
+export default class AdminIndexesItemDeleteRoute extends Route {}
diff --git a/app/routes/admin/indexes/item/edit.js b/app/routes/admin/indexes/item/edit.js
index 77681d0..bbe26e4 100644
--- a/app/routes/admin/indexes/item/edit.js
+++ b/app/routes/admin/indexes/item/edit.js
@@ -1,7 +1,3 @@
import Route from '@ember/routing/route';
-export default class AdminIndexesItemEditRoute extends Route {
- async model() {
- return this.modelFor('admin.indexes.item');
- }
-}
+export default class AdminIndexesItemEditRoute extends Route {}
diff --git a/app/services/meilisearch.js b/app/services/meilisearch.js
index 2ea2a12..28deb7a 100644
--- a/app/services/meilisearch.js
+++ b/app/services/meilisearch.js
@@ -14,6 +14,12 @@ export default class MeilisearchService extends Service {
return query(`indexes/${index_uid}`).then((item) => new Index(item));
}
+ deleteIndex(index_uid) {
+ return query(`indexes/${index_uid}`, {
+ method: 'DELETE',
+ });
+ }
+
getHealth() {
return query('health');
}
diff --git a/app/templates/admin/indexes/item.hbs b/app/templates/admin/indexes/item.hbs
index 10f8552..1bb87fc 100644
--- a/app/templates/admin/indexes/item.hbs
+++ b/app/templates/admin/indexes/item.hbs
@@ -4,7 +4,7 @@
Are you sure you want to delete this index?
+ + + + diff --git a/tests/unit/controllers/admin/indexes/item/delete-test.js b/tests/unit/controllers/admin/indexes/item/delete-test.js new file mode 100644 index 0000000..96dda96 --- /dev/null +++ b/tests/unit/controllers/admin/indexes/item/delete-test.js @@ -0,0 +1,12 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'meiliadmin/tests/helpers'; + +module('Unit | Controller | admin/indexes/item/delete', function (hooks) { + setupTest(hooks); + + // TODO: Replace this with your real tests. + test('it exists', function (assert) { + let controller = this.owner.lookup('controller:admin/indexes/item/delete'); + assert.ok(controller); + }); +}); diff --git a/tests/unit/routes/admin/indexes/item/delete-test.js b/tests/unit/routes/admin/indexes/item/delete-test.js new file mode 100644 index 0000000..9231246 --- /dev/null +++ b/tests/unit/routes/admin/indexes/item/delete-test.js @@ -0,0 +1,11 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'meiliadmin/tests/helpers'; + +module('Unit | Route | admin/indexes/item/delete', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup('route:admin/indexes/item/delete'); + assert.ok(route); + }); +});