@sapphire-ion/framework 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/lib/classes/comparison/comparison-operator.mjs +18 -0
- package/esm2022/lib/classes/comparison/comparison-value-type.mjs +25 -0
- package/esm2022/lib/classes/comparison/comparison.mjs +41 -0
- package/esm2022/lib/classes/comparison/properties/bool-property.mjs +15 -0
- package/esm2022/lib/classes/comparison/properties/date-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/enum-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +12 -0
- package/esm2022/lib/classes/comparison/properties/int-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/long-property.mjs +27 -0
- package/esm2022/lib/classes/comparison/properties/string-property.mjs +15 -0
- package/esm2022/lib/classes/comparison/properties/time-property.mjs +27 -0
- package/esm2022/lib/classes/credentials.mjs +2 -0
- package/esm2022/lib/classes/environment.mjs +32 -0
- package/esm2022/lib/classes/filters/view-filtros.mjs +18 -0
- package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +10 -0
- package/esm2022/lib/classes/inputs/table-field.mjs +63 -0
- package/esm2022/lib/classes/page-option.mjs +2 -0
- package/esm2022/lib/classes/routes/default-routing-factory.mjs +23 -0
- package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +22 -0
- package/esm2022/lib/classes/routes/route-data.mjs +9 -0
- package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +18 -0
- package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +15 -0
- package/esm2022/lib/components/carousel/carousel.component.mjs +79 -0
- package/esm2022/lib/components/carousel/carousel.module.mjs +31 -0
- package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +16 -0
- package/esm2022/lib/components/content-block/content-block.component.mjs +27 -0
- package/esm2022/lib/components/default/default-list/abstract-list.mjs +49 -0
- package/esm2022/lib/components/default/default-list/default-list.component.mjs +94 -0
- package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +98 -0
- package/esm2022/lib/components/default/default-list/list.mjs +110 -0
- package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +123 -0
- package/esm2022/lib/components/default/default-table/default-table.component.mjs +206 -0
- package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +182 -0
- package/esm2022/lib/components/default/default-view/abstract-view.mjs +18 -0
- package/esm2022/lib/components/default/default-view/default-view.component.mjs +51 -0
- package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +72 -0
- package/esm2022/lib/components/default/default-view/view.mjs +170 -0
- package/esm2022/lib/components/default/default.module.mjs +87 -0
- package/esm2022/lib/components/default-page/default.page.mjs +73 -0
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +60 -0
- package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +31 -0
- package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +15 -0
- package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +34 -0
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +49 -0
- package/esm2022/lib/components/drawer/drawer.component.mjs +117 -0
- package/esm2022/lib/components/drawer/menu.mjs +15 -0
- package/esm2022/lib/components/filter/filter.component.mjs +124 -0
- package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +17 -0
- package/esm2022/lib/components/image/image.component.mjs +91 -0
- package/esm2022/lib/components/info-popover/info-popover.component.mjs +91 -0
- package/esm2022/lib/components/inputs/custom-input.mjs +77 -0
- package/esm2022/lib/components/inputs/custom-signal-input.mjs +74 -0
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +43 -0
- package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +16 -0
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +487 -0
- package/esm2022/lib/components/inputs/input-configuration.mjs +2 -0
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +93 -0
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +6 -0
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +119 -0
- package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +8 -0
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +269 -0
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +45 -0
- package/esm2022/lib/components/inputs/input-default-configurations.mjs +14 -0
- package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +91 -0
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +128 -0
- package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +11 -0
- package/esm2022/lib/components/inputs/input-loading/input-loading.component.mjs +16 -0
- package/esm2022/lib/components/inputs/input-provider-factory.mjs +15 -0
- package/esm2022/lib/components/inputs/input-select/ISelect.mjs +11 -0
- package/esm2022/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.mjs +42 -0
- package/esm2022/lib/components/inputs/input-select/input-select-option/input-select-option.component.mjs +46 -0
- package/esm2022/lib/components/inputs/input-select/input-select-template.directive.mjs +16 -0
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +322 -0
- package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +164 -0
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +50 -0
- package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +18 -0
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +47 -0
- package/esm2022/lib/components/inputs/input-type.mjs +18 -0
- package/esm2022/lib/components/inputs/input-validators.mjs +90 -0
- package/esm2022/lib/components/inputs/inputs.module.mjs +101 -0
- package/esm2022/lib/components/loading/loading.component.mjs +34 -0
- package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +52 -0
- package/esm2022/lib/components/login/login.component.mjs +93 -0
- package/esm2022/lib/components/main-content/main-content.component.mjs +62 -0
- package/esm2022/lib/components/stepper/step/step.component.mjs +43 -0
- package/esm2022/lib/components/stepper/stepper.component.mjs +36 -0
- package/esm2022/lib/components/stepper/stepper.module.mjs +25 -0
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +41 -0
- package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +56 -0
- package/esm2022/lib/components/tabs/tabs.module.mjs +22 -0
- package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +51 -0
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +21 -0
- package/esm2022/lib/core.module.mjs +29 -0
- package/esm2022/lib/directives/ng-var.directive.mjs +29 -0
- package/esm2022/lib/guards/auth.guard.mjs +26 -0
- package/esm2022/lib/guards/error.interceptor.mjs +106 -0
- package/esm2022/lib/guards/token.interceptor.mjs +25 -0
- package/esm2022/lib/index.mjs +172 -0
- package/esm2022/lib/pipes/secure.pipe.mjs +42 -0
- package/esm2022/lib/services/auth.service.mjs +149 -0
- package/esm2022/lib/services/environment.service.mjs +26 -0
- package/esm2022/lib/services/generics.service.mjs +84 -0
- package/esm2022/lib/services/route/route.cache.service.mjs +15 -0
- package/esm2022/lib/services/route/route.provider.service.mjs +42 -0
- package/esm2022/lib/services/usuario.service.mjs +49 -0
- package/esm2022/lib/services/utils.service.mjs +149 -0
- package/esm2022/lib/services/web/api-url-provider.service.mjs +29 -0
- package/esm2022/lib/services/web/http.ativo.service.mjs +55 -0
- package/esm2022/lib/services/web/http.service.mjs +175 -0
- package/esm2022/lib/services/web/storage.service.mjs +115 -0
- package/esm2022/public-api.mjs +5 -0
- package/esm2022/sapphire-ion-framework.mjs +5 -0
- package/fesm2022/sapphire-ion-framework.mjs +6080 -0
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/comparison/comparison-operator.d.ts +9 -0
- package/lib/classes/comparison/comparison-value-type.d.ts +23 -0
- package/lib/classes/comparison/comparison.d.ts +25 -0
- package/lib/classes/comparison/properties/bool-property.d.ts +7 -0
- package/lib/classes/comparison/properties/date-property.d.ts +11 -0
- package/lib/classes/comparison/properties/datetime-property.d.ts +11 -0
- package/lib/classes/comparison/properties/decimal-property.d.ts +11 -0
- package/lib/classes/comparison/properties/enum-property.d.ts +11 -0
- package/lib/classes/comparison/properties/implicit-property.d.ts +6 -0
- package/lib/classes/comparison/properties/int-property.d.ts +11 -0
- package/lib/classes/comparison/properties/long-property.d.ts +11 -0
- package/lib/classes/comparison/properties/string-property.d.ts +7 -0
- package/lib/classes/comparison/properties/time-property.d.ts +11 -0
- package/lib/classes/credentials.d.ts +5 -0
- package/lib/classes/environment.d.ts +13 -0
- package/lib/classes/filters/view-filtros.d.ts +10 -0
- package/lib/classes/inputs/table-field-form-builder.d.ts +5 -0
- package/lib/classes/inputs/table-field.d.ts +19 -0
- package/lib/classes/page-option.d.ts +7 -0
- package/lib/classes/routes/default-routing-factory.d.ts +8 -0
- package/lib/classes/routes/id-preloader-configuration.d.ts +28 -0
- package/lib/classes/routes/route-data.d.ts +5 -0
- package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +10 -0
- package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +9 -0
- package/lib/components/carousel/carousel.component.d.ts +32 -0
- package/lib/components/carousel/carousel.module.d.ts +12 -0
- package/lib/components/carousel/i-carousel-item.component.d.ts +9 -0
- package/lib/components/content-block/content-block.component.d.ts +15 -0
- package/lib/components/default/default-list/abstract-list.d.ts +21 -0
- package/lib/components/default/default-list/default-list.component.d.ts +42 -0
- package/lib/components/default/default-list/header-list/header-list.component.d.ts +45 -0
- package/lib/components/default/default-list/list.d.ts +37 -0
- package/lib/components/default/default-pagination/default-pagination.component.d.ts +36 -0
- package/lib/components/default/default-table/default-table.component.d.ts +71 -0
- package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +20 -0
- package/lib/components/default/default-view/abstract-view.d.ts +16 -0
- package/lib/components/default/default-view/default-view.component.d.ts +26 -0
- package/lib/components/default/default-view/header-view/header-view.component.d.ts +25 -0
- package/lib/components/default/default-view/view.d.ts +55 -0
- package/lib/components/default/default.module.d.ts +28 -0
- package/lib/components/default-page/default.page.d.ts +35 -0
- package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +14 -0
- package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +10 -0
- package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +9 -0
- package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +13 -0
- package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +22 -0
- package/lib/components/drawer/drawer.component.d.ts +23 -0
- package/lib/components/drawer/menu.d.ts +9 -0
- package/lib/components/filter/filter.component.d.ts +29 -0
- package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +8 -0
- package/lib/components/image/image.component.d.ts +23 -0
- package/lib/components/info-popover/info-popover.component.d.ts +15 -0
- package/lib/components/inputs/custom-input.d.ts +36 -0
- package/lib/components/inputs/custom-signal-input.d.ts +38 -0
- package/lib/components/inputs/input-bool/input-bool.component.d.ts +19 -0
- package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +17 -0
- package/lib/components/inputs/input-color/input-color.component.d.ts +80 -0
- package/lib/components/inputs/input-configuration.d.ts +8 -0
- package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +24 -0
- package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +5 -0
- package/lib/components/inputs/input-date/input-date.component.d.ts +30 -0
- package/lib/components/inputs/input-date/input-date.configuration.d.ts +7 -0
- package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +41 -0
- package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +25 -0
- package/lib/components/inputs/input-default-configurations.d.ts +13 -0
- package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +36 -0
- package/lib/components/inputs/input-file/input-file.component.d.ts +39 -0
- package/lib/components/inputs/input-file/input-file.configuration.d.ts +11 -0
- package/lib/components/inputs/input-loading/input-loading.component.d.ts +7 -0
- package/lib/components/inputs/input-provider-factory.d.ts +4 -0
- package/lib/components/inputs/input-select/ISelect.d.ts +21 -0
- package/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.d.ts +18 -0
- package/lib/components/inputs/input-select/input-select-option/input-select-option.component.d.ts +24 -0
- package/lib/components/inputs/input-select/input-select-template.directive.d.ts +8 -0
- package/lib/components/inputs/input-select/input-select.component.d.ts +66 -0
- package/lib/components/inputs/input-select/input.select.configuration.d.ts +87 -0
- package/lib/components/inputs/input-string/input-string.component.d.ts +19 -0
- package/lib/components/inputs/input-string/input-string.configuration.d.ts +14 -0
- package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +18 -0
- package/lib/components/inputs/input-type.d.ts +16 -0
- package/lib/components/inputs/input-validators.d.ts +19 -0
- package/lib/components/inputs/inputs.module.d.ts +28 -0
- package/lib/components/loading/loading.component.d.ts +18 -0
- package/lib/components/login/login-admin/login-admin.component.d.ts +20 -0
- package/lib/components/login/login.component.d.ts +28 -0
- package/lib/components/main-content/main-content.component.d.ts +17 -0
- package/lib/components/stepper/step/step.component.d.ts +15 -0
- package/lib/components/stepper/stepper.component.d.ts +17 -0
- package/lib/components/stepper/stepper.module.d.ts +10 -0
- package/lib/components/tabs/tab/tab.component.d.ts +19 -0
- package/lib/components/tabs/tabs/tabs.component.d.ts +18 -0
- package/lib/components/tabs/tabs.module.d.ts +12 -0
- package/lib/components/text-tooltip/text-tooltip.component.d.ts +16 -0
- package/lib/components/tooltip/tooltip.component.d.ts +7 -0
- package/lib/core.module.d.ts +11 -0
- package/lib/directives/ng-var.directive.d.ts +12 -0
- package/lib/guards/auth.guard.d.ts +11 -0
- package/lib/guards/error.interceptor.d.ts +32 -0
- package/lib/guards/token.interceptor.d.ts +11 -0
- package/lib/index.d.ts +108 -0
- package/lib/pipes/secure.pipe.d.ts +15 -0
- package/lib/services/auth.service.d.ts +47 -0
- package/lib/services/environment.service.d.ts +10 -0
- package/lib/services/generics.service.d.ts +22 -0
- package/lib/services/route/route.cache.service.d.ts +7 -0
- package/lib/services/route/route.provider.service.d.ts +13 -0
- package/lib/services/usuario.service.d.ts +21 -0
- package/lib/services/utils.service.d.ts +36 -0
- package/lib/services/web/api-url-provider.service.d.ts +13 -0
- package/lib/services/web/http.ativo.service.d.ts +31 -0
- package/lib/services/web/http.service.d.ts +51 -0
- package/lib/services/web/storage.service.d.ts +25 -0
- package/package.json +41 -0
- package/public-api.d.ts +1 -0
- package/themes/compiled-styles.scss +2291 -0
- package/themes/components/_inputs_new/input-string/input-string.component.scss +0 -0
- package/themes/components/_inputs_new/inputs.scss +15 -0
- package/themes/components/carousel/carousel-image/carousel-image.component.scss +0 -0
- package/themes/components/carousel/carousel-item/carousel-item.component.scss +0 -0
- package/themes/components/carousel/carousel.component.scss +9 -0
- package/themes/components/content-block/content-block.component.scss +0 -0
- package/themes/components/default/default-list/default-list.component.scss +0 -0
- package/themes/components/default/default-list/header-list/header-list.component.scss +0 -0
- package/themes/components/default/default-pagination/default-pagination.component.scss +22 -0
- package/themes/components/default/default-table/default-table.component.scss +33 -0
- package/themes/components/default/default-table/th-filter/th-filter.component.scss +24 -0
- package/themes/components/default/default-view/default-view.component.scss +5 -0
- package/themes/components/default/default-view/header-view/header-view.component.scss +7 -0
- package/themes/components/default-page/default.page.scss +4 -0
- package/themes/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +9 -0
- package/themes/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
- package/themes/components/drawer/drawer-group/drawer-group.component.scss +22 -0
- package/themes/components/drawer/drawer.component.scss +46 -0
- package/themes/components/filter/filter.component.scss +0 -0
- package/themes/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +19 -0
- package/themes/components/image/image.component.scss +0 -0
- package/themes/components/info-popover/info-popover.component.scss +3 -0
- package/themes/components/inputs/input-bool/input-bool.component.scss +14 -0
- package/themes/components/inputs/input-color/input-color.component.scss +48 -0
- package/themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss +0 -0
- package/themes/components/inputs/input-date/input-date.component.scss +41 -0
- package/themes/components/inputs/input-decimal/input-decimal.component.scss +44 -0
- package/themes/components/inputs/input-file/download-button/download-button.component.scss +3 -0
- package/themes/components/inputs/input-file/input-file.component.scss +3 -0
- package/themes/components/inputs/input-loading/input-loading.component.scss +0 -0
- package/themes/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.scss +0 -0
- package/themes/components/inputs/input-select/input-select-option/input-select-option.component.scss +0 -0
- package/themes/components/inputs/input-select/input-select.component.scss +28 -0
- package/themes/components/inputs/input-string/input-string.component.scss +0 -0
- package/themes/components/inputs/input-textarea/input-textarea.component.scss +0 -0
- package/themes/components/inputs/inputs.scss +67 -0
- package/themes/components/loading/loading.component.scss +0 -0
- package/themes/components/login/login-admin/login-admin.component.scss +3 -0
- package/themes/components/login/login.component.scss +40 -0
- package/themes/components/main-content/main-content.component.scss +9 -0
- package/themes/components/stepper/step/step.component.scss +48 -0
- package/themes/components/stepper/stepper.component.scss +0 -0
- package/themes/components/tabs/tab/tab.component.scss +0 -0
- package/themes/components/tabs/tabs/tabs.component.scss +23 -0
- package/themes/components/text-tooltip/text-tooltip.component.scss +0 -0
- package/themes/components/tooltip/tooltip.component.scss +23 -0
- package/themes/styles/components.scss +52 -0
- package/themes/styles/core.styles.scss +409 -0
- package/themes/styles/ionic/ion-action-sheet.scss +8 -0
- package/themes/styles/ionic/ion-alert.scss +9 -0
- package/themes/styles/ionic/ion-button.scss +3 -0
- package/themes/styles/ionic/ion-card.scss +3 -0
- package/themes/styles/ionic/ion-content.scss +3 -0
- package/themes/styles/ionic/ion-datetime.scss +6 -0
- package/themes/styles/ionic/ion-item.scss +10 -0
- package/themes/styles/ionic/ion-list.scss +4 -0
- package/themes/styles/ionic/ion-modal.scss +8 -0
- package/themes/styles/ionic/ion-popover.scss +31 -0
- package/themes/styles/ionic/ion-progress-bar.scss +3 -0
- package/themes/styles/ionic/ion-searchbar.scss +4 -0
- package/themes/styles/ionic/ion-toast.scss +14 -0
- package/themes/styles/ionic.scss +13 -0
- package/themes/styles/login-default.scss +87 -0
- package/themes/styles/mixins.scss +467 -0
- package/themes/styles/styles.scss +1 -0
- package/themes/styles/translucid.scss +21 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
+
import { from, switchMap } from 'rxjs';
|
|
3
|
+
import { Pipe } from '@angular/core';
|
|
4
|
+
import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
|
|
5
|
+
import { AuthService } from '../services/auth.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../services/auth.service";
|
|
9
|
+
import * as i3 from "../services/web/api-url-provider.service";
|
|
10
|
+
export class SecurePipe {
|
|
11
|
+
constructor(http, auth, apiUrlProviderService) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.auth = auth;
|
|
14
|
+
this.apiUrlProviderService = apiUrlProviderService;
|
|
15
|
+
}
|
|
16
|
+
transform(src) {
|
|
17
|
+
if (src.startsWith(this.apiUrlProviderService.apiUrl)) {
|
|
18
|
+
// Convert the Promise to an Observable and chain the HTTP request
|
|
19
|
+
return from(this.auth.LoadToken())
|
|
20
|
+
.pipe(switchMap((Bearer) => {
|
|
21
|
+
const headers = new HttpHeaders({ 'Authorization': `Bearer ${Bearer}` });
|
|
22
|
+
return this.http.get(src, { headers, responseType: 'blob' });
|
|
23
|
+
}), switchMap((blob) => {
|
|
24
|
+
const url = URL.createObjectURL(blob);
|
|
25
|
+
return from(Promise.resolve(url));
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return Promise.resolve(src);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
33
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, isStandalone: true, name: "secure" }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, decorators: [{
|
|
36
|
+
type: Pipe,
|
|
37
|
+
args: [{
|
|
38
|
+
name: 'secure',
|
|
39
|
+
standalone: true,
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.ApiUrlProviderService }] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYXBwaGlyZS1pb24tZnJhbWV3b3JrL3NyYy9saWIvcGlwZXMvc2VjdXJlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBTXZELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFlBQ1UsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDakIscUJBQTRDO1FBRjVDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ25ELENBQUM7SUFFSixTQUFTLENBQUMsR0FBVztRQUNuQixJQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7WUFDcEQsa0VBQWtFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ2pDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7YUFDRyxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQTFCVSxVQUFVOzZHQUFWLFVBQVU7OzRGQUFWLFVBQVU7a0JBSnRCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZWN1cmUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlOiBBcGlVcmxQcm92aWRlclNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHRyYW5zZm9ybShzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB8IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBpZihzcmMuc3RhcnRzV2l0aCh0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwpKXtcclxuICAgICAgLy8gQ29udmVydCB0aGUgUHJvbWlzZSB0byBhbiBPYnNlcnZhYmxlIGFuZCBjaGFpbiB0aGUgSFRUUCByZXF1ZXN0XHJcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuYXV0aC5Mb2FkVG9rZW4oKSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChCZWFyZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7ICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke0JlYXJlcn1gIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc3JjLCB7IGhlYWRlcnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoYmxvYjogQmxvYikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSh1cmwpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzcmMpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { firstValueFrom } from 'rxjs';
|
|
2
|
+
import { NavController } from '@ionic/angular';
|
|
3
|
+
import { Preferences } from '@capacitor/preferences';
|
|
4
|
+
import { HttpClient } from '@angular/common/http';
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { jwtDecode } from 'jwt-decode';
|
|
7
|
+
import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
|
|
8
|
+
import { EnvironmentService } from './environment.service';
|
|
9
|
+
import { Utils } from './utils.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common/http";
|
|
12
|
+
import * as i2 from "@ionic/angular";
|
|
13
|
+
import * as i3 from "./environment.service";
|
|
14
|
+
import * as i4 from "../services/web/api-url-provider.service";
|
|
15
|
+
export class AuthService {
|
|
16
|
+
constructor(http, navController, coreService, apiUrlProviderService) {
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.navController = navController;
|
|
19
|
+
this.coreService = coreService;
|
|
20
|
+
this.apiUrlProviderService = apiUrlProviderService;
|
|
21
|
+
this.localUserKey = this.coreService.environment.applicationName.toUpperCase() + "_USER_KEY";
|
|
22
|
+
this.localAdminKey = this.coreService.environment.applicationName.toUpperCase() + "_ADMIN_KEY";
|
|
23
|
+
this.currentToken = null;
|
|
24
|
+
this._isAdmin = false;
|
|
25
|
+
this.SetToken();
|
|
26
|
+
}
|
|
27
|
+
async SetToken() {
|
|
28
|
+
const Token = await this.LoadToken();
|
|
29
|
+
const TokenAdmin = await this.LoadTokenAdmin();
|
|
30
|
+
if (this.isTokenValid(Token)) {
|
|
31
|
+
this.currentToken = await this.JWToken();
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return this.Loggout();
|
|
35
|
+
}
|
|
36
|
+
if (TokenAdmin && this.isTokenValid(TokenAdmin)) {
|
|
37
|
+
this._isAdmin = true;
|
|
38
|
+
}
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
async Loggout() {
|
|
42
|
+
await Preferences.remove({ key: this.localUserKey });
|
|
43
|
+
await Preferences.remove({ key: this.localAdminKey });
|
|
44
|
+
this.currentToken = null;
|
|
45
|
+
this.navController.navigateRoot("login");
|
|
46
|
+
}
|
|
47
|
+
get isAdmin() { return this._isAdmin; }
|
|
48
|
+
async Login(credentials) {
|
|
49
|
+
try {
|
|
50
|
+
const JWToken = await firstValueFrom(this.ApiLogin(credentials));
|
|
51
|
+
await this.SaveToken(JWToken);
|
|
52
|
+
await this.SetToken();
|
|
53
|
+
return (jwtDecode(JWToken));
|
|
54
|
+
}
|
|
55
|
+
catch (Error) {
|
|
56
|
+
throw Error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async BypassLogin(id) {
|
|
60
|
+
try {
|
|
61
|
+
const JWToken = await firstValueFrom(this.ApiBypassLogin(id));
|
|
62
|
+
await this.SaveToken(JWToken);
|
|
63
|
+
await this.SetToken();
|
|
64
|
+
return (jwtDecode(JWToken));
|
|
65
|
+
}
|
|
66
|
+
catch (Error) {
|
|
67
|
+
throw Error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
ApiLogin(credentials) {
|
|
71
|
+
return this.http.post(this.apiUrlProviderService.apiUrl + 'auth', credentials);
|
|
72
|
+
}
|
|
73
|
+
ApiBypassLogin(id) {
|
|
74
|
+
return this.http.get(this.apiUrlProviderService.apiUrl + `auth/${id}`);
|
|
75
|
+
}
|
|
76
|
+
async SaveToken(JWToken) {
|
|
77
|
+
if (jwtDecode(JWToken).id == 1) {
|
|
78
|
+
await Preferences.set({ key: this.localAdminKey, value: JWToken });
|
|
79
|
+
}
|
|
80
|
+
await Preferences.set({ key: this.localUserKey, value: JWToken });
|
|
81
|
+
}
|
|
82
|
+
async LoadToken() {
|
|
83
|
+
const JWToken = (await Preferences.get({ key: this.localUserKey })).value;
|
|
84
|
+
if (JWToken) {
|
|
85
|
+
const ParsedObject = jwtDecode(JWToken);
|
|
86
|
+
return ParsedObject;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async LoadTokenAdmin() {
|
|
93
|
+
const JWToken = (await Preferences.get({ key: this.localAdminKey })).value;
|
|
94
|
+
if (JWToken) {
|
|
95
|
+
const ParsedObject = jwtDecode(JWToken);
|
|
96
|
+
return ParsedObject;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async JWToken() {
|
|
103
|
+
const JWToken = (await Preferences.get({ key: this.localUserKey })).value;
|
|
104
|
+
return JWToken;
|
|
105
|
+
}
|
|
106
|
+
async GetBearer() {
|
|
107
|
+
return `Bearer ${await this.JWToken()}`;
|
|
108
|
+
}
|
|
109
|
+
isTokenValid(Token) {
|
|
110
|
+
if (!Token) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
else
|
|
114
|
+
return !(Utils.UNIXToDate(Token.exp) < new Date());
|
|
115
|
+
}
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.NavController }, { token: i3.EnvironmentService }, { token: i4.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
117
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
118
|
+
}
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, decorators: [{
|
|
120
|
+
type: Injectable,
|
|
121
|
+
args: [{
|
|
122
|
+
providedIn: 'root'
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.NavController }, { type: i3.EnvironmentService }, { type: i4.ApiUrlProviderService }] });
|
|
125
|
+
class Authentication {
|
|
126
|
+
constructor() {
|
|
127
|
+
this.Apelido = null;
|
|
128
|
+
this.Senha = null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
class Token {
|
|
132
|
+
constructor() {
|
|
133
|
+
this.Acesso = 0;
|
|
134
|
+
this.Apelido = "";
|
|
135
|
+
this.Nome = "";
|
|
136
|
+
this.id = 0;
|
|
137
|
+
this.idEmpresa = 0;
|
|
138
|
+
}
|
|
139
|
+
patch(token) {
|
|
140
|
+
for (let prop of Object.getOwnPropertyNames(token)) {
|
|
141
|
+
if (Number((token[prop]))) {
|
|
142
|
+
this[prop] = Number(token[prop]);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
this[prop] = token[prop];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUt4QyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNVLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLFdBQStCLEVBQy9CLHFCQUE0QztRQUg1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBSzlDLGlCQUFZLEdBQWlCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDdEcsa0JBQWEsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxH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LENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXMgfSBmcm9tICdAY2FwYWNpdG9yL3ByZWZlcmVuY2VzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBqd3REZWNvZGUgfSBmcm9tICdqd3QtZGVjb2RlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSBcclxuICApIHtcclxuICAgIHRoaXMuU2V0VG9rZW4oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9jYWxVc2VyS2V5ICAgICAgOiBzdHJpbmcgPSB0aGlzLmNvcmVTZXJ2aWNlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uTmFtZS50b1VwcGVyQ2FzZSgpICsgXCJfVVNFUl9LRVlcIjtcclxuICBwcml2YXRlIGxvY2FsQWRtaW5LZXkgICAgIDogc3RyaW5nID0gdGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWUudG9VcHBlckNhc2UoKSArIFwiX0FETUlOX0tFWVwiO1xyXG4gIHB1YmxpYyAgY3VycmVudFRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgYXN5bmMgU2V0VG9rZW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBUb2tlbiAgICAgID0gYXdhaXQgdGhpcy5Mb2FkVG9rZW4oKTtcclxuICAgIGNvbnN0IFRva2VuQWRtaW4gPSBhd2FpdCB0aGlzLkxvYWRUb2tlbkFkbWluKCk7XHJcbiAgICBpZih0aGlzLmlzVG9rZW5WYWxpZChUb2tlbikpe1xyXG4gICAgICB0aGlzLmN1cnJlbnRUb2tlbiA9IGF3YWl0IHRoaXMuSldUb2tlbigpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLkxvZ2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZihUb2tlbkFkbWluICYmIHRoaXMuaXNUb2tlblZhbGlkKFRva2VuQWRtaW4pKXtcclxuICAgICAgdGhpcy5faXNBZG1pbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgTG9nZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IFByZWZlcmVuY2VzLnJlbW92ZSh7IGtleTogdGhpcy5sb2NhbFVzZXJLZXkgfSk7XHJcbiAgICBhd2FpdCBQcmVmZXJlbmNlcy5yZW1vdmUoeyBrZXk6IHRoaXMubG9jYWxBZG1pbktleSB9KTtcclxuICAgIHRoaXMuY3VycmVudFRva2VuID0gbnVsbDtcclxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoXCJsb2dpblwiKTtcclxuICB9XHJcbiAgXHJcbiAgX2lzQWRtaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBnZXQgaXNBZG1pbigpeyByZXR1cm4gdGhpcy5faXNBZG1pbjsgIH1cclxuXHJcbiAgYXN5bmMgTG9naW4oY3JlZGVudGlhbHM6IEF1dGhlbnRpY2F0aW9uKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgSldUb2tlbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuQXBpTG9naW4oY3JlZGVudGlhbHMpKTtcclxuICAgICAgYXdhaXQgdGhpcy5TYXZlVG9rZW4oSldUb2tlbik7XHJcbiAgICAgIGF3YWl0IHRoaXMuU2V0VG9rZW4oKTtcclxuICAgICAgcmV0dXJuIChqd3REZWNvZGUoSldUb2tlbikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKEVycm9yKXtcclxuICAgICAgdGhyb3cgRXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBCeXBhc3NMb2dpbihpZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgSldUb2tlbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuQXBpQnlwYXNzTG9naW4oaWQpKTtcclxuICAgICAgYXdhaXQgdGhpcy5TYXZlVG9rZW4oSldUb2tlbik7XHJcbiAgICAgIGF3YWl0IHRoaXMuU2V0VG9rZW4oKTtcclxuICAgICAgcmV0dXJuIChqd3REZWNvZGUoSldUb2tlbikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKEVycm9yKXtcclxuICAgICAgdGhyb3cgRXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBBcGlMb2dpbihjcmVkZW50aWFsczogQXV0aGVudGljYXRpb24pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4odGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgJ2F1dGgnLCBjcmVkZW50aWFscyk7XHJcbiAgfVxyXG4gIEFwaUJ5cGFzc0xvZ2luKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwgKyBgYXV0aC8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgU2F2ZVRva2VuKEpXVG9rZW46IHN0cmluZyk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZigoand0RGVjb2RlKEpXVG9rZW4pIGFzIFRva2VuKS5pZCA9PSAxKXsgXHJcbiAgICAgIGF3YWl0IFByZWZlcmVuY2VzLnNldCh7IGtleTogdGhpcy5sb2NhbEFkbWluS2V5LCB2YWx1ZTogSldUb2tlbn0pO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgUHJlZmVyZW5jZXMuc2V0KHsga2V5OiB0aGlzLmxvY2FsVXNlcktleSwgdmFsdWU6IEpXVG9rZW4gfSlcclxuICB9XHJcblxyXG4gIGFzeW5jIExvYWRUb2tlbigpOiBQcm9taXNlPFRva2VuIHwgbnVsbCB8IGFueT4ge1xyXG4gICAgY29uc3QgSldUb2tlbiA9IChhd2FpdCBQcmVmZXJlbmNlcy5nZXQoeyBrZXk6IHRoaXMubG9jYWxVc2VyS2V5fSkpLnZhbHVlO1xyXG4gICAgaWYoSldUb2tlbil7XHJcbiAgICAgIGNvbnN0IFBhcnNlZE9iamVjdCA9IGp3dERlY29kZShKV1Rva2VuKTtcclxuICAgICAgcmV0dXJuIFBhcnNlZE9iamVjdDtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgYXN5bmMgTG9hZFRva2VuQWRtaW4oKTogUHJvbWlzZTxUb2tlbiB8IG51bGwgfCBhbnk+IHtcclxuICAgIGNvbnN0IEpXVG9rZW4gPSAoYXdhaXQgUHJlZmVyZW5jZXMuZ2V0KHsga2V5OiB0aGlzLmxvY2FsQWRtaW5LZXl9KSkudmFsdWU7XHJcbiAgICBpZihKV1Rva2VuKXtcclxuICAgICAgY29uc3QgUGFyc2VkT2JqZWN0ID0gand0RGVjb2RlKEpXVG9rZW4pO1xyXG4gICAgICByZXR1cm4gUGFyc2VkT2JqZWN0O1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgSldUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgSldUb2tlbjogc3RyaW5nID0gKGF3YWl0IFByZWZlcmVuY2VzLmdldCh7IGtleTogdGhpcy5sb2NhbFVzZXJLZXkgfSkpLnZhbHVlO1xyXG4gICAgcmV0dXJuIEpXVG9rZW47XHJcbiAgfVxyXG5cclxuICBhc3luYyBHZXRCZWFyZXIoKTogUHJvbWlzZTxzdHJpbmc+e1xyXG4gICAgcmV0dXJuIGBCZWFyZXIgJHthd2FpdCB0aGlzLkpXVG9rZW4oKX1gXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNUb2tlblZhbGlkKFRva2VuOiBhbnkpOiBib29sZWFue1xyXG4gICAgaWYoIVRva2VuKXsgcmV0dXJuIGZhbHNlOyB9ZWxzZVxyXG4gICAgcmV0dXJuICEoVXRpbHMuVU5JWFRvRGF0ZShUb2tlbi5leHApIDwgbmV3IERhdGUoKSlcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEF1dGhlbnRpY2F0aW9ue1xyXG4gIHB1YmxpYyBBcGVsaWRvOiBzdHJpbmcgPSBudWxsO1xyXG4gIHB1YmxpYyBTZW5oYSAgOiBzdHJpbmcgPSBudWxsO1xyXG59XHJcblxyXG5jbGFzcyBUb2tlbiB7XHJcbiAgW3Byb3A6IHN0cmluZ106IGFueTtcclxuICBBY2Vzc28gICA6IG51bWJlciA9IDA7XHJcbiAgQXBlbGlkbyAgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIE5vbWUgICAgIDogc3RyaW5nID0gXCJcIjtcclxuICBpZCAgICAgICA6IG51bWJlciA9IDA7XHJcbiAgaWRFbXByZXNhOiBudW1iZXIgPSAwO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKCl7fVxyXG4gIFxyXG4gIHBhdGNoKHRva2VuOiBUb2tlbiB8IGFueSk6IHZvaWR7XHJcbiAgICBmb3IobGV0IHByb3Agb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModG9rZW4pKXtcclxuICAgICAgaWYoTnVtYmVyKCh0b2tlbltwcm9wXSkpKXtcclxuICAgICAgICB0aGlzW3Byb3BdID0gTnVtYmVyKHRva2VuW3Byb3BdKTsgXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpc1twcm9wXSA9IHRva2VuW3Byb3BdO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { EnvironmentInjectionToken } from "../core.module";
|
|
3
|
+
import { Environment } from "../classes/environment";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../classes/environment";
|
|
6
|
+
export class EnvironmentService {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this._environment = this.config;
|
|
10
|
+
}
|
|
11
|
+
get environment() {
|
|
12
|
+
return this._environment;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, deps: [{ token: EnvironmentInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{
|
|
20
|
+
providedIn: 'root'
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: () => [{ type: i1.Environment, decorators: [{
|
|
23
|
+
type: Inject,
|
|
24
|
+
args: [EnvironmentInjectionToken]
|
|
25
|
+
}] }] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBdUQsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDOytHQVJRLGtCQUFrQixrQkFDUCx5QkFBeUI7bUhBRHBDLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUVnQixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiLi4vY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vY2xhc3Nlcy9lbnZpcm9ubWVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChFbnZpcm9ubWVudEluamVjdGlvblRva2VuKSBwcml2YXRlIGNvbmZpZzogRW52aXJvbm1lbnQpIHtcclxuICAgICAgICB0aGlzLl9lbnZpcm9ubWVudCA9IHRoaXMuY29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Vudmlyb25tZW50OiBFbnZpcm9ubWVudFxyXG4gICAgZ2V0IGVudmlyb25tZW50KCk6IEVudmlyb25tZW50e1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbnZpcm9ubWVudDtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Title } from '@angular/platform-browser';
|
|
3
|
+
import { AlertController, ToastController } from "@ionic/angular";
|
|
4
|
+
import { EnvironmentService } from './environment.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ionic/angular";
|
|
7
|
+
import * as i2 from "@angular/platform-browser";
|
|
8
|
+
import * as i3 from "./environment.service";
|
|
9
|
+
export class GenericService {
|
|
10
|
+
constructor(toastController, alertController, titleController, coreService) {
|
|
11
|
+
this.toastController = toastController;
|
|
12
|
+
this.alertController = alertController;
|
|
13
|
+
this.titleController = titleController;
|
|
14
|
+
this.coreService = coreService;
|
|
15
|
+
}
|
|
16
|
+
async PresentToast(message, icon = 'alert-circle') {
|
|
17
|
+
const toast = await this.toastController.create({
|
|
18
|
+
message: message,
|
|
19
|
+
duration: 1750,
|
|
20
|
+
icon: icon,
|
|
21
|
+
position: 'bottom',
|
|
22
|
+
translucent: false,
|
|
23
|
+
});
|
|
24
|
+
await toast.present();
|
|
25
|
+
}
|
|
26
|
+
async PresentToastSuccess(message = "Salvo com sucesso!") {
|
|
27
|
+
const toast = await this.toastController.create({
|
|
28
|
+
message: message,
|
|
29
|
+
duration: 1750,
|
|
30
|
+
icon: 'checkmark-circle',
|
|
31
|
+
position: 'bottom',
|
|
32
|
+
translucent: false,
|
|
33
|
+
});
|
|
34
|
+
await toast.present();
|
|
35
|
+
return toast.onDidDismiss();
|
|
36
|
+
}
|
|
37
|
+
static { this.CancelButton = {
|
|
38
|
+
text: 'Cancelar',
|
|
39
|
+
role: 'cancel',
|
|
40
|
+
}; }
|
|
41
|
+
static { this.ConfirmButton = {
|
|
42
|
+
text: 'OK',
|
|
43
|
+
role: 'confirm',
|
|
44
|
+
}; }
|
|
45
|
+
static { this.defaultAlertButtons = [GenericService.ConfirmButton]; }
|
|
46
|
+
async PresentAlert(header, message, buttons = GenericService.defaultAlertButtons) {
|
|
47
|
+
const alert = await this.alertController.create({
|
|
48
|
+
header: header,
|
|
49
|
+
message: message,
|
|
50
|
+
buttons: buttons,
|
|
51
|
+
});
|
|
52
|
+
await alert.present();
|
|
53
|
+
return alert.onDidDismiss();
|
|
54
|
+
}
|
|
55
|
+
SetTitle(title) {
|
|
56
|
+
this.titleController.setTitle(this.coreService.environment.applicationName + " | " + title);
|
|
57
|
+
}
|
|
58
|
+
GetId(activatedRoute, depth = 2) {
|
|
59
|
+
try {
|
|
60
|
+
var Route = activatedRoute;
|
|
61
|
+
for (let i = 0; i < depth; i++) {
|
|
62
|
+
Route = Route.parent;
|
|
63
|
+
}
|
|
64
|
+
if (Route.snapshot.paramMap.has('id')) {
|
|
65
|
+
return Number(Route.snapshot.paramMap.get('id'));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, deps: [{ token: i1.ToastController }, { token: i1.AlertController }, { token: i2.Title }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, providedIn: 'root' }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root'
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: () => [{ type: i1.ToastController }, { type: i1.AlertController }, { type: i2.Title }, { type: i3.EnvironmentService }] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBZSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBTTNELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZUFBc0IsRUFDdEIsV0FBK0I7UUFIL0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBTztRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFDdkMsQ0FBQztJQUVJLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBZSxFQUFFLElBQUksR0FBRyxjQUFjO1FBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBa0Isb0JBQW9CO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7YUFFYSxpQkFBWSxHQUFnQjtRQUN4QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsUUFBUTtLQUNmLEFBSHlCLENBR3pCO2FBQ2Esa0JBQWEsR0FBaUI7UUFDMUMsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQixBQUgwQixDQUcxQjthQUNNLHdCQUFtQixHQUFrQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQUFBaEQsQ0FBaUQ7SUFFcEUsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFVBQXlCLGNBQWMsQ0FBQyxtQkFBbUI7UUFDcEgsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxNQUFNLEVBQUcsTUFBTTtZQUNmLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQzdGLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBOEIsRUFBRSxRQUFnQixDQUFDO1FBQzVELElBQUcsQ0FBQztZQUNGLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQztZQUMzQixLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQzdCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxJQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUNwQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUNHLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQztRQUFBLE1BQUssQ0FBQztZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBeEVVLGNBQWM7bUhBQWQsY0FBYyxjQUhiLE1BQU07OzRGQUdQLGNBQWM7a0JBSjFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBbGVydEJ1dHRvbiwgQWxlcnRDb250cm9sbGVyLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuXHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlcnZpY2V7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBhbGVydENvbnRyb2xsZXI6IEFsZXJ0Q29udHJvbGxlcixcclxuICAgIHByaXZhdGUgdGl0bGVDb250cm9sbGVyOiBUaXRsZSxcclxuICAgIHByaXZhdGUgY29yZVNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICApe31cclxuXHJcbiAgcHVibGljIGFzeW5jIFByZXNlbnRUb2FzdChtZXNzYWdlOiBzdHJpbmcsIGljb24gPSAnYWxlcnQtY2lyY2xlJykge1xyXG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICBkdXJhdGlvbjogMTc1MCxcclxuICAgICAgaWNvbjogaWNvbixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsIFxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xyXG4gIH1cclxuICBcclxuICBwdWJsaWMgYXN5bmMgUHJlc2VudFRvYXN0U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcgPSBcIlNhbHZvIGNvbSBzdWNlc3NvIVwiKSB7XHJcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgIGR1cmF0aW9uOiAxNzUwLFxyXG4gICAgICBpY29uOiAnY2hlY2ttYXJrLWNpcmNsZScsXHJcbiAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgdHJhbnNsdWNlbnQ6IGZhbHNlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xyXG4gICAgcmV0dXJuIHRvYXN0Lm9uRGlkRGlzbWlzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBDYW5jZWxCdXR0b246IEFsZXJ0QnV0dG9uID0ge1xyXG4gICAgdGV4dDogJ0NhbmNlbGFyJyxcclxuICAgIHJvbGU6ICdjYW5jZWwnLFxyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIENvbmZpcm1CdXR0b24gOiBBbGVydEJ1dHRvbiA9IHtcclxuICAgIHRleHQ6ICdPSycsXHJcbiAgICByb2xlOiAnY29uZmlybScsXHJcbiAgfVxyXG4gIHN0YXRpYyBkZWZhdWx0QWxlcnRCdXR0b25zOiBBbGVydEJ1dHRvbltdID0gW0dlbmVyaWNTZXJ2aWNlLkNvbmZpcm1CdXR0b25dO1xyXG5cclxuICBwdWJsaWMgYXN5bmMgUHJlc2VudEFsZXJ0KGhlYWRlcjogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGJ1dHRvbnM6IEFsZXJ0QnV0dG9uW10gPSBHZW5lcmljU2VydmljZS5kZWZhdWx0QWxlcnRCdXR0b25zKSB7XHJcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIGhlYWRlcjogIGhlYWRlcixcclxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgYnV0dG9uczogYnV0dG9ucyxcclxuICAgIH0pO1xyXG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xyXG4gICAgcmV0dXJuIGFsZXJ0Lm9uRGlkRGlzbWlzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFRpdGxlKHRpdGxlOiBzdHJpbmcpe1xyXG4gICAgdGhpcy50aXRsZUNvbnRyb2xsZXIuc2V0VGl0bGUodGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWUgKyBcIiB8IFwiICsgdGl0bGUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0SWQoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkZXB0aDogbnVtYmVyID0gMik6IG51bWJlciB8IG51bGx7XHJcbiAgICB0cnl7XHJcbiAgICAgIHZhciBSb3V0ZSA9IGFjdGl2YXRlZFJvdXRlO1xyXG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZGVwdGg7IGkrKyl7XHJcbiAgICAgICAgUm91dGUgPSBSb3V0ZS5wYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYoUm91dGUuc25hcHNob3QucGFyYW1NYXAuaGFzKCdpZCcpKXtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKFJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgfWNhdGNoe1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class RouteCacheService {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.cachedData = null;
|
|
4
|
+
}
|
|
5
|
+
getCachedData() {
|
|
6
|
+
return this.cachedData;
|
|
7
|
+
}
|
|
8
|
+
setCachedData(data) {
|
|
9
|
+
this.cachedData = data;
|
|
10
|
+
}
|
|
11
|
+
isDataCached() {
|
|
12
|
+
return this.cachedData != null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZS5jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDVSxlQUFVLEdBQWtCLElBQUksQ0FBQztJQWEzQyxDQUFDO0lBWEMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9kcmF3ZXIvbWVudVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJvdXRlQ2FjaGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNhY2hlZERhdGE6IE1lbnVbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBnZXRDYWNoZWREYXRhKCk6IE1lbnVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGVkRGF0YShkYXRhOiBNZW51W10pOiB2b2lkIHtcclxuICAgIHRoaXMuY2FjaGVkRGF0YSA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBpc0RhdGFDYWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhICE9IG51bGw7XHJcbiAgfVxyXG59Il19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Observable, tap, share, finalize } from 'rxjs';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { RouteCacheService } from './route.cache.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class RouteProviderService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.loadFrom = [];
|
|
8
|
+
this.routeCacheService = new RouteCacheService();
|
|
9
|
+
this.loading$ = null;
|
|
10
|
+
}
|
|
11
|
+
GetData() {
|
|
12
|
+
// If a request is already in progress, return that Observable
|
|
13
|
+
if (this.loading$) {
|
|
14
|
+
return this.loading$;
|
|
15
|
+
}
|
|
16
|
+
if (Array.isArray(this.loadFrom)) {
|
|
17
|
+
this.routeCacheService.setCachedData(this.loadFrom);
|
|
18
|
+
}
|
|
19
|
+
const cachedData = this.routeCacheService.getCachedData();
|
|
20
|
+
if (cachedData) {
|
|
21
|
+
return new Observable(observer => {
|
|
22
|
+
observer.next(cachedData);
|
|
23
|
+
observer.complete();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Store the loading Observable and make sure to reset it when it completes
|
|
28
|
+
this.loading$ = this.loadFrom.pipe(tap(data => this.routeCacheService.setCachedData(data)), finalize(() => this.loading$ = null), share() // Share the same subscription with multiple subscribers
|
|
29
|
+
);
|
|
30
|
+
return this.loading$;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, providedIn: 'root' }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: () => [] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZS5wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQjtRQUpBLGFBQVEsR0FBZ0MsRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDL0QsYUFBUSxHQUE4QixJQUFJLENBQUM7SUFHL0MsQ0FBQztJQUlMLE9BQU87UUFDTCw4REFBOEQ7UUFDOUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUxRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTiwyRUFBMkU7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBSSxJQUFJLENBQUMsUUFBK0IsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQ3BDLEtBQUssRUFBRSxDQUFDLHdEQUF3RDthQUNqRSxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOytHQXRDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwLCBzaGFyZSwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUm91dGVDYWNoZVNlcnZpY2UgfSBmcm9tICcuL3JvdXRlLmNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kcmF3ZXIvbWVudSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZVByb3ZpZGVyU2VydmljZSAge1xyXG5cclxuICBsb2FkRnJvbTogT2JzZXJ2YWJsZTxNZW51W10+IHwgTWVudVtdID0gW107XHJcbiAgcHJpdmF0ZSByb3V0ZUNhY2hlU2VydmljZTogUm91dGVDYWNoZVNlcnZpY2UgPSBuZXcgUm91dGVDYWNoZVNlcnZpY2UoKTtcclxuICBwcml2YXRlIGxvYWRpbmckOiBPYnNlcnZhYmxlPE1lbnVbXT4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7IH1cclxuXHJcbiAgcmVzb2x2ZXI6IFByb21pc2U8TWVudVtdPlxyXG5cclxuICBHZXREYXRhKCk6IE9ic2VydmFibGU8TWVudVtdPiB7XHJcbiAgICAvLyBJZiBhIHJlcXVlc3QgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgcmV0dXJuIHRoYXQgT2JzZXJ2YWJsZVxyXG4gICAgaWYgKHRoaXMubG9hZGluZyQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoQXJyYXkuaXNBcnJheSh0aGlzLmxvYWRGcm9tKSl7XHJcbiAgICAgIHRoaXMucm91dGVDYWNoZVNlcnZpY2Uuc2V0Q2FjaGVkRGF0YSh0aGlzLmxvYWRGcm9tKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYWNoZWREYXRhID0gdGhpcy5yb3V0ZUNhY2hlU2VydmljZS5nZXRDYWNoZWREYXRhKCk7XHJcblxyXG4gICAgaWYgKGNhY2hlZERhdGEpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KGNhY2hlZERhdGEpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU3RvcmUgdGhlIGxvYWRpbmcgT2JzZXJ2YWJsZSBhbmQgbWFrZSBzdXJlIHRvIHJlc2V0IGl0IHdoZW4gaXQgY29tcGxldGVzXHJcbiAgICAgIHRoaXMubG9hZGluZyQgPSAodGhpcy5sb2FkRnJvbSBhcyBPYnNlcnZhYmxlPE1lbnVbXT4pLnBpcGUoXHJcbiAgICAgICAgdGFwKGRhdGEgPT4gdGhpcy5yb3V0ZUNhY2hlU2VydmljZS5zZXRDYWNoZWREYXRhKGRhdGEpKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmckID0gbnVsbCksXHJcbiAgICAgICAgc2hhcmUoKSAvLyBTaGFyZSB0aGUgc2FtZSBzdWJzY3JpcHRpb24gd2l0aCBtdWx0aXBsZSBzdWJzY3JpYmVyc1xyXG4gICAgICApO1xyXG4gICAgICBcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
4
|
+
import { NavController } from '@ionic/angular';
|
|
5
|
+
import { InputStringConfiguration, InputStringType } from '../components/inputs/input-string/input-string.configuration';
|
|
6
|
+
import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
|
|
7
|
+
import { HttpServiceAtivo } from '../services/web/http.ativo.service';
|
|
8
|
+
import { GenericService } from './generics.service';
|
|
9
|
+
import { TableField } from '../classes/inputs/table-field';
|
|
10
|
+
import { InputType } from '../components/inputs/input-type';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common/http";
|
|
13
|
+
import * as i2 from "@angular/forms";
|
|
14
|
+
import * as i3 from "./generics.service";
|
|
15
|
+
import * as i4 from "@ionic/angular";
|
|
16
|
+
import * as i5 from "../services/web/api-url-provider.service";
|
|
17
|
+
export class UsuarioService extends HttpServiceAtivo {
|
|
18
|
+
constructor(http, fb, genericService, navController, apiUrlProviderService) {
|
|
19
|
+
super(http, fb, genericService, navController, apiUrlProviderService);
|
|
20
|
+
this.http = http;
|
|
21
|
+
this.fb = fb;
|
|
22
|
+
this.genericService = genericService;
|
|
23
|
+
this.navController = navController;
|
|
24
|
+
this.apiUrlProviderService = apiUrlProviderService;
|
|
25
|
+
this.route = "usuario";
|
|
26
|
+
this.title = "Usuario";
|
|
27
|
+
}
|
|
28
|
+
get lstTableFields() {
|
|
29
|
+
var lst = [];
|
|
30
|
+
lst[0] = this.defaultId;
|
|
31
|
+
lst[1] = new TableField("Nome", "nome", this.fb.control(null, Validators.required), InputType.String);
|
|
32
|
+
lst[2] = new TableField("Apelido", "apelido", this.fb.control(null, Validators.required), InputType.String);
|
|
33
|
+
lst[3] = new TableField("Senha", "senha", this.fb.control(null, Validators.required), InputType.String);
|
|
34
|
+
lst[3].hiddenView = true;
|
|
35
|
+
lst[3].configuration = new InputStringConfiguration(InputStringType.Password);
|
|
36
|
+
lst[4] = this.defaultAtivo;
|
|
37
|
+
return lst;
|
|
38
|
+
}
|
|
39
|
+
;
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, providedIn: 'root' }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{
|
|
46
|
+
providedIn: 'root'
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXN1YXJpby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3VzdWFyaW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFLNUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFLbEQsWUFDcUIsSUFBZ0IsRUFDaEIsRUFBZSxFQUNmLGNBQThCLEVBQzlCLGFBQTZCLEVBQzdCLHFCQUE2QztRQUVoRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFObkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXdCO1FBUmxELFVBQUssR0FBVyxTQUFTLENBQUM7UUFDMUIsVUFBSyxHQUFXLFNBQVMsQ0FBQztJQVUxQyxDQUFDO0lBRUQsSUFBYSxjQUFjO1FBQ3pCLElBQUksR0FBRyxHQUFpQixFQUFFLENBQUM7UUFFM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBSyxNQUFNLEVBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBSSxPQUFPLEVBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUUzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFBQSxDQUFDOytHQTNCUyxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24sIElucHV0U3RyaW5nVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXN0cmluZy9pbnB1dC1zdHJpbmcuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUF0aXZvIH0gZnJvbSAnLi4vc2VydmljZXMvd2ViL2h0dHAuYXRpdm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc3VhcmlvU2VydmljZSBleHRlbmRzIEh0dHBTZXJ2aWNlQXRpdm8ge1xyXG5cclxuICBwdWJsaWMgb3ZlcnJpZGUgcm91dGU6IHN0cmluZyA9IFwidXN1YXJpb1wiOyBcclxuICBwdWJsaWMgb3ZlcnJpZGUgdGl0bGU6IHN0cmluZyA9IFwiVXN1YXJpb1wiOyBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG5hdkNvbnRyb2xsZXIgOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGFwaVVybFByb3ZpZGVyU2VydmljZSA6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICApIHsgXHJcbiAgICBzdXBlcihodHRwLCBmYiwgZ2VuZXJpY1NlcnZpY2UsIG5hdkNvbnRyb2xsZXIsIGFwaVVybFByb3ZpZGVyU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXQgbHN0VGFibGVGaWVsZHMoKXtcclxuICAgIHZhciBsc3Q6IFRhYmxlRmllbGRbXSA9IFtdO1xyXG5cclxuICAgIGxzdFswXSA9IHRoaXMuZGVmYXVsdElkO1xyXG4gICAgbHN0WzFdID0gbmV3IFRhYmxlRmllbGQoXCJOb21lXCIgICAsIFwibm9tZVwiICAgLCB0aGlzLmZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksIElucHV0VHlwZS5TdHJpbmcpXHJcbiAgICBsc3RbMl0gPSBuZXcgVGFibGVGaWVsZChcIkFwZWxpZG9cIiwgXCJhcGVsaWRvXCIsIHRoaXMuZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSwgSW5wdXRUeXBlLlN0cmluZylcclxuICAgIGxzdFszXSA9IG5ldyBUYWJsZUZpZWxkKFwiU2VuaGFcIiAgLCBcInNlbmhhXCIgICwgdGhpcy5mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLCBJbnB1dFR5cGUuU3RyaW5nKVxyXG4gICAgbHN0WzNdLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgbHN0WzNdLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKElucHV0U3RyaW5nVHlwZS5QYXNzd29yZCk7XHJcbiAgICBsc3RbNF0gPSB0aGlzLmRlZmF1bHRBdGl2bztcclxuXHJcbiAgICByZXR1cm4gbHN0O1xyXG4gIH07XHJcbn1cclxuIl19
|