opsgenie-sdk-revived
Version:
Reviving the opsgenie-sdk, Giving Node.js access to the OpsGenie Web API
78 lines (70 loc) • 2.01 kB
JavaScript
const api = require('../restApi');
/**
*
* @returns {{create: create}}
*/
function scheduleOverrideV2() {
const baseURL = '/v2/schedules/';
return {
/**
* https://docs.opsgenie.com/docs/schedule-override-api#create-schedule-override
*
* @param {string} identifier
* @param {object} data
* @param config
* @param cb
*/
create(identifier, data, config, cb) {
api.post(`${baseURL}/${identifier}/overrides`, data, config, cb);
},
/**
* https://docs.opsgenie.com/docs/schedule-override-api#get-schedule-override
*
* @param {string} identifier
* @param {string} alias
* @param config
* @param cb
*/
get(identifier, alias, config, cb) {
const path = api.getPath(baseURL, { identifier }, `overrides/${alias}`);
api.get(path, config, cb);
},
/**
* https://docs.opsgenie.com/docs/schedule-override-api#update-schedule-override
*
* @param {string} alias
* @param {string} identifier
* @param {object} data
* @param config
* @param cb
*/
update(alias, identifier, data, config, cb) {
const path = api.getPath(baseURL, identifier, `overrides/${alias}`);
api.put(path, data, config, cb);
},
/**
* https://docs.opsgenie.com/docs/schedule-override-api#delete-schedule-override
*
* @param {string} identifier
* @param {string} alias
* @param config
* @param cb
*/
delete(identifier, alias, config, cb) {
const path = api.getPath(baseURL, { identifier }, `overrides/${alias}`);
api.delete(path, config, cb);
},
/**
* https://docs.opsgenie.com/docs/schedule-override-api#list-schedule-overrides
*
* @param {string} identifier
* @param config
* @param cb
*/
list(identifier, config, cb) {
const path = api.getPath(baseURL, { identifier }, '/overrides');
api.get(path, config, cb);
},
};
}
module.exports = scheduleOverrideV2;