open-nomad/ui/app/adapters/application.js
Alex Dadgar e5ec915ac3 sync
2017-09-19 10:08:23 -05:00

59 lines
1.2 KiB
JavaScript

import Ember from 'ember';
import RESTAdapter from 'ember-data/adapters/rest';
const { get, computed, inject } = Ember;
export const namespace = 'v1';
export default RESTAdapter.extend({
namespace,
token: inject.service(),
headers: computed('token.secret', function() {
const token = this.get('token.secret');
return (
token && {
'X-Nomad-Token': token,
}
);
}),
// Single record requests deviate from REST practice by using
// the singular form of the resource name.
//
// REST: /some-resources/:id
// Nomad: /some-resource/:id
//
// This is the original implementation of _buildURL
// without the pluralization of modelName
urlForFindRecord(id, modelName) {
let path;
let url = [];
let host = get(this, 'host');
let prefix = this.urlPrefix();
if (modelName) {
path = modelName.camelize();
if (path) {
url.push(path);
}
}
if (id) {
url.push(encodeURIComponent(id));
}
if (prefix) {
url.unshift(prefix);
}
url = url.join('/');
if (!host && url && url.charAt(0) !== '/') {
url = '/' + url;
}
return url;
},
});