@universis/common
Version:
Universis - common directives and services
64 lines • 6.96 kB
JavaScript
import { Injectable } from "@angular/core";
import { AngularDataContext } from "@themost/angular";
import * as i0 from "@angular/core";
import * as i1 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
});
}
async getServices() {
if (this._services) {
return this._services;
}
const results = await this.context.getService().execute({
method: 'GET',
url: 'diagnostics/services',
headers: {},
data: null
});
this._services = results;
return results;
}
refresh() {
delete this._services;
}
async hasService(serviceType) {
const results = await this.getServices();
return results.findIndex((item) => {
return item.serviceType === serviceType;
}) > -1;
}
async hasStrategy(serviceType, strategyType) {
const results = await this.getServices();
return results.findIndex((item) => {
return item.serviceType === serviceType &&
item.strategyType === strategyType;
}) > -1;
}
}
DiagnosticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DiagnosticsService, deps: [{ token: i1.AngularDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
DiagnosticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DiagnosticsService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DiagnosticsService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.AngularDataContext }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpY3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvZGlhZ25vc3RpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFjdEQ7Ozs7O0dBS0c7QUFHSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQW9CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUksQ0FBQztJQUVwRDs7Ozs7T0FLRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLG9CQUFvQjtZQUN6QixPQUFPLEVBQUUsRUFBRztZQUNaLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN2QjtRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDdEQsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsc0JBQXNCO1lBQzNCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFtQjtRQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBbUIsRUFBRSxZQUFvQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVztnQkFDckMsSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUM7UUFDdkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDOztnSEFwRFUsa0JBQWtCO29IQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckRhdGFDb250ZXh0IH0gZnJvbSBcIkB0aGVtb3N0L2FuZ3VsYXJcIjtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEFwaVNlcnZlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgZGF0YWJhc2U6IHN0cmluZztcbiAgbW9kaWZpZWRBdD86IERhdGU7XG4gIGF0dGFjaGVkQXQ/OiBEYXRlO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2VydmljZURlZmluaXRpb24ge1xuICBzZXJ2aWNlVHlwZTogc3RyaW5nO1xuICBzdHJhdGVneVR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICpcbiAqIFRoaXMgU2VydmljZSBpcyB1c2VkIHRvIGdldCBkaWFnbm9zdGljcyBmcm9tIHRoZSBhcGkgc2VydmVyXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRGlhZ25vc3RpY3NTZXJ2aWNlXG4gKi9cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWdub3N0aWNzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfc2VydmljZXM6IEFycmF5PFNlcnZpY2VEZWZpbml0aW9uPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHQ6IEFuZ3VsYXJEYXRhQ29udGV4dCkgeyB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEdldCBzdGF0dXMgb2YgYXBpIHNlcnZlclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcGlTZXJ2ZXJTdGF0dXM+fSAtIFJldHVybnMgQXBpU2VydmVyU3RhdHVzIHByb21pc2Ugd2l0aCB2ZXJzaW9uLCBkYXRhYmFzZSBhbmQgb3B0aW9uYWwgbW9kaWZpZWRBdC9hdHRhY2hlZEF0IGRhdGVzLlxuICAgKiBAbWVtYmVyb2YgRGlhZ25vc3RpY3NTZXJ2aWNlXG4gICAqL1xuICBnZXRTdGF0dXMoKTogUHJvbWlzZTxBcGlTZXJ2ZXJTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmdldFNlcnZpY2UoKS5leGVjdXRlKHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6ICdkaWFnbm9zdGljcy9zdGF0dXMnLFxuICAgICAgaGVhZGVyczogeyB9LFxuICAgICAgZGF0YTogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2VydmljZXMoKTogUHJvbWlzZTxBcnJheTxTZXJ2aWNlRGVmaW5pdGlvbj4+IHtcbiAgICBpZiAodGhpcy5fc2VydmljZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlcztcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuY29udGV4dC5nZXRTZXJ2aWNlKCkuZXhlY3V0ZSh7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgdXJsOiAnZGlhZ25vc3RpY3Mvc2VydmljZXMnLFxuICAgICAgaGVhZGVyczoge30sXG4gICAgICBkYXRhOiBudWxsXG4gICAgfSk7XG4gICAgdGhpcy5fc2VydmljZXMgPSByZXN1bHRzO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBkZWxldGUgdGhpcy5fc2VydmljZXM7XG4gIH1cblxuICBhc3luYyBoYXNTZXJ2aWNlKHNlcnZpY2VUeXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5nZXRTZXJ2aWNlcygpO1xuICAgIHJldHVybiByZXN1bHRzLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uc2VydmljZVR5cGUgPT09IHNlcnZpY2VUeXBlO1xuICAgIH0pID4gLTE7XG4gIH1cblxuICBhc3luYyBoYXNTdHJhdGVneShzZXJ2aWNlVHlwZTogc3RyaW5nLCBzdHJhdGVneVR5cGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmdldFNlcnZpY2VzKCk7XG4gICAgcmV0dXJuIHJlc3VsdHMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gaXRlbS5zZXJ2aWNlVHlwZSA9PT0gc2VydmljZVR5cGUgJiZcbiAgICAgICAgaXRlbS5zdHJhdGVneVR5cGUgPT09IHN0cmF0ZWd5VHlwZTtcbiAgICB9KSA+IC0xO1xuICB9XG5cbn1cbiJdfQ==