openclient
Version:
An opinionated client for RESTful APIs (particularly OpenStack's).
44 lines (35 loc) • 1.07 kB
JavaScript
var base = require("../../client/base");
var ProjectManager = base.Manager.extend({
namespace: "tenants",
init: function (client) {
this._super(client);
// Keystone uses POST for project updates instead of PUT.
this.method_map.update = "post";
},
enable: function (params, callback) {
params.data = params.data || {};
params.data.enabled = true;
params.parseResult = function (result) {
if (typeof result.extra.enabled !== "undefined") {
result.enabled = result.extra.enabled;
}
return result;
};
return this.update(params, callback);
},
disable: function (params, callback) {
params.data = params.data || {};
params.data.enabled = false;
params.parseResult = function (result) {
if (typeof result.extra.enabled !== "undefined") {
result.enabled = result.extra.enabled;
}
return result;
};
return this.update(params, callback);
},
_rpc_to_api: function (rpc) {
return {id: rpc.resource_info};
}
});
module.exports = ProjectManager;