open-vault/ui/app/adapters/namespace.js

38 lines
1.1 KiB
JavaScript

import ApplicationAdapter from './application';
export default ApplicationAdapter.extend({
pathForType() {
return 'namespaces';
},
urlForFindAll(modelName, snapshot) {
if (snapshot.adapterOptions && snapshot.adapterOptions.forUser) {
return `/${this.urlPrefix()}/internal/ui/namespaces`;
}
return `/${this.urlPrefix()}/namespaces?list=true`;
},
urlForCreateRecord(modelName, snapshot) {
const id = snapshot.attr('path');
return this.buildURL(modelName, id);
},
createRecord(store, type, snapshot) {
const id = snapshot.attr('path');
return this._super(...arguments).then(() => {
return { id };
});
},
findAll(store, type, sinceToken, snapshot) {
if (snapshot.adapterOptions && typeof snapshot.adapterOptions.namespace !== 'undefined') {
return this.ajax(this.urlForFindAll('namespace', snapshot), 'GET', {
namespace: snapshot.adapterOptions.namespace,
});
}
return this._super(...arguments);
},
query() {
return this.ajax(`/${this.urlPrefix()}/namespaces?list=true`);
},
});