import Client from './client'; export default class ProcessDefinitions extends Client { constructor(opts) { let options = opts; if (typeof opts === 'string') { options = { host: opts }; // convert host string to options object } options.serviceName = 'svc-sundial'; super(options); } get(options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/`, options); } getByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}`, options); } putByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}`, { ...options, method: 'PUT', }); } deleteByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}`, { ...options, method: 'DELETE', }); } postTriggerByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}/trigger`, { ...options, method: 'POST', }); } postPauseByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}/pause`, { ...options, method: 'POST', }); } postResumeByProcessDefinitionName(processDefinitionName, options = {}) { return this.makeRequest(`${this.host}/api/process_definitions/${processDefinitionName}/resume`, { ...options, method: 'POST', }); } }