import Client from './client'; export default class Organizations extends Client { constructor(opts) { let options = opts; if (typeof opts === 'string') { options = { host: opts }; // convert host string to options object } options.serviceName = 'apibuilder api'; super(options); } get(options = {}) { return this.makeRequest(`${this.host}/organizations`, options); } getByKey(key, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}`, options); } post(options = {}) { return this.makeRequest(`${this.host}/organizations`, { ...options, method: 'POST', }); } putByKey(key, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}`, { ...options, method: 'PUT', }); } deleteByKey(key, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}`, { ...options, method: 'DELETE', }); } getAttributesByKey(key, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}/attributes`, options); } getAttributesByKeyAndName(key, name, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}/attributes/${name}`, options); } putAttributesByKeyAndName(key, name, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}/attributes/${name}`, { ...options, method: 'PUT', }); } deleteAttributesByKeyAndName(key, name, options = {}) { return this.makeRequest(`${this.host}/organizations/${key}/attributes/${name}`, { ...options, method: 'DELETE', }); } }