{"version":3,"file":"ngx-server-check.mjs","sources":["../../../projects/ngx-server-check/src/lib/ngx-server-check.service.ts","../../../projects/ngx-server-check/src/lib/ngx-server-check.component.ts","../../../projects/ngx-server-check/src/lib/ngx-server-check.component.html","../../../projects/ngx-server-check/src/public-api.ts","../../../projects/ngx-server-check/src/ngx-server-check.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\nimport { of, map, catchError, forkJoin } from 'rxjs';\nimport { urlsConfig } from './ngx-server-check.type';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgxServerCheckService implements Resolve<any> {\n\n  private http = inject(HttpClient)\n\n  resolve(route: ActivatedRouteSnapshot) {\n    const urlsConfig: urlsConfig[] = route.data['config'];\n    const requests = urlsConfig.map((urlConfig: urlsConfig) =>\n      this.http.get(urlConfig.url, { observe: 'response' }).pipe(\n        map(response => (\n          { \n            name: urlConfig['name'], \n            url: urlConfig['url'], \n            status: response.status,\n            error: null \n          }\n        )),\n        catchError(error => {\n          return of({ \n            name: urlConfig['name'], \n            url: urlConfig['url'], \n            status: error.status, \n            error: error.message \n          });\n        })\n      )\n    );\n\n    return forkJoin(requests);\n  }\n}\n","import { NgClass, NgFor, NgIf } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { apiStatus } from './ngx-server-check.type';\n\n@Component({\n  selector: 'lib-ngx-server-check',\n  standalone: true,\n  imports: [NgFor, NgIf, NgClass],\n  templateUrl: 'ngx-server-check.component.html',\n  styleUrl: 'ngx-server-check.component.scss'\n})\nexport class NgxServerCheckComponent implements OnInit{\n  apiStatus: apiStatus[] = [];\n\n  constructor(private route: ActivatedRoute) {}\n\n  ngOnInit() {\n    this.route.data.subscribe((data: any) => {\n      this.apiStatus = data.response; \n    });\n  }\n}\n","<h2 style=\"text-align: center;\">Servers Status Check</h2>\n\n<table class=\"url-status-table\">\n  <thead>\n    <tr>\n      <th>Name</th>\n      <th>URL</th>\n      <th>Status</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let status of apiStatus\">\n      <td>{{ status.name }}</td>\n      <td>{{ status.url }}</td>\n      <td \n          [ngClass]=\"{'status-ok': status.status === 200, 'status-error': status.status !== 200}\" \n          [attr.title]=\"status.error ? 'Error ' + status.status + ': ' + status.error : ''\" \n      >\n        {{ status.status === 200 ? '200 OK' : 'Error' }}\n      </td>\n    </tr>\n  </tbody>\n</table>\n","/*\n * Public API Surface of ngx-server-check\n */\n\nexport * from './lib/ngx-server-check.service';\nexport * from './lib/ngx-server-check.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}