@universis/common
Version:
Universis - common directives and services
72 lines (71 loc) • 6.71 kB
JavaScript
import * as tslib_1 from "tslib";
import { Injectable } from "@angular/core";
import { AngularDataContext } from "@themost/angular";
/**
*
* This Service is used to get diagnostics from the api server
* @export
* @class DiagnosticsService
*/
export class DiagnosticsService {
constructor(context) {
this.context = context;
}
/**
*
* Get status of api server
* @returns {Promise<ApiServerStatus>} - Returns ApiServerStatus promise with version, database and optional modifiedAt/attachedAt dates.
* @memberof DiagnosticsService
*/
getStatus() {
return this.context.getService().execute({
method: 'GET',
url: 'diagnostics/status',
headers: {},
data: null
});
}
getServices() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (this._services) {
return this._services;
}
const results = yield this.context.getService().execute({
method: 'GET',
url: 'diagnostics/services',
headers: {},
data: null
});
this._services = results;
return results;
});
}
refresh() {
delete this._services;
}
hasService(serviceType) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const results = yield this.getServices();
return results.findIndex((item) => {
return item.serviceType === serviceType;
}) > -1;
});
}
hasStrategy(serviceType, strategyType) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const results = yield this.getServices();
return results.findIndex((item) => {
return item.serviceType === serviceType &&
item.strategyType === strategyType;
}) > -1;
});
}
}
DiagnosticsService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
DiagnosticsService.ctorParameters = () => [
{ type: AngularDataContext }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpY3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvY29tbW9uLyIsInNvdXJjZXMiOlsic2hhcmVkL3NlcnZpY2VzL2RpYWdub3N0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFjdEQ7Ozs7O0dBS0c7QUFHSCxNQUFNO0lBSUosWUFBb0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFBSSxDQUFDO0lBRXBEOzs7OztPQUtHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDdkMsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsb0JBQW9CO1lBQ3pCLE9BQU8sRUFBRSxFQUFHO1lBQ1osSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUssV0FBVzs7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN2QjtZQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RELE1BQU0sRUFBRSxLQUFLO2dCQUNiLEdBQUcsRUFBRSxzQkFBc0I7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFDekIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztLQUFBO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUssVUFBVSxDQUFDLFdBQW1COztZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQztZQUMxQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNWLENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxXQUFtQixFQUFFLFlBQW9COztZQUN6RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVc7b0JBQ3JDLElBQUksQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztLQUFBOzs7WUFyREYsVUFBVTs7OztZQXJCRixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJEYXRhQ29udGV4dCB9IGZyb20gXCJAdGhlbW9zdC9hbmd1bGFyXCI7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBcGlTZXJ2ZXJTdGF0dXMge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRhdGFiYXNlOiBzdHJpbmc7XG4gIG1vZGlmaWVkQXQ/OiBEYXRlO1xuICBhdHRhY2hlZEF0PzogRGF0ZTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNlcnZpY2VEZWZpbml0aW9uIHtcbiAgc2VydmljZVR5cGU6IHN0cmluZztcbiAgc3RyYXRlZ3lUeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqXG4gKiBUaGlzIFNlcnZpY2UgaXMgdXNlZCB0byBnZXQgZGlhZ25vc3RpY3MgZnJvbSB0aGUgYXBpIHNlcnZlclxuICogQGV4cG9ydFxuICogQGNsYXNzIERpYWdub3N0aWNzU2VydmljZVxuICovXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEaWFnbm9zdGljc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgX3NlcnZpY2VzOiBBcnJheTxTZXJ2aWNlRGVmaW5pdGlvbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250ZXh0OiBBbmd1bGFyRGF0YUNvbnRleHQpIHsgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBHZXQgc3RhdHVzIG9mIGFwaSBzZXJ2ZXJcbiAgICogQHJldHVybnMge1Byb21pc2U8QXBpU2VydmVyU3RhdHVzPn0gLSBSZXR1cm5zIEFwaVNlcnZlclN0YXR1cyBwcm9taXNlIHdpdGggdmVyc2lvbiwgZGF0YWJhc2UgYW5kIG9wdGlvbmFsIG1vZGlmaWVkQXQvYXR0YWNoZWRBdCBkYXRlcy5cbiAgICogQG1lbWJlcm9mIERpYWdub3N0aWNzU2VydmljZVxuICAgKi9cbiAgZ2V0U3RhdHVzKCk6IFByb21pc2U8QXBpU2VydmVyU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRTZXJ2aWNlKCkuZXhlY3V0ZSh7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnZGlhZ25vc3RpY3Mvc3RhdHVzJyxcbiAgICAgIGhlYWRlcnM6IHsgfSxcbiAgICAgIGRhdGE6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFNlcnZpY2VzKCk6IFByb21pc2U8QXJyYXk8U2VydmljZURlZmluaXRpb24+PiB7XG4gICAgaWYgKHRoaXMuX3NlcnZpY2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VydmljZXM7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmNvbnRleHQuZ2V0U2VydmljZSgpLmV4ZWN1dGUoe1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybDogJ2RpYWdub3N0aWNzL3NlcnZpY2VzJyxcbiAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgZGF0YTogbnVsbFxuICAgIH0pO1xuICAgIHRoaXMuX3NlcnZpY2VzID0gcmVzdWx0cztcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgZGVsZXRlIHRoaXMuX3NlcnZpY2VzO1xuICB9XG5cbiAgYXN5bmMgaGFzU2VydmljZShzZXJ2aWNlVHlwZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuZ2V0U2VydmljZXMoKTtcbiAgICByZXR1cm4gcmVzdWx0cy5maW5kSW5kZXgoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnNlcnZpY2VUeXBlID09PSBzZXJ2aWNlVHlwZTtcbiAgICB9KSA+IC0xO1xuICB9XG5cbiAgYXN5bmMgaGFzU3RyYXRlZ3koc2VydmljZVR5cGU6IHN0cmluZywgc3RyYXRlZ3lUeXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5nZXRTZXJ2aWNlcygpO1xuICAgIHJldHVybiByZXN1bHRzLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uc2VydmljZVR5cGUgPT09IHNlcnZpY2VUeXBlICYmXG4gICAgICAgIGl0ZW0uc3RyYXRlZ3lUeXBlID09PSBzdHJhdGVneVR5cGU7XG4gICAgfSkgPiAtMTtcbiAgfVxuXG59XG4iXX0=