42 lines
1 KiB
JavaScript
42 lines
1 KiB
JavaScript
|
import Ember from 'ember';
|
||
|
import ApplicationAdapter from './application';
|
||
|
import DS from 'ember-data';
|
||
|
|
||
|
export default ApplicationAdapter.extend({
|
||
|
url(path) {
|
||
|
const url = `${this.buildURL()}/auth`;
|
||
|
return path ? url + '/' + path : url;
|
||
|
},
|
||
|
|
||
|
// used in updateRecord on the model#tune action
|
||
|
pathForType() {
|
||
|
return 'mounts/auth';
|
||
|
},
|
||
|
|
||
|
findAll() {
|
||
|
return this.ajax(this.url(), 'GET').catch(e => {
|
||
|
if (e instanceof DS.AdapterError) {
|
||
|
Ember.set(e, 'policyPath', 'sys/auth');
|
||
|
}
|
||
|
throw e;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
createRecord(store, type, snapshot) {
|
||
|
const serializer = store.serializerFor(type.modelName);
|
||
|
const data = serializer.serialize(snapshot);
|
||
|
const path = snapshot.attr('path');
|
||
|
|
||
|
return this.ajax(this.url(path), 'POST', { data }).then(() => {
|
||
|
// ember data doesn't like 204s if it's not a DELETE
|
||
|
return {
|
||
|
data: Ember.assign({}, data, { path: path + '/', id: path }),
|
||
|
};
|
||
|
});
|
||
|
},
|
||
|
|
||
|
urlForDeleteRecord(id, modelName, snapshot) {
|
||
|
return this.url(snapshot.id);
|
||
|
},
|
||
|
});
|