@elite.framework/ng.core 2.0.4 → 2.0.5
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/directives/index.d.ts +17 -2
- package/fesm2022/elite.framework-ng.core-directives.mjs +41 -1
- package/fesm2022/elite.framework-ng.core-directives.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-interceptors.mjs +1 -2
- package/fesm2022/elite.framework-ng.core-interceptors.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-models.mjs +3 -1
- package/fesm2022/elite.framework-ng.core-models.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-services.mjs +149 -2
- package/fesm2022/elite.framework-ng.core-services.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-utils.mjs +56 -0
- package/fesm2022/elite.framework-ng.core-utils.mjs.map +1 -0
- package/models/index.d.ts +37 -3
- package/package.json +9 -5
- package/services/index.d.ts +34 -3
- package/utils/README.md +3 -0
- package/utils/index.d.ts +18 -0
package/directives/index.d.ts
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnChanges, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { TemplateRef, ViewContainerRef, OnChanges, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
|
|
3
|
+
import { PermissionsService } from '@elite.framework/ng.core/services';
|
|
4
|
+
|
|
5
|
+
declare class HasPermissionDirective {
|
|
6
|
+
private templateRef;
|
|
7
|
+
private viewContainer;
|
|
8
|
+
private permissionsService;
|
|
9
|
+
private permissions;
|
|
10
|
+
constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, permissionsService: PermissionsService);
|
|
11
|
+
/**
|
|
12
|
+
* يقبل صلاحية وحدة (string) أو قائمة صلاحيات (string[])
|
|
13
|
+
*/
|
|
14
|
+
set hasPermission(permission: string | string[] | null | undefined);
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HasPermissionDirective, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HasPermissionDirective, "[hasPermission]", never, { "hasPermission": { "alias": "hasPermission"; "required": false; }; }, {}, never, never, true, never>;
|
|
17
|
+
}
|
|
3
18
|
|
|
4
19
|
declare class AutofocusDirective implements OnChanges {
|
|
5
20
|
private el;
|
|
@@ -20,4 +35,4 @@ declare class RtlLang implements OnChanges {
|
|
|
20
35
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RtlLang, "[appRtlLang]", never, { "lang": { "alias": "appRtlLang"; "required": false; }; }, {}, never, never, true, never>;
|
|
21
36
|
}
|
|
22
37
|
|
|
23
|
-
export { AutofocusDirective, RtlLang };
|
|
38
|
+
export { AutofocusDirective, HasPermissionDirective, RtlLang };
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Input, Directive } from '@angular/core';
|
|
3
|
+
import * as i1 from '@elite.framework/ng.core/services';
|
|
4
|
+
|
|
5
|
+
class HasPermissionDirective {
|
|
6
|
+
templateRef;
|
|
7
|
+
viewContainer;
|
|
8
|
+
permissionsService;
|
|
9
|
+
permissions = [];
|
|
10
|
+
constructor(templateRef, viewContainer, permissionsService) {
|
|
11
|
+
this.templateRef = templateRef;
|
|
12
|
+
this.viewContainer = viewContainer;
|
|
13
|
+
this.permissionsService = permissionsService;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* يقبل صلاحية وحدة (string) أو قائمة صلاحيات (string[])
|
|
17
|
+
*/
|
|
18
|
+
set hasPermission(permission) {
|
|
19
|
+
this.viewContainer.clear();
|
|
20
|
+
if (!permission) {
|
|
21
|
+
// إذا ما في صلاحية مطلوبة، اعرض العنصر دائمًا
|
|
22
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.permissions = Array.isArray(permission) ? permission : [permission];
|
|
26
|
+
// 🔹 الشرط: لازم كل الصلاحيات تنطبق (AND)
|
|
27
|
+
const allGranted = this.permissions.every(p => this.permissionsService.isGranted(p));
|
|
28
|
+
if (allGranted) {
|
|
29
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: HasPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.8", type: HasPermissionDirective, isStandalone: true, selector: "[hasPermission]", inputs: { hasPermission: "hasPermission" }, ngImport: i0 });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: HasPermissionDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[hasPermission]'
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.PermissionsService }], propDecorators: { hasPermission: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
3
43
|
|
|
4
44
|
class AutofocusDirective {
|
|
5
45
|
el;
|
|
@@ -55,5 +95,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
|
|
|
55
95
|
* Generated bundle index. Do not edit.
|
|
56
96
|
*/
|
|
57
97
|
|
|
58
|
-
export { AutofocusDirective, RtlLang };
|
|
98
|
+
export { AutofocusDirective, HasPermissionDirective, RtlLang };
|
|
59
99
|
//# sourceMappingURL=elite.framework-ng.core-directives.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.core-directives.mjs","sources":["../tmp-esm2022/directives/lib/appAutofocus.js","../tmp-esm2022/directives/lib/rtl-lang.js","../tmp-esm2022/directives/elite.framework-ng.core-directives.js"],"sourcesContent":["import { Directive, ElementRef, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AutofocusDirective {\n el;\n autoFocus = true;\n constructor(el) {\n this.el = el;\n }\n ngOnChanges() {\n if (this.autoFocus === '' || this.autoFocus === true) {\n this.el.nativeElement.focus();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AutofocusDirective, isStandalone: true, selector: \"[appAutofocus]\", inputs: { autoFocus: [\"appAutofocus\", \"autoFocus\"] }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AutofocusDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[appAutofocus]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { autoFocus: [{\n type: Input,\n args: ['appAutofocus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQXV0b2ZvY3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2RpcmVjdGl2ZXMvc3JjL2xpYi9hcHBBdXRvZm9jdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU14RSxNQUFNLE9BQU8sa0JBQWtCO0lBR1Q7SUFGRyxTQUFTLEdBQXFCLElBQUksQ0FBQztJQUUxRCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFdEMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzt1R0FUVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUMsSUFBSTtpQkFDaEI7K0VBRXdCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwQXV0b2ZvY3VzXScsXG4gIHN0YW5kYWxvbmU6dHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvZm9jdXNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoJ2FwcEF1dG9mb2N1cycpIGF1dG9Gb2N1czogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMgPT09ICcnIHx8IHRoaXMuYXV0b0ZvY3VzID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RtlLang {\n el;\n renderer;\n lang = 'ar';\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n }\n ngOnChanges(changes) {\n const direction = this.lang === 'ar' ? 'rtl' : 'ltr';\n this.renderer.setStyle(this.el.nativeElement, 'direction', direction);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RtlLang, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: RtlLang, isStandalone: true, selector: \"[appRtlLang]\", inputs: { lang: [\"appRtlLang\", \"lang\"] }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RtlLang, decorators: [{\n type: Directive,\n args: [{\n selector: '[appRtlLang]'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { lang: [{\n type: Input,\n args: ['appRtlLang']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRsLWxhbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvZGlyZWN0aXZlcy9zcmMvbGliL3J0bC1sYW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtsRyxNQUFNLE9BQU8sT0FBTztJQUlFO0lBQXdCO0lBRnpCLElBQUksR0FBVyxJQUFJLENBQUM7SUFFdkMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUVuRSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO3VHQVRVLE9BQU87MkZBQVAsT0FBTzs7MkZBQVAsT0FBTztrQkFIbkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7dUdBR29CLElBQUk7c0JBQXhCLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBSdGxMYW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgUnRsTGFuZyBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcblxuQElucHV0KCdhcHBSdGxMYW5nJykgbGFuZzogc3RyaW5nID0gJ2FyJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMubGFuZyA9PT0gJ2FyJyA/ICdydGwnIDogJ2x0cic7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICB9XG5cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9kaXJlY3RpdmVzL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcuY29yZS1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-directives.mjs","sources":["../tmp-esm2022/directives/lib/hasPermission.directive.js","../tmp-esm2022/directives/lib/appAutofocus.js","../tmp-esm2022/directives/lib/rtl-lang.js","../tmp-esm2022/directives/elite.framework-ng.core-directives.js"],"sourcesContent":["import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PermissionsService } from '@elite.framework/ng.core/services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@elite.framework/ng.core/services\";\nexport class HasPermissionDirective {\n templateRef;\n viewContainer;\n permissionsService;\n permissions = [];\n constructor(templateRef, viewContainer, permissionsService) {\n this.templateRef = templateRef;\n this.viewContainer = viewContainer;\n this.permissionsService = permissionsService;\n }\n /**\n * يقبل صلاحية وحدة (string) أو قائمة صلاحيات (string[])\n */\n set hasPermission(permission) {\n this.viewContainer.clear();\n if (!permission) {\n // إذا ما في صلاحية مطلوبة، اعرض العنصر دائمًا\n this.viewContainer.createEmbeddedView(this.templateRef);\n return;\n }\n this.permissions = Array.isArray(permission) ? permission : [permission];\n // 🔹 الشرط: لازم كل الصلاحيات تنطبق (AND)\n const allGranted = this.permissions.every(p => this.permissionsService.isGranted(p));\n if (allGranted) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: HasPermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.PermissionsService }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: HasPermissionDirective, isStandalone: true, selector: \"[hasPermission]\", inputs: { hasPermission: \"hasPermission\" }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: HasPermissionDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[hasPermission]'\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.PermissionsService }], propDecorators: { hasPermission: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzUGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvZGlyZWN0aXZlcy9zcmMvbGliL2hhc1Blcm1pc3Npb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBS3ZFLE1BQU0sT0FBTyxzQkFBc0I7SUFJdkI7SUFDQTtJQUNBO0lBTEYsV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUVuQyxZQUNVLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLGtCQUFzQztRQUZ0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDN0MsQ0FBQztJQUVKOztPQUVHO0lBQ0gsSUFBYSxhQUFhLENBQUMsVUFBZ0Q7UUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsOENBQThDO1lBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsMENBQTBDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJGLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQzt1R0E3QlUsc0JBQXNCOzJGQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7Z0pBYWMsYUFBYTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9zZXJ2aWNlcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1toYXNQZXJtaXNzaW9uXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhhc1Blcm1pc3Npb25EaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgcGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqINmK2YLYqNmEINi12YTYp9it2YrYqSDZiNit2K/YqSAoc3RyaW5nKSDYo9mIINmC2KfYptmF2Kkg2LXZhNin2K3Zitin2KogKHN0cmluZ1tdKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb246IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcblxyXG4gICAgaWYgKCFwZXJtaXNzaW9uKSB7XHJcbiAgICAgIC8vINil2LDYpyDZhdinINmB2Yog2LXZhNin2K3ZitipINmF2LfZhNmI2KjYqdiMINin2LnYsdi2INin2YTYudmG2LXYsSDYr9in2KbZhdmL2KdcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucGVybWlzc2lvbnMgPSBBcnJheS5pc0FycmF5KHBlcm1pc3Npb24pID8gcGVybWlzc2lvbiA6IFtwZXJtaXNzaW9uXTtcclxuXHJcbiAgICAvLyDwn5S5INin2YTYtNix2Lc6INmE2KfYstmFINmD2YQg2KfZhNi12YTYp9it2YrYp9iqINiq2YbYt9io2YIgKEFORClcclxuICAgIGNvbnN0IGFsbEdyYW50ZWQgPSB0aGlzLnBlcm1pc3Npb25zLmV2ZXJ5KHAgPT4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuaXNHcmFudGVkKHApKTtcclxuXHJcbiAgICBpZiAoYWxsR3JhbnRlZCkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, ElementRef, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AutofocusDirective {\n el;\n autoFocus = true;\n constructor(el) {\n this.el = el;\n }\n ngOnChanges() {\n if (this.autoFocus === '' || this.autoFocus === true) {\n this.el.nativeElement.focus();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: AutofocusDirective, isStandalone: true, selector: \"[appAutofocus]\", inputs: { autoFocus: [\"appAutofocus\", \"autoFocus\"] }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AutofocusDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[appAutofocus]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { autoFocus: [{\n type: Input,\n args: ['appAutofocus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwQXV0b2ZvY3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2RpcmVjdGl2ZXMvc3JjL2xpYi9hcHBBdXRvZm9jdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU14RSxNQUFNLE9BQU8sa0JBQWtCO0lBR1Q7SUFGRyxTQUFTLEdBQXFCLElBQUksQ0FBQztJQUUxRCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFdEMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzt1R0FUVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUMsSUFBSTtpQkFDaEI7K0VBRXdCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwQXV0b2ZvY3VzXScsXG4gIHN0YW5kYWxvbmU6dHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvZm9jdXNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoJ2FwcEF1dG9mb2N1cycpIGF1dG9Gb2N1czogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMgPT09ICcnIHx8IHRoaXMuYXV0b0ZvY3VzID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RtlLang {\n el;\n renderer;\n lang = 'ar';\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n }\n ngOnChanges(changes) {\n const direction = this.lang === 'ar' ? 'rtl' : 'ltr';\n this.renderer.setStyle(this.el.nativeElement, 'direction', direction);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RtlLang, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.8\", type: RtlLang, isStandalone: true, selector: \"[appRtlLang]\", inputs: { lang: [\"appRtlLang\", \"lang\"] }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RtlLang, decorators: [{\n type: Directive,\n args: [{\n selector: '[appRtlLang]'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { lang: [{\n type: Input,\n args: ['appRtlLang']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRsLWxhbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvZGlyZWN0aXZlcy9zcmMvbGliL3J0bC1sYW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtsRyxNQUFNLE9BQU8sT0FBTztJQUlFO0lBQXdCO0lBRnpCLElBQUksR0FBVyxJQUFJLENBQUM7SUFFdkMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUVuRSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO3VHQVRVLE9BQU87MkZBQVAsT0FBTzs7MkZBQVAsT0FBTztrQkFIbkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7dUdBR29CLElBQUk7c0JBQXhCLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBSdGxMYW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgUnRsTGFuZyBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcblxuQElucHV0KCdhcHBSdGxMYW5nJykgbGFuZzogc3RyaW5nID0gJ2FyJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMubGFuZyA9PT0gJ2FyJyA/ICdydGwnIDogJ2x0cic7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICB9XG5cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9kaXJlY3RpdmVzL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcuY29yZS1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,6 @@ const apiInterceptor = (req, next) => {
|
|
|
53
53
|
switch (problem.status) {
|
|
54
54
|
case 400:
|
|
55
55
|
swal.error(problem.title, problem.detail ?? undefined);
|
|
56
|
-
debugger;
|
|
57
56
|
break;
|
|
58
57
|
case 401:
|
|
59
58
|
swal.error('غير مصرح', 'انتهت صلاحية الجلسة، يرجى تسجيل الدخول مجددًا.');
|
|
@@ -76,7 +75,7 @@ const apiInterceptor = (req, next) => {
|
|
|
76
75
|
}
|
|
77
76
|
return throwError(() => problem ?? error);
|
|
78
77
|
}), finalize(() => {
|
|
79
|
-
console.log(`✅ API request finished: ${req.method} ${req.url}`);
|
|
78
|
+
// console.log(`✅ API request finished: ${req.method} ${req.url}`);
|
|
80
79
|
}));
|
|
81
80
|
};
|
|
82
81
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.core-interceptors.mjs","sources":["../tmp-esm2022/interceptors/lib/interceptors-module.js","../tmp-esm2022/interceptors/lib/api.interceptor.js","../tmp-esm2022/interceptors/elite.framework-ng.core-interceptors.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class InterceptorsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3JzLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9pbnRlcmNlcHRvcnMvc3JjL2xpYi9pbnRlcmNlcHRvcnMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7d0dBQWxCLGtCQUFrQixZQUZuQixZQUFZO3dHQUVYLGtCQUFrQixZQUZuQixZQUFZOzsyRkFFWCxrQkFBa0I7a0JBSDlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJjZXB0b3JzTW9kdWxlIHt9XG4iXX0=","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SwalService } from '@elite.framework/ng.core/services';\nimport { ENVIRONMENT } from '@elite.framework/ng.core/tokens';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nexport const apiInterceptor = (req, next) => {\n const env = inject(ENVIRONMENT);\n const router = inject(Router);\n const swal = inject(SwalService);\n // 🔹 Base API URL\n const apiUrl = env.apiUrl;\n let newReq = req;\n // if (!/^https?:\\/\\//i.test(req.url)) {\n // newReq = req.clone({ url: `${apiUrl}${req.url.startsWith('/') ? '' : '/'}${req.url}` });\n // }\n // // 🔹 Add JWT if exists\n // const token = localStorage.getItem('token');\n // if (token) {\n // newReq = newReq.clone({\n // setHeaders: { Authorization: `Bearer ${token}` }\n // });\n // }\n return next(newReq).pipe(catchError((error) => {\n let problem = null;\n if (error.error && typeof error.error === 'object') {\n problem = error.error;\n }\n else if (typeof error.error === 'string') {\n try {\n problem = JSON.parse(error.error);\n }\n catch {\n problem = null;\n }\n }\n if (problem) {\n switch (problem.status) {\n case 400:\n swal.error(problem.title, problem.detail ?? undefined);\n debugger;\n break;\n case 401:\n swal.error('غير مصرح', 'انتهت صلاحية الجلسة، يرجى تسجيل الدخول مجددًا.');\n // localStorage.removeItem('token');\n router.navigate(['/login']);\n break;\n case 403:\n swal.error('وصول مرفوض', problem.title ?? 'ليس لديك صلاحيات.');\n break;\n case 500:\n swal.error('خطأ في الخادم', problem.detail ?? problem.title);\n break;\n default:\n swal.error(problem.title, problem.detail ?? undefined);\n break;\n }\n }\n else {\n swal.error('خطأ غير متوقع', error.message);\n }\n return throwError(() => problem ?? error);\n }), finalize(() => {\n console.log(`✅ API request finished: ${req.method} ${req.url}`);\n }));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2ludGVyY2VwdG9ycy9zcmMvbGliL2FwaS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVd0RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXNCLENBQy9DLEdBQXFCLEVBQ3JCLElBQW1CLEVBQ1MsRUFBRTtJQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVqQyxrQkFBa0I7SUFDbEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDakIsd0NBQXdDO0lBQ3hDLDZGQUE2RjtJQUM3RixJQUFJO0lBRUosMEJBQTBCO0lBQzFCLCtDQUErQztJQUMvQyxlQUFlO0lBQ2YsNEJBQTRCO0lBQzVCLHVEQUF1RDtJQUN2RCxRQUFRO0lBQ1IsSUFBSTtJQUVKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdEIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxHQUFrQyxJQUFJLENBQUM7UUFFbEQsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQStCLENBQUM7UUFDbEQsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQztnQkFDSCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUEyQixDQUFDO1lBQzlELENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO29CQUN2RCxRQUFRLENBQUE7b0JBQ1IsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsZ0RBQWdELENBQUMsQ0FBQztvQkFDekUsb0NBQW9DO29CQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDNUIsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO29CQUMvRCxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0QsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQztvQkFDdkQsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBJbnRlcmNlcHRvckZuLFxyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyRm4sXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBFcnJvclJlc3BvbnNlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3dhbFNlcnZpY2UgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS90b2tlbnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9ibGVtRGV0YWlsc1Jlc3BvbnNlIHtcclxuICB0eXBlPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN0YXR1czogbnVtYmVyO1xyXG4gIGRldGFpbD86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5zdGFuY2U/OiBzdHJpbmc7XHJcbiAgdHJhY2VJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGFwaUludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3JGbiA9IChcclxuICByZXE6IEh0dHBSZXF1ZXN0PGFueT4sXHJcbiAgbmV4dDogSHR0cEhhbmRsZXJGblxyXG4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiA9PiB7XHJcbiAgY29uc3QgZW52ID0gaW5qZWN0KEVOVklST05NRU5UKTtcclxuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICBjb25zdCBzd2FsID0gaW5qZWN0KFN3YWxTZXJ2aWNlKTtcclxuXHJcbiAgLy8g8J+UuSBCYXNlIEFQSSBVUkxcclxuICBjb25zdCBhcGlVcmwgPSBlbnYuYXBpVXJsO1xyXG4gIGxldCBuZXdSZXEgPSByZXE7XHJcbiAgLy8gaWYgKCEvXmh0dHBzPzpcXC9cXC8vaS50ZXN0KHJlcS51cmwpKSB7XHJcbiAgLy8gICBuZXdSZXEgPSByZXEuY2xvbmUoeyB1cmw6IGAke2FwaVVybH0ke3JlcS51cmwuc3RhcnRzV2l0aCgnLycpID8gJycgOiAnLyd9JHtyZXEudXJsfWAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyAvLyDwn5S5IEFkZCBKV1QgaWYgZXhpc3RzXHJcbiAgLy8gY29uc3QgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKTtcclxuICAvLyBpZiAodG9rZW4pIHtcclxuICAvLyAgIG5ld1JlcSA9IG5ld1JlcS5jbG9uZSh7XHJcbiAgLy8gICAgIHNldEhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICByZXR1cm4gbmV4dChuZXdSZXEpLnBpcGUoXHJcbiAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgbGV0IHByb2JsZW06IFByb2JsZW1EZXRhaWxzUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAgIGlmIChlcnJvci5lcnJvciAmJiB0eXBlb2YgZXJyb3IuZXJyb3IgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgcHJvYmxlbSA9IGVycm9yLmVycm9yIGFzIFByb2JsZW1EZXRhaWxzUmVzcG9uc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVycm9yLmVycm9yID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBwcm9ibGVtID0gSlNPTi5wYXJzZShlcnJvci5lcnJvcikgYXMgUHJvYmxlbURldGFpbHNSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIHByb2JsZW0gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHByb2JsZW0pIHtcclxuICAgICAgICBzd2l0Y2ggKHByb2JsZW0uc3RhdHVzKSB7XHJcbiAgICAgICAgICBjYXNlIDQwMDpcclxuICAgICAgICAgICAgc3dhbC5lcnJvcihwcm9ibGVtLnRpdGxlLCBwcm9ibGVtLmRldGFpbCA/PyB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICBkZWJ1Z2dlclxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgICAgICBzd2FsLmVycm9yKCfYutmK2LEg2YXYtdix2K0nLCAn2KfZhtiq2YfYqiDYtdmE2KfYrdmK2Kkg2KfZhNis2YTYs9ip2Iwg2YrYsdis2Ykg2KrYs9is2YrZhCDYp9mE2K/YrtmI2YQg2YXYrNiv2K/Zi9inLicpO1xyXG4gICAgICAgICAgICAvLyBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcclxuICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNDAzOlxyXG4gICAgICAgICAgICBzd2FsLmVycm9yKCfZiNi12YjZhCDZhdix2YHZiNi2JywgcHJvYmxlbS50aXRsZSA/PyAn2YTZitizINmE2K/ZitmDINi12YTYp9it2YrYp9iqLicpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICBzd2FsLmVycm9yKCfYrti32KMg2YHZiiDYp9mE2K7Yp9iv2YUnLCBwcm9ibGVtLmRldGFpbCA/PyBwcm9ibGVtLnRpdGxlKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBzd2FsLmVycm9yKHByb2JsZW0udGl0bGUsIHByb2JsZW0uZGV0YWlsID8/IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzd2FsLmVycm9yKCfYrti32KMg2LrZitixINmF2KrZiNmC2LknLCBlcnJvci5tZXNzYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcHJvYmxlbSA/PyBlcnJvcik7XHJcbiAgICB9KSxcclxuICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coYOKchSBBUEkgcmVxdWVzdCBmaW5pc2hlZDogJHtyZXEubWV0aG9kfSAke3JlcS51cmx9YCk7XHJcbiAgICB9KVxyXG4gICk7XHJcbn07XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtaW50ZXJjZXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2ludGVyY2VwdG9ycy9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtaW50ZXJjZXB0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-interceptors.mjs","sources":["../tmp-esm2022/interceptors/lib/interceptors-module.js","../tmp-esm2022/interceptors/lib/api.interceptor.js","../tmp-esm2022/interceptors/elite.framework-ng.core-interceptors.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class InterceptorsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: InterceptorsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3JzLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9pbnRlcmNlcHRvcnMvc3JjL2xpYi9pbnRlcmNlcHRvcnMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7d0dBQWxCLGtCQUFrQixZQUZuQixZQUFZO3dHQUVYLGtCQUFrQixZQUZuQixZQUFZOzsyRkFFWCxrQkFBa0I7a0JBSDlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJjZXB0b3JzTW9kdWxlIHt9XG4iXX0=","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SwalService } from '@elite.framework/ng.core/services';\nimport { ENVIRONMENT } from '@elite.framework/ng.core/tokens';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nexport const apiInterceptor = (req, next) => {\n const env = inject(ENVIRONMENT);\n const router = inject(Router);\n const swal = inject(SwalService);\n // 🔹 Base API URL\n const apiUrl = env.apiUrl;\n let newReq = req;\n // if (!/^https?:\\/\\//i.test(req.url)) {\n // newReq = req.clone({ url: `${apiUrl}${req.url.startsWith('/') ? '' : '/'}${req.url}` });\n // }\n // // 🔹 Add JWT if exists\n // const token = localStorage.getItem('token');\n // if (token) {\n // newReq = newReq.clone({\n // setHeaders: { Authorization: `Bearer ${token}` }\n // });\n // }\n return next(newReq).pipe(catchError((error) => {\n let problem = null;\n if (error.error && typeof error.error === 'object') {\n problem = error.error;\n }\n else if (typeof error.error === 'string') {\n try {\n problem = JSON.parse(error.error);\n }\n catch {\n problem = null;\n }\n }\n if (problem) {\n switch (problem.status) {\n case 400:\n swal.error(problem.title, problem.detail ?? undefined);\n break;\n case 401:\n swal.error('غير مصرح', 'انتهت صلاحية الجلسة، يرجى تسجيل الدخول مجددًا.');\n // localStorage.removeItem('token');\n router.navigate(['/login']);\n break;\n case 403:\n swal.error('وصول مرفوض', problem.title ?? 'ليس لديك صلاحيات.');\n break;\n case 500:\n swal.error('خطأ في الخادم', problem.detail ?? problem.title);\n break;\n default:\n swal.error(problem.title, problem.detail ?? undefined);\n break;\n }\n }\n else {\n swal.error('خطأ غير متوقع', error.message);\n }\n return throwError(() => problem ?? error);\n }), finalize(() => {\n // console.log(`✅ API request finished: ${req.method} ${req.url}`);\n }));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2ludGVyY2VwdG9ycy9zcmMvbGliL2FwaS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVd0RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXNCLENBQy9DLEdBQXFCLEVBQ3JCLElBQW1CLEVBQ1MsRUFBRTtJQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVqQyxrQkFBa0I7SUFDbEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDakIsd0NBQXdDO0lBQ3hDLDZGQUE2RjtJQUM3RixJQUFJO0lBRUosMEJBQTBCO0lBQzFCLCtDQUErQztJQUMvQyxlQUFlO0lBQ2YsNEJBQTRCO0lBQzVCLHVEQUF1RDtJQUN2RCxRQUFRO0lBQ1IsSUFBSTtJQUVKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdEIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxHQUFrQyxJQUFJLENBQUM7UUFFbEQsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQStCLENBQUM7UUFDbEQsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQztnQkFDSCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUEyQixDQUFDO1lBQzlELENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxnREFBZ0QsQ0FBQyxDQUFDO29CQUN6RSxvQ0FBb0M7b0JBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUM1QixNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLG1CQUFtQixDQUFDLENBQUM7b0JBQy9ELE1BQU07Z0JBQ1IsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3RCxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNaLG1FQUFtRTtJQUNyRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBIdHRwSW50ZXJjZXB0b3JGbixcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlckZuLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwRXJyb3JSZXNwb25zZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN3YWxTZXJ2aWNlIH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlQgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvdG9rZW5zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvYmxlbURldGFpbHNSZXNwb25zZSB7XHJcbiAgdHlwZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBzdGF0dXM6IG51bWJlcjtcclxuICBkZXRhaWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGluc3RhbmNlPzogc3RyaW5nO1xyXG4gIHRyYWNlSWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhcGlJbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAoXHJcbiAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gIG5leHQ6IEh0dHBIYW5kbGVyRm5cclxuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPT4ge1xyXG4gIGNvbnN0IGVudiA9IGluamVjdChFTlZJUk9OTUVOVCk7XHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgY29uc3Qgc3dhbCA9IGluamVjdChTd2FsU2VydmljZSk7XHJcblxyXG4gIC8vIPCflLkgQmFzZSBBUEkgVVJMXHJcbiAgY29uc3QgYXBpVXJsID0gZW52LmFwaVVybDtcclxuICBsZXQgbmV3UmVxID0gcmVxO1xyXG4gIC8vIGlmICghL15odHRwcz86XFwvXFwvL2kudGVzdChyZXEudXJsKSkge1xyXG4gIC8vICAgbmV3UmVxID0gcmVxLmNsb25lKHsgdXJsOiBgJHthcGlVcmx9JHtyZXEudXJsLnN0YXJ0c1dpdGgoJy8nKSA/ICcnIDogJy8nfSR7cmVxLnVybH1gIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gLy8g8J+UuSBBZGQgSldUIGlmIGV4aXN0c1xyXG4gIC8vIGNvbnN0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XHJcbiAgLy8gaWYgKHRva2VuKSB7XHJcbiAgLy8gICBuZXdSZXEgPSBuZXdSZXEuY2xvbmUoe1xyXG4gIC8vICAgICBzZXRIZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH1cclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgcmV0dXJuIG5leHQobmV3UmVxKS5waXBlKFxyXG4gICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGxldCBwcm9ibGVtOiBQcm9ibGVtRGV0YWlsc1Jlc3BvbnNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICBpZiAoZXJyb3IuZXJyb3IgJiYgdHlwZW9mIGVycm9yLmVycm9yID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHByb2JsZW0gPSBlcnJvci5lcnJvciBhcyBQcm9ibGVtRGV0YWlsc1Jlc3BvbnNlO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvci5lcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgcHJvYmxlbSA9IEpTT04ucGFyc2UoZXJyb3IuZXJyb3IpIGFzIFByb2JsZW1EZXRhaWxzUmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBwcm9ibGVtID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChwcm9ibGVtKSB7XHJcbiAgICAgICAgc3dpdGNoIChwcm9ibGVtLnN0YXR1cykge1xyXG4gICAgICAgICAgY2FzZSA0MDA6XHJcbiAgICAgICAgICAgIHN3YWwuZXJyb3IocHJvYmxlbS50aXRsZSwgcHJvYmxlbS5kZXRhaWwgPz8gdW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDQwMTpcclxuICAgICAgICAgICAgc3dhbC5lcnJvcign2LrZitixINmF2LXYsditJywgJ9in2YbYqtmH2Kog2LXZhNin2K3ZitipINin2YTYrNmE2LPYqdiMINmK2LHYrNmJINiq2LPYrNmK2YQg2KfZhNiv2K7ZiNmEINmF2KzYr9iv2YvYpy4nKTtcclxuICAgICAgICAgICAgLy8gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XHJcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDQwMzpcclxuICAgICAgICAgICAgc3dhbC5lcnJvcign2YjYtdmI2YQg2YXYsdmB2YjYticsIHByb2JsZW0udGl0bGUgPz8gJ9mE2YrYsyDZhNiv2YrZgyDYtdmE2KfYrdmK2KfYqi4nKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDUwMDpcclxuICAgICAgICAgICAgc3dhbC5lcnJvcign2K7Yt9ijINmB2Yog2KfZhNiu2KfYr9mFJywgcHJvYmxlbS5kZXRhaWwgPz8gcHJvYmxlbS50aXRsZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgc3dhbC5lcnJvcihwcm9ibGVtLnRpdGxlLCBwcm9ibGVtLmRldGFpbCA/PyB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3dhbC5lcnJvcign2K7Yt9ijINi62YrYsSDZhdiq2YjZgti5JywgZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHByb2JsZW0gPz8gZXJyb3IpO1xyXG4gICAgfSksXHJcbiAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGDinIUgQVBJIHJlcXVlc3QgZmluaXNoZWQ6ICR7cmVxLm1ldGhvZH0gJHtyZXEudXJsfWApO1xyXG4gICAgfSlcclxuICApO1xyXG59O1xyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtaW50ZXJjZXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2ludGVyY2VwdG9ycy9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtaW50ZXJjZXB0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
@@ -39,9 +39,11 @@ function checkHasProp(object, key) {
|
|
|
39
39
|
return Object.prototype.hasOwnProperty.call(object, key);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
const DEFAULT_REDIRECT_KEY = 'default';
|
|
43
|
+
|
|
42
44
|
/**
|
|
43
45
|
* Generated bundle index. Do not edit.
|
|
44
46
|
*/
|
|
45
47
|
|
|
46
|
-
export { AttachmentDto, GeneralResponse, ListResultDto, PagedResultDto, checkHasProp };
|
|
48
|
+
export { AttachmentDto, DEFAULT_REDIRECT_KEY, GeneralResponse, ListResultDto, PagedResultDto, checkHasProp };
|
|
47
49
|
//# sourceMappingURL=elite.framework-ng.core-models.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.core-models.mjs","sources":["../tmp-esm2022/models/lib/AttachmentDto.js","../tmp-esm2022/models/lib/Common.js","../tmp-esm2022/models/elite.framework-ng.core-models.js"],"sourcesContent":["export class AttachmentDto {\n id;\n binaryObjectId;\n description;\n mimeType;\n fileName;\n base64;\n caption;\n link;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0YWNobWVudER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9tb2RlbHMvc3JjL2xpYi9BdHRhY2htZW50RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEVBQUUsQ0FBVTtJQUNaLGNBQWMsQ0FBVTtJQUN4QixXQUFXLENBQVU7SUFDckIsUUFBUSxDQUFlO0lBQ3ZCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBQ2pCLElBQUksQ0FBVTtDQUNmIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudER0byAge1xuICBpZD86IG51bWJlcjtcbiAgYmluYXJ5T2JqZWN0SWQ/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBtaW1lVHlwZT86IHN0cmluZyB8YW55O1xuICBmaWxlTmFtZT86IHN0cmluZztcbiAgYmFzZTY0Pzogc3RyaW5nO1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICBsaW5rPzogc3RyaW5nO1xufVxuIl19","export class ListResultDto {\n items;\n constructor(initialValues = {}) {\n for (const key in initialValues) {\n if (checkHasProp(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\nexport class PagedResultDto extends ListResultDto {\n totalCount;\n constructor(initialValues = {}) {\n super(initialValues);\n }\n}\nexport class GeneralResponse {\n success;\n result;\n targetUrl;\n // error?: IGeneralErrorInfo;\n error;\n unAuthorizedRequest;\n constructor() {\n }\n}\nexport function checkHasProp(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL21vZGVscy9zcmMvbGliL0NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLE9BQU8sYUFBYTtJQUN4QixLQUFLLENBQU87SUFFWixZQUFZLGdCQUEyQyxFQUFFO1FBQ3ZELEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxhQUFnQjtJQUNyRCxVQUFVLENBQVU7SUFFcEIsWUFBWSxnQkFBNEMsRUFBRTtRQUN4RCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFRLGVBQWU7SUFFM0IsT0FBTyxDQUFXO0lBRWxCLE1BQU0sQ0FBSztJQUVYLFNBQVMsQ0FBVTtJQUVuQiw2QkFBNkI7SUFDN0IsS0FBSyxDQUFPO0lBRVosbUJBQW1CLENBQVc7SUFFOUI7SUFDQSxDQUFDO0NBRUY7QUFDRCxNQUFNLFVBQVUsWUFBWSxDQUFJLE1BQVMsRUFBRSxHQUFxQjtJQUM5RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUm9vdCB7XG4gICAgLy8gZW52aXJvbm1lbnQ6IFBhcnRpYWw8RW52aXJvbm1lbnQ+O1xuICAgIHJlZ2lzdGVyTG9jYWxlRm46IChsb2NhbGU6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+O1xuICAgIHNraXBHZXRBcHBDb25maWd1cmF0aW9uPzogYm9vbGVhbjtcbiAgICBza2lwSW5pdEF1dGhTZXJ2aWNlPzogYm9vbGVhbjtcbiAgICBzZW5kTnVsbHNBc1F1ZXJ5UGFyYW0/OiBib29sZWFuO1xuICAgIHRlbmFudEtleT86IHN0cmluZztcbiAgICAvLyBsb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uW107XG4gICAgb3RoZXJzR3JvdXA/OiBzdHJpbmc7XG4gICAgZHluYW1pY0xheW91dHM/OiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGRpc2FibGVQcm9qZWN0TmFtZUluVGl0bGU/OiBib29sZWFuO1xuICB9XG5cbmV4cG9ydCBjbGFzcyBMaXN0UmVzdWx0RHRvPFQ+IHtcbiAgaXRlbXM/OiBUW107XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlczogUGFydGlhbDxMaXN0UmVzdWx0RHRvPFQ+PiA9IHt9KSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5pdGlhbFZhbHVlcykge1xuICAgICAgaWYgKGNoZWNrSGFzUHJvcChpbml0aWFsVmFsdWVzLCBrZXkpKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IGluaXRpYWxWYWx1ZXNba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhZ2VkUmVzdWx0RHRvPFQ+IGV4dGVuZHMgTGlzdFJlc3VsdER0bzxUPiB7XG4gIHRvdGFsQ291bnQ/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlczogUGFydGlhbDxQYWdlZFJlc3VsdER0bzxUPj4gPSB7fSkge1xuICAgIHN1cGVyKGluaXRpYWxWYWx1ZXMpO1xuICB9XG59XG5cbmV4cG9ydCAgY2xhc3MgR2VuZXJhbFJlc3BvbnNlIDxUPiB7XG5cbiAgc3VjY2Vzcz86IGJvb2xlYW47XG5cbiAgcmVzdWx0PzogVDtcblxuICB0YXJnZXRVcmw/OiBzdHJpbmc7XG5cbiAgLy8gZXJyb3I/OiBJR2VuZXJhbEVycm9ySW5mbztcbiAgZXJyb3I/OiBhbnk7XG5cbiAgdW5BdXRob3JpemVkUmVxdWVzdD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxufVxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSGFzUHJvcDxUPihvYmplY3Q6IFQsIGtleTogc3RyaW5nIHwga2V5b2YgVCk6IGtleSBpcyBrZXlvZiBUIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSk7XG59XG5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL21vZGVscy9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"AAAO,MAAM,aAAa,CAAC;AAC3B,IAAI,EAAE;AACN,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,IAAI;AACR;;ACTO,MAAM,aAAa,CAAC;AAC3B,IAAI,KAAK;AACT,IAAI,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE;AACpC,QAAQ,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AACzC,YAAY,IAAI,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;AAClD,gBAAgB,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC9C;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,aAAa,CAAC;AAClD,IAAI,UAAU;AACd,IAAI,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE;AACpC,QAAQ,KAAK,CAAC,aAAa,CAAC;AAC5B;AACA;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,SAAS;AACb;AACA,IAAI,KAAK;AACT,IAAI,mBAAmB;AACvB,IAAI,WAAW,GAAG;AAClB;AACA;AACO,SAAS,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE;AAC1C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AAC5D;;
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-models.mjs","sources":["../tmp-esm2022/models/lib/AttachmentDto.js","../tmp-esm2022/models/lib/Common.js","../tmp-esm2022/models/lib/permissions-router-data.model.js","../tmp-esm2022/models/elite.framework-ng.core-models.js"],"sourcesContent":["export class AttachmentDto {\n id;\n binaryObjectId;\n description;\n mimeType;\n fileName;\n base64;\n caption;\n link;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0YWNobWVudER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9tb2RlbHMvc3JjL2xpYi9BdHRhY2htZW50RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEVBQUUsQ0FBVTtJQUNaLGNBQWMsQ0FBVTtJQUN4QixXQUFXLENBQVU7SUFDckIsUUFBUSxDQUFlO0lBQ3ZCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBQ2pCLElBQUksQ0FBVTtDQUNmIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudER0byAge1xuICBpZD86IG51bWJlcjtcbiAgYmluYXJ5T2JqZWN0SWQ/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBtaW1lVHlwZT86IHN0cmluZyB8YW55O1xuICBmaWxlTmFtZT86IHN0cmluZztcbiAgYmFzZTY0Pzogc3RyaW5nO1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICBsaW5rPzogc3RyaW5nO1xufVxuIl19","export class ListResultDto {\n items;\n constructor(initialValues = {}) {\n for (const key in initialValues) {\n if (checkHasProp(initialValues, key)) {\n this[key] = initialValues[key];\n }\n }\n }\n}\nexport class PagedResultDto extends ListResultDto {\n totalCount;\n constructor(initialValues = {}) {\n super(initialValues);\n }\n}\nexport class GeneralResponse {\n success;\n result;\n targetUrl;\n // error?: IGeneralErrorInfo;\n error;\n unAuthorizedRequest;\n constructor() {\n }\n}\nexport function checkHasProp(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL21vZGVscy9zcmMvbGliL0NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLE9BQU8sYUFBYTtJQUN4QixLQUFLLENBQU87SUFFWixZQUFZLGdCQUEyQyxFQUFFO1FBQ3ZELEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxhQUFnQjtJQUNyRCxVQUFVLENBQVU7SUFFcEIsWUFBWSxnQkFBNEMsRUFBRTtRQUN4RCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFRLGVBQWU7SUFFM0IsT0FBTyxDQUFXO0lBRWxCLE1BQU0sQ0FBSztJQUVYLFNBQVMsQ0FBVTtJQUVuQiw2QkFBNkI7SUFDN0IsS0FBSyxDQUFPO0lBRVosbUJBQW1CLENBQVc7SUFFOUI7SUFDQSxDQUFDO0NBRUY7QUFDRCxNQUFNLFVBQVUsWUFBWSxDQUFJLE1BQVMsRUFBRSxHQUFxQjtJQUM5RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUm9vdCB7XG4gICAgLy8gZW52aXJvbm1lbnQ6IFBhcnRpYWw8RW52aXJvbm1lbnQ+O1xuICAgIHJlZ2lzdGVyTG9jYWxlRm46IChsb2NhbGU6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+O1xuICAgIHNraXBHZXRBcHBDb25maWd1cmF0aW9uPzogYm9vbGVhbjtcbiAgICBza2lwSW5pdEF1dGhTZXJ2aWNlPzogYm9vbGVhbjtcbiAgICBzZW5kTnVsbHNBc1F1ZXJ5UGFyYW0/OiBib29sZWFuO1xuICAgIHRlbmFudEtleT86IHN0cmluZztcbiAgICAvLyBsb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uW107XG4gICAgb3RoZXJzR3JvdXA/OiBzdHJpbmc7XG4gICAgZHluYW1pY0xheW91dHM/OiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGRpc2FibGVQcm9qZWN0TmFtZUluVGl0bGU/OiBib29sZWFuO1xuICB9XG5cbmV4cG9ydCBjbGFzcyBMaXN0UmVzdWx0RHRvPFQ+IHtcbiAgaXRlbXM/OiBUW107XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlczogUGFydGlhbDxMaXN0UmVzdWx0RHRvPFQ+PiA9IHt9KSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5pdGlhbFZhbHVlcykge1xuICAgICAgaWYgKGNoZWNrSGFzUHJvcChpbml0aWFsVmFsdWVzLCBrZXkpKSB7XG4gICAgICAgIHRoaXNba2V5XSA9IGluaXRpYWxWYWx1ZXNba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhZ2VkUmVzdWx0RHRvPFQ+IGV4dGVuZHMgTGlzdFJlc3VsdER0bzxUPiB7XG4gIHRvdGFsQ291bnQ/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlczogUGFydGlhbDxQYWdlZFJlc3VsdER0bzxUPj4gPSB7fSkge1xuICAgIHN1cGVyKGluaXRpYWxWYWx1ZXMpO1xuICB9XG59XG5cbmV4cG9ydCAgY2xhc3MgR2VuZXJhbFJlc3BvbnNlIDxUPiB7XG5cbiAgc3VjY2Vzcz86IGJvb2xlYW47XG5cbiAgcmVzdWx0PzogVDtcblxuICB0YXJnZXRVcmw/OiBzdHJpbmc7XG5cbiAgLy8gZXJyb3I/OiBJR2VuZXJhbEVycm9ySW5mbztcbiAgZXJyb3I/OiBhbnk7XG5cbiAgdW5BdXRob3JpemVkUmVxdWVzdD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxufVxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSGFzUHJvcDxUPihvYmplY3Q6IFQsIGtleTogc3RyaW5nIHwga2V5b2YgVCk6IGtleSBpcyBrZXlvZiBUIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSk7XG59XG5cbiJdfQ==","export const DEFAULT_REDIRECT_KEY = 'default';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtcm91dGVyLWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvbW9kZWxzL3NyYy9saWIvcGVybWlzc2lvbnMtcm91dGVyLWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmd4UGVybWlzc2lvbnNSb3V0ZXJEYXRhIHtcclxuICAgIG9ubHk/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IE9ubHlGbiB8YW55O1xyXG4gICAgZXhjZXB0Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBFeGNlcHRGbiB8YW55O1xyXG4gICAgcmVkaXJlY3RUbz86IFJlZGlyZWN0VG8gfCBSZWRpcmVjdFRvRm47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmd4UmVkaXJlY3RUb05hdmlnYXRpb25QYXJhbWV0ZXJzIHtcclxuICAgIG5hdmlnYXRpb25Db21tYW5kczogYW55W10gfCBOYXZpZ2F0aW9uQ29tbWFuZHNGbjtcclxuICAgIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzIHwgTmF2aWdhdGlvbkV4dHJhc0ZuO1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIE9ubHlGbiA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IFJvdXRlLCBzdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHN0cmluZyB8IHN0cmluZ1tdO1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEV4Y2VwdEZuID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgUm91dGUsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4gc3RyaW5nIHwgc3RyaW5nW107XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIFJlZGlyZWN0VG8gPVxyXG4gICAgc3RyaW5nXHJcbiAgICB8IHsgW25hbWU6IHN0cmluZ106IE5neFJlZGlyZWN0VG9OYXZpZ2F0aW9uUGFyYW1ldGVycyB8IHN0cmluZyB8IFJlZGlyZWN0VG9GbiB9XHJcbiAgICB8IE5neFJlZGlyZWN0VG9OYXZpZ2F0aW9uUGFyYW1ldGVycztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBSZWRpcmVjdFRvRm4gPVxyXG4gICAgKHJlamVjdGVkUGVybWlzc2lvbk5hbWU/OiBzdHJpbmcsIHJvdXRlPzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IFJvdXRlLCBzdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpID0+IFJlZGlyZWN0VG87XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIE5hdmlnYXRpb25Db21tYW5kc0ZuID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgUm91dGUsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4gYW55W107XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTmF2aWdhdGlvbkV4dHJhc0ZuID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgUm91dGUsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4gTmF2aWdhdGlvbkV4dHJhcztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBWYWxpZGF0aW9uRm4gPSAoKG5hbWU/OiBzdHJpbmcsIHN0b3JlPzogYW55KSA9PiBQcm9taXNlPHZvaWQgfCBzdHJpbmcgfCBib29sZWFuPiB8IGJvb2xlYW4gfCBzdHJpbmdbXSk7XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRURJUkVDVF9LRVkgPSAnZGVmYXVsdCc7XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL21vZGVscy9zcmMvZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"AAAO,MAAM,aAAa,CAAC;AAC3B,IAAI,EAAE;AACN,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,IAAI;AACR;;ACTO,MAAM,aAAa,CAAC;AAC3B,IAAI,KAAK;AACT,IAAI,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE;AACpC,QAAQ,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AACzC,YAAY,IAAI,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;AAClD,gBAAgB,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC9C;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,aAAa,CAAC;AAClD,IAAI,UAAU;AACd,IAAI,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE;AACpC,QAAQ,KAAK,CAAC,aAAa,CAAC;AAC5B;AACA;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,SAAS;AACb;AACA,IAAI,KAAK;AACT,IAAI,mBAAmB;AACvB,IAAI,WAAW,GAAG;AAClB;AACA;AACO,SAAS,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE;AAC1C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AAC5D;;AC5BY,MAAC,oBAAoB,GAAG;;ACApC;AACA;AACA;;;;"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Inject, Injectable, InjectionToken, PLATFORM_ID, Optional } from '@angular/core';
|
|
3
|
-
import { throwError, catchError, map } from 'rxjs';
|
|
3
|
+
import { throwError, catchError, map, BehaviorSubject } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/common/http';
|
|
5
5
|
import { HttpParams } from '@angular/common/http';
|
|
6
6
|
import { ENVIRONMENT, CORE_OPTIONS } from '@elite.framework/ng.core/tokens';
|
|
7
7
|
import { isPlatformBrowser, DOCUMENT } from '@angular/common';
|
|
8
8
|
import Swal from 'sweetalert2';
|
|
9
|
+
import * as i2 from '@angular/router';
|
|
10
|
+
import { RouterStateSnapshot } from '@angular/router';
|
|
11
|
+
import { DEFAULT_REDIRECT_KEY } from '@elite.framework/ng.core/models';
|
|
12
|
+
import { isFunction, transformStringToArray, isPlainObject } from '@elite.framework/ng.core/utils';
|
|
9
13
|
|
|
10
14
|
class RestService {
|
|
11
15
|
options;
|
|
@@ -501,9 +505,152 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
|
|
|
501
505
|
args: [{ providedIn: 'root' }]
|
|
502
506
|
}] });
|
|
503
507
|
|
|
508
|
+
class PermissionsService {
|
|
509
|
+
_permissions$ = new BehaviorSubject(new Set());
|
|
510
|
+
// Load permissions (e.g., from API or token claims)
|
|
511
|
+
setPermissions(permissions) {
|
|
512
|
+
this._permissions$.next(new Set(permissions));
|
|
513
|
+
}
|
|
514
|
+
getPermissions() {
|
|
515
|
+
return Array.from(this._permissions$.value);
|
|
516
|
+
}
|
|
517
|
+
// Synchronous check
|
|
518
|
+
isGranted(permissionName) {
|
|
519
|
+
return this._permissions$.value.has(permissionName);
|
|
520
|
+
}
|
|
521
|
+
// Async check (optional if needed for guards or effects)
|
|
522
|
+
isGrantedAsync(permissionName) {
|
|
523
|
+
return new Promise(resolve => {
|
|
524
|
+
resolve(this.isGranted(permissionName));
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
528
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: PermissionsService, providedIn: 'root' });
|
|
529
|
+
}
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: PermissionsService, decorators: [{
|
|
531
|
+
type: Injectable,
|
|
532
|
+
args: [{ providedIn: 'root' }]
|
|
533
|
+
}] });
|
|
534
|
+
|
|
535
|
+
const ngxPermissionsGuard = (route, state) => {
|
|
536
|
+
const guard = inject(NgxPermissionsGuard);
|
|
537
|
+
if (state instanceof RouterStateSnapshot) {
|
|
538
|
+
return guard.hasPermissions(route, state);
|
|
539
|
+
}
|
|
540
|
+
return guard.hasPermissions(route);
|
|
541
|
+
};
|
|
542
|
+
class NgxPermissionsGuard {
|
|
543
|
+
permissions;
|
|
544
|
+
router;
|
|
545
|
+
constructor(permissions, router) {
|
|
546
|
+
this.permissions = permissions;
|
|
547
|
+
this.router = router;
|
|
548
|
+
}
|
|
549
|
+
canActivate(route, state) {
|
|
550
|
+
return this.hasPermissions(route, state);
|
|
551
|
+
}
|
|
552
|
+
canActivateChild(route, state) {
|
|
553
|
+
return this.hasPermissions(route, state);
|
|
554
|
+
}
|
|
555
|
+
canLoad(route) {
|
|
556
|
+
return this.hasPermissions(route);
|
|
557
|
+
}
|
|
558
|
+
canMatch(route) {
|
|
559
|
+
return this.hasPermissions(route);
|
|
560
|
+
}
|
|
561
|
+
async hasPermissions(route, state) {
|
|
562
|
+
const data = route.data?.['permissions'];
|
|
563
|
+
const only = [];
|
|
564
|
+
const except = [];
|
|
565
|
+
if (data?.only) {
|
|
566
|
+
if (isFunction(data.only)) {
|
|
567
|
+
const result = data.only(route, state);
|
|
568
|
+
only.push(...transformStringToArray(result));
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
only.push(...transformStringToArray(data.only));
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
if (data?.except) {
|
|
575
|
+
if (isFunction(data.except)) {
|
|
576
|
+
const result = data.except(route, state);
|
|
577
|
+
except.push(...transformStringToArray(result));
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
except.push(...transformStringToArray(data.except));
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
const permissions = {
|
|
584
|
+
only,
|
|
585
|
+
except,
|
|
586
|
+
redirectTo: data?.redirectTo
|
|
587
|
+
};
|
|
588
|
+
// --- rest of the guard logic ---
|
|
589
|
+
// EXCEPT check
|
|
590
|
+
if (permissions.except?.length) {
|
|
591
|
+
for (const perm of permissions.except) {
|
|
592
|
+
if (await this.permissions.isGrantedAsync(perm)) {
|
|
593
|
+
this.handleRedirect(permissions, perm, route, state);
|
|
594
|
+
return false;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
// ONLY check
|
|
599
|
+
if (permissions.only?.length) {
|
|
600
|
+
for (const perm of permissions.only) {
|
|
601
|
+
if (await this.permissions.isGrantedAsync(perm)) {
|
|
602
|
+
return true;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
this.handleRedirect(permissions, permissions.only[0], route, state);
|
|
606
|
+
return false;
|
|
607
|
+
}
|
|
608
|
+
return true;
|
|
609
|
+
}
|
|
610
|
+
handleRedirect(permissions, failedPermission, route, state) {
|
|
611
|
+
const redirectTo = permissions.redirectTo;
|
|
612
|
+
if (!redirectTo)
|
|
613
|
+
return;
|
|
614
|
+
// If redirectTo is a function
|
|
615
|
+
const resolvedRedirect = isFunction(redirectTo)
|
|
616
|
+
? redirectTo(failedPermission, route, state)
|
|
617
|
+
: redirectTo;
|
|
618
|
+
if (typeof resolvedRedirect === 'string') {
|
|
619
|
+
this.router.navigate([resolvedRedirect]); // wrap string in array
|
|
620
|
+
}
|
|
621
|
+
else if (Array.isArray(resolvedRedirect)) {
|
|
622
|
+
this.router.navigate(resolvedRedirect); // array is fine
|
|
623
|
+
}
|
|
624
|
+
else if (isPlainObject(resolvedRedirect)) {
|
|
625
|
+
// Object: check for failedPermission key first
|
|
626
|
+
const target = resolvedRedirect[failedPermission] ?? resolvedRedirect[DEFAULT_REDIRECT_KEY];
|
|
627
|
+
if (target) {
|
|
628
|
+
if (typeof target === 'string') {
|
|
629
|
+
this.router.navigate([target]);
|
|
630
|
+
}
|
|
631
|
+
else if (Array.isArray(target)) {
|
|
632
|
+
this.router.navigate(target);
|
|
633
|
+
}
|
|
634
|
+
else if (isFunction(target)) {
|
|
635
|
+
this.router.navigate([target(failedPermission, route, state)]);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
else {
|
|
640
|
+
console.warn('Unknown redirect type', resolvedRedirect);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: NgxPermissionsGuard, deps: [{ token: PermissionsService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
644
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: NgxPermissionsGuard, providedIn: 'root' });
|
|
645
|
+
}
|
|
646
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: NgxPermissionsGuard, decorators: [{
|
|
647
|
+
type: Injectable,
|
|
648
|
+
args: [{ providedIn: 'root' }]
|
|
649
|
+
}], ctorParameters: () => [{ type: PermissionsService }, { type: i2.Router }] });
|
|
650
|
+
|
|
504
651
|
/**
|
|
505
652
|
* Generated bundle index. Do not edit.
|
|
506
653
|
*/
|
|
507
654
|
|
|
508
|
-
export { BaseService, GenericService, REQUEST, RestService, SsrCookieService, SwalService, isUndefinedOrEmptyString };
|
|
655
|
+
export { BaseService, GenericService, NgxPermissionsGuard, PermissionsService, REQUEST, RestService, SsrCookieService, SwalService, isUndefinedOrEmptyString, ngxPermissionsGuard };
|
|
509
656
|
//# sourceMappingURL=elite.framework-ng.core-services.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elite.framework-ng.core-services.mjs","sources":["../tmp-esm2022/services/lib/rest.service.js","../tmp-esm2022/services/lib/base.service.js","../tmp-esm2022/services/lib/generic.service.js","../tmp-esm2022/services/lib/ssr-cookie.service.js","../tmp-esm2022/services/lib/SwalService.service.js","../tmp-esm2022/services/elite.framework-ng.core-services.js"],"sourcesContent":["import { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable, Inject, inject } from \"@angular/core\";\nimport { ENVIRONMENT, CORE_OPTIONS } from \"@elite.framework/ng.core/tokens\";\nimport { throwError, catchError } from \"rxjs\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class RestService {\n options;\n http;\n environment = inject(ENVIRONMENT);\n constructor(options, http) {\n this.options = options;\n this.http = http;\n }\n getApiFromStore(apiName) {\n return this.environment.apiUrl;\n }\n handleError(err) {\n // this.httpErrorReporter.reportError(err);\n return throwError(() => err);\n }\n request(request, config, api) {\n // debugger\n config = config || {};\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = \"body\" /* Rest.Observe.Body */, skipHandleError } = config;\n const url = this.removeDuplicateSlashes(api + request.url);\n const httpClient = this.getHttpClient(config.skipAddingHeader ?? false);\n return httpClient\n .request(method, url, {\n observe,\n ...(params && {\n params: this.getParams(params, config.httpParamEncoder),\n }),\n ...options,\n })\n .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\n }\n getHttpClient(isExternal) {\n return /* isExternal ? this.externalHttp : */ this.http;\n }\n getParams(params, encoder) {\n const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\n if (isUndefinedOrEmptyString(value))\n return acc;\n if (value === null && !this.options.sendNullsAsQueryParam)\n return acc;\n acc[key] = value;\n return acc;\n }, {});\n return encoder\n ? new HttpParams({ encoder, fromObject: filteredParams })\n : new HttpParams({ fromObject: filteredParams });\n }\n removeDuplicateSlashes(url) {\n return url.replace(/([^:]\\/)\\/+/g, '$1');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [CORE_OPTIONS]\n }] }, { type: i1.HttpClient }] });\nexport function isUndefinedOrEmptyString(value) {\n return value === undefined || value === '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvcmVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1DLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBYyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLFdBQVc7SUFHWTtJQUN0QjtJQUhKLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsWUFDa0MsT0FBYSxFQUNuQyxJQUFnQjtRQURNLFlBQU8sR0FBUCxPQUFPLENBQU07UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUd4QixDQUFDO0lBRUssZUFBZSxDQUFDLE9BQTJCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLDJDQUEyQztRQUMzQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUNMLE9BQXlDLEVBQ3pDLE1BQW9CLEVBQ3BCLEdBQVk7UUFFWixXQUFXO1FBQ1gsTUFBTSxHQUFHLE1BQU0sSUFBSyxFQUFrQixDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0MsTUFBTSxFQUFFLE9BQU8saUNBQW9CLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sVUFBVTthQUNkLE9BQU8sQ0FBSSxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLE9BQU87WUFDUCxHQUFHLENBQUMsTUFBTSxJQUFJO2dCQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEQsQ0FBQztZQUNGLEdBQUcsT0FBTztTQUNKLENBQUM7YUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ08sYUFBYSxDQUFDLFVBQW1CO1FBQ3ZDLE9BQU8sc0NBQXNDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQW1CLEVBQUUsT0FBNEI7UUFDakUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6RSxJQUFJLHdCQUF3QixDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUNoRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQjtnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUN0RSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxPQUFPO1lBQ1osQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUN6RCxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7dUdBM0RVLFdBQVcsa0JBR1osWUFBWTsyR0FIWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsWUFBWTs7QUE0RHhCLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCwgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb290LCBSZXN0IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHNcIjtcbmltcG9ydCB7IEVOVklST05NRU5ULCBDT1JFX09QVElPTlMgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3Rva2Vuc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0U2VydmljZSB7XG4gIHByaXZhdGUgZW52aXJvbm1lbnQgPSBpbmplY3QoRU5WSVJPTk1FTlQpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPUkVfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnM6IFJvb3QsXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgLy8gcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgLy8gcHJvdGVjdGVkIGh0dHBFcnJvclJlcG9ydGVyOiBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UsXG4gICkgeyB9XG5cbiAgcHJvdGVjdGVkIGdldEFwaUZyb21TdG9yZShhcGlOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwaVVybDtcbiAgfVxuXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyB0aGlzLmh0dHBFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yKGVycik7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgfVxuXG4gIHJlcXVlc3Q8VCwgUj4oXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8VD4gfCBSZXN0LlJlcXVlc3Q8VD4sXG4gICAgY29uZmlnPzogUmVzdC5Db25maWcsXG4gICAgYXBpPzogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGNvbmZpZyA9IGNvbmZpZyB8fCAoe30gYXMgUmVzdC5Db25maWcpO1xuICAgIGFwaSA9IGFwaSB8fCB0aGlzLmdldEFwaUZyb21TdG9yZShjb25maWcuYXBpTmFtZSk7XG4gICAgY29uc3QgeyBtZXRob2QsIHBhcmFtcywgLi4ub3B0aW9ucyB9ID0gcmVxdWVzdDtcbiAgICBjb25zdCB7IG9ic2VydmUgPSBSZXN0Lk9ic2VydmUuQm9keSwgc2tpcEhhbmRsZUVycm9yIH0gPSBjb25maWc7XG4gICAgY29uc3QgdXJsID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVTbGFzaGVzKCBhcGkgKyByZXF1ZXN0LnVybCk7XG5cbiAgICBjb25zdCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50ID0gdGhpcy5nZXRIdHRwQ2xpZW50KGNvbmZpZy5za2lwQWRkaW5nSGVhZGVyID8/IGZhbHNlKTtcbiAgICByZXR1cm4gaHR0cENsaWVudFxuICAgICAgLnJlcXVlc3Q8Uj4obWV0aG9kLCB1cmwsIHtcbiAgICAgICAgb2JzZXJ2ZSxcbiAgICAgICAgLi4uKHBhcmFtcyAmJiB7XG4gICAgICAgICAgcGFyYW1zOiB0aGlzLmdldFBhcmFtcyhwYXJhbXMsIGNvbmZpZy5odHRwUGFyYW1FbmNvZGVyKSxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9IGFzIGFueSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IChza2lwSGFuZGxlRXJyb3IgPyB0aHJvd0Vycm9yKCgpID0+IGVycikgOiB0aGlzLmhhbmRsZUVycm9yKGVycikpKSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRIdHRwQ2xpZW50KGlzRXh0ZXJuYWw6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gLyogaXNFeHRlcm5hbCA/IHRoaXMuZXh0ZXJuYWxIdHRwIDogKi8gdGhpcy5odHRwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zOiBSZXN0LlBhcmFtcywgZW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYyk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zID0gT2JqZWN0LmVudHJpZXMocGFyYW1zKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nKHZhbHVlKSkgcmV0dXJuIGFjYztcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCAmJiAhdGhpcy5vcHRpb25zLnNlbmROdWxsc0FzUXVlcnlQYXJhbSkgcmV0dXJuIGFjYztcbiAgICAgIGFjY1trZXldID0gdmFsdWU7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIGFueSk7XG4gICAgcmV0dXJuIGVuY29kZXJcbiAgICAgID8gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyLCBmcm9tT2JqZWN0OiBmaWx0ZXJlZFBhcmFtcyB9KVxuICAgICAgOiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGZpbHRlcmVkUGFyYW1zIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGVTbGFzaGVzKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgJyQxJyk7XG4gIH1cblxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJztcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { RestService } from './rest.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./rest.service\";\nexport class BaseService {\n restService;\n apiName = '';\n moduleName = '';\n constructor(restService) {\n this.restService = restService;\n }\n get = (id) => this.restService.request({\n method: 'GET',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n }, { apiName: this.apiName });\n getList = (input, endpoint) => {\n const params = Object.keys(input).reduce((acc, key) => {\n acc[key] = input[key];\n return acc;\n }, {});\n const url = endpoint ? endpoint : `/${this.moduleName}/${this.apiName}`;\n return this.restService.request({\n method: 'GET',\n url: url,\n params: params,\n }, { apiName: this.apiName })\n .pipe(map(response => response));\n };\n create = (input) => this.restService.request({\n method: 'POST',\n url: `/${this.moduleName}/${this.apiName}`,\n body: input,\n }, { apiName: this.apiName });\n update = (id, input) => this.restService.request({\n method: 'PUT',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n body: input,\n }, { apiName: this.apiName });\n delete = (id) => this.restService.request({\n method: 'DELETE',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n }, { apiName: this.apiName });\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.RestService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sV0FBVztJQUdIO0lBRm5CLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUNoRCxHQUFHLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBVztRQUNqQyxNQUFNLEVBQUUsS0FBSztRQUNiLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUU7S0FDakQsRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUUzQixPQUFPLEdBQUcsQ0FBQyxLQUFTLEVBQUUsUUFBaUIsRUFBRyxFQUFFO1FBRTFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3hELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFTixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUE0QjtZQUN6RCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHO1lBQ1IsTUFBTSxFQUFFLE1BQU07U0FDZixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUM7SUFDSixNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBVztRQUNqQyxNQUFNLEVBQUUsTUFBTTtRQUNkLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUMxQyxJQUFJLEVBQUUsS0FBSztLQUNaLEVBQ0QsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFXO1FBQ2pDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEVBQUUsS0FBSztLQUNaLEVBQ0QsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFN0IsTUFBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQVk7UUFDbEMsTUFBTSxFQUFFLFFBQVE7UUFDaEIsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRTtLQUNqRCxFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO3VHQWpEbEIsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3VsdCB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2Uge1xuICBhcGlOYW1lID0gJyc7XG4gIG1vZHVsZU5hbWUgPSAnJztcbiAgY29uc3RydWN0b3IocHVibGljIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge31cbiBnZXQgPSAoaWQ6IHN0cmluZykgPT5cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBhbnk+KHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvJHt0aGlzLm1vZHVsZU5hbWV9LyR7dGhpcy5hcGlOYW1lfS8ke2lkfWAsXG4gICAgfSxcbiAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9KTtcblxuICAgIGdldExpc3QgPSAoaW5wdXQ6YW55LCBlbmRwb2ludD86IHN0cmluZyApID0+IHtcblxuICAgICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoaW5wdXQpLnJlZHVjZSgoYWNjOmFueSwga2V5KSA9PiB7XG4gICAgICAgIGFjY1trZXldID0gaW5wdXRba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcblxuICAgICAgIGNvbnN0IHVybCA9IGVuZHBvaW50ID8gZW5kcG9pbnQgOiBgLyR7dGhpcy5tb2R1bGVOYW1lfS8ke3RoaXMuYXBpTmFtZX1gO1xuXG4gICAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgUGFnaW5hdGVkUmVzdWx0PGFueT4+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgfSwgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXG4gICAgICApO1xuICAgIH07XG4gIGNyZWF0ZSA9IChpbnB1dDogYW55KSA9PlxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIGFueT4oe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6IGAvJHt0aGlzLm1vZHVsZU5hbWV9LyR7dGhpcy5hcGlOYW1lfWAsXG4gICAgICBib2R5OiBpbnB1dCxcbiAgICB9LFxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xuIHVwZGF0ZSA9IChpZDogc3RyaW5nLCBpbnB1dDogYW55KSA9PlxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIGFueT4oe1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogYC8ke3RoaXMubW9kdWxlTmFtZX0vJHt0aGlzLmFwaU5hbWV9LyR7aWR9YCxcbiAgICAgIGJvZHk6IGlucHV0LFxuICAgIH0sXG4gICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfSk7XG5cbiAgZGVsZXRlID0gKGlkOiBzdHJpbmcpID0+XG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgdm9pZD4oe1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC8ke3RoaXMubW9kdWxlTmFtZX0vJHt0aGlzLmFwaU5hbWV9LyR7aWR9YCxcbiAgICB9LFxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xuXG5cbn1cbiJdfQ==","// src/app/services/generic.service.ts\nimport { HttpParams } from '@angular/common/http';\n/**\n * GenericService<T, K>:\n * - T = نوع الكائن (Model)\n * - K = نوع المفتاح الأساسي (ID)، افتراضي number\n *\n * يحتوي على جميع دوال الـ CRUD القياسية للتوريث في الخدمات المتخصصة.\n */\nexport class GenericService {\n http;\n constructor(http) {\n this.http = http;\n }\n /**\n * جلب كل السجلات\n */\n getAll() {\n // ملاحظة: يمكن إضافة معالج أخطاء مركزي هنا أو عبر Interceptor\n return this.http.get(this.baseUrl);\n }\n /**\n * جلب سجل واحد بناءً على المعرف\n */\n getById(id) {\n // ملاحظة: تأكد أن الـ endpoint يدعم GET برقم المعرف\n return this.http.get(`${this.baseUrl}/${id}`);\n }\n /**\n * إنشاء سجل جديد\n */\n create(item) {\n // ملاحظة: استخدم Partial<T> للسماح ببعض الحقول الاختيارية\n return this.http.post(this.baseUrl, item);\n }\n /**\n * تحديث سجل موجود\n */\n update(id, item) {\n // ملاحظة: هنا نُعيد Observable<void> لأن API قد لا تُرجع الجسم نفسه\n return this.http.put(`${this.baseUrl}`, item);\n }\n /**\n * حذف سجل\n */\n delete(id) {\n // ملاحظة: يُفضّل استخدام Confirm قبل الحذف في الواجهة\n return this.http.delete(`${this.baseUrl}/${id}`);\n }\n /** endpoint قابل للتخصيص — يمكن للفرع override–ها */\n getPageUrl() {\n return this.baseUrl;\n }\n /**\n * جلب صفحة من البيانات مع دعم الفلاتر والفرز\n * @param pageIndex صفر-based\n * @param pageSize عدد السجلات\n * @param filters كائن Partial<T> أو Record<string,any>\n * @param sort نص الفرز، مثلاً \"eiNa:desc\"\n */\n getPage(pageIndex, pageSize, filters, sort) {\n // debugger\n let params = new HttpParams()\n .set('pageIndex', pageIndex.toString())\n .set('pageSize', pageSize.toString());\n if (filters) {\n Object.entries(filters).forEach(([key, val]) => {\n if (val != null && val !== '') {\n params = params.set(key, val.toString());\n }\n });\n }\n if (sort) {\n params = params.set('sort', sort);\n }\n // return this.http\n // .get<T[]>(this.getPageUrl(), { params, observe: 'response' })\n // .pipe(\n // map((resp: HttpResponse<T[]>) => ({\n // items: resp.body || [],\n // totalCount: Number(resp.headers.get('X-Total-Count')) || resp.body?.length || 0\n // }))\n // );\n return this.http.get(this.getPageUrl(), { params });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvZ2VuZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLEVBQWMsVUFBVSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBSzVFOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBZ0IsY0FBYztJQU9aO0lBQXRCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRTFDOztPQUVHO0lBQ0gsTUFBTTtRQUNKLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFFSCxPQUFPLENBQUMsRUFBSztRQUNYLG9EQUFvRDtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFnQjtRQUVyQiwwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUVGLE1BQU0sQ0FBQyxFQUFLLEVBQUUsSUFBZ0I7UUFDN0Isb0VBQW9FO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQUs7UUFDVixzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBSUYscURBQXFEO0lBQzFDLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFQTs7Ozs7O01BTUU7SUFDSCxPQUFPLENBQ0wsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsT0FBNkIsRUFDN0IsSUFBYTtRQUViLFdBQVc7UUFDWCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUMxQixHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN0QyxHQUFHLENBQUMsVUFBVSxFQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixrRUFBa0U7UUFDbEUsV0FBVztRQUNYLDBDQUEwQztRQUMxQyxnQ0FBZ0M7UUFDaEMsd0ZBQXdGO1FBQ3hGLFVBQVU7UUFDVixPQUFPO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQixFQUFFLE1BQU0sRUFBRSxDQUNYLENBQUM7SUFDRixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvYXBwL3NlcnZpY2VzL2dlbmVyaWMuc2VydmljZS50c1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4vY3J1ZC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXN1bHQgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvbW9kZWxzJztcblxuLyoqXG4gKiBHZW5lcmljU2VydmljZTxULCBLPjpcbiAqICAtIFQgPSDZhtmI2Lkg2KfZhNmD2KfYptmGIChNb2RlbClcbiAqICAtIEsgPSDZhtmI2Lkg2KfZhNmF2YHYqtin2K0g2KfZhNij2LPYp9iz2YogKElEKdiMINin2YHYqtix2KfYttmKIG51bWJlclxuICpcbiAqINmK2K3YqtmI2Yog2LnZhNmJINis2YXZiti5INiv2YjYp9mEINin2YTZgCBDUlVEINin2YTZgtmK2KfYs9mK2Kkg2YTZhNiq2YjYsdmK2Ksg2YHZiiDYp9mE2K7Yr9mF2KfYqiDYp9mE2YXYqtiu2LXYtdipLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2VuZXJpY1NlcnZpY2U8VCwgSyA9IG51bWJlcj4gaW1wbGVtZW50cyBDcnVkU2VydmljZTxULCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gIC8qKlxuICAgKiDinI/vuI8g2LnZhNmJINmD2YQg2K7Yr9mF2Kkg2YHYsdi52YrYqSDYo9mGINiq2LnYsdmR2YEg2YfYsNinOlxuICAgKiDZhdir2KfZhDogcHJvdGVjdGVkIGJhc2VVcmwgPSAnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vYXBpL2pvYnR5cHMnO1xuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhc2VVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICog2KzZhNioINmD2YQg2KfZhNiz2KzZhNin2KpcbiAgICovXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2YrZhdmD2YYg2KXYttin2YHYqSDZhdi52KfZhNisINij2K7Yt9in2KEg2YXYsdmD2LLZiiDZh9mG2Kcg2KPZiCDYudio2LEgSW50ZXJjZXB0b3JcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUW10+KHRoaXMuYmFzZVVybCk7XG4gIH1cblxuICAvKipcbiAgICog2KzZhNioINiz2KzZhCDZiNin2K3YryDYqNmG2KfYodmLINi52YTZiSDYp9mE2YXYudix2YFcbiAgICovXG5cbiAgZ2V0QnlJZChpZDogSyk6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2KrYo9mD2K8g2KPZhiDYp9mE2YAgZW5kcG9pbnQg2YrYr9i52YUgR0VUINio2LHZgtmFINin2YTZhdi52LHZgVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDYpdmG2LTYp9ihINiz2KzZhCDYrNiv2YrYr1xuICAgKi9cbiAgY3JlYXRlKGl0ZW06IFBhcnRpYWw8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcblxuICAgIC8vINmF2YTYp9it2LjYqTog2KfYs9iq2K7Yr9mFIFBhcnRpYWw8VD4g2YTZhNiz2YXYp9itINio2KjYudi2INin2YTYrdmC2YjZhCDYp9mE2KfYrtiq2YrYp9ix2YrYqVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmJhc2VVcmwsIGl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqINiq2K3Yr9mK2Ksg2LPYrNmEINmF2YjYrNmI2K9cbiAgICovXG5cbiAgIHVwZGF0ZShpZDogSywgaXRlbTogUGFydGlhbDxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2YfZhtinINmG2Y/YudmK2K8gT2JzZXJ2YWJsZTx2b2lkPiDZhNij2YYgQVBJINmC2K8g2YTYpyDYqtmP2LHYrNi5INin2YTYrNiz2YUg2YbZgdiz2YdcbiAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oYCR7dGhpcy5iYXNlVXJsfWAsIGl0ZW0pO1xuICB9XG4gIC8qKlxuICAgKiDYrdiw2YEg2LPYrNmEXG4gICAqL1xuICBkZWxldGUoaWQ6IEspOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyDZhdmE2KfYrdi42Kk6INmK2Y/Zgdi22ZHZhCDYp9iz2KrYrtiv2KfZhSBDb25maXJtINmC2KjZhCDYp9mE2K3YsNmBINmB2Yog2KfZhNmI2KfYrNmH2KlcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuXG5cbiAvKiogZW5kcG9pbnQg2YLYp9io2YQg2YTZhNiq2K7YtdmK2LUg4oCUINmK2YXZg9mGINmE2YTZgdix2Lkgb3ZlcnJpZGXigJPZh9inICovXG4gIHByb3RlY3RlZCBnZXRQYWdlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gICAvKipcbiAgICog2KzZhNioINi12YHYrdipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDZhdi5INiv2LnZhSDYp9mE2YHZhNin2KrYsSDZiNin2YTZgdix2LJcbiAgICogQHBhcmFtIHBhZ2VJbmRleCDYtdmB2LEtYmFzZWRcbiAgICogQHBhcmFtIHBhZ2VTaXplINi52K/YryDYp9mE2LPYrNmE2KfYqlxuICAgKiBAcGFyYW0gZmlsdGVycyDZg9in2KbZhiBQYXJ0aWFsPFQ+INij2YggUmVjb3JkPHN0cmluZyxhbnk+XG4gICAqIEBwYXJhbSBzb3J0INmG2LUg2KfZhNmB2LHYstiMINmF2KvZhNin2YsgXCJlaU5hOmRlc2NcIlxuICAgKi9cbiAgZ2V0UGFnZShcbiAgICBwYWdlSW5kZXg6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHNvcnQ/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxQYWdpbmF0ZWRSZXN1bHQ8VD4+IHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdwYWdlSW5kZXgnLCBwYWdlSW5kZXgudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3BhZ2VTaXplJywgIHBhZ2VTaXplLnRvU3RyaW5nKCkpO1xuXG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZpbHRlcnMpLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPT0gJycpIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgdmFsLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc29ydCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsIHNvcnQpO1xuICAgIH1cblxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcbiAgICAvLyAgIC5nZXQ8VFtdPih0aGlzLmdldFBhZ2VVcmwoKSwgeyBwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcbiAgICAvLyAgIC5waXBlKFxuICAgIC8vICAgICBtYXAoKHJlc3A6IEh0dHBSZXNwb25zZTxUW10+KSA9PiAoe1xuICAgIC8vICAgICAgIGl0ZW1zOiByZXNwLmJvZHkgfHwgW10sXG4gICAgLy8gICAgICAgdG90YWxDb3VudDogTnVtYmVyKHJlc3AuaGVhZGVycy5nZXQoJ1gtVG90YWwtQ291bnQnKSkgfHwgcmVzcC5ib2R5Py5sZW5ndGggfHwgMFxuICAgIC8vICAgICB9KSlcbiAgICAvLyAgICk7XG4gICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnaW5hdGVkUmVzdWx0PFQ+PihcbiAgICB0aGlzLmdldFBhZ2VVcmwoKSxcbiAgICB7IHBhcmFtcyB9XG4gICk7XG4gIH1cblxuXG59XG4iXX0=","import { Inject, Injectable, InjectionToken, Optional, PLATFORM_ID } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport * as i0 from \"@angular/core\";\n// Define the `Request` token\nexport const REQUEST = new InjectionToken('REQUEST');\nexport class SsrCookieService {\n document;\n platformId;\n request;\n documentIsAccessible;\n static initialUrl = '';\n constructor(document, \n // Get the `PLATFORM_ID` so we can check if we're in a browser.\n platformId, request) {\n this.document = document;\n this.platformId = platformId;\n this.request = request;\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\n SsrCookieService.initialUrl = this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n /**\n * Get cookie Regular Expression\n *\n * @param name Cookie name\n * @returns property RegExp\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static getCookieRegExp(name) {\n const escapedName = name.replace(/([\\[\\]\\{\\}\\(\\)\\|\\=\\;\\+\\?\\,\\.\\*\\^\\$])/gi, '\\\\$1');\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\n }\n /**\n * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @param encodedURIComponent A value representing an encoded URI component.\n *\n * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static safeDecodeURIComponent(encodedURIComponent) {\n try {\n return decodeURIComponent(encodedURIComponent);\n }\n catch {\n // probably it is not uri encoded. return as is\n return encodedURIComponent;\n }\n }\n /**\n * Return `true` if {@link Document} is accessible, otherwise return `false`\n *\n * @param name Cookie name\n * @returns boolean - whether cookie with specified name exists\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n check(name) {\n name = encodeURIComponent(name);\n const regExp = SsrCookieService.getCookieRegExp(name);\n return regExp.test((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n }\n isDocumentIsAccessible() {\n return this.documentIsAccessible;\n }\n get url() {\n return this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n /**\n * Get cookies by name\n *\n * @param name Cookie name\n * @returns property value\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n get(name) {\n if (this.check(name)) {\n name = encodeURIComponent(name);\n const regExp = SsrCookieService.getCookieRegExp(name);\n const result = regExp.exec((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n return result[1] ? SsrCookieService.safeDecodeURIComponent(result[1]) : '';\n }\n else {\n return '';\n }\n }\n /**\n * Get all cookies in JSON format\n *\n * @returns all the cookies in json\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n getAll() {\n const cookies = {};\n const cookieString = this.documentIsAccessible ? this.document?.cookie : this.request?.headers.cookie;\n if (cookieString && cookieString !== '') {\n cookieString.split(';').forEach((currentCookie) => {\n const [cookieName, cookieValue] = currentCookie.split('=');\n cookies[SsrCookieService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] = SsrCookieService.safeDecodeURIComponent(cookieValue);\n });\n }\n return cookies;\n }\n set(name, value, expiresOrOptions, path, domain, secure, sameSite, partitioned) {\n if (!this.documentIsAccessible) {\n return;\n }\n if (typeof expiresOrOptions === 'number' || expiresOrOptions instanceof Date || path || domain || secure || sameSite) {\n const optionsBody = {\n expires: expiresOrOptions,\n path,\n domain,\n secure,\n sameSite: sameSite ? sameSite : 'Lax',\n partitioned,\n };\n this.set(name, value, optionsBody);\n return;\n }\n let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\n const options = expiresOrOptions ? expiresOrOptions : {};\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\n }\n else {\n cookieString += 'expires=' + options.expires.toUTCString() + ';';\n }\n }\n if (options.path) {\n cookieString += 'path=' + options.path + ';';\n }\n if (options.domain) {\n cookieString += 'domain=' + options.domain + ';';\n }\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n console.warn(`[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +\n `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`);\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n cookieString += 'sameSite=' + options.sameSite + ';';\n if (options.partitioned) {\n cookieString += 'Partitioned;';\n }\n this.document.cookie = cookieString;\n }\n /**\n * Delete cookie by name\n *\n * @param name Cookie name\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Cookie secure flag\n * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n delete(name, path, domain, secure, sameSite = 'Lax') {\n if (!this.documentIsAccessible) {\n return;\n }\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n /**\n * Delete all cookies\n *\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Is the Cookie secure\n * @param sameSite Is the cookie same site\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n deleteAll(path, domain, secure, sameSite = 'Lax') {\n if (!this.documentIsAccessible) {\n return;\n }\n const cookies = this.getAll();\n for (const cookieName in cookies) {\n if (cookies.hasOwnProperty(cookieName)) {\n this.delete(cookieName, path, domain, secure, sameSite);\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: REQUEST, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [REQUEST]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLWNvb2tpZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvc3NyLWNvb2tpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsNkJBQTZCO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBVSxTQUFTLENBQUMsQ0FBQztBQUs5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBS0M7SUFFRztJQUNRO0lBUHRCLG9CQUFvQixDQUFVO0lBQy9DLE1BQU0sQ0FBRSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQzRCLFFBQWtCO0lBQzVDLCtEQUErRDtJQUNsQyxVQUFlLEVBQ1AsT0FBZ0I7UUFIM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDUCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRXJELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0QsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUM1RyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDakMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FB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Q0FBQztJQUNILENBQUM7dUdBaFNVLGdCQUFnQixrQkFLakIsUUFBUSxhQUVSLFdBQVcsYUFDQyxPQUFPOzJHQVJsQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gRGVmaW5lIHRoZSBgUmVxdWVzdGAgdG9rZW5cbmV4cG9ydCBjb25zdCBSRVFVRVNUID0gbmV3IEluamVjdGlvblRva2VuPFJlcXVlc3Q+KCdSRVFVRVNUJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTc3JDb29raWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElzQWNjZXNzaWJsZTogYm9vbGVhbjtcbiAgc3RhdGljICBpbml0aWFsVXJsID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgLy8gR2V0IHRoZSBgUExBVEZPUk1fSURgIHNvIHdlIGNhbiBjaGVjayBpZiB3ZSdyZSBpbiBhIGJyb3dzZXIuXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRVFVRVNUKSBwcml2YXRlIHJlcXVlc3Q6IFJlcXVlc3RcbiAgKSB7XG4gICAgdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgU3NyQ29va2llU2VydmljZS5pbml0aWFsVXJsID0gdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA6IHRoaXMucmVxdWVzdD8udXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb29raWUgUmVndWxhciBFeHByZXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXG4gICAqIEByZXR1cm5zIHByb3BlcnR5IFJlZ0V4cFxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBzdGF0aWMgZ2V0Q29va2llUmVnRXhwKG5hbWU6IHN0cmluZyk6IFJlZ0V4cCB7XG4gICAgY29uc3QgZXNjYXBlZE5hbWU6IHN0cmluZyA9IG5hbWUucmVwbGFjZSgvKFtcXFtcXF1cXHtcXH1cXChcXClcXHxcXD1cXDtcXCtcXD9cXCxcXC5cXCpcXF5cXCRdKS9naSwgJ1xcXFwkMScpO1xuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJyg/Ol4nICsgZXNjYXBlZE5hbWUgKyAnfDtcXFxccyonICsgZXNjYXBlZE5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVuZW5jb2RlZCB2ZXJzaW9uIG9mIGFuIGVuY29kZWQgY29tcG9uZW50IG9mIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyIChVUkkpLlxuICAgKlxuICAgKiBAcGFyYW0gZW5jb2RlZFVSSUNvbXBvbmVudCBBIHZhbHVlIHJlcHJlc2VudGluZyBhbiBlbmNvZGVkIFVSSSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB1bmVuY29kZWQgdmVyc2lvbiBvZiBhbiBlbmNvZGVkIGNvbXBvbmVudCBvZiBhIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKS5cbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc3RhdGljIHNhZmVEZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFVSSUNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkVVJJQ29tcG9uZW50KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHByb2JhYmx5IGl0IGlzIG5vdCB1cmkgZW5jb2RlZC4gcmV0dXJuIGFzIGlzXG4gICAgICByZXR1cm4gZW5jb2RlZFVSSUNvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGB0cnVlYCBpZiB7QGxpbmsgRG9jdW1lbnR9IGlzIGFjY2Vzc2libGUsIG90aGVyd2lzZSByZXR1cm4gYGZhbHNlYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBDb29raWUgbmFtZVxuICAgKiBAcmV0dXJucyBib29sZWFuIC0gd2hldGhlciBjb29raWUgd2l0aCBzcGVjaWZpZWQgbmFtZSBleGlzdHNcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgY2hlY2sobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKTtcbiAgICBjb25zdCByZWdFeHA6IFJlZ0V4cCA9IFNzckNvb2tpZVNlcnZpY2UuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xuICAgIHJldHVybiByZWdFeHAudGVzdCgodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQuY29va2llICA6IHRoaXMucmVxdWVzdD8uaGVhZGVycy5jb29raWUpID8/ICcnKTtcbiAgfVxuICBpc0RvY3VtZW50SXNBY2Nlc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlIDtcbiAgfVxuIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA6IHRoaXMucmVxdWVzdD8udXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb29raWVzIGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIG5hbWUgQ29va2llIG5hbWVcbiAgICogQHJldHVybnMgcHJvcGVydHkgdmFsdWVcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY2hlY2sobmFtZSkpIHtcbiAgICAgIG5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSk7XG5cbiAgICAgIGNvbnN0IHJlZ0V4cDogUmVnRXhwID0gU3NyQ29va2llU2VydmljZS5nZXRDb29raWVSZWdFeHAobmFtZSk7XG4gICAgICBjb25zdCByZXN1bHQ6IFJlZ0V4cEV4ZWNBcnJheSB8YW55PSByZWdFeHAuZXhlYygodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQuY29va2llIDogdGhpcy5yZXF1ZXN0Py5oZWFkZXJzLmNvb2tpZSkgPz8gJycpO1xuXG4gICAgICByZXR1cm4gcmVzdWx0WzFdID8gU3NyQ29va2llU2VydmljZS5zYWZlRGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdFsxXSkgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGNvb2tpZXMgaW4gSlNPTiBmb3JtYXRcbiAgICpcbiAgICogQHJldHVybnMgYWxsIHRoZSBjb29raWVzIGluIGpzb25cbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgZ2V0QWxsKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvb2tpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBjb25zdCBjb29raWVTdHJpbmc6IGFueSA9IHRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUgPyB0aGlzLmRvY3VtZW50Py5jb29raWUgOiB0aGlzLnJlcXVlc3Q/LmhlYWRlcnMuY29va2llO1xuXG4gICAgaWYgKGNvb2tpZVN0cmluZyAmJiBjb29raWVTdHJpbmcgIT09ICcnKSB7XG4gICAgICBjb29raWVTdHJpbmcuc3BsaXQoJzsnKS5mb3JFYWNoKChjdXJyZW50Q29va2llOmFueSkgPT4ge1xuICAgICAgICBjb25zdCBbY29va2llTmFtZSwgY29va2llVmFsdWVdID0gY3VycmVudENvb2tpZS5zcGxpdCgnPScpO1xuICAgICAgICBjb29raWVzW1NzckNvb2tpZVNlcnZpY2Uuc2FmZURlY29kZVVSSUNvbXBvbmVudChjb29raWVOYW1lLnJlcGxhY2UoL14gLywgJycpKV0gPSBTc3JDb29raWVTZXJ2aWNlLnNhZmVEZWNvZGVVUklDb21wb25lbnQoY29va2llVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvb2tpZXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGNvb2tpZSBiYXNlZCBvbiBwcm92aWRlZCBpbmZvcm1hdGlvblxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAgICAgQ29va2llIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlICAgIENvb2tpZSB2YWx1ZVxuICAgKiBAcGFyYW0gZXhwaXJlcyAgTnVtYmVyIG9mIGRheXMgdW50aWwgdGhlIGNvb2tpZXMgZXhwaXJlcyBvciBhbiBhY3R1YWwgYERhdGVgXG4gICAqIEBwYXJhbSBwYXRoICAgICBDb29raWUgcGF0aFxuICAgKiBAcGFyYW0gZG9tYWluICAgQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlICAgU2VjdXJlIGZsYWdcbiAgICogQHBhcmFtIHNhbWVTaXRlIE9XQVNQIHNhbWUgc2l0ZSB0b2tlbiBgTGF4YCwgYE5vbmVgLCBvciBgU3RyaWN0YC4gRGVmYXVsdHMgdG8gYExheGBcbiAgICogQHBhcmFtIHBhcnRpdGlvbmVkIFBhcnRpdGlvbmVkIGZsYWdcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc2V0KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlLFxuICAgIHBhdGg/OiBzdHJpbmcsXG4gICAgZG9tYWluPzogc3RyaW5nLFxuICAgIHNlY3VyZT86IGJvb2xlYW4sXG4gICAgc2FtZVNpdGU/OiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnLFxuICAgIHBhcnRpdGlvbmVkPzogYm9vbGVhblxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXQgY29va2llIGJhc2VkIG9uIHByb3ZpZGVkIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIENvb2tpZSdzIHBhcmFtZXRlcnM6XG4gICAqIDxwcmU+XG4gICAqIGV4cGlyZXMgIE51bWJlciBvZiBkYXlzIHVudGlsIHRoZSBjb29raWVzIGV4cGlyZXMgb3IgYW4gYWN0dWFsIGBEYXRlYFxuICAgKiBwYXRoICAgICBDb29raWUgcGF0aFxuICAgKiBkb21haW4gICBDb29raWUgZG9tYWluXG4gICAqIHNlY3VyZSBDb29raWUgc2VjdXJlIGZsYWdcbiAgICogc2FtZVNpdGUgT1dBU1Agc2FtZSBzaXRlIHRva2VuIGBMYXhgLCBgTm9uZWAsIG9yIGBTdHJpY3RgLiBEZWZhdWx0cyB0byBgTGF4YFxuICAgKiA8L3ByZT5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgICAgIENvb2tpZSBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSAgICBDb29raWUgdmFsdWVcbiAgICogQHBhcmFtIG9wdGlvbnMgIEJvZHkgd2l0aCBjb29raWUncyBwYXJhbXNcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc2V0KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBleHBpcmVzPzogbnVtYmVyIHwgRGF0ZTtcbiAgICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgICBzZWN1cmU/OiBib29sZWFuO1xuICAgICAgc2FtZVNpdGU/OiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnO1xuICAgICAgcGFydGl0aW9uZWQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZDtcblxuICBzZXQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZXhwaXJlc09yT3B0aW9ucz86IG51bWJlciB8IERhdGUgfCBhbnksXG4gICAgcGF0aD86IHN0cmluZyxcbiAgICBkb21haW4/OiBzdHJpbmcsXG4gICAgc2VjdXJlPzogYm9vbGVhbixcbiAgICBzYW1lU2l0ZT86ICdMYXgnIHwgJ05vbmUnIHwgJ1N0cmljdCcsXG4gICAgcGFydGl0aW9uZWQ/OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXhwaXJlc09yT3B0aW9ucyA9PT0gJ251bWJlcicgfHwgZXhwaXJlc09yT3B0aW9ucyBpbnN0YW5jZW9mIERhdGUgfHwgcGF0aCB8fCBkb21haW4gfHwgc2VjdXJlIHx8IHNhbWVTaXRlKSB7XG4gICAgICBjb25zdCBvcHRpb25zQm9keSA9IHtcbiAgICAgICAgZXhwaXJlczogZXhwaXJlc09yT3B0aW9ucyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgZG9tYWluLFxuICAgICAgICBzZWN1cmUsXG4gICAgICAgIHNhbWVTaXRlOiBzYW1lU2l0ZSA/IHNhbWVTaXRlIDogJ0xheCcsXG4gICAgICAgIHBhcnRpdGlvbmVkLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zZXQobmFtZSwgdmFsdWUsIG9wdGlvbnNCb2R5KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29va2llU3RyaW5nOiBzdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJzsnO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGV4cGlyZXNPck9wdGlvbnMgPyBleHBpcmVzT3JPcHRpb25zIDoge307XG5cbiAgICBpZiAob3B0aW9ucy5leHBpcmVzKSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZXhwaXJlcyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgZGF0ZUV4cGlyZXM6IERhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSArIG9wdGlvbnMuZXhwaXJlcyAqIDEwMDAgKiA2MCAqIDYwICogMjQpO1xuXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgb3B0aW9ucy5leHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0aCkge1xuICAgICAgY29va2llU3RyaW5nICs9ICdwYXRoPScgKyBvcHRpb25zLnBhdGggKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZG9tYWluKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ2RvbWFpbj0nICsgb3B0aW9ucy5kb21haW4gKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2VjdXJlID09PSBmYWxzZSAmJiBvcHRpb25zLnNhbWVTaXRlID09PSAnTm9uZScpIHtcbiAgICAgIG9wdGlvbnMuc2VjdXJlID0gdHJ1ZTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFtuZ3gtY29va2llLXNlcnZpY2VdIENvb2tpZSAke25hbWV9IHdhcyBmb3JjZWQgd2l0aCBzZWN1cmUgZmxhZyBiZWNhdXNlIHNhbWVTaXRlPU5vbmUuYCArXG4gICAgICAgICAgYE1vcmUgZGV0YWlscyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZXJtZWlzdGVyL25neC1jb29raWUtc2VydmljZS9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTU5NzcyMDEzMGBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNlY3VyZSkge1xuICAgICAgY29va2llU3RyaW5nICs9ICdzZWN1cmU7JztcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuc2FtZVNpdGUpIHtcbiAgICAgIG9wdGlvbnMuc2FtZVNpdGUgPSAnTGF4JztcbiAgICB9XG5cbiAgICBjb29raWVTdHJpbmcgKz0gJ3NhbWVTaXRlPScgKyBvcHRpb25zLnNhbWVTaXRlICsgJzsnO1xuXG4gICAgaWYgKG9wdGlvbnMucGFydGl0aW9uZWQpIHtcbiAgICAgIGNvb2tpZVN0cmluZyArPSAnUGFydGl0aW9uZWQ7JztcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgY29va2llIGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIG5hbWUgICBDb29raWUgbmFtZVxuICAgKiBAcGFyYW0gcGF0aCAgIENvb2tpZSBwYXRoXG4gICAqIEBwYXJhbSBkb21haW4gQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlIENvb2tpZSBzZWN1cmUgZmxhZ1xuICAgKiBAcGFyYW0gc2FtZVNpdGUgQ29va2llIHNhbWVTaXRlIGZsYWcgLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvU2V0LUNvb2tpZS9TYW1lU2l0ZVxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBkZWxldGUobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcsIHNlY3VyZT86IGJvb2xlYW4sIHNhbWVTaXRlOiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnID0gJ0xheCcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXhwaXJlc0RhdGUgPSBuZXcgRGF0ZSgnVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQnKTtcbiAgICB0aGlzLnNldChuYW1lLCAnJywgeyBleHBpcmVzOiBleHBpcmVzRGF0ZSwgcGF0aCwgZG9tYWluLCBzZWN1cmUsIHNhbWVTaXRlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbGwgY29va2llc1xuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAgIENvb2tpZSBwYXRoXG4gICAqIEBwYXJhbSBkb21haW4gQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlIElzIHRoZSBDb29raWUgc2VjdXJlXG4gICAqIEBwYXJhbSBzYW1lU2l0ZSBJcyB0aGUgY29va2llIHNhbWUgc2l0ZVxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBkZWxldGVBbGwocGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nLCBzZWN1cmU/OiBib29sZWFuLCBzYW1lU2l0ZTogJ0xheCcgfCAnTm9uZScgfCAnU3RyaWN0JyA9ICdMYXgnKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29va2llczogYW55ID0gdGhpcy5nZXRBbGwoKTtcblxuICAgIGZvciAoY29uc3QgY29va2llTmFtZSBpbiBjb29raWVzKSB7XG4gICAgICBpZiAoY29va2llcy5oYXNPd25Qcm9wZXJ0eShjb29raWVOYW1lKSkge1xuICAgICAgICB0aGlzLmRlbGV0ZShjb29raWVOYW1lLCBwYXRoLCBkb21haW4sIHNlY3VyZSwgc2FtZVNpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19","// app/shared/services/swal.service.ts\nimport { Injectable } from '@angular/core';\nimport Swal from 'sweetalert2';\nimport * as i0 from \"@angular/core\";\nexport class SwalService {\n /** رسالة تأكيد قبل تنفيذ إجراء */\n confirm(title = 'هل أنت متأكد؟', text = 'لن يمكنك التراجع عن هذا الإجراء', confirmButtonText = 'نعم', cancelButtonText = 'إلغاء') {\n return Swal.fire({\n icon: 'warning',\n title,\n text,\n showCancelButton: true,\n confirmButtonText,\n cancelButtonText,\n // reverseButtons: true,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة نجاح */\n success(title, text, timer = 2000) {\n return Swal.fire({\n icon: 'success',\n title,\n text,\n timer,\n showConfirmButton: false,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة خطأ */\n error(title, text, footer) {\n return Swal.fire({\n icon: 'error',\n title,\n text,\n footer,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة معلومات */\n info(title, text) {\n return Swal.fire({\n icon: 'info',\n title,\n text,\n });\n }\n /** عرض نافذة SweetAlert2 بأي خيارات تريد */\n alert(options) {\n return Swal.fire(options);\n }\n /** Toast بسيط قابل لإعادة الاستخدام */\n toast(title, icon = 'info', position = 'top-end', timer = 3000) {\n const Toast = Swal.mixin({\n toast: true,\n position,\n timer,\n showConfirmButton: false,\n });\n Toast.fire({ icon, title });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhbFNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zZXJ2aWNlcy9zcmMvbGliL1N3YWxTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUlOLE1BQU0sYUFBYSxDQUFDOztBQUdyQixNQUFNLE9BQU8sV0FBVztJQUN0QixrQ0FBa0M7SUFDbEMsT0FBTyxDQUNMLEtBQUssR0FBRyxlQUFlLEVBQ3ZCLElBQUksR0FBRyxpQ0FBaUMsRUFDeEMsaUJBQWlCLEdBQUcsS0FBSyxFQUN6QixnQkFBZ0IsR0FBRyxPQUFPO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSztZQUNMLElBQUk7WUFDSixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ2xCLFdBQVcsRUFBRTtnQkFDakIsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjthQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7SUFDakIsT0FBTyxDQUNMLEtBQWEsRUFDYixJQUFhLEVBQ2IsS0FBSyxHQUFHLElBQUk7UUFFWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUs7WUFDTCxJQUFJO1lBQ0osS0FBSztZQUNMLGlCQUFpQixFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFO2dCQUNqQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2FBQ2hEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixLQUFLLENBQ0gsS0FBYSxFQUNiLElBQWEsRUFDYixNQUFlO1FBRWYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLO1lBQ0wsSUFBSTtZQUNKLE1BQU07WUFDTixXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjthQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsSUFBSSxDQUNGLEtBQWEsRUFDYixJQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLO1lBQ0wsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsS0FBSyxDQUNILE9BQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEtBQUssQ0FDSCxLQUFhLEVBQ2IsT0FBdUIsTUFBTSxFQUM3QixXQUEwQyxTQUFTLEVBQ25ELEtBQUssR0FBRyxJQUFJO1FBRVosTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVE7WUFDUixLQUFLO1lBQ0wsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0ExRlUsV0FBVzsyR0FBWCxXQUFXLGNBREUsTUFBTTs7MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwL3NoYXJlZC9zZXJ2aWNlcy9zd2FsLnNlcnZpY2UudHNcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2FsLCB7XG4gIFN3ZWV0QWxlcnRPcHRpb25zLFxuICBTd2VldEFsZXJ0UmVzdWx0LFxuICBTd2VldEFsZXJ0SWNvblxufSBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3dhbFNlcnZpY2Uge1xuICAvKiog2LHYs9in2YTYqSDYqtij2YPZitivINmC2KjZhCDYqtmG2YHZitiwINil2KzYsdin2KEgKi9cbiAgY29uZmlybShcbiAgICB0aXRsZSA9ICfZh9mEINij2YbYqiDZhdiq2KPZg9iv2J8nLFxuICAgIHRleHQgPSAn2YTZhiDZitmF2YPZhtmDINin2YTYqtix2KfYrNi5INi52YYg2YfYsNinINin2YTYpdis2LHYp9ihJyxcbiAgICBjb25maXJtQnV0dG9uVGV4dCA9ICfZhti52YUnLFxuICAgIGNhbmNlbEJ1dHRvblRleHQgPSAn2KXZhNi62KfYoSdcbiAgKTogUHJvbWlzZTxTd2VldEFsZXJ0UmVzdWx0PiB7XG4gICAgcmV0dXJuIFN3YWwuZmlyZSh7XG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICB0aXRsZSxcbiAgICAgIHRleHQsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgY29uZmlybUJ1dHRvblRleHQsXG4gICAgICBjYW5jZWxCdXR0b25UZXh0LFxuICAgICAgLy8gcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBjdXN0b21DbGFzczoge1xuICAgICAgICBjb250YWluZXI6ICdzd2FsMi1jb250YWluZXInIC8vIOKchSDYo9i22YEg2YfYsNmHINin2YTZgdim2KlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiDYsdiz2KfZhNipINmG2KzYp9itICovXG4gIHN1Y2Nlc3MoXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nLFxuICAgIHRpbWVyID0gMjAwMFxuICApOiBQcm9taXNlPFN3ZWV0QWxlcnRSZXN1bHQ+IHtcbiAgICByZXR1cm4gU3dhbC5maXJlKHtcbiAgICAgIGljb246ICdzdWNjZXNzJyxcbiAgICAgIHRpdGxlLFxuICAgICAgdGV4dCxcbiAgICAgIHRpbWVyLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgY29udGFpbmVyOiAnc3dhbDItY29udGFpbmVyJyAvLyDinIUg2KPYttmBINmH2LDZhyDYp9mE2YHYptipXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiog2LHYs9in2YTYqSDYrti32KMgKi9cbiAgZXJyb3IoXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nLFxuICAgIGZvb3Rlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFN3ZWV0QWxlcnRSZXN1bHQ+IHtcbiAgICByZXR1cm4gU3dhbC5maXJlKHtcbiAgICAgIGljb246ICdlcnJvcicsXG4gICAgICB0aXRsZSxcbiAgICAgIHRleHQsXG4gICAgICBmb290ZXIsXG4gICAgICBjdXN0b21DbGFzczoge1xuICAgICAgICBjb250YWluZXI6ICdzd2FsMi1jb250YWluZXInIC8vIOKchSDYo9i22YEg2YfYsNmHINin2YTZgdim2KlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiDYsdiz2KfZhNipINmF2LnZhNmI2YXYp9iqICovXG4gIGluZm8oXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nXG4gICk6IFByb21pc2U8U3dlZXRBbGVydFJlc3VsdD4ge1xuICAgIHJldHVybiBTd2FsLmZpcmUoe1xuICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgdGl0bGUsXG4gICAgICB0ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqINi52LHYtiDZhtin2YHYsNipIFN3ZWV0QWxlcnQyINio2KPZiiDYrtmK2KfYsdin2Kog2KrYsdmK2K8gKi9cbiAgYWxlcnQoXG4gICAgb3B0aW9uczogU3dlZXRBbGVydE9wdGlvbnNcbiAgKTogUHJvbWlzZTxTd2VldEFsZXJ0UmVzdWx0PiB7XG4gICAgcmV0dXJuIFN3YWwuZmlyZShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKiBUb2FzdCDYqNiz2YrYtyDZgtin2KjZhCDZhNil2LnYp9iv2Kkg2KfZhNin2LPYqtiu2K/Yp9mFICovXG4gIHRvYXN0KFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgaWNvbjogU3dlZXRBbGVydEljb24gPSAnaW5mbycsXG4gICAgcG9zaXRpb246IFN3ZWV0QWxlcnRPcHRpb25zWydwb3NpdGlvbiddID0gJ3RvcC1lbmQnLFxuICAgIHRpbWVyID0gMzAwMFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBUb2FzdCA9IFN3YWwubWl4aW4oe1xuICAgICAgdG9hc3Q6IHRydWUsXG4gICAgICBwb3NpdGlvbixcbiAgICAgIHRpbWVyLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgIH0pO1xuICAgIFRvYXN0LmZpcmUoeyBpY29uLCB0aXRsZSB9KTtcbiAgfVxuXG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvc2VydmljZXMvc3JjL2VsaXRlLmZyYW1ld29yay1uZy5jb3JlLXNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.RestService"],"mappings":";;;;;;;;;AAMO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC7B,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM;AACtC;AACA,IAAI,WAAW,CAAC,GAAG,EAAE;AACrB;AACA,QAAQ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;AACpC;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE;AAClC;AACA,QAAQ,MAAM,GAAG,MAAM,IAAI,EAAE;AAC7B,QAAQ,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AACzD,QAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO;AACtD,QAAQ,MAAM,EAAE,OAAO,GAAG,MAAM,0BAA0B,eAAe,EAAE,GAAG,MAAM;AACpF,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAClE,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC;AAC/E,QAAQ,OAAO;AACf,aAAa,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE;AAClC,YAAY,OAAO;AACnB,YAAY,IAAI,MAAM,IAAI;AAC1B,gBAAgB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC;AACvE,aAAa,CAAC;AACd,YAAY,GAAG,OAAO;AACtB,SAAS;AACT,aAAa,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvG;AACA,IAAI,aAAa,CAAC,UAAU,EAAE;AAC9B,QAAQ,8CAA8C,IAAI,CAAC,IAAI;AAC/D;AACA,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/B,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACpF,YAAY,IAAI,wBAAwB,CAAC,KAAK,CAAC;AAC/C,gBAAgB,OAAO,GAAG;AAC1B,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB;AACrE,gBAAgB,OAAO,GAAG;AAC1B,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;AAC5B,YAAY,OAAO,GAAG;AACtB,SAAS,EAAE,EAAE,CAAC;AACd,QAAQ,OAAO;AACf,cAAc,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;AACpE,cAAc,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAC5D;AACA,IAAI,sBAAsB,CAAC,GAAG,EAAE;AAChC,QAAQ,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;AAChD;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACvN,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnE,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,YAAY;AACvC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAC1C,SAAS,wBAAwB,CAAC,KAAK,EAAE;AAChD,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;AAC9C;;ACnEO,MAAM,WAAW,CAAC;AACzB,IAAI,WAAW;AACf,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,WAAW,CAAC,WAAW,EAAE;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC;AACA,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC3C,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACnC,QAAQ,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC/D,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;AACjC,YAAY,OAAO,GAAG;AACtB,SAAS,EAAE,EAAE,CAAC;AACd,QAAQ,MAAM,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/E,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACxC,YAAY,MAAM,EAAE,KAAK;AACzB,YAAY,GAAG,EAAE,GAAG;AACpB,YAAY,MAAM,EAAE,MAAM;AAC1B,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACpC,aAAa,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,MAAM,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACjD,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAClD,QAAQ,IAAI,EAAE,KAAK;AACnB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,IAAI,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACrD,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,QAAQ,IAAI,EAAE,KAAK;AACnB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC9C,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEA,WAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC/L,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEA,WAAc,EAAE,CAAC,EAAE,CAAC;;ACnD/D;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,CAAC;AAC5B,IAAI,IAAI;AACR,IAAI,WAAW,CAAC,IAAI,EAAE;AACtB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,EAAE,EAAE;AAChB;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;AACrB;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,EAAE,EAAE;AACf;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;AAChD;AACA,QAAQ,IAAI,MAAM,GAAG,IAAI,UAAU;AACnC,aAAa,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE;AAClD,aAAa,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACjD,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK;AAC5D,gBAAgB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE;AAC/C,oBAAoB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5D;AACA,aAAa,CAAC;AACd;AACA,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAC3D;AACA;;AClFA;AACY,MAAC,OAAO,GAAG,IAAI,cAAc,CAAC,SAAS;AAC5C,MAAM,gBAAgB,CAAC;AAC9B,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,oBAAoB;AACxB,IAAI,OAAO,UAAU,GAAG,EAAE;AAC1B,IAAI,WAAW,CAAC,QAAQ;AACxB;AACA,IAAI,UAAU,EAAE,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU;AACpC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,QAAQ,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AACtE,QAAQ,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,eAAe,CAAC,IAAI,EAAE;AACjC,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,wCAAwC,EAAE,MAAM,CAAC;AAC1F,QAAQ,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,gBAAgB,EAAE,GAAG,CAAC;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,sBAAsB,CAAC,mBAAmB,EAAE;AACvD,QAAQ,IAAI;AACZ,YAAY,OAAO,kBAAkB,CAAC,mBAAmB,CAAC;AAC1D;AACA,QAAQ,MAAM;AACd;AACA,YAAY,OAAO,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,IAAI,EAAE;AAChB,QAAQ,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AACvC,QAAQ,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;AAC7D,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;AACnH;AACA,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,OAAO,IAAI,CAAC,oBAAoB;AACxC;AACA,IAAI,IAAI,GAAG,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,GAAG,CAAC,IAAI,EAAE;AACd,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC9B,YAAY,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC3C,YAAY,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;AACjE,YAAY,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;AAC/H,YAAY,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AACtF;AACA,aAAa;AACb,YAAY,OAAO,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,MAAM,OAAO,GAAG,EAAE;AAC1B,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM;AAC7G,QAAQ,IAAI,YAAY,IAAI,YAAY,KAAK,EAAE,EAAE;AACjD,YAAY,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK;AAC/D,gBAAgB,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,WAAW,CAAC;AACrJ,aAAa,CAAC;AACd;AACA,QAAQ,OAAO,OAAO;AACtB;AACA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE;AACpF,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACxC,YAAY;AACZ;AACA,QAAQ,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,YAAY,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,QAAQ,EAAE;AAC9H,YAAY,MAAM,WAAW,GAAG;AAChC,gBAAgB,OAAO,EAAE,gBAAgB;AACzC,gBAAgB,IAAI;AACpB,gBAAgB,MAAM;AACtB,gBAAgB,MAAM;AACtB,gBAAgB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK;AACrD,gBAAgB,WAAW;AAC3B,aAAa;AACb,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;AAC9C,YAAY;AACZ;AACA,QAAQ,IAAI,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG;AAC3F,QAAQ,MAAM,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,EAAE;AAChE,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;AACrD,gBAAgB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1G,gBAAgB,YAAY,IAAI,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG;AAC5E;AACA,iBAAiB;AACjB,gBAAgB,YAAY,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,GAAG;AAChF;AACA;AACA,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;AAC1B,YAAY,YAAY,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG;AACxD;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE;AAC5B,YAAY,YAAY,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG;AAC5D;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE;AACrE,YAAY,OAAO,CAAC,MAAM,GAAG,IAAI;AACjC,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,mDAAmD,CAAC;AACjH,gBAAgB,CAAC,mGAAmG,CAAC,CAAC;AACtH;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE;AAC5B,YAAY,YAAY,IAAI,SAAS;AACrC;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/B,YAAY,OAAO,CAAC,QAAQ,GAAG,KAAK;AACpC;AACA,QAAQ,YAAY,IAAI,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG;AAC5D,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;AACjC,YAAY,YAAY,IAAI,cAAc;AAC1C;AACA,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE;AACzD,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACxC,YAAY;AACZ;AACA,QAAQ,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,+BAA+B,CAAC;AACrE,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE;AACtD,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACxC,YAAY;AACZ;AACA,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AACrC,QAAQ,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;AAC1C,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;AACpD,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AACvE;AACA;AACA;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC1P,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAClJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClE,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,QAAQ;AACnC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACtD,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,WAAW;AACtC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACtD,oBAAoB,IAAI,EAAE;AAC1B,iBAAiB,EAAE;AACnB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,OAAO;AAClC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;;AC7NxB;AAIO,MAAM,WAAW,CAAC;AACzB;AACA,IAAI,OAAO,CAAC,KAAK,GAAG,eAAe,EAAE,IAAI,GAAG,iCAAiC,EAAE,iBAAiB,GAAG,KAAK,EAAE,gBAAgB,GAAG,OAAO,EAAE;AACtI,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC;AACzB,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,KAAK;AACjB,YAAY,IAAI;AAChB,YAAY,gBAAgB,EAAE,IAAI;AAClC,YAAY,iBAAiB;AAC7B,YAAY,gBAAgB;AAC5B;AACA,YAAY,WAAW,EAAE;AACzB,gBAAgB,SAAS,EAAE,iBAAiB;AAC5C;AACA,SAAS,CAAC;AACV;AACA;AACA,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE;AACvC,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC;AACzB,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,KAAK;AACjB,YAAY,IAAI;AAChB,YAAY,KAAK;AACjB,YAAY,iBAAiB,EAAE,KAAK;AACpC,YAAY,WAAW,EAAE;AACzB,gBAAgB,SAAS,EAAE,iBAAiB;AAC5C;AACA,SAAS,CAAC;AACV;AACA;AACA,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/B,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC;AACzB,YAAY,IAAI,EAAE,OAAO;AACzB,YAAY,KAAK;AACjB,YAAY,IAAI;AAChB,YAAY,MAAM;AAClB,YAAY,WAAW,EAAE;AACzB,gBAAgB,SAAS,EAAE,iBAAiB;AAC5C;AACA,SAAS,CAAC;AACV;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AACtB,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC;AACzB,YAAY,IAAI,EAAE,MAAM;AACxB,YAAY,KAAK;AACjB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE;AACnB,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC;AACA;AACA,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE;AACpE,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACjC,YAAY,KAAK,EAAE,IAAI;AACvB,YAAY,QAAQ;AACpB,YAAY,KAAK;AACjB,YAAY,iBAAiB,EAAE,KAAK;AACpC,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACnC;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACtK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACzEb;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-services.mjs","sources":["../tmp-esm2022/services/lib/rest.service.js","../tmp-esm2022/services/lib/base.service.js","../tmp-esm2022/services/lib/generic.service.js","../tmp-esm2022/services/lib/ssr-cookie.service.js","../tmp-esm2022/services/lib/SwalService.service.js","../tmp-esm2022/services/lib/permissions.service.js","../tmp-esm2022/services/lib/permissions-guard.service.js","../tmp-esm2022/services/elite.framework-ng.core-services.js"],"sourcesContent":["import { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable, Inject, inject } from \"@angular/core\";\nimport { ENVIRONMENT, CORE_OPTIONS } from \"@elite.framework/ng.core/tokens\";\nimport { throwError, catchError } from \"rxjs\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class RestService {\n options;\n http;\n environment = inject(ENVIRONMENT);\n constructor(options, http) {\n this.options = options;\n this.http = http;\n }\n getApiFromStore(apiName) {\n return this.environment.apiUrl;\n }\n handleError(err) {\n // this.httpErrorReporter.reportError(err);\n return throwError(() => err);\n }\n request(request, config, api) {\n // debugger\n config = config || {};\n api = api || this.getApiFromStore(config.apiName);\n const { method, params, ...options } = request;\n const { observe = \"body\" /* Rest.Observe.Body */, skipHandleError } = config;\n const url = this.removeDuplicateSlashes(api + request.url);\n const httpClient = this.getHttpClient(config.skipAddingHeader ?? false);\n return httpClient\n .request(method, url, {\n observe,\n ...(params && {\n params: this.getParams(params, config.httpParamEncoder),\n }),\n ...options,\n })\n .pipe(catchError(err => (skipHandleError ? throwError(() => err) : this.handleError(err))));\n }\n getHttpClient(isExternal) {\n return /* isExternal ? this.externalHttp : */ this.http;\n }\n getParams(params, encoder) {\n const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {\n if (isUndefinedOrEmptyString(value))\n return acc;\n if (value === null && !this.options.sendNullsAsQueryParam)\n return acc;\n acc[key] = value;\n return acc;\n }, {});\n return encoder\n ? new HttpParams({ encoder, fromObject: filteredParams })\n : new HttpParams({ fromObject: filteredParams });\n }\n removeDuplicateSlashes(url) {\n return url.replace(/([^:]\\/)\\/+/g, '$1');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RestService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [CORE_OPTIONS]\n }] }, { type: i1.HttpClient }] });\nexport function isUndefinedOrEmptyString(value) {\n return value === undefined || value === '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvcmVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1DLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBYyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLFdBQVc7SUFHWTtJQUN0QjtJQUhKLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsWUFDa0MsT0FBYSxFQUNuQyxJQUFnQjtRQURNLFlBQU8sR0FBUCxPQUFPLENBQU07UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUd4QixDQUFDO0lBRUssZUFBZSxDQUFDLE9BQTJCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLDJDQUEyQztRQUMzQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUNMLE9BQXlDLEVBQ3pDLE1BQW9CLEVBQ3BCLEdBQVk7UUFFWixXQUFXO1FBQ1gsTUFBTSxHQUFHLE1BQU0sSUFBSyxFQUFrQixDQUFDO1FBQ3ZDLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0MsTUFBTSxFQUFFLE9BQU8saUNBQW9CLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sVUFBVTthQUNkLE9BQU8sQ0FBSSxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLE9BQU87WUFDUCxHQUFHLENBQUMsTUFBTSxJQUFJO2dCQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEQsQ0FBQztZQUNGLEdBQUcsT0FBTztTQUNKLENBQUM7YUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ08sYUFBYSxDQUFDLFVBQW1CO1FBQ3ZDLE9BQU8sc0NBQXNDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQW1CLEVBQUUsT0FBNEI7UUFDakUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6RSxJQUFJLHdCQUF3QixDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUNoRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQjtnQkFBRSxPQUFPLEdBQUcsQ0FBQztZQUN0RSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxPQUFPO1lBQ1osQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUN6RCxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7dUdBM0RVLFdBQVcsa0JBR1osWUFBWTsyR0FIWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsWUFBWTs7QUE0RHhCLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCwgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb290LCBSZXN0IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHNcIjtcbmltcG9ydCB7IEVOVklST05NRU5ULCBDT1JFX09QVElPTlMgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3Rva2Vuc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXN0U2VydmljZSB7XG4gIHByaXZhdGUgZW52aXJvbm1lbnQgPSBpbmplY3QoRU5WSVJPTk1FTlQpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPUkVfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnM6IFJvb3QsXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgLy8gcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgLy8gcHJvdGVjdGVkIGh0dHBFcnJvclJlcG9ydGVyOiBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UsXG4gICkgeyB9XG5cbiAgcHJvdGVjdGVkIGdldEFwaUZyb21TdG9yZShhcGlOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwaVVybDtcbiAgfVxuXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyB0aGlzLmh0dHBFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yKGVycik7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgfVxuXG4gIHJlcXVlc3Q8VCwgUj4oXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8VD4gfCBSZXN0LlJlcXVlc3Q8VD4sXG4gICAgY29uZmlnPzogUmVzdC5Db25maWcsXG4gICAgYXBpPzogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGNvbmZpZyA9IGNvbmZpZyB8fCAoe30gYXMgUmVzdC5Db25maWcpO1xuICAgIGFwaSA9IGFwaSB8fCB0aGlzLmdldEFwaUZyb21TdG9yZShjb25maWcuYXBpTmFtZSk7XG4gICAgY29uc3QgeyBtZXRob2QsIHBhcmFtcywgLi4ub3B0aW9ucyB9ID0gcmVxdWVzdDtcbiAgICBjb25zdCB7IG9ic2VydmUgPSBSZXN0Lk9ic2VydmUuQm9keSwgc2tpcEhhbmRsZUVycm9yIH0gPSBjb25maWc7XG4gICAgY29uc3QgdXJsID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVTbGFzaGVzKCBhcGkgKyByZXF1ZXN0LnVybCk7XG5cbiAgICBjb25zdCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50ID0gdGhpcy5nZXRIdHRwQ2xpZW50KGNvbmZpZy5za2lwQWRkaW5nSGVhZGVyID8/IGZhbHNlKTtcbiAgICByZXR1cm4gaHR0cENsaWVudFxuICAgICAgLnJlcXVlc3Q8Uj4obWV0aG9kLCB1cmwsIHtcbiAgICAgICAgb2JzZXJ2ZSxcbiAgICAgICAgLi4uKHBhcmFtcyAmJiB7XG4gICAgICAgICAgcGFyYW1zOiB0aGlzLmdldFBhcmFtcyhwYXJhbXMsIGNvbmZpZy5odHRwUGFyYW1FbmNvZGVyKSxcbiAgICAgICAgfSksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9IGFzIGFueSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IChza2lwSGFuZGxlRXJyb3IgPyB0aHJvd0Vycm9yKCgpID0+IGVycikgOiB0aGlzLmhhbmRsZUVycm9yKGVycikpKSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRIdHRwQ2xpZW50KGlzRXh0ZXJuYWw6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gLyogaXNFeHRlcm5hbCA/IHRoaXMuZXh0ZXJuYWxIdHRwIDogKi8gdGhpcy5odHRwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zOiBSZXN0LlBhcmFtcywgZW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYyk6IEh0dHBQYXJhbXMge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zID0gT2JqZWN0LmVudHJpZXMocGFyYW1zKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nKHZhbHVlKSkgcmV0dXJuIGFjYztcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCAmJiAhdGhpcy5vcHRpb25zLnNlbmROdWxsc0FzUXVlcnlQYXJhbSkgcmV0dXJuIGFjYztcbiAgICAgIGFjY1trZXldID0gdmFsdWU7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIGFueSk7XG4gICAgcmV0dXJuIGVuY29kZXJcbiAgICAgID8gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyLCBmcm9tT2JqZWN0OiBmaWx0ZXJlZFBhcmFtcyB9KVxuICAgICAgOiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGZpbHRlcmVkUGFyYW1zIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGVTbGFzaGVzKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgJyQxJyk7XG4gIH1cblxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJztcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs';\nimport { RestService } from './rest.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./rest.service\";\nexport class BaseService {\n restService;\n apiName = '';\n moduleName = '';\n constructor(restService) {\n this.restService = restService;\n }\n get = (id) => this.restService.request({\n method: 'GET',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n }, { apiName: this.apiName });\n getList = (input, endpoint) => {\n const params = Object.keys(input).reduce((acc, key) => {\n acc[key] = input[key];\n return acc;\n }, {});\n const url = endpoint ? endpoint : `/${this.moduleName}/${this.apiName}`;\n return this.restService.request({\n method: 'GET',\n url: url,\n params: params,\n }, { apiName: this.apiName })\n .pipe(map(response => response));\n };\n create = (input) => this.restService.request({\n method: 'POST',\n url: `/${this.moduleName}/${this.apiName}`,\n body: input,\n }, { apiName: this.apiName });\n update = (id, input) => this.restService.request({\n method: 'PUT',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n body: input,\n }, { apiName: this.apiName });\n delete = (id) => this.restService.request({\n method: 'DELETE',\n url: `/${this.moduleName}/${this.apiName}/${id}`,\n }, { apiName: this.apiName });\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: BaseService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.RestService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8sV0FBVztJQUdIO0lBRm5CLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUNoRCxHQUFHLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBVztRQUNqQyxNQUFNLEVBQUUsS0FBSztRQUNiLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUU7S0FDakQsRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUUzQixPQUFPLEdBQUcsQ0FBQyxLQUFTLEVBQUUsUUFBaUIsRUFBRyxFQUFFO1FBRTFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3hELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFTixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUE0QjtZQUN6RCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHO1lBQ1IsTUFBTSxFQUFFLE1BQU07U0FDZixFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUM7SUFDSixNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBVztRQUNqQyxNQUFNLEVBQUUsTUFBTTtRQUNkLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUMxQyxJQUFJLEVBQUUsS0FBSztLQUNaLEVBQ0QsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFXO1FBQ2pDLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEVBQUUsS0FBSztLQUNaLEVBQ0QsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFN0IsTUFBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQVk7UUFDbEMsTUFBTSxFQUFFLFFBQVE7UUFDaEIsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRTtLQUNqRCxFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO3VHQWpEbEIsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3VsdCB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2Uge1xuICBhcGlOYW1lID0gJyc7XG4gIG1vZHVsZU5hbWUgPSAnJztcbiAgY29uc3RydWN0b3IocHVibGljIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge31cbiBnZXQgPSAoaWQ6IHN0cmluZykgPT5cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBhbnk+KHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB1cmw6IGAvJHt0aGlzLm1vZHVsZU5hbWV9LyR7dGhpcy5hcGlOYW1lfS8ke2lkfWAsXG4gICAgfSxcbiAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9KTtcblxuICAgIGdldExpc3QgPSAoaW5wdXQ6YW55LCBlbmRwb2ludD86IHN0cmluZyApID0+IHtcblxuICAgICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoaW5wdXQpLnJlZHVjZSgoYWNjOmFueSwga2V5KSA9PiB7XG4gICAgICAgIGFjY1trZXldID0gaW5wdXRba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcblxuICAgICAgIGNvbnN0IHVybCA9IGVuZHBvaW50ID8gZW5kcG9pbnQgOiBgLyR7dGhpcy5tb2R1bGVOYW1lfS8ke3RoaXMuYXBpTmFtZX1gO1xuXG4gICAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgUGFnaW5hdGVkUmVzdWx0PGFueT4+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgfSwgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpXG4gICAgICApO1xuICAgIH07XG4gIGNyZWF0ZSA9IChpbnB1dDogYW55KSA9PlxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIGFueT4oe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6IGAvJHt0aGlzLm1vZHVsZU5hbWV9LyR7dGhpcy5hcGlOYW1lfWAsXG4gICAgICBib2R5OiBpbnB1dCxcbiAgICB9LFxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xuIHVwZGF0ZSA9IChpZDogc3RyaW5nLCBpbnB1dDogYW55KSA9PlxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIGFueT4oe1xuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICAgIHVybDogYC8ke3RoaXMubW9kdWxlTmFtZX0vJHt0aGlzLmFwaU5hbWV9LyR7aWR9YCxcbiAgICAgIGJvZHk6IGlucHV0LFxuICAgIH0sXG4gICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfSk7XG5cbiAgZGVsZXRlID0gKGlkOiBzdHJpbmcpID0+XG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgdm9pZD4oe1xuICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgIHVybDogYC8ke3RoaXMubW9kdWxlTmFtZX0vJHt0aGlzLmFwaU5hbWV9LyR7aWR9YCxcbiAgICB9LFxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xuXG5cbn1cbiJdfQ==","// src/app/services/generic.service.ts\nimport { HttpParams } from '@angular/common/http';\n/**\n * GenericService<T, K>:\n * - T = نوع الكائن (Model)\n * - K = نوع المفتاح الأساسي (ID)، افتراضي number\n *\n * يحتوي على جميع دوال الـ CRUD القياسية للتوريث في الخدمات المتخصصة.\n */\nexport class GenericService {\n http;\n constructor(http) {\n this.http = http;\n }\n /**\n * جلب كل السجلات\n */\n getAll() {\n // ملاحظة: يمكن إضافة معالج أخطاء مركزي هنا أو عبر Interceptor\n return this.http.get(this.baseUrl);\n }\n /**\n * جلب سجل واحد بناءً على المعرف\n */\n getById(id) {\n // ملاحظة: تأكد أن الـ endpoint يدعم GET برقم المعرف\n return this.http.get(`${this.baseUrl}/${id}`);\n }\n /**\n * إنشاء سجل جديد\n */\n create(item) {\n // ملاحظة: استخدم Partial<T> للسماح ببعض الحقول الاختيارية\n return this.http.post(this.baseUrl, item);\n }\n /**\n * تحديث سجل موجود\n */\n update(id, item) {\n // ملاحظة: هنا نُعيد Observable<void> لأن API قد لا تُرجع الجسم نفسه\n return this.http.put(`${this.baseUrl}`, item);\n }\n /**\n * حذف سجل\n */\n delete(id) {\n // ملاحظة: يُفضّل استخدام Confirm قبل الحذف في الواجهة\n return this.http.delete(`${this.baseUrl}/${id}`);\n }\n /** endpoint قابل للتخصيص — يمكن للفرع override–ها */\n getPageUrl() {\n return this.baseUrl;\n }\n /**\n * جلب صفحة من البيانات مع دعم الفلاتر والفرز\n * @param pageIndex صفر-based\n * @param pageSize عدد السجلات\n * @param filters كائن Partial<T> أو Record<string,any>\n * @param sort نص الفرز، مثلاً \"eiNa:desc\"\n */\n getPage(pageIndex, pageSize, filters, sort) {\n // debugger\n let params = new HttpParams()\n .set('pageIndex', pageIndex.toString())\n .set('pageSize', pageSize.toString());\n if (filters) {\n Object.entries(filters).forEach(([key, val]) => {\n if (val != null && val !== '') {\n params = params.set(key, val.toString());\n }\n });\n }\n if (sort) {\n params = params.set('sort', sort);\n }\n // return this.http\n // .get<T[]>(this.getPageUrl(), { params, observe: 'response' })\n // .pipe(\n // map((resp: HttpResponse<T[]>) => ({\n // items: resp.body || [],\n // totalCount: Number(resp.headers.get('X-Total-Count')) || resp.body?.length || 0\n // }))\n // );\n return this.http.get(this.getPageUrl(), { params });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvZ2VuZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLEVBQWMsVUFBVSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBSzVFOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBZ0IsY0FBYztJQU9aO0lBQXRCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRTFDOztPQUVHO0lBQ0gsTUFBTTtRQUNKLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFFSCxPQUFPLENBQUMsRUFBSztRQUNYLG9EQUFvRDtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFnQjtRQUVyQiwwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUVGLE1BQU0sQ0FBQyxFQUFLLEVBQUUsSUFBZ0I7UUFDN0Isb0VBQW9FO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQUs7UUFDVixzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBSUYscURBQXFEO0lBQzFDLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFQTs7Ozs7O01BTUU7SUFDSCxPQUFPLENBQ0wsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsT0FBNkIsRUFDN0IsSUFBYTtRQUViLFdBQVc7UUFDWCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUMxQixHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN0QyxHQUFHLENBQUMsVUFBVSxFQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQzlCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixrRUFBa0U7UUFDbEUsV0FBVztRQUNYLDBDQUEwQztRQUMxQyxnQ0FBZ0M7UUFDaEMsd0ZBQXdGO1FBQ3hGLFVBQVU7UUFDVixPQUFPO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQixFQUFFLE1BQU0sRUFBRSxDQUNYLENBQUM7SUFDRixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvYXBwL3NlcnZpY2VzL2dlbmVyaWMuc2VydmljZS50c1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4vY3J1ZC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXN1bHQgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvbW9kZWxzJztcblxuLyoqXG4gKiBHZW5lcmljU2VydmljZTxULCBLPjpcbiAqICAtIFQgPSDZhtmI2Lkg2KfZhNmD2KfYptmGIChNb2RlbClcbiAqICAtIEsgPSDZhtmI2Lkg2KfZhNmF2YHYqtin2K0g2KfZhNij2LPYp9iz2YogKElEKdiMINin2YHYqtix2KfYttmKIG51bWJlclxuICpcbiAqINmK2K3YqtmI2Yog2LnZhNmJINis2YXZiti5INiv2YjYp9mEINin2YTZgCBDUlVEINin2YTZgtmK2KfYs9mK2Kkg2YTZhNiq2YjYsdmK2Ksg2YHZiiDYp9mE2K7Yr9mF2KfYqiDYp9mE2YXYqtiu2LXYtdipLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2VuZXJpY1NlcnZpY2U8VCwgSyA9IG51bWJlcj4gaW1wbGVtZW50cyBDcnVkU2VydmljZTxULCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gIC8qKlxuICAgKiDinI/vuI8g2LnZhNmJINmD2YQg2K7Yr9mF2Kkg2YHYsdi52YrYqSDYo9mGINiq2LnYsdmR2YEg2YfYsNinOlxuICAgKiDZhdir2KfZhDogcHJvdGVjdGVkIGJhc2VVcmwgPSAnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vYXBpL2pvYnR5cHMnO1xuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhc2VVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICog2KzZhNioINmD2YQg2KfZhNiz2KzZhNin2KpcbiAgICovXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2YrZhdmD2YYg2KXYttin2YHYqSDZhdi52KfZhNisINij2K7Yt9in2KEg2YXYsdmD2LLZiiDZh9mG2Kcg2KPZiCDYudio2LEgSW50ZXJjZXB0b3JcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUW10+KHRoaXMuYmFzZVVybCk7XG4gIH1cblxuICAvKipcbiAgICog2KzZhNioINiz2KzZhCDZiNin2K3YryDYqNmG2KfYodmLINi52YTZiSDYp9mE2YXYudix2YFcbiAgICovXG5cbiAgZ2V0QnlJZChpZDogSyk6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2KrYo9mD2K8g2KPZhiDYp9mE2YAgZW5kcG9pbnQg2YrYr9i52YUgR0VUINio2LHZgtmFINin2YTZhdi52LHZgVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDYpdmG2LTYp9ihINiz2KzZhCDYrNiv2YrYr1xuICAgKi9cbiAgY3JlYXRlKGl0ZW06IFBhcnRpYWw8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcblxuICAgIC8vINmF2YTYp9it2LjYqTog2KfYs9iq2K7Yr9mFIFBhcnRpYWw8VD4g2YTZhNiz2YXYp9itINio2KjYudi2INin2YTYrdmC2YjZhCDYp9mE2KfYrtiq2YrYp9ix2YrYqVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmJhc2VVcmwsIGl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqINiq2K3Yr9mK2Ksg2LPYrNmEINmF2YjYrNmI2K9cbiAgICovXG5cbiAgIHVwZGF0ZShpZDogSywgaXRlbTogUGFydGlhbDxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vINmF2YTYp9it2LjYqTog2YfZhtinINmG2Y/YudmK2K8gT2JzZXJ2YWJsZTx2b2lkPiDZhNij2YYgQVBJINmC2K8g2YTYpyDYqtmP2LHYrNi5INin2YTYrNiz2YUg2YbZgdiz2YdcbiAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oYCR7dGhpcy5iYXNlVXJsfWAsIGl0ZW0pO1xuICB9XG4gIC8qKlxuICAgKiDYrdiw2YEg2LPYrNmEXG4gICAqL1xuICBkZWxldGUoaWQ6IEspOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyDZhdmE2KfYrdi42Kk6INmK2Y/Zgdi22ZHZhCDYp9iz2KrYrtiv2KfZhSBDb25maXJtINmC2KjZhCDYp9mE2K3YsNmBINmB2Yog2KfZhNmI2KfYrNmH2KlcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuXG5cbiAvKiogZW5kcG9pbnQg2YLYp9io2YQg2YTZhNiq2K7YtdmK2LUg4oCUINmK2YXZg9mGINmE2YTZgdix2Lkgb3ZlcnJpZGXigJPZh9inICovXG4gIHByb3RlY3RlZCBnZXRQYWdlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gICAvKipcbiAgICog2KzZhNioINi12YHYrdipINmF2YYg2KfZhNio2YrYp9mG2KfYqiDZhdi5INiv2LnZhSDYp9mE2YHZhNin2KrYsSDZiNin2YTZgdix2LJcbiAgICogQHBhcmFtIHBhZ2VJbmRleCDYtdmB2LEtYmFzZWRcbiAgICogQHBhcmFtIHBhZ2VTaXplINi52K/YryDYp9mE2LPYrNmE2KfYqlxuICAgKiBAcGFyYW0gZmlsdGVycyDZg9in2KbZhiBQYXJ0aWFsPFQ+INij2YggUmVjb3JkPHN0cmluZyxhbnk+XG4gICAqIEBwYXJhbSBzb3J0INmG2LUg2KfZhNmB2LHYstiMINmF2KvZhNin2YsgXCJlaU5hOmRlc2NcIlxuICAgKi9cbiAgZ2V0UGFnZShcbiAgICBwYWdlSW5kZXg6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHNvcnQ/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxQYWdpbmF0ZWRSZXN1bHQ8VD4+IHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdwYWdlSW5kZXgnLCBwYWdlSW5kZXgudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3BhZ2VTaXplJywgIHBhZ2VTaXplLnRvU3RyaW5nKCkpO1xuXG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZpbHRlcnMpLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPT0gJycpIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgdmFsLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc29ydCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsIHNvcnQpO1xuICAgIH1cblxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcbiAgICAvLyAgIC5nZXQ8VFtdPih0aGlzLmdldFBhZ2VVcmwoKSwgeyBwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcbiAgICAvLyAgIC5waXBlKFxuICAgIC8vICAgICBtYXAoKHJlc3A6IEh0dHBSZXNwb25zZTxUW10+KSA9PiAoe1xuICAgIC8vICAgICAgIGl0ZW1zOiByZXNwLmJvZHkgfHwgW10sXG4gICAgLy8gICAgICAgdG90YWxDb3VudDogTnVtYmVyKHJlc3AuaGVhZGVycy5nZXQoJ1gtVG90YWwtQ291bnQnKSkgfHwgcmVzcC5ib2R5Py5sZW5ndGggfHwgMFxuICAgIC8vICAgICB9KSlcbiAgICAvLyAgICk7XG4gICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnaW5hdGVkUmVzdWx0PFQ+PihcbiAgICB0aGlzLmdldFBhZ2VVcmwoKSxcbiAgICB7IHBhcmFtcyB9XG4gICk7XG4gIH1cblxuXG59XG4iXX0=","import { Inject, Injectable, InjectionToken, Optional, PLATFORM_ID } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport * as i0 from \"@angular/core\";\n// Define the `Request` token\nexport const REQUEST = new InjectionToken('REQUEST');\nexport class SsrCookieService {\n document;\n platformId;\n request;\n documentIsAccessible;\n static initialUrl = '';\n constructor(document, \n // Get the `PLATFORM_ID` so we can check if we're in a browser.\n platformId, request) {\n this.document = document;\n this.platformId = platformId;\n this.request = request;\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\n SsrCookieService.initialUrl = this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n /**\n * Get cookie Regular Expression\n *\n * @param name Cookie name\n * @returns property RegExp\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static getCookieRegExp(name) {\n const escapedName = name.replace(/([\\[\\]\\{\\}\\(\\)\\|\\=\\;\\+\\?\\,\\.\\*\\^\\$])/gi, '\\\\$1');\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\n }\n /**\n * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @param encodedURIComponent A value representing an encoded URI component.\n *\n * @returns The unencoded version of an encoded component of a Uniform Resource Identifier (URI).\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n static safeDecodeURIComponent(encodedURIComponent) {\n try {\n return decodeURIComponent(encodedURIComponent);\n }\n catch {\n // probably it is not uri encoded. return as is\n return encodedURIComponent;\n }\n }\n /**\n * Return `true` if {@link Document} is accessible, otherwise return `false`\n *\n * @param name Cookie name\n * @returns boolean - whether cookie with specified name exists\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n check(name) {\n name = encodeURIComponent(name);\n const regExp = SsrCookieService.getCookieRegExp(name);\n return regExp.test((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n }\n isDocumentIsAccessible() {\n return this.documentIsAccessible;\n }\n get url() {\n return this.documentIsAccessible ? this.document.location.href : this.request?.url;\n }\n /**\n * Get cookies by name\n *\n * @param name Cookie name\n * @returns property value\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n get(name) {\n if (this.check(name)) {\n name = encodeURIComponent(name);\n const regExp = SsrCookieService.getCookieRegExp(name);\n const result = regExp.exec((this.documentIsAccessible ? this.document.cookie : this.request?.headers.cookie) ?? '');\n return result[1] ? SsrCookieService.safeDecodeURIComponent(result[1]) : '';\n }\n else {\n return '';\n }\n }\n /**\n * Get all cookies in JSON format\n *\n * @returns all the cookies in json\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n getAll() {\n const cookies = {};\n const cookieString = this.documentIsAccessible ? this.document?.cookie : this.request?.headers.cookie;\n if (cookieString && cookieString !== '') {\n cookieString.split(';').forEach((currentCookie) => {\n const [cookieName, cookieValue] = currentCookie.split('=');\n cookies[SsrCookieService.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] = SsrCookieService.safeDecodeURIComponent(cookieValue);\n });\n }\n return cookies;\n }\n set(name, value, expiresOrOptions, path, domain, secure, sameSite, partitioned) {\n if (!this.documentIsAccessible) {\n return;\n }\n if (typeof expiresOrOptions === 'number' || expiresOrOptions instanceof Date || path || domain || secure || sameSite) {\n const optionsBody = {\n expires: expiresOrOptions,\n path,\n domain,\n secure,\n sameSite: sameSite ? sameSite : 'Lax',\n partitioned,\n };\n this.set(name, value, optionsBody);\n return;\n }\n let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\n const options = expiresOrOptions ? expiresOrOptions : {};\n if (options.expires) {\n if (typeof options.expires === 'number') {\n const dateExpires = new Date(new Date().getTime() + options.expires * 1000 * 60 * 60 * 24);\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\n }\n else {\n cookieString += 'expires=' + options.expires.toUTCString() + ';';\n }\n }\n if (options.path) {\n cookieString += 'path=' + options.path + ';';\n }\n if (options.domain) {\n cookieString += 'domain=' + options.domain + ';';\n }\n if (options.secure === false && options.sameSite === 'None') {\n options.secure = true;\n console.warn(`[ngx-cookie-service] Cookie ${name} was forced with secure flag because sameSite=None.` +\n `More details : https://github.com/stevermeister/ngx-cookie-service/issues/86#issuecomment-597720130`);\n }\n if (options.secure) {\n cookieString += 'secure;';\n }\n if (!options.sameSite) {\n options.sameSite = 'Lax';\n }\n cookieString += 'sameSite=' + options.sameSite + ';';\n if (options.partitioned) {\n cookieString += 'Partitioned;';\n }\n this.document.cookie = cookieString;\n }\n /**\n * Delete cookie by name\n *\n * @param name Cookie name\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Cookie secure flag\n * @param sameSite Cookie sameSite flag - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n delete(name, path, domain, secure, sameSite = 'Lax') {\n if (!this.documentIsAccessible) {\n return;\n }\n const expiresDate = new Date('Thu, 01 Jan 1970 00:00:01 GMT');\n this.set(name, '', { expires: expiresDate, path, domain, secure, sameSite });\n }\n /**\n * Delete all cookies\n *\n * @param path Cookie path\n * @param domain Cookie domain\n * @param secure Is the Cookie secure\n * @param sameSite Is the cookie same site\n *\n * @author: Stepan Suvorov\n * @since: 1.0.0\n */\n deleteAll(path, domain, secure, sameSite = 'Lax') {\n if (!this.documentIsAccessible) {\n return;\n }\n const cookies = this.getAll();\n for (const cookieName in cookies) {\n if (cookies.hasOwnProperty(cookieName)) {\n this.delete(cookieName, path, domain, secure, sameSite);\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: REQUEST, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SsrCookieService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [REQUEST]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLWNvb2tpZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3NlcnZpY2VzL3NyYy9saWIvc3NyLWNvb2tpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsNkJBQTZCO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBVSxTQUFTLENBQUMsQ0FBQztBQUs5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBS0M7SUFFRztJQUNRO0lBUHRCLG9CQUFvQixDQUFVO0lBQy9DLE1BQU0sQ0FBRSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQzRCLFFBQWtCO0lBQzVDLCtEQUErRDtJQUNsQyxVQUFlLEVBQ1AsT0FBZ0I7UUFIM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDUCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRXJELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0QsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUM1RyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDakMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FB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Q0FBQztJQUNILENBQUM7dUdBaFNVLGdCQUFnQixrQkFLakIsUUFBUSxhQUVSLFdBQVcsYUFDQyxPQUFPOzJHQVJsQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gRGVmaW5lIHRoZSBgUmVxdWVzdGAgdG9rZW5cbmV4cG9ydCBjb25zdCBSRVFVRVNUID0gbmV3IEluamVjdGlvblRva2VuPFJlcXVlc3Q+KCdSRVFVRVNUJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTc3JDb29raWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudElzQWNjZXNzaWJsZTogYm9vbGVhbjtcbiAgc3RhdGljICBpbml0aWFsVXJsID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgLy8gR2V0IHRoZSBgUExBVEZPUk1fSURgIHNvIHdlIGNhbiBjaGVjayBpZiB3ZSdyZSBpbiBhIGJyb3dzZXIuXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRVFVRVNUKSBwcml2YXRlIHJlcXVlc3Q6IFJlcXVlc3RcbiAgKSB7XG4gICAgdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgU3NyQ29va2llU2VydmljZS5pbml0aWFsVXJsID0gdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA6IHRoaXMucmVxdWVzdD8udXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb29raWUgUmVndWxhciBFeHByZXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXG4gICAqIEByZXR1cm5zIHByb3BlcnR5IFJlZ0V4cFxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBzdGF0aWMgZ2V0Q29va2llUmVnRXhwKG5hbWU6IHN0cmluZyk6IFJlZ0V4cCB7XG4gICAgY29uc3QgZXNjYXBlZE5hbWU6IHN0cmluZyA9IG5hbWUucmVwbGFjZSgvKFtcXFtcXF1cXHtcXH1cXChcXClcXHxcXD1cXDtcXCtcXD9cXCxcXC5cXCpcXF5cXCRdKS9naSwgJ1xcXFwkMScpO1xuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJyg/Ol4nICsgZXNjYXBlZE5hbWUgKyAnfDtcXFxccyonICsgZXNjYXBlZE5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVuZW5jb2RlZCB2ZXJzaW9uIG9mIGFuIGVuY29kZWQgY29tcG9uZW50IG9mIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyIChVUkkpLlxuICAgKlxuICAgKiBAcGFyYW0gZW5jb2RlZFVSSUNvbXBvbmVudCBBIHZhbHVlIHJlcHJlc2VudGluZyBhbiBlbmNvZGVkIFVSSSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB1bmVuY29kZWQgdmVyc2lvbiBvZiBhbiBlbmNvZGVkIGNvbXBvbmVudCBvZiBhIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKS5cbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc3RhdGljIHNhZmVEZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFVSSUNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkVVJJQ29tcG9uZW50KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHByb2JhYmx5IGl0IGlzIG5vdCB1cmkgZW5jb2RlZC4gcmV0dXJuIGFzIGlzXG4gICAgICByZXR1cm4gZW5jb2RlZFVSSUNvbXBvbmVudDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGB0cnVlYCBpZiB7QGxpbmsgRG9jdW1lbnR9IGlzIGFjY2Vzc2libGUsIG90aGVyd2lzZSByZXR1cm4gYGZhbHNlYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBDb29raWUgbmFtZVxuICAgKiBAcmV0dXJucyBib29sZWFuIC0gd2hldGhlciBjb29raWUgd2l0aCBzcGVjaWZpZWQgbmFtZSBleGlzdHNcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgY2hlY2sobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKTtcbiAgICBjb25zdCByZWdFeHA6IFJlZ0V4cCA9IFNzckNvb2tpZVNlcnZpY2UuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xuICAgIHJldHVybiByZWdFeHAudGVzdCgodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQuY29va2llICA6IHRoaXMucmVxdWVzdD8uaGVhZGVycy5jb29raWUpID8/ICcnKTtcbiAgfVxuICBpc0RvY3VtZW50SXNBY2Nlc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlIDtcbiAgfVxuIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiA6IHRoaXMucmVxdWVzdD8udXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb29raWVzIGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIG5hbWUgQ29va2llIG5hbWVcbiAgICogQHJldHVybnMgcHJvcGVydHkgdmFsdWVcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY2hlY2sobmFtZSkpIHtcbiAgICAgIG5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSk7XG5cbiAgICAgIGNvbnN0IHJlZ0V4cDogUmVnRXhwID0gU3NyQ29va2llU2VydmljZS5nZXRDb29raWVSZWdFeHAobmFtZSk7XG4gICAgICBjb25zdCByZXN1bHQ6IFJlZ0V4cEV4ZWNBcnJheSB8YW55PSByZWdFeHAuZXhlYygodGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSA/IHRoaXMuZG9jdW1lbnQuY29va2llIDogdGhpcy5yZXF1ZXN0Py5oZWFkZXJzLmNvb2tpZSkgPz8gJycpO1xuXG4gICAgICByZXR1cm4gcmVzdWx0WzFdID8gU3NyQ29va2llU2VydmljZS5zYWZlRGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdFsxXSkgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGNvb2tpZXMgaW4gSlNPTiBmb3JtYXRcbiAgICpcbiAgICogQHJldHVybnMgYWxsIHRoZSBjb29raWVzIGluIGpzb25cbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgZ2V0QWxsKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvb2tpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBjb25zdCBjb29raWVTdHJpbmc6IGFueSA9IHRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUgPyB0aGlzLmRvY3VtZW50Py5jb29raWUgOiB0aGlzLnJlcXVlc3Q/LmhlYWRlcnMuY29va2llO1xuXG4gICAgaWYgKGNvb2tpZVN0cmluZyAmJiBjb29raWVTdHJpbmcgIT09ICcnKSB7XG4gICAgICBjb29raWVTdHJpbmcuc3BsaXQoJzsnKS5mb3JFYWNoKChjdXJyZW50Q29va2llOmFueSkgPT4ge1xuICAgICAgICBjb25zdCBbY29va2llTmFtZSwgY29va2llVmFsdWVdID0gY3VycmVudENvb2tpZS5zcGxpdCgnPScpO1xuICAgICAgICBjb29raWVzW1NzckNvb2tpZVNlcnZpY2Uuc2FmZURlY29kZVVSSUNvbXBvbmVudChjb29raWVOYW1lLnJlcGxhY2UoL14gLywgJycpKV0gPSBTc3JDb29raWVTZXJ2aWNlLnNhZmVEZWNvZGVVUklDb21wb25lbnQoY29va2llVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvb2tpZXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGNvb2tpZSBiYXNlZCBvbiBwcm92aWRlZCBpbmZvcm1hdGlvblxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAgICAgQ29va2llIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlICAgIENvb2tpZSB2YWx1ZVxuICAgKiBAcGFyYW0gZXhwaXJlcyAgTnVtYmVyIG9mIGRheXMgdW50aWwgdGhlIGNvb2tpZXMgZXhwaXJlcyBvciBhbiBhY3R1YWwgYERhdGVgXG4gICAqIEBwYXJhbSBwYXRoICAgICBDb29raWUgcGF0aFxuICAgKiBAcGFyYW0gZG9tYWluICAgQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlICAgU2VjdXJlIGZsYWdcbiAgICogQHBhcmFtIHNhbWVTaXRlIE9XQVNQIHNhbWUgc2l0ZSB0b2tlbiBgTGF4YCwgYE5vbmVgLCBvciBgU3RyaWN0YC4gRGVmYXVsdHMgdG8gYExheGBcbiAgICogQHBhcmFtIHBhcnRpdGlvbmVkIFBhcnRpdGlvbmVkIGZsYWdcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc2V0KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlLFxuICAgIHBhdGg/OiBzdHJpbmcsXG4gICAgZG9tYWluPzogc3RyaW5nLFxuICAgIHNlY3VyZT86IGJvb2xlYW4sXG4gICAgc2FtZVNpdGU/OiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnLFxuICAgIHBhcnRpdGlvbmVkPzogYm9vbGVhblxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXQgY29va2llIGJhc2VkIG9uIHByb3ZpZGVkIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIENvb2tpZSdzIHBhcmFtZXRlcnM6XG4gICAqIDxwcmU+XG4gICAqIGV4cGlyZXMgIE51bWJlciBvZiBkYXlzIHVudGlsIHRoZSBjb29raWVzIGV4cGlyZXMgb3IgYW4gYWN0dWFsIGBEYXRlYFxuICAgKiBwYXRoICAgICBDb29raWUgcGF0aFxuICAgKiBkb21haW4gICBDb29raWUgZG9tYWluXG4gICAqIHNlY3VyZSBDb29raWUgc2VjdXJlIGZsYWdcbiAgICogc2FtZVNpdGUgT1dBU1Agc2FtZSBzaXRlIHRva2VuIGBMYXhgLCBgTm9uZWAsIG9yIGBTdHJpY3RgLiBEZWZhdWx0cyB0byBgTGF4YFxuICAgKiA8L3ByZT5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgICAgIENvb2tpZSBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSAgICBDb29raWUgdmFsdWVcbiAgICogQHBhcmFtIG9wdGlvbnMgIEJvZHkgd2l0aCBjb29raWUncyBwYXJhbXNcbiAgICpcbiAgICogQGF1dGhvcjogU3RlcGFuIFN1dm9yb3ZcbiAgICogQHNpbmNlOiAxLjAuMFxuICAgKi9cbiAgc2V0KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBleHBpcmVzPzogbnVtYmVyIHwgRGF0ZTtcbiAgICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgICBzZWN1cmU/OiBib29sZWFuO1xuICAgICAgc2FtZVNpdGU/OiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnO1xuICAgICAgcGFydGl0aW9uZWQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZDtcblxuICBzZXQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgZXhwaXJlc09yT3B0aW9ucz86IG51bWJlciB8IERhdGUgfCBhbnksXG4gICAgcGF0aD86IHN0cmluZyxcbiAgICBkb21haW4/OiBzdHJpbmcsXG4gICAgc2VjdXJlPzogYm9vbGVhbixcbiAgICBzYW1lU2l0ZT86ICdMYXgnIHwgJ05vbmUnIHwgJ1N0cmljdCcsXG4gICAgcGFydGl0aW9uZWQ/OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kb2N1bWVudElzQWNjZXNzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXhwaXJlc09yT3B0aW9ucyA9PT0gJ251bWJlcicgfHwgZXhwaXJlc09yT3B0aW9ucyBpbnN0YW5jZW9mIERhdGUgfHwgcGF0aCB8fCBkb21haW4gfHwgc2VjdXJlIHx8IHNhbWVTaXRlKSB7XG4gICAgICBjb25zdCBvcHRpb25zQm9keSA9IHtcbiAgICAgICAgZXhwaXJlczogZXhwaXJlc09yT3B0aW9ucyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgZG9tYWluLFxuICAgICAgICBzZWN1cmUsXG4gICAgICAgIHNhbWVTaXRlOiBzYW1lU2l0ZSA/IHNhbWVTaXRlIDogJ0xheCcsXG4gICAgICAgIHBhcnRpdGlvbmVkLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zZXQobmFtZSwgdmFsdWUsIG9wdGlvbnNCb2R5KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29va2llU3RyaW5nOiBzdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICsgJzsnO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IGV4cGlyZXNPck9wdGlvbnMgPyBleHBpcmVzT3JPcHRpb25zIDoge307XG5cbiAgICBpZiAob3B0aW9ucy5leHBpcmVzKSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZXhwaXJlcyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgZGF0ZUV4cGlyZXM6IERhdGUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSArIG9wdGlvbnMuZXhwaXJlcyAqIDEwMDAgKiA2MCAqIDYwICogMjQpO1xuXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgb3B0aW9ucy5leHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0aCkge1xuICAgICAgY29va2llU3RyaW5nICs9ICdwYXRoPScgKyBvcHRpb25zLnBhdGggKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZG9tYWluKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ2RvbWFpbj0nICsgb3B0aW9ucy5kb21haW4gKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2VjdXJlID09PSBmYWxzZSAmJiBvcHRpb25zLnNhbWVTaXRlID09PSAnTm9uZScpIHtcbiAgICAgIG9wdGlvbnMuc2VjdXJlID0gdHJ1ZTtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFtuZ3gtY29va2llLXNlcnZpY2VdIENvb2tpZSAke25hbWV9IHdhcyBmb3JjZWQgd2l0aCBzZWN1cmUgZmxhZyBiZWNhdXNlIHNhbWVTaXRlPU5vbmUuYCArXG4gICAgICAgICAgYE1vcmUgZGV0YWlscyA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZXJtZWlzdGVyL25neC1jb29raWUtc2VydmljZS9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTU5NzcyMDEzMGBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnNlY3VyZSkge1xuICAgICAgY29va2llU3RyaW5nICs9ICdzZWN1cmU7JztcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuc2FtZVNpdGUpIHtcbiAgICAgIG9wdGlvbnMuc2FtZVNpdGUgPSAnTGF4JztcbiAgICB9XG5cbiAgICBjb29raWVTdHJpbmcgKz0gJ3NhbWVTaXRlPScgKyBvcHRpb25zLnNhbWVTaXRlICsgJzsnO1xuXG4gICAgaWYgKG9wdGlvbnMucGFydGl0aW9uZWQpIHtcbiAgICAgIGNvb2tpZVN0cmluZyArPSAnUGFydGl0aW9uZWQ7JztcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgY29va2llIGJ5IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIG5hbWUgICBDb29raWUgbmFtZVxuICAgKiBAcGFyYW0gcGF0aCAgIENvb2tpZSBwYXRoXG4gICAqIEBwYXJhbSBkb21haW4gQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlIENvb2tpZSBzZWN1cmUgZmxhZ1xuICAgKiBAcGFyYW0gc2FtZVNpdGUgQ29va2llIHNhbWVTaXRlIGZsYWcgLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvU2V0LUNvb2tpZS9TYW1lU2l0ZVxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBkZWxldGUobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcsIHNlY3VyZT86IGJvb2xlYW4sIHNhbWVTaXRlOiAnTGF4JyB8ICdOb25lJyB8ICdTdHJpY3QnID0gJ0xheCcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnRJc0FjY2Vzc2libGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXhwaXJlc0RhdGUgPSBuZXcgRGF0ZSgnVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQnKTtcbiAgICB0aGlzLnNldChuYW1lLCAnJywgeyBleHBpcmVzOiBleHBpcmVzRGF0ZSwgcGF0aCwgZG9tYWluLCBzZWN1cmUsIHNhbWVTaXRlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbGwgY29va2llc1xuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAgIENvb2tpZSBwYXRoXG4gICAqIEBwYXJhbSBkb21haW4gQ29va2llIGRvbWFpblxuICAgKiBAcGFyYW0gc2VjdXJlIElzIHRoZSBDb29raWUgc2VjdXJlXG4gICAqIEBwYXJhbSBzYW1lU2l0ZSBJcyB0aGUgY29va2llIHNhbWUgc2l0ZVxuICAgKlxuICAgKiBAYXV0aG9yOiBTdGVwYW4gU3V2b3JvdlxuICAgKiBAc2luY2U6IDEuMC4wXG4gICAqL1xuICBkZWxldGVBbGwocGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nLCBzZWN1cmU/OiBib29sZWFuLCBzYW1lU2l0ZTogJ0xheCcgfCAnTm9uZScgfCAnU3RyaWN0JyA9ICdMYXgnKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRvY3VtZW50SXNBY2Nlc3NpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29va2llczogYW55ID0gdGhpcy5nZXRBbGwoKTtcblxuICAgIGZvciAoY29uc3QgY29va2llTmFtZSBpbiBjb29raWVzKSB7XG4gICAgICBpZiAoY29va2llcy5oYXNPd25Qcm9wZXJ0eShjb29raWVOYW1lKSkge1xuICAgICAgICB0aGlzLmRlbGV0ZShjb29raWVOYW1lLCBwYXRoLCBkb21haW4sIHNlY3VyZSwgc2FtZVNpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19","// app/shared/services/swal.service.ts\nimport { Injectable } from '@angular/core';\nimport Swal from 'sweetalert2';\nimport * as i0 from \"@angular/core\";\nexport class SwalService {\n /** رسالة تأكيد قبل تنفيذ إجراء */\n confirm(title = 'هل أنت متأكد؟', text = 'لن يمكنك التراجع عن هذا الإجراء', confirmButtonText = 'نعم', cancelButtonText = 'إلغاء') {\n return Swal.fire({\n icon: 'warning',\n title,\n text,\n showCancelButton: true,\n confirmButtonText,\n cancelButtonText,\n // reverseButtons: true,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة نجاح */\n success(title, text, timer = 2000) {\n return Swal.fire({\n icon: 'success',\n title,\n text,\n timer,\n showConfirmButton: false,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة خطأ */\n error(title, text, footer) {\n return Swal.fire({\n icon: 'error',\n title,\n text,\n footer,\n customClass: {\n container: 'swal2-container' // ✅ أضف هذه الفئة\n }\n });\n }\n /** رسالة معلومات */\n info(title, text) {\n return Swal.fire({\n icon: 'info',\n title,\n text,\n });\n }\n /** عرض نافذة SweetAlert2 بأي خيارات تريد */\n alert(options) {\n return Swal.fire(options);\n }\n /** Toast بسيط قابل لإعادة الاستخدام */\n toast(title, icon = 'info', position = 'top-end', timer = 3000) {\n const Toast = Swal.mixin({\n toast: true,\n position,\n timer,\n showConfirmButton: false,\n });\n Toast.fire({ icon, title });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: SwalService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhbFNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zZXJ2aWNlcy9zcmMvbGliL1N3YWxTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUlOLE1BQU0sYUFBYSxDQUFDOztBQUdyQixNQUFNLE9BQU8sV0FBVztJQUN0QixrQ0FBa0M7SUFDbEMsT0FBTyxDQUNMLEtBQUssR0FBRyxlQUFlLEVBQ3ZCLElBQUksR0FBRyxpQ0FBaUMsRUFDeEMsaUJBQWlCLEdBQUcsS0FBSyxFQUN6QixnQkFBZ0IsR0FBRyxPQUFPO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSztZQUNMLElBQUk7WUFDSixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ2xCLFdBQVcsRUFBRTtnQkFDakIsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjthQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7SUFDakIsT0FBTyxDQUNMLEtBQWEsRUFDYixJQUFhLEVBQ2IsS0FBSyxHQUFHLElBQUk7UUFFWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUs7WUFDTCxJQUFJO1lBQ0osS0FBSztZQUNMLGlCQUFpQixFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFO2dCQUNqQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsa0JBQWtCO2FBQ2hEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixLQUFLLENBQ0gsS0FBYSxFQUNiLElBQWEsRUFDYixNQUFlO1FBRWYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLO1lBQ0wsSUFBSTtZQUNKLE1BQU07WUFDTixXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGtCQUFrQjthQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsSUFBSSxDQUNGLEtBQWEsRUFDYixJQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLO1lBQ0wsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsS0FBSyxDQUNILE9BQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEtBQUssQ0FDSCxLQUFhLEVBQ2IsT0FBdUIsTUFBTSxFQUM3QixXQUEwQyxTQUFTLEVBQ25ELEtBQUssR0FBRyxJQUFJO1FBRVosTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVE7WUFDUixLQUFLO1lBQ0wsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0ExRlUsV0FBVzsyR0FBWCxXQUFXLGNBREUsTUFBTTs7MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwL3NoYXJlZC9zZXJ2aWNlcy9zd2FsLnNlcnZpY2UudHNcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2FsLCB7XG4gIFN3ZWV0QWxlcnRPcHRpb25zLFxuICBTd2VldEFsZXJ0UmVzdWx0LFxuICBTd2VldEFsZXJ0SWNvblxufSBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3dhbFNlcnZpY2Uge1xuICAvKiog2LHYs9in2YTYqSDYqtij2YPZitivINmC2KjZhCDYqtmG2YHZitiwINil2KzYsdin2KEgKi9cbiAgY29uZmlybShcbiAgICB0aXRsZSA9ICfZh9mEINij2YbYqiDZhdiq2KPZg9iv2J8nLFxuICAgIHRleHQgPSAn2YTZhiDZitmF2YPZhtmDINin2YTYqtix2KfYrNi5INi52YYg2YfYsNinINin2YTYpdis2LHYp9ihJyxcbiAgICBjb25maXJtQnV0dG9uVGV4dCA9ICfZhti52YUnLFxuICAgIGNhbmNlbEJ1dHRvblRleHQgPSAn2KXZhNi62KfYoSdcbiAgKTogUHJvbWlzZTxTd2VldEFsZXJ0UmVzdWx0PiB7XG4gICAgcmV0dXJuIFN3YWwuZmlyZSh7XG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICB0aXRsZSxcbiAgICAgIHRleHQsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgY29uZmlybUJ1dHRvblRleHQsXG4gICAgICBjYW5jZWxCdXR0b25UZXh0LFxuICAgICAgLy8gcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBjdXN0b21DbGFzczoge1xuICAgICAgICBjb250YWluZXI6ICdzd2FsMi1jb250YWluZXInIC8vIOKchSDYo9i22YEg2YfYsNmHINin2YTZgdim2KlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiDYsdiz2KfZhNipINmG2KzYp9itICovXG4gIHN1Y2Nlc3MoXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nLFxuICAgIHRpbWVyID0gMjAwMFxuICApOiBQcm9taXNlPFN3ZWV0QWxlcnRSZXN1bHQ+IHtcbiAgICByZXR1cm4gU3dhbC5maXJlKHtcbiAgICAgIGljb246ICdzdWNjZXNzJyxcbiAgICAgIHRpdGxlLFxuICAgICAgdGV4dCxcbiAgICAgIHRpbWVyLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgICAgICAgY3VzdG9tQ2xhc3M6IHtcbiAgICAgICAgY29udGFpbmVyOiAnc3dhbDItY29udGFpbmVyJyAvLyDinIUg2KPYttmBINmH2LDZhyDYp9mE2YHYptipXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiog2LHYs9in2YTYqSDYrti32KMgKi9cbiAgZXJyb3IoXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nLFxuICAgIGZvb3Rlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFN3ZWV0QWxlcnRSZXN1bHQ+IHtcbiAgICByZXR1cm4gU3dhbC5maXJlKHtcbiAgICAgIGljb246ICdlcnJvcicsXG4gICAgICB0aXRsZSxcbiAgICAgIHRleHQsXG4gICAgICBmb290ZXIsXG4gICAgICBjdXN0b21DbGFzczoge1xuICAgICAgICBjb250YWluZXI6ICdzd2FsMi1jb250YWluZXInIC8vIOKchSDYo9i22YEg2YfYsNmHINin2YTZgdim2KlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiDYsdiz2KfZhNipINmF2LnZhNmI2YXYp9iqICovXG4gIGluZm8oXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0ZXh0Pzogc3RyaW5nXG4gICk6IFByb21pc2U8U3dlZXRBbGVydFJlc3VsdD4ge1xuICAgIHJldHVybiBTd2FsLmZpcmUoe1xuICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgdGl0bGUsXG4gICAgICB0ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqINi52LHYtiDZhtin2YHYsNipIFN3ZWV0QWxlcnQyINio2KPZiiDYrtmK2KfYsdin2Kog2KrYsdmK2K8gKi9cbiAgYWxlcnQoXG4gICAgb3B0aW9uczogU3dlZXRBbGVydE9wdGlvbnNcbiAgKTogUHJvbWlzZTxTd2VldEFsZXJ0UmVzdWx0PiB7XG4gICAgcmV0dXJuIFN3YWwuZmlyZShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKiBUb2FzdCDYqNiz2YrYtyDZgtin2KjZhCDZhNil2LnYp9iv2Kkg2KfZhNin2LPYqtiu2K/Yp9mFICovXG4gIHRvYXN0KFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgaWNvbjogU3dlZXRBbGVydEljb24gPSAnaW5mbycsXG4gICAgcG9zaXRpb246IFN3ZWV0QWxlcnRPcHRpb25zWydwb3NpdGlvbiddID0gJ3RvcC1lbmQnLFxuICAgIHRpbWVyID0gMzAwMFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBUb2FzdCA9IFN3YWwubWl4aW4oe1xuICAgICAgdG9hc3Q6IHRydWUsXG4gICAgICBwb3NpdGlvbixcbiAgICAgIHRpbWVyLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgIH0pO1xuICAgIFRvYXN0LmZpcmUoeyBpY29uLCB0aXRsZSB9KTtcbiAgfVxuXG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class PermissionsService {\n _permissions$ = new BehaviorSubject(new Set());\n // Load permissions (e.g., from API or token claims)\n setPermissions(permissions) {\n this._permissions$.next(new Set(permissions));\n }\n getPermissions() {\n return Array.from(this._permissions$.value);\n }\n // Synchronous check\n isGranted(permissionName) {\n return this._permissions$.value.has(permissionName);\n }\n // Async check (optional if needed for guards or effects)\n isGrantedAsync(permissionName) {\n return new Promise(resolve => {\n resolve(this.isGranted(permissionName));\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: PermissionsService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: PermissionsService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFcEUsb0RBQW9EO0lBQ3BELGNBQWMsQ0FBQyxXQUFxQjtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixTQUFTLENBQUMsY0FBc0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxjQUFjLENBQUMsY0FBc0I7UUFDbkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F0QlUsa0JBQWtCOzJHQUFsQixrQkFBa0IsY0FETCxNQUFNOzsyRkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9wZXJtaXNzaW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNldDxzdHJpbmc+PihuZXcgU2V0KCkpO1xyXG5cclxuICAvLyBMb2FkIHBlcm1pc3Npb25zIChlLmcuLCBmcm9tIEFQSSBvciB0b2tlbiBjbGFpbXMpXHJcbiAgc2V0UGVybWlzc2lvbnMocGVybWlzc2lvbnM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9wZXJtaXNzaW9ucyQubmV4dChuZXcgU2V0KHBlcm1pc3Npb25zKSk7XHJcbiAgfVxyXG5cclxuICBnZXRQZXJtaXNzaW9ucygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9wZXJtaXNzaW9ucyQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gU3luY2hyb25vdXMgY2hlY2tcclxuICBpc0dyYW50ZWQocGVybWlzc2lvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25zJC52YWx1ZS5oYXMocGVybWlzc2lvbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gQXN5bmMgY2hlY2sgKG9wdGlvbmFsIGlmIG5lZWRlZCBmb3IgZ3VhcmRzIG9yIGVmZmVjdHMpXHJcbiAgaXNHcmFudGVkQXN5bmMocGVybWlzc2lvbk5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICByZXNvbHZlKHRoaXMuaXNHcmFudGVkKHBlcm1pc3Npb25OYW1lKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19","import { inject, Injectable } from '@angular/core';\nimport { Router, RouterStateSnapshot } from '@angular/router';\nimport { PermissionsService } from './permissions.service';\nimport { DEFAULT_REDIRECT_KEY } from '@elite.framework/ng.core/models';\nimport { isFunction, isPlainObject, transformStringToArray } from '@elite.framework/ng.core/utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./permissions.service\";\nimport * as i2 from \"@angular/router\";\nexport const ngxPermissionsGuard = (route, state) => {\n const guard = inject(NgxPermissionsGuard);\n if (state instanceof RouterStateSnapshot) {\n return guard.hasPermissions(route, state);\n }\n return guard.hasPermissions(route);\n};\nexport class NgxPermissionsGuard {\n permissions;\n router;\n constructor(permissions, router) {\n this.permissions = permissions;\n this.router = router;\n }\n canActivate(route, state) {\n return this.hasPermissions(route, state);\n }\n canActivateChild(route, state) {\n return this.hasPermissions(route, state);\n }\n canLoad(route) {\n return this.hasPermissions(route);\n }\n canMatch(route) {\n return this.hasPermissions(route);\n }\n async hasPermissions(route, state) {\n const data = route.data?.['permissions'];\n const only = [];\n const except = [];\n if (data?.only) {\n if (isFunction(data.only)) {\n const result = data.only(route, state);\n only.push(...transformStringToArray(result));\n }\n else {\n only.push(...transformStringToArray(data.only));\n }\n }\n if (data?.except) {\n if (isFunction(data.except)) {\n const result = data.except(route, state);\n except.push(...transformStringToArray(result));\n }\n else {\n except.push(...transformStringToArray(data.except));\n }\n }\n const permissions = {\n only,\n except,\n redirectTo: data?.redirectTo\n };\n // --- rest of the guard logic ---\n // EXCEPT check\n if (permissions.except?.length) {\n for (const perm of permissions.except) {\n if (await this.permissions.isGrantedAsync(perm)) {\n this.handleRedirect(permissions, perm, route, state);\n return false;\n }\n }\n }\n // ONLY check\n if (permissions.only?.length) {\n for (const perm of permissions.only) {\n if (await this.permissions.isGrantedAsync(perm)) {\n return true;\n }\n }\n this.handleRedirect(permissions, permissions.only[0], route, state);\n return false;\n }\n return true;\n }\n handleRedirect(permissions, failedPermission, route, state) {\n const redirectTo = permissions.redirectTo;\n if (!redirectTo)\n return;\n // If redirectTo is a function\n const resolvedRedirect = isFunction(redirectTo)\n ? redirectTo(failedPermission, route, state)\n : redirectTo;\n if (typeof resolvedRedirect === 'string') {\n this.router.navigate([resolvedRedirect]); // wrap string in array\n }\n else if (Array.isArray(resolvedRedirect)) {\n this.router.navigate(resolvedRedirect); // array is fine\n }\n else if (isPlainObject(resolvedRedirect)) {\n // Object: check for failedPermission key first\n const target = resolvedRedirect[failedPermission] ?? resolvedRedirect[DEFAULT_REDIRECT_KEY];\n if (target) {\n if (typeof target === 'string') {\n this.router.navigate([target]);\n }\n else if (Array.isArray(target)) {\n this.router.navigate(target);\n }\n else if (isFunction(target)) {\n this.router.navigate([target(failedPermission, route, state)]);\n }\n }\n }\n else {\n console.warn('Unknown redirect type', resolvedRedirect);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: NgxPermissionsGuard, deps: [{ token: i1.PermissionsService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: NgxPermissionsGuard, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: NgxPermissionsGuard, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i1.PermissionsService }, { type: i2.Router }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtZ3VhcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb25zLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQU1MLE1BQU0sRUFDTixtQkFBbUIsRUFFcEIsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQXdFLE1BQU0saUNBQWlDLENBQUM7QUFDN0ksT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVFuRyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBb0QsQ0FDbEYsS0FBcUMsRUFDckMsS0FBeUMsRUFDekMsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxZQUFZLG1CQUFtQixFQUFFLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUdGLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDQTtJQUZWLFlBQ1UsV0FBK0IsRUFDL0IsTUFBYztRQURkLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFFSixXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNuRSxPQUFPLElBQUks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akMsQ0FBQztxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sSUFBSSxVQUFVLENBQWUsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQzt1R0FySFksbUJBQW1COzJHQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgQ2FuQWN0aXZhdGVDaGlsZEZuLFxyXG4gIENhbkFjdGl2YXRlRm4sXHJcbiAgQ2FuTWF0Y2hGbixcclxuICBSb3V0ZSxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICBVcmxTZWdtZW50XHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbmltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IERFRkFVTFRfUkVESVJFQ1RfS0VZLCBFeGNlcHRGbiwgTmd4UGVybWlzc2lvbnNSb3V0ZXJEYXRhLCBPbmx5Rm4sIFJlZGlyZWN0VG8sIFJlZGlyZWN0VG9GbiB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc1BsYWluT2JqZWN0LCB0cmFuc2Zvcm1TdHJpbmdUb0FycmF5IH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3V0aWxzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmd4UGVybWlzc2lvbnNEYXRhIHtcclxuICBvbmx5Pzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgZXhjZXB0Pzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcmVkaXJlY3RUbz86IFJlZGlyZWN0VG8gfCBSZWRpcmVjdFRvRm4gfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBuZ3hQZXJtaXNzaW9uc0d1YXJkOiBDYW5BY3RpdmF0ZUZuIHwgQ2FuQWN0aXZhdGVDaGlsZEZuIHwgQ2FuTWF0Y2hGbiA9IChcclxuICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IFJvdXRlLFxyXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgVXJsU2VnbWVudFtdXHJcbikgPT4ge1xyXG4gIGNvbnN0IGd1YXJkID0gaW5qZWN0KE5neFBlcm1pc3Npb25zR3VhcmQpO1xyXG4gIGlmIChzdGF0ZSBpbnN0YW5jZW9mIFJvdXRlclN0YXRlU25hcHNob3QpIHtcclxuICAgIHJldHVybiBndWFyZC5oYXNQZXJtaXNzaW9ucyhyb3V0ZSwgc3RhdGUpO1xyXG4gIH1cclxuICByZXR1cm4gZ3VhcmQuaGFzUGVybWlzc2lvbnMocm91dGUpO1xyXG59O1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE5neFBlcm1pc3Npb25zR3VhcmQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uczogUGVybWlzc2lvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNQZXJtaXNzaW9ucyhyb3V0ZSwgc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb25zKHJvdXRlLCBzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBjYW5Mb2FkKHJvdXRlOiBSb3V0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzUGVybWlzc2lvbnMocm91dGUpO1xyXG4gIH1cclxuXHJcbiAgY2FuTWF0Y2gocm91dGU6IFJvdXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNQZXJtaXNzaW9ucyhyb3V0ZSk7XHJcbiAgfVxyXG5cclxuYXN5bmMgaGFzUGVybWlzc2lvbnMocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBSb3V0ZSwgc3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgY29uc3QgZGF0YSA9IHJvdXRlLmRhdGE/LlsncGVybWlzc2lvbnMnXSBhcyBOZ3hQZXJtaXNzaW9uc1JvdXRlckRhdGEgfCB1bmRlZmluZWQ7XHJcbiAgY29uc3Qgb25seTogc3RyaW5nW10gPSBbXTtcclxuICBjb25zdCBleGNlcHQ6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGlmIChkYXRhPy5vbmx5KSB7XHJcbiAgICBpZiAoaXNGdW5jdGlvbjxPbmx5Rm4+KGRhdGEub25seSkpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gZGF0YS5vbmx5KHJvdXRlLCBzdGF0ZSk7XHJcbiAgICAgIG9ubHkucHVzaCguLi50cmFuc2Zvcm1TdHJpbmdUb0FycmF5KHJlc3VsdCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb25seS5wdXNoKC4uLnRyYW5zZm9ybVN0cmluZ1RvQXJyYXkoZGF0YS5vbmx5KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZiAoZGF0YT8uZXhjZXB0KSB7XHJcbiAgICBpZiAoaXNGdW5jdGlvbjxFeGNlcHRGbj4oZGF0YS5leGNlcHQpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGRhdGEuZXhjZXB0KHJvdXRlLCBzdGF0ZSk7XHJcbiAgICAgIGV4Y2VwdC5wdXNoKC4uLnRyYW5zZm9ybVN0cmluZ1RvQXJyYXkocmVzdWx0KSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBleGNlcHQucHVzaCguLi50cmFuc2Zvcm1TdHJpbmdUb0FycmF5KGRhdGEuZXhjZXB0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBwZXJtaXNzaW9uczogTmd4UGVybWlzc2lvbnNEYXRhID0ge1xyXG4gICAgb25seSxcclxuICAgIGV4Y2VwdCxcclxuICAgIHJlZGlyZWN0VG86IGRhdGE/LnJlZGlyZWN0VG9cclxuICB9O1xyXG5cclxuICAvLyAtLS0gcmVzdCBvZiB0aGUgZ3VhcmQgbG9naWMgLS0tXHJcbiAgLy8gRVhDRVBUIGNoZWNrXHJcbiAgaWYgKHBlcm1pc3Npb25zLmV4Y2VwdD8ubGVuZ3RoKSB7XHJcbiAgICBmb3IgKGNvbnN0IHBlcm0gb2YgcGVybWlzc2lvbnMuZXhjZXB0KSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLnBlcm1pc3Npb25zLmlzR3JhbnRlZEFzeW5jKHBlcm0pKSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVSZWRpcmVjdChwZXJtaXNzaW9ucywgcGVybSwgcm91dGUsIHN0YXRlKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE9OTFkgY2hlY2tcclxuICBpZiAocGVybWlzc2lvbnMub25seT8ubGVuZ3RoKSB7XHJcbiAgICBmb3IgKGNvbnN0IHBlcm0gb2YgcGVybWlzc2lvbnMub25seSkge1xyXG4gICAgICBpZiAoYXdhaXQgdGhpcy5wZXJtaXNzaW9ucy5pc0dyYW50ZWRBc3luYyhwZXJtKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmhhbmRsZVJlZGlyZWN0KHBlcm1pc3Npb25zLCBwZXJtaXNzaW9ucy5vbmx5WzBdLCByb3V0ZSwgc3RhdGUpO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcblxyXG5wcml2YXRlIGhhbmRsZVJlZGlyZWN0KFxyXG4gIHBlcm1pc3Npb25zOiBOZ3hQZXJtaXNzaW9uc0RhdGEsXHJcbiAgZmFpbGVkUGVybWlzc2lvbjogc3RyaW5nLFxyXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgUm91dGUsXHJcbiAgc3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbikge1xyXG4gIGNvbnN0IHJlZGlyZWN0VG8gPSBwZXJtaXNzaW9ucy5yZWRpcmVjdFRvO1xyXG5cclxuICBpZiAoIXJlZGlyZWN0VG8pIHJldHVybjtcclxuXHJcbiAgLy8gSWYgcmVkaXJlY3RUbyBpcyBhIGZ1bmN0aW9uXHJcbiAgY29uc3QgcmVzb2x2ZWRSZWRpcmVjdCA9XHJcbiAgICBpc0Z1bmN0aW9uPFJlZGlyZWN0VG9Gbj4ocmVkaXJlY3RUbylcclxuICAgICAgPyByZWRpcmVjdFRvKGZhaWxlZFBlcm1pc3Npb24sIHJvdXRlLCBzdGF0ZSlcclxuICAgICAgOiByZWRpcmVjdFRvO1xyXG5cclxuICBpZiAodHlwZW9mIHJlc29sdmVkUmVkaXJlY3QgPT09ICdzdHJpbmcnKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmVzb2x2ZWRSZWRpcmVjdF0pOyAvLyB3cmFwIHN0cmluZyBpbiBhcnJheVxyXG4gIH1cclxuICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlc29sdmVkUmVkaXJlY3QpKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyZXNvbHZlZFJlZGlyZWN0KTsgLy8gYXJyYXkgaXMgZmluZVxyXG4gIH1cclxuICBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHJlc29sdmVkUmVkaXJlY3QpKSB7XHJcbiAgICAvLyBPYmplY3Q6IGNoZWNrIGZvciBmYWlsZWRQZXJtaXNzaW9uIGtleSBmaXJzdFxyXG4gICAgY29uc3QgdGFyZ2V0ID1cclxuICAgICAgcmVzb2x2ZWRSZWRpcmVjdFtmYWlsZWRQZXJtaXNzaW9uXSA/PyByZXNvbHZlZFJlZGlyZWN0W0RFRkFVTFRfUkVESVJFQ1RfS0VZXTtcclxuXHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0YXJnZXRdKTtcclxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkpIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0YXJnZXQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb248UmVkaXJlY3RUb0ZuPih0YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RhcmdldChmYWlsZWRQZXJtaXNzaW9uLCByb3V0ZSwgc3RhdGUpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZWxzZSB7XHJcbiAgICBjb25zb2xlLndhcm4oJ1Vua25vd24gcmVkaXJlY3QgdHlwZScsIHJlc29sdmVkUmVkaXJlY3QpO1xyXG4gIH1cclxufVxyXG5cclxufVxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvc2VydmljZXMvc3JjL2VsaXRlLmZyYW1ld29yay1uZy5jb3JlLXNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.RestService","i1.PermissionsService"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
class UtilsModule {
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: UtilsModule, imports: [CommonModule] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: UtilsModule, imports: [CommonModule] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: UtilsModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [CommonModule],
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
|
|
17
|
+
function isFunction(value) {
|
|
18
|
+
return typeof value === 'function';
|
|
19
|
+
}
|
|
20
|
+
function isPlainObject(value) {
|
|
21
|
+
if (Object.prototype.toString.call(value) !== '[object Object]') {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const prototype = Object.getPrototypeOf(value);
|
|
26
|
+
return prototype === null || prototype === Object.prototype;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function isString(value) {
|
|
30
|
+
return !!value && typeof value === 'string';
|
|
31
|
+
}
|
|
32
|
+
function isBoolean(value) {
|
|
33
|
+
return typeof value === 'boolean';
|
|
34
|
+
}
|
|
35
|
+
function isPromise(promise) {
|
|
36
|
+
return Object.prototype.toString.call(promise) === '[object Promise]';
|
|
37
|
+
}
|
|
38
|
+
function notEmptyValue(value) {
|
|
39
|
+
if (Array.isArray(value)) {
|
|
40
|
+
return value.length > 0;
|
|
41
|
+
}
|
|
42
|
+
return !!value;
|
|
43
|
+
}
|
|
44
|
+
function transformStringToArray(value) {
|
|
45
|
+
if (isString(value)) {
|
|
46
|
+
return [value];
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Generated bundle index. Do not edit.
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
export { UtilsModule, isBoolean, isFunction, isPlainObject, isPromise, isString, notEmptyValue, transformStringToArray };
|
|
56
|
+
//# sourceMappingURL=elite.framework-ng.core-utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-utils.mjs","sources":["../tmp-esm2022/utils/lib/utils-module.js","../tmp-esm2022/utils/lib/utils.js","../tmp-esm2022/utils/elite.framework-ng.core-utils.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class UtilsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: UtilsModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: UtilsModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: UtilsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL3V0aWxzL3NyYy9saWIvdXRpbHMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sV0FBVzt1R0FBWCxXQUFXO3dHQUFYLFdBQVcsWUFGWixZQUFZO3dHQUVYLFdBQVcsWUFGWixZQUFZOzsyRkFFWCxXQUFXO2tCQUh2QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzTW9kdWxlIHt9XG4iXX0=","export function isFunction(value) {\n return typeof value === 'function';\n}\nexport function isPlainObject(value) {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false;\n }\n else {\n const prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n }\n}\nexport function isString(value) {\n return !!value && typeof value === 'string';\n}\nexport function isBoolean(value) {\n return typeof value === 'boolean';\n}\nexport function isPromise(promise) {\n return Object.prototype.toString.call(promise) === '[object Promise]';\n}\nexport function notEmptyValue(value) {\n if (Array.isArray(value)) {\n return value.length > 0;\n }\n return !!value;\n}\nexport function transformStringToArray(value) {\n if (isString(value)) {\n return [value];\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvdXRpbHMvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVSxDQUFJLEtBQVU7SUFDcEMsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBVTtJQUNwQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1FBQzlELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxPQUFPLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDaEUsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDL0IsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ2hDLE9BQU8sT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQVk7SUFDbEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssa0JBQWtCLENBQUM7QUFDMUUsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBd0I7SUFDbEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBd0I7SUFDM0QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbjxUPih2YWx1ZTogYW55KTogdmFsdWUgaXMgVCB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSAhPT0gJ1tvYmplY3QgT2JqZWN0XScpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3RvdHlwZSA9PT0gbnVsbCB8fCBwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KTogdmFsdWUgaXMgc3RyaW5nIHtcclxuICAgIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IHZhbHVlIGlzIGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9taXNlKHByb21pc2U6IGFueSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9taXNlKSA9PT0gJ1tvYmplY3QgUHJvbWlzZV0nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm90RW1wdHlWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICEhdmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1TdHJpbmdUb0FycmF5KHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcclxuICAgIGlmIChpc1N0cmluZyh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gW3ZhbHVlXTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvdXRpbHMvc3JjL2VsaXRlLmZyYW1ld29yay1uZy5jb3JlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":";;;;AAGO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAC/I,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAC/I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACbN,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,IAAI,OAAO,OAAO,KAAK,KAAK,UAAU;AACtC;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE;AACrE,QAAQ,OAAO,KAAK;AACpB;AACA,SAAS;AACT,QAAQ,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AACtD,QAAQ,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS;AACnE;AACA;AACO,SAAS,QAAQ,CAAC,KAAK,EAAE;AAChC,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;AAC/C;AACO,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,IAAI,OAAO,OAAO,KAAK,KAAK,SAAS;AACrC;AACO,SAAS,SAAS,CAAC,OAAO,EAAE;AACnC,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB;AACzE;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,QAAQ,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;AAC/B;AACA,IAAI,OAAO,CAAC,CAAC,KAAK;AAClB;AACO,SAAS,sBAAsB,CAAC,KAAK,EAAE;AAC9C,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACzB,QAAQ,OAAO,CAAC,KAAK,CAAC;AACtB;AACA,IAAI,OAAO,KAAK;AAChB;;AChCA;AACA;AACA;;;;"}
|
package/models/index.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { MenuItem } from 'primeng/api';
|
|
1
2
|
import { HttpParameterCodec, HttpParams, HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { ActivatedRouteSnapshot, Route, RouterStateSnapshot, NavigationExtras } from '@angular/router';
|
|
2
4
|
|
|
3
5
|
interface ActionDef<T> {
|
|
4
6
|
name: string;
|
|
5
7
|
icon?: string;
|
|
6
8
|
label?: string;
|
|
7
9
|
styleClass?: string;
|
|
10
|
+
order?: number;
|
|
11
|
+
permissions?: string[];
|
|
8
12
|
action?: (item: T) => void | Promise<void>;
|
|
13
|
+
visible?: boolean;
|
|
14
|
+
permission?: string;
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
declare class AttachmentDto {
|
|
@@ -26,8 +32,11 @@ interface ButtonConfig {
|
|
|
26
32
|
variant: 'text' | 'outlined' | 'raised' | 'rounded';
|
|
27
33
|
severity: 'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'danger' | 'help' | 'contrast';
|
|
28
34
|
size: 'small' | 'normal' | 'large';
|
|
29
|
-
actionName?: string;
|
|
30
35
|
permission?: string;
|
|
36
|
+
visible?: boolean;
|
|
37
|
+
splitActions?: MenuItem[];
|
|
38
|
+
actionName?: string;
|
|
39
|
+
action?: (item: any) => void | Promise<void>;
|
|
31
40
|
}
|
|
32
41
|
|
|
33
42
|
interface ColumnDef<T> {
|
|
@@ -131,5 +140,30 @@ declare namespace Rest {
|
|
|
131
140
|
}
|
|
132
141
|
}
|
|
133
142
|
|
|
134
|
-
|
|
135
|
-
|
|
143
|
+
interface NgxPermissionsRouterData {
|
|
144
|
+
only?: string | string[] | OnlyFn | any;
|
|
145
|
+
except?: string | string[] | ExceptFn | any;
|
|
146
|
+
redirectTo?: RedirectTo | RedirectToFn;
|
|
147
|
+
}
|
|
148
|
+
interface NgxRedirectToNavigationParameters {
|
|
149
|
+
navigationCommands: any[] | NavigationCommandsFn;
|
|
150
|
+
navigationExtras?: NavigationExtras | NavigationExtrasFn;
|
|
151
|
+
}
|
|
152
|
+
declare type OnlyFn = (route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot) => string | string[];
|
|
153
|
+
declare type ExceptFn = (route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot) => string | string[];
|
|
154
|
+
declare type RedirectTo = string | {
|
|
155
|
+
[name: string]: NgxRedirectToNavigationParameters | string | RedirectToFn;
|
|
156
|
+
} | NgxRedirectToNavigationParameters;
|
|
157
|
+
declare type RedirectToFn = (rejectedPermissionName?: string, route?: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot) => RedirectTo;
|
|
158
|
+
declare type NavigationCommandsFn = (route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot) => any[];
|
|
159
|
+
declare type NavigationExtrasFn = (route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot) => NavigationExtras;
|
|
160
|
+
declare type ValidationFn = ((name?: string, store?: any) => Promise<void | string | boolean> | boolean | string[]);
|
|
161
|
+
declare const DEFAULT_REDIRECT_KEY = "default";
|
|
162
|
+
|
|
163
|
+
interface NgxPermission {
|
|
164
|
+
name: string;
|
|
165
|
+
validationFunction?: ValidationFn;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export { AttachmentDto, DEFAULT_REDIRECT_KEY, GeneralResponse, ListResultDto, PagedResultDto, Rest, checkHasProp };
|
|
169
|
+
export type { ActionDef, ButtonConfig, ColumnDef, ExceptFn, FilterDef, FilterType, NavigationCommandsFn, NavigationExtrasFn, NgxPermission, NgxPermissionsRouterData, NgxRedirectToNavigationParameters, OnlyFn, PaginatedResult, RedirectTo, RedirectToFn, Root, ValidationFn };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elite.framework/ng.core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^20.1.0",
|
|
6
6
|
"@angular/core": "^20.1.0"
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"types": "./directives/index.d.ts",
|
|
21
21
|
"default": "./fesm2022/elite.framework-ng.core-directives.mjs"
|
|
22
22
|
},
|
|
23
|
-
"./interceptors": {
|
|
24
|
-
"types": "./interceptors/index.d.ts",
|
|
25
|
-
"default": "./fesm2022/elite.framework-ng.core-interceptors.mjs"
|
|
26
|
-
},
|
|
27
23
|
"./models": {
|
|
28
24
|
"types": "./models/index.d.ts",
|
|
29
25
|
"default": "./fesm2022/elite.framework-ng.core-models.mjs"
|
|
30
26
|
},
|
|
27
|
+
"./interceptors": {
|
|
28
|
+
"types": "./interceptors/index.d.ts",
|
|
29
|
+
"default": "./fesm2022/elite.framework-ng.core-interceptors.mjs"
|
|
30
|
+
},
|
|
31
31
|
"./pipes": {
|
|
32
32
|
"types": "./pipes/index.d.ts",
|
|
33
33
|
"default": "./fesm2022/elite.framework-ng.core-pipes.mjs"
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"./tokens": {
|
|
44
44
|
"types": "./tokens/index.d.ts",
|
|
45
45
|
"default": "./fesm2022/elite.framework-ng.core-tokens.mjs"
|
|
46
|
+
},
|
|
47
|
+
"./utils": {
|
|
48
|
+
"types": "./utils/index.d.ts",
|
|
49
|
+
"default": "./fesm2022/elite.framework-ng.core-utils.mjs"
|
|
46
50
|
}
|
|
47
51
|
},
|
|
48
52
|
"dependencies": {
|
package/services/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as rxjs from 'rxjs';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { HttpClient, HttpRequest } from '@angular/common/http';
|
|
4
|
-
import { Root, Rest, PaginatedResult } from '@elite.framework/ng.core/models';
|
|
4
|
+
import { Root, Rest, PaginatedResult, RedirectTo, RedirectToFn } from '@elite.framework/ng.core/models';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { InjectionToken } from '@angular/core';
|
|
7
7
|
import * as qs from 'qs';
|
|
8
8
|
import * as express_serve_static_core from 'express-serve-static-core';
|
|
9
9
|
import { Request } from 'express';
|
|
10
10
|
import { SweetAlertResult, SweetAlertOptions, SweetAlertIcon } from 'sweetalert2';
|
|
11
|
+
import { CanActivateFn, CanActivateChildFn, CanMatchFn, Router, ActivatedRouteSnapshot, RouterStateSnapshot, Route } from '@angular/router';
|
|
11
12
|
|
|
12
13
|
declare class RestService {
|
|
13
14
|
protected options: Root;
|
|
@@ -246,5 +247,35 @@ declare class SwalService {
|
|
|
246
247
|
static ɵprov: i0.ɵɵInjectableDeclaration<SwalService>;
|
|
247
248
|
}
|
|
248
249
|
|
|
249
|
-
|
|
250
|
-
|
|
250
|
+
declare class PermissionsService {
|
|
251
|
+
private _permissions$;
|
|
252
|
+
setPermissions(permissions: string[]): void;
|
|
253
|
+
getPermissions(): string[];
|
|
254
|
+
isGranted(permissionName: string): boolean;
|
|
255
|
+
isGrantedAsync(permissionName: string): Promise<boolean>;
|
|
256
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PermissionsService, never>;
|
|
257
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PermissionsService>;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
interface NgxPermissionsData {
|
|
261
|
+
only?: string | string[];
|
|
262
|
+
except?: string | string[];
|
|
263
|
+
redirectTo?: RedirectTo | RedirectToFn | any;
|
|
264
|
+
}
|
|
265
|
+
declare const ngxPermissionsGuard: CanActivateFn | CanActivateChildFn | CanMatchFn;
|
|
266
|
+
declare class NgxPermissionsGuard {
|
|
267
|
+
private permissions;
|
|
268
|
+
private router;
|
|
269
|
+
constructor(permissions: PermissionsService, router: Router);
|
|
270
|
+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>;
|
|
271
|
+
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>;
|
|
272
|
+
canLoad(route: Route): Promise<boolean>;
|
|
273
|
+
canMatch(route: Route): Promise<boolean>;
|
|
274
|
+
hasPermissions(route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot): Promise<boolean>;
|
|
275
|
+
private handleRedirect;
|
|
276
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxPermissionsGuard, never>;
|
|
277
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgxPermissionsGuard>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export { BaseService, GenericService, NgxPermissionsGuard, PermissionsService, REQUEST, RestService, SsrCookieService, SwalService, isUndefinedOrEmptyString, ngxPermissionsGuard };
|
|
281
|
+
export type { CrudService, NgxPermissionsData };
|
package/utils/README.md
ADDED
package/utils/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@angular/common';
|
|
3
|
+
|
|
4
|
+
declare class UtilsModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UtilsModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UtilsModule, never, [typeof i1.CommonModule], never>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<UtilsModule>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare function isFunction<T>(value: any): value is T;
|
|
11
|
+
declare function isPlainObject(value: any): boolean;
|
|
12
|
+
declare function isString(value: any): value is string;
|
|
13
|
+
declare function isBoolean(value: any): value is boolean;
|
|
14
|
+
declare function isPromise(promise: any): boolean;
|
|
15
|
+
declare function notEmptyValue(value: string | string[]): boolean;
|
|
16
|
+
declare function transformStringToArray(value: string | string[]): string[];
|
|
17
|
+
|
|
18
|
+
export { UtilsModule, isBoolean, isFunction, isPlainObject, isPromise, isString, notEmptyValue, transformStringToArray };
|