Plato on Github
Report Home
lib/api/view.js
Maintainability
83.64
Lines of code
74
Difficulty
16.77
Estimated Errors
0.24
Function weight
By Complexity
By SLOC
"use strict"; import _ from "lodash"; import RssParser from "rss-parser"; /** * Create a view with specified configuration. * * @param {String} name: Jenkins view name * @param {String} config: Jenkins view config.xml * @param {Function} cb: standard cb(err, result) callback */ function create(name, config, cb) { const opts = { body: config, contentType: "application/xml", }; this.remoteAccessApi.postCreateView( name, _.merge(opts, this.opts.headers), cb, ); } /** * Retrieve information about a view. * * @param {String} name: Jenkins view name * @param {Function} cb: standard cb(err, result) callback */ function read(name, cb) { this.remoteAccessApi.getView(name, cb); } /** * Update a view with specified configuration * * @param {String} name: Jenkins view name * @param {String} config: Jenkins view config.xml * @param {Function} cb: standard cb(err, result) callback */ function update(name, config, cb) { this.remoteAccessApi.postViewConfig(name, config, this.opts.headers, cb); } /** * Fetch a view configuration. * * @param {String} name: Jenkins view name * @param {Function} cb: standard cb(err, result) callback */ function fetchConfig(name, cb) { this.remoteAccessApi.getViewConfig(name, cb); } /** * Parse view feed. * * @param {String} name: Jenkins view name * @param {Function} cb: standard cb(err, result) callback */ function parseFeed(name, cb) { const url = this.url + "/view/" + name + "/rssAll"; new RssParser().parseURL(url, cb); } const exports = { create: create, read: read, update: update, fetchConfig: fetchConfig, parseFeed: parseFeed, }; export { exports as default };