@nativecode/sonarr
Version:
Sonarr REST client
56 lines • 3.46 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SonarrClient = void 0;
var deepmerge_1 = __importDefault(require("deepmerge"));
var url_1 = require("url");
var lincoln_debug_1 = require("@nofrills/lincoln-debug");
var BackupResource_1 = require("./Resources/BackupResource");
var SeriesResource_1 = require("./Resources/SeriesResource");
var SystemResource_1 = require("./Resources/SystemResource");
var CommandResource_1 = require("./Resources/CommandResource");
var IndexerResource_1 = require("./Resources/IndexerResource");
var EpisodeResource_1 = require("./Resources/EpisodeResource");
var ProfileResource_1 = require("./Resources/ProfileResource");
var HistoryResource_1 = require("./Resources/HistoryResource");
var ReleaseResource_1 = require("./Resources/ReleaseResource");
var CalendarResource_1 = require("./Resources/CalendarResource");
var DiskspaceResource_1 = require("./Resources/DiskspaceResource");
var EpisodeFileResource_1 = require("./Resources/EpisodeFileResource");
var WantedMissingResource_1 = require("./Resources/WantedMissingResource");
var ParsedEpisodeInfoResource_1 = require("./Resources/ParsedEpisodeInfoResource");
var DefaultSonarrOptions = {
host: 'localhost',
port: 8989,
secure: false,
};
var SonarrClient = /** @class */ (function () {
function SonarrClient(options, logger) {
this.log = logger ? logger.extend('sonarr') : lincoln_debug_1.CreateLogger('sonarr');
this.options = deepmerge_1.default.all([DefaultSonarrOptions, options]);
var url = this.url();
this.backup = new BackupResource_1.BackupResource(url, this.options.apikey, this.log);
this.calendar = new CalendarResource_1.CalendarResource(url, this.options.apikey, this.log);
this.command = new CommandResource_1.CommandResource(url, this.options.apikey, this.log);
this.diskspace = new DiskspaceResource_1.DiskspaceResource(url, this.options.apikey, this.log);
this.episodes = new EpisodeResource_1.EpisodeResource(url, this.options.apikey, this.log);
this.files = new EpisodeFileResource_1.EpisodeFileResource(url, this.options.apikey, this.log);
this.history = new HistoryResource_1.HistoryResource(url, this.options.apikey, this.log);
this.indexer = new IndexerResource_1.IndexerResource(url, this.options.apikey, this.log);
this.parser = new ParsedEpisodeInfoResource_1.ParsedEpisodeInfoResource(url, this.options.apikey, this.log);
this.profile = new ProfileResource_1.ProfileResource(url, this.options.apikey, this.log);
this.release = new ReleaseResource_1.ReleaseResource(url, this.options.apikey, this.log);
this.series = new SeriesResource_1.SeriesResource(url, this.options.apikey, this.log);
this.system = new SystemResource_1.SystemResource(url, this.options.apikey, this.log);
this.wanted = new WantedMissingResource_1.WantedMissingResource(url, this.options.apikey, this.log);
}
SonarrClient.prototype.url = function () {
var protocol = this.options.secure ? 'https' : 'http';
return new url_1.URL(protocol + "://" + this.options.host + ":" + this.options.port + "/api");
};
return SonarrClient;
}());
exports.SonarrClient = SonarrClient;
//# sourceMappingURL=SonarrClient.js.map