UNPKG

@harbor/ui

Version:

Harbor shared UI components based on Clarity and Angular6

129 lines (128 loc) 9.37 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable, Inject } from "@angular/core"; import { Http } from "@angular/http"; import { SERVICE_CONFIG } from "../service.config"; import { HTTP_GET_OPTIONS } from "../utils"; /** * Define the service methods to handle the job log related things. * * * * @abstract * class JobLogService * @abstract */ export class JobLogService { } if (false) { /** * Get the log of the specified job * * @abstract * ** deprecated param {string} jobType * ** deprecated param {(number | string)} jobId * returns {(Observable<string> | Promise<string> | string)} * \@memberof JobLogService * @abstract * @return {?} */ JobLogService.prototype.getScanJobBaseUrl = function () { }; /** * @abstract * @param {?} jobType * @param {?} jobId * @return {?} */ JobLogService.prototype.getJobLog = function (jobType, jobId) { }; } /** * Implement default service for job log service. * * * * class JobLogDefaultService * extends {ReplicationService} */ export class JobLogDefaultService extends JobLogService { /** * @param {?} http * @param {?} config */ constructor(http, config) { super(); this.http = http; this._replicationJobBaseUrl = config.replicationJobEndpoint ? config.replicationJobEndpoint : "/api/jobs/replication"; this._scanningJobBaseUrl = config.scanJobEndpoint ? config.scanJobEndpoint : "/api/jobs/scan"; this._supportedJobTypes = ["replication", "scan"]; } /** * @param {?} logUrl * @return {?} */ _getJobLog(logUrl) { return this.http .get(logUrl, HTTP_GET_OPTIONS) .toPromise() .then(response => response.text()) .catch(error => Promise.reject(error)); } /** * @param {?} jobType * @return {?} */ _isSupportedJobType(jobType) { if (this._supportedJobTypes.find((t) => t === jobType)) { return true; } return false; } /** * @return {?} */ getScanJobBaseUrl() { return this._scanningJobBaseUrl; } /** * @param {?} jobType * @param {?} jobId * @return {?} */ getJobLog(jobType, jobId) { if (!this._isSupportedJobType(jobType)) { return Promise.reject("Unsupport job type: " + jobType); } if (!jobId || jobId <= 0) { return Promise.reject("Bad argument"); } /** @type {?} */ let logUrl = `${this._replicationJobBaseUrl}/${jobId}/log`; if (jobType === "scan") { logUrl = `${this._scanningJobBaseUrl}/${jobId}/log`; } return this._getJobLog(logUrl); } } JobLogDefaultService.decorators = [ { type: Injectable } ]; /** @nocollapse */ JobLogDefaultService.ctorParameters = () => [ { type: Http }, { type: undefined, decorators: [{ type: Inject, args: [SERVICE_CONFIG,] }] } ]; if (false) { /** @type {?} */ JobLogDefaultService.prototype._replicationJobBaseUrl; /** @type {?} */ JobLogDefaultService.prototype._scanningJobBaseUrl; /** @type {?} */ JobLogDefaultService.prototype._supportedJobTypes; /** @type {?} */ JobLogDefaultService.prototype.http; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhhcmJvci91aS8iLCJzb3VyY2VzIjpbInNyYy9zZXJ2aWNlL2pvYi1sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBUzVDLE1BQU07Q0FnQkw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUQsTUFBTSwyQkFBNEIsU0FBUSxhQUFhOzs7OztJQUtyRCxZQUNVLE1BQ2dCLE1BQXNCO1FBRTlDLEtBQUssRUFBRSxDQUFDO1FBSEEsU0FBSSxHQUFKLElBQUk7UUFJWixJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQjtZQUN6RCxDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtZQUMvQixDQUFDLENBQUMsdUJBQXVCLENBQUM7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxlQUFlO1lBQy9DLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZTtZQUN4QixDQUFDLENBQUMsZ0JBQWdCLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ25EOzs7OztJQUVELFVBQVUsQ0FBQyxNQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDO2FBQzdCLFNBQVMsRUFBRTthQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNqQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDMUM7Ozs7O0lBRUQsbUJBQW1CLENBQUMsT0FBZTtRQUNqQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxLQUFLLENBQUM7S0FDZDs7OztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzs7Ozs7OztJQUczQixTQUFTLENBQ2QsT0FBZSxFQUNmLEtBQXNCO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2Qzs7UUFFRCxJQUFJLE1BQU0sR0FBVyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxLQUFLLE1BQU0sQ0FBQztRQUNuRSxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUU7WUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEtBQUssTUFBTSxDQUFDO1NBQ3JEO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzs7O1lBeERsQyxVQUFVOzs7O1lBcENGLElBQUk7NENBNENSLE1BQU0sU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSHR0cCB9IGZyb20gXCJAYW5ndWxhci9odHRwXCI7XG5pbXBvcnQgeyBTRVJWSUNFX0NPTkZJRywgSVNlcnZpY2VDb25maWcgfSBmcm9tIFwiLi4vc2VydmljZS5jb25maWdcIjtcbmltcG9ydCB7IEhUVFBfR0VUX09QVElPTlMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBEZWZpbmUgdGhlIHNlcnZpY2UgbWV0aG9kcyB0byBoYW5kbGUgdGhlIGpvYiBsb2cgcmVsYXRlZCB0aGluZ3MuXG4gKlxuICoqXG4gKiBAYWJzdHJhY3RcbiAqIGNsYXNzIEpvYkxvZ1NlcnZpY2VcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEpvYkxvZ1NlcnZpY2Uge1xuICAvKipcbiAgICogR2V0IHRoZSBsb2cgb2YgdGhlIHNwZWNpZmllZCBqb2JcbiAgICpcbiAgICogQGFic3RyYWN0XG4gICAqICAqKiBkZXByZWNhdGVkIHBhcmFtIHtzdHJpbmd9IGpvYlR5cGVcbiAgICogICoqIGRlcHJlY2F0ZWQgcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBqb2JJZFxuICAgKiByZXR1cm5zIHsoT2JzZXJ2YWJsZTxzdHJpbmc+IHwgUHJvbWlzZTxzdHJpbmc+IHwgc3RyaW5nKX1cbiAgICogQG1lbWJlcm9mIEpvYkxvZ1NlcnZpY2VcbiAgICovXG5cbiAgYWJzdHJhY3QgZ2V0U2NhbkpvYkJhc2VVcmwoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRKb2JMb2coXG4gICAgam9iVHlwZTogc3RyaW5nLFxuICAgIGpvYklkOiBudW1iZXIgfCBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHwgUHJvbWlzZTxzdHJpbmc+IHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIEltcGxlbWVudCBkZWZhdWx0IHNlcnZpY2UgZm9yIGpvYiBsb2cgc2VydmljZS5cbiAqXG4gKipcbiAqIGNsYXNzIEpvYkxvZ0RlZmF1bHRTZXJ2aWNlXG4gKiBleHRlbmRzIHtSZXBsaWNhdGlvblNlcnZpY2V9XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKb2JMb2dEZWZhdWx0U2VydmljZSBleHRlbmRzIEpvYkxvZ1NlcnZpY2Uge1xuICBfcmVwbGljYXRpb25Kb2JCYXNlVXJsOiBzdHJpbmc7XG4gIF9zY2FubmluZ0pvYkJhc2VVcmw6IHN0cmluZztcbiAgX3N1cHBvcnRlZEpvYlR5cGVzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHAsXG4gICAgQEluamVjdChTRVJWSUNFX0NPTkZJRykgY29uZmlnOiBJU2VydmljZUNvbmZpZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3JlcGxpY2F0aW9uSm9iQmFzZVVybCA9IGNvbmZpZy5yZXBsaWNhdGlvbkpvYkVuZHBvaW50XG4gICAgICA/IGNvbmZpZy5yZXBsaWNhdGlvbkpvYkVuZHBvaW50XG4gICAgICA6IFwiL2FwaS9qb2JzL3JlcGxpY2F0aW9uXCI7XG4gICAgdGhpcy5fc2Nhbm5pbmdKb2JCYXNlVXJsID0gY29uZmlnLnNjYW5Kb2JFbmRwb2ludFxuICAgICAgPyBjb25maWcuc2NhbkpvYkVuZHBvaW50XG4gICAgICA6IFwiL2FwaS9qb2JzL3NjYW5cIjtcbiAgICB0aGlzLl9zdXBwb3J0ZWRKb2JUeXBlcyA9IFtcInJlcGxpY2F0aW9uXCIsIFwic2NhblwiXTtcbiAgfVxuXG4gIF9nZXRKb2JMb2cobG9nVXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4gfCBQcm9taXNlPHN0cmluZz4gfCBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQobG9nVXJsLCBIVFRQX0dFVF9PUFRJT05TKVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS50ZXh0KCkpXG4gICAgICAuY2F0Y2goZXJyb3IgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKTtcbiAgfVxuXG4gIF9pc1N1cHBvcnRlZEpvYlR5cGUoam9iVHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZEpvYlR5cGVzLmZpbmQoKHQ6IHN0cmluZykgPT4gdCA9PT0gam9iVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTY2FuSm9iQmFzZVVybCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nhbm5pbmdKb2JCYXNlVXJsO1xuICB9XG5cbiAgcHVibGljIGdldEpvYkxvZyhcbiAgICBqb2JUeXBlOiBzdHJpbmcsXG4gICAgam9iSWQ6IG51bWJlciB8IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4gfCBQcm9taXNlPHN0cmluZz4gfCBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faXNTdXBwb3J0ZWRKb2JUeXBlKGpvYlR5cGUpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXCJVbnN1cHBvcnQgam9iIHR5cGU6IFwiICsgam9iVHlwZSk7XG4gICAgfVxuICAgIGlmICgham9iSWQgfHwgam9iSWQgPD0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFwiQmFkIGFyZ3VtZW50XCIpO1xuICAgIH1cblxuICAgIGxldCBsb2dVcmw6IHN0cmluZyA9IGAke3RoaXMuX3JlcGxpY2F0aW9uSm9iQmFzZVVybH0vJHtqb2JJZH0vbG9nYDtcbiAgICBpZiAoam9iVHlwZSA9PT0gXCJzY2FuXCIpIHtcbiAgICAgIGxvZ1VybCA9IGAke3RoaXMuX3NjYW5uaW5nSm9iQmFzZVVybH0vJHtqb2JJZH0vbG9nYDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZ2V0Sm9iTG9nKGxvZ1VybCk7XG4gIH1cbn1cbiJdfQ==