UNPKG

@universis/common

Version:

Universis - common directives and services

72 lines (71 loc) 6.71 kB
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=