@harbor/ui
Version:
Harbor shared UI components based on Clarity and Angular6
129 lines (128 loc) • 9.37 kB
JavaScript
/**
* @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==