Add removing indexes

This commit is contained in:
Stanislav Romanov 2022-09-01 17:08:19 +03:00
parent 185badfb08
commit 9a3de61ea8
9 changed files with 58 additions and 6 deletions

View file

@ -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);
}
}

View file

@ -20,6 +20,7 @@ Router.map(function () {
});
this.route('new');
});
this.route('delete');
});
this.route('new');
});

View file

@ -0,0 +1,3 @@
import Route from '@ember/routing/route';
export default class AdminIndexesItemDeleteRoute extends Route {}

View file

@ -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 {}

View file

@ -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');
}

View file

@ -4,7 +4,7 @@
<Tab @route="admin.indexes.item.documents" @text="Documents" @model={{@model}} />
<Tab @route="admin.indexes.item.info" @text="Info" @model={{@model}} />
<Tab @route="admin.indexes.item.edit" @text="Edit" @model={{@model}} />
{{!-- <Tab @route="admin.indexes.item.settings" @text="Settings" @model={{@model}} /> --}}
<Tab @route="admin.indexes.item.delete" @text="Delete" @model={{@model}} />
</div>
{{outlet}}

View file

@ -0,0 +1,11 @@
<p>Are you sure you want to delete this index?</p>
<Button
@text='Yes'
@style='primary'
@onClick={{this.delete}}
/>
<Button
@text='No'
/>

View file

@ -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);
});
});

View file

@ -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);
});
});