import Client from './client'; export default class Applications 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); } getMetadataAndVersionsByApplicationkey(orgKey, applicationKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}/metadata/${applicationKey}/versions`, options); } getMetadataAndVersionsAndLatesttxtByApplicationkey(orgKey, applicationKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}/metadata/${applicationKey}/versions/latest.txt`, options); } get(orgKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}`, options); } post(orgKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}`, { ...options, method: 'POST', }); } putByApplicationkey(orgKey, applicationKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}/${applicationKey}`, { ...options, method: 'PUT', }); } deleteByApplicationkey(orgKey, applicationKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}/${applicationKey}`, { ...options, method: 'DELETE', }); } postMoveByApplicationkey(orgKey, applicationKey, options = {}) { return this.makeRequest(`${this.host}/${orgKey}/${applicationKey}/move`, { ...options, method: 'POST', }); } }