iptdevs-design-system 2.6.34 → 2.6.36

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.
Files changed (114) hide show
  1. package/README.md +24 -24
  2. package/esm2020/iptdevs-design-system.mjs +4 -4
  3. package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +50 -50
  4. package/esm2020/lib/components/atoms/button/button.component.mjs +64 -64
  5. package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +47 -47
  6. package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +94 -94
  7. package/esm2020/lib/components/atoms/input/input.component.mjs +145 -145
  8. package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +64 -64
  9. package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +19 -19
  10. package/esm2020/lib/components/atoms/loader/loader.component.mjs +48 -48
  11. package/esm2020/lib/components/atoms/radio/radio.component.mjs +47 -47
  12. package/esm2020/lib/components/atoms/select/select.component.mjs +92 -92
  13. package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +39 -39
  14. package/esm2020/lib/components/components.module.mjs +118 -118
  15. package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +228 -228
  16. package/esm2020/lib/components/forms/login-form/login-form.component.mjs +93 -93
  17. package/esm2020/lib/components/material.module.mjs +19 -19
  18. package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +146 -146
  19. package/esm2020/lib/core/core.module.mjs +52 -49
  20. package/esm2020/lib/core/models/activities/activities.interface.mjs +2 -2
  21. package/esm2020/lib/core/models/attendance/attendance.interface.mjs +2 -2
  22. package/esm2020/lib/core/models/budget/budget.model.mjs +2 -2
  23. package/esm2020/lib/core/models/calendar/calendar-rq.models.mjs +2 -2
  24. package/esm2020/lib/core/models/classroom/classroom-rq.model.mjs +2 -2
  25. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -2
  26. package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -2
  27. package/esm2020/lib/core/models/cronogram/cronogram.models.mjs +2 -2
  28. package/esm2020/lib/core/models/marketing/marketing.model.mjs +2 -2
  29. package/esm2020/lib/core/models/notes/notes.interface.mjs +2 -2
  30. package/esm2020/lib/core/models/response/response.interface.mjs +2 -2
  31. package/esm2020/lib/core/models/session/session.model.mjs +3 -3
  32. package/esm2020/lib/core/models/student/student.interface.mjs +2 -2
  33. package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -2
  34. package/esm2020/lib/core/models/test/test.model.mjs +2 -2
  35. package/esm2020/lib/core/models/url/url.model.mjs +2 -2
  36. package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -2
  37. package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -5
  38. package/esm2020/lib/core/services/activity-service/activity.service.mjs +92 -0
  39. package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +64 -64
  40. package/esm2020/lib/core/services/budget-service/budget-service.mjs +41 -41
  41. package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +39 -39
  42. package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +31 -31
  43. package/esm2020/lib/core/services/course-service/course-service.model.mjs +75 -75
  44. package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +57 -57
  45. package/esm2020/lib/core/services/notes-service/notes.service.mjs +50 -50
  46. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +114 -114
  47. package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -50
  48. package/esm2020/lib/core/services/student-service/student.service.mjs +30 -30
  49. package/esm2020/lib/core/services/switch-service/switch.service.mjs +16 -16
  50. package/esm2020/lib/core/services/test-service/test.service.mjs +136 -136
  51. package/esm2020/lib/core/services/user-service/user-service.mjs +84 -84
  52. package/esm2020/lib/core/utils/base-service/base.service.mjs +179 -179
  53. package/esm2020/lib/core/utils/route-service/route.service.mjs +18 -18
  54. package/esm2020/lib/design-system.module.mjs +36 -36
  55. package/esm2020/public-api.mjs +60 -60
  56. package/fesm2015/iptdevs-design-system.mjs +2254 -2164
  57. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  58. package/fesm2020/iptdevs-design-system.mjs +2251 -2161
  59. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  60. package/iptdevs-design-system.d.ts +5 -5
  61. package/lib/components/atoms/aside-button/aside-button.component.d.ts +11 -11
  62. package/lib/components/atoms/button/button.component.d.ts +13 -13
  63. package/lib/components/atoms/checkbox/checkbox.component.d.ts +11 -11
  64. package/lib/components/atoms/datalist/datalist.component.d.ts +20 -20
  65. package/lib/components/atoms/input/input.component.d.ts +26 -26
  66. package/lib/components/atoms/level-button/level-button.component.d.ts +11 -11
  67. package/lib/components/atoms/level-text/level-text.component.d.ts +7 -7
  68. package/lib/components/atoms/loader/loader.component.d.ts +7 -7
  69. package/lib/components/atoms/radio/radio.component.d.ts +11 -11
  70. package/lib/components/atoms/select/select.component.d.ts +24 -24
  71. package/lib/components/atoms/text-link/text-link.component.d.ts +12 -12
  72. package/lib/components/components.module.d.ts +24 -24
  73. package/lib/components/forms/create-user-form/create-user-form.component.d.ts +36 -36
  74. package/lib/components/forms/login-form/login-form.component.d.ts +13 -13
  75. package/lib/components/material.module.d.ts +11 -11
  76. package/lib/components/molecules/sidenav/sidenav.component.d.ts +22 -22
  77. package/lib/core/core.module.d.ts +6 -6
  78. package/lib/core/models/activities/activities.interface.d.ts +12 -6
  79. package/lib/core/models/attendance/attendance.interface.d.ts +62 -62
  80. package/lib/core/models/budget/budget.model.d.ts +69 -69
  81. package/lib/core/models/calendar/calendar-rq.models.d.ts +27 -27
  82. package/lib/core/models/classroom/classroom-rq.model.d.ts +4 -4
  83. package/lib/core/models/cod/cod-rq.model.d.ts +51 -51
  84. package/lib/core/models/course/course-rq.model.d.ts +86 -86
  85. package/lib/core/models/cronogram/cronogram.models.d.ts +95 -95
  86. package/lib/core/models/marketing/marketing.model.d.ts +104 -104
  87. package/lib/core/models/notes/notes.interface.d.ts +89 -89
  88. package/lib/core/models/response/response.interface.d.ts +10 -10
  89. package/lib/core/models/session/session.model.d.ts +5 -5
  90. package/lib/core/models/student/student.interface.d.ts +4 -4
  91. package/lib/core/models/table/table-rs.model.d.ts +7 -7
  92. package/lib/core/models/test/test.model.d.ts +219 -219
  93. package/lib/core/models/url/url.model.d.ts +8 -8
  94. package/lib/core/models/user/user-rq.model.d.ts +91 -91
  95. package/lib/core/models/user/user-rs.model.d.ts +35 -35
  96. package/lib/core/services/activity-service/activity.service.d.ts +26 -0
  97. package/lib/core/services/attendance-service/attendance.service.d.ts +22 -22
  98. package/lib/core/services/budget-service/budget-service.d.ts +16 -16
  99. package/lib/core/services/calendar-service/calendar.service.d.ts +18 -18
  100. package/lib/core/services/classroom-service/classroom-service.service.d.ts +14 -14
  101. package/lib/core/services/course-service/course-service.model.d.ts +24 -24
  102. package/lib/core/services/marketing-service/marketing-service.d.ts +20 -20
  103. package/lib/core/services/notes-service/notes.service.d.ts +19 -19
  104. package/lib/core/services/parameters-service/parameters.service.d.ts +34 -34
  105. package/lib/core/services/storage-service/storage-service.d.ts +18 -18
  106. package/lib/core/services/student-service/student.service.d.ts +14 -14
  107. package/lib/core/services/switch-service/switch.service.d.ts +8 -8
  108. package/lib/core/services/test-service/test.service.d.ts +35 -35
  109. package/lib/core/services/user-service/user-service.d.ts +26 -26
  110. package/lib/core/utils/base-service/base.service.d.ts +21 -21
  111. package/lib/core/utils/route-service/route.service.d.ts +9 -9
  112. package/lib/design-system.module.d.ts +9 -9
  113. package/package.json +1 -1
  114. package/public-api.d.ts +51 -51
@@ -1,84 +1,84 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class UserService {
6
- constructor(http) {
7
- this.http = http;
8
- this.SERVICE_URL = 'https://iptdev.com.co/lab/users/api/';
9
- }
10
- login(userLogin) {
11
- let serviceUrl = this.SERVICE_URL + 'post/login';
12
- this.generateRequestParams(userLogin);
13
- return this.http.post(serviceUrl, this.httpOptions);
14
- }
15
- resetPassword(resetPassword) {
16
- let serviceUrl = this.SERVICE_URL + 'reset/password';
17
- this.generateRequestParams(resetPassword);
18
- return this.http.post(serviceUrl, this.httpOptions);
19
- }
20
- register(user) {
21
- let serviceUrl = this.SERVICE_URL + 'post/create/web';
22
- this.generateRequestParams(user);
23
- return this.http.post(serviceUrl, this.httpOptions);
24
- }
25
- registerIndex(register) {
26
- let serviceUrl = this.SERVICE_URL + 'post/create/marketing';
27
- this.generateRequestParams(register);
28
- return this.http.post(serviceUrl, this.httpOptions);
29
- }
30
- registerDashboard(user) {
31
- let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';
32
- this.generateRequestParams(user);
33
- return this.http.post(serviceUrl, this.httpOptions);
34
- }
35
- getAvailableTeachers(token) {
36
- let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';
37
- this.generateRequestParams(token);
38
- return this.http.post(serviceUrl, this.httpOptions);
39
- }
40
- getAllAdvisor(userToken) {
41
- let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';
42
- this.generateRequestParams(userToken);
43
- return this.http.post(serviceUrl, this.httpOptions);
44
- }
45
- getByRoleUser(codeRole) {
46
- let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;
47
- return this.http.get(serviceUrl);
48
- }
49
- getUserStatistics(userToken) {
50
- let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';
51
- this.generateRequestParams(userToken);
52
- return this.http.post(serviceUrl, this.httpOptions);
53
- }
54
- getRoutesForRole(token) {
55
- let serviceUrl = this.SERVICE_URL + 'post/routes/role';
56
- this.generateRequestParams(token);
57
- return this.http.post(serviceUrl, this.httpOptions);
58
- }
59
- getStudents(token) {
60
- let serviceUrl = this.SERVICE_URL + 'post/obtain/students';
61
- this.generateRequestParams(token);
62
- return this.http.post(serviceUrl, this.httpOptions);
63
- }
64
- getStudent(token) {
65
- let serviceUrl = this.SERVICE_URL + 'post/obtain/student';
66
- this.generateRequestParams(token);
67
- return this.http.post(serviceUrl, this.httpOptions);
68
- }
69
- generateRequestParams(param) {
70
- this.httpOptions = {
71
- header: new HttpHeaders(),
72
- params: param,
73
- };
74
- }
75
- }
76
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
77
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root',
82
- }]
83
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUS9ELE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsZ0JBQVcsR0FBRyxzQ0FBc0MsQ0FBQztJQUl0QixDQUFDO0lBRXhDLEtBQUssQ0FBQyxTQUFrQjtRQUN0QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsYUFBK0I7UUFDM0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUNyRCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0I7UUFDdkIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FB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QUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsTUFBTSxFQUFFLElBQUksV0FBVyxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztJQUNKLENBQUM7O3dHQW5GVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWdpc3RlckluZGV4UnEsIFJlZ2lzdGVyRGFzaGJvYXJkUnEsIFVzZXJUb2tlblJxLCBGb3Jnb3RQYXNzd29yZFJxLCBMb2dpblJxLCBSZWdpc3RlclJxLCBnZXRTdHVkZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcbmltcG9ydCB7IGdldFN0cmF0ZWd5QnlVc2VyQ29tbWVyY2lhbFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcmtldGluZy9tYXJrZXRpbmcubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xuICBwcml2YXRlIFNFUlZJQ0VfVVJMID0gJ2h0dHBzOi8vaXB0ZGV2LmNvbS5jby9sYWIvdXNlcnMvYXBpLyc7XG5cbiAgaHR0cE9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgbG9naW4odXNlckxvZ2luOiBMb2dpblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9sb2dpbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlckxvZ2luKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKHJlc2V0UGFzc3dvcmQ6IEZvcmdvdFBhc3N3b3JkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdyZXNldC9wYXNzd29yZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVzZXRQYXNzd29yZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVnaXN0ZXIodXNlcjogUmVnaXN0ZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3dlYic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVnaXN0ZXJJbmRleChyZWdpc3RlcjogUmVnaXN0ZXJJbmRleFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvbWFya2V0aW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZWdpc3Rlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVnaXN0ZXJEYXNoYm9hcmQodXNlcjogUmVnaXN0ZXJEYXNoYm9hcmRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2Rhc2hib2FyZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QXZhaWxhYmxlVGVhY2hlcnModG9rZW46IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vdGVhY2hlcnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxBZHZpc29yKHVzZXJUb2tlbjogZ2V0U3RyYXRlZ3lCeVVzZXJDb21tZXJjaWFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gIHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vYWxsL3VzZXIvY29tbWVyY2lhbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlclRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRCeVJvbGVVc2VyKGNvZGVSb2xlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL2J5L3JvbGUvdXNlci8nICsgY29kZVJvbGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRVc2VyU3RhdGlzdGljcyh1c2VyVG9rZW46IGdldFN0cmF0ZWd5QnlVc2VyQ29tbWVyY2lhbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9ICB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb250YWN0L3N0cmF0ZWd5L3N0YXRpc3RpY3MnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Um91dGVzRm9yUm9sZSh0b2tlbjogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3JvdXRlcy9yb2xlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh0b2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudHModG9rZW46IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vc3R1ZGVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdHVkZW50KHRva2VuOiBnZXRTdHVkZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh0b2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW06IGFueSkge1xuICAgIHRoaXMuaHR0cE9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXI6IG5ldyBIdHRwSGVhZGVycygpLFxuICAgICAgcGFyYW1zOiBwYXJhbSxcbiAgICB9O1xuICB9XG59XG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpHeaders } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class UserService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.SERVICE_URL = 'https://iptdev.com.co/lab/users/api/';
9
+ }
10
+ login(userLogin) {
11
+ let serviceUrl = this.SERVICE_URL + 'post/login';
12
+ this.generateRequestParams(userLogin);
13
+ return this.http.post(serviceUrl, this.httpOptions);
14
+ }
15
+ resetPassword(resetPassword) {
16
+ let serviceUrl = this.SERVICE_URL + 'reset/password';
17
+ this.generateRequestParams(resetPassword);
18
+ return this.http.post(serviceUrl, this.httpOptions);
19
+ }
20
+ register(user) {
21
+ let serviceUrl = this.SERVICE_URL + 'post/create/web';
22
+ this.generateRequestParams(user);
23
+ return this.http.post(serviceUrl, this.httpOptions);
24
+ }
25
+ registerIndex(register) {
26
+ let serviceUrl = this.SERVICE_URL + 'post/create/marketing';
27
+ this.generateRequestParams(register);
28
+ return this.http.post(serviceUrl, this.httpOptions);
29
+ }
30
+ registerDashboard(user) {
31
+ let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';
32
+ this.generateRequestParams(user);
33
+ return this.http.post(serviceUrl, this.httpOptions);
34
+ }
35
+ getAvailableTeachers(token) {
36
+ let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';
37
+ this.generateRequestParams(token);
38
+ return this.http.post(serviceUrl, this.httpOptions);
39
+ }
40
+ getAllAdvisor(userToken) {
41
+ let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';
42
+ this.generateRequestParams(userToken);
43
+ return this.http.post(serviceUrl, this.httpOptions);
44
+ }
45
+ getByRoleUser(codeRole) {
46
+ let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;
47
+ return this.http.get(serviceUrl);
48
+ }
49
+ getUserStatistics(userToken) {
50
+ let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';
51
+ this.generateRequestParams(userToken);
52
+ return this.http.post(serviceUrl, this.httpOptions);
53
+ }
54
+ getRoutesForRole(token) {
55
+ let serviceUrl = this.SERVICE_URL + 'post/routes/role';
56
+ this.generateRequestParams(token);
57
+ return this.http.post(serviceUrl, this.httpOptions);
58
+ }
59
+ getStudents(token) {
60
+ let serviceUrl = this.SERVICE_URL + 'post/obtain/students';
61
+ this.generateRequestParams(token);
62
+ return this.http.post(serviceUrl, this.httpOptions);
63
+ }
64
+ getStudent(token) {
65
+ let serviceUrl = this.SERVICE_URL + 'post/obtain/student';
66
+ this.generateRequestParams(token);
67
+ return this.http.post(serviceUrl, this.httpOptions);
68
+ }
69
+ generateRequestParams(param) {
70
+ this.httpOptions = {
71
+ header: new HttpHeaders(),
72
+ params: param,
73
+ };
74
+ }
75
+ }
76
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
77
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, providedIn: 'root' });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UserService, decorators: [{
79
+ type: Injectable,
80
+ args: [{
81
+ providedIn: 'root',
82
+ }]
83
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUS9ELE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFKNUIsZ0JBQVcsR0FBRyxzQ0FBc0MsQ0FBQztJQUl0QixDQUFDO0lBRXhDLEtBQUssQ0FBQyxTQUFrQjtRQUN0QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztRQUNqRCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsYUFBK0I7UUFDM0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUNyRCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0I7UUFDdkIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FB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QUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsTUFBTSxFQUFFLElBQUksV0FBVyxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztJQUNKLENBQUM7O3dHQW5GVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZWdpc3RlckluZGV4UnEsIFJlZ2lzdGVyRGFzaGJvYXJkUnEsIFVzZXJUb2tlblJxLCBGb3Jnb3RQYXNzd29yZFJxLCBMb2dpblJxLCBSZWdpc3RlclJxLCBnZXRTdHVkZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcclxuaW1wb3J0IHsgZ2V0U3RyYXRlZ3lCeVVzZXJDb21tZXJjaWFsUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnaHR0cHM6Ly9pcHRkZXYuY29tLmNvL2xhYi91c2Vycy9hcGkvJztcclxuXHJcbiAgaHR0cE9wdGlvbnM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICBsb2dpbih1c2VyTG9naW46IExvZ2luUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvbG9naW4nO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlckxvZ2luKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0UGFzc3dvcmQocmVzZXRQYXNzd29yZDogRm9yZ290UGFzc3dvcmRScSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncmVzZXQvcGFzc3dvcmQnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVzZXRQYXNzd29yZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlcih1c2VyOiBSZWdpc3RlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS93ZWInO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICByZWdpc3RlckluZGV4KHJlZ2lzdGVyOiBSZWdpc3RlckluZGV4UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL21hcmtldGluZyc7XHJcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZWdpc3Rlcik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICByZWdpc3RlckRhc2hib2FyZCh1c2VyOiBSZWdpc3RlckRhc2hib2FyZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9kYXNoYm9hcmQnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlcik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBnZXRBdmFpbGFibGVUZWFjaGVycyh0b2tlbjogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3RlYWNoZXJzJztcclxuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdldEFsbEFkdmlzb3IodXNlclRva2VuOiBnZXRTdHJhdGVneUJ5VXNlckNvbW1lcmNpYWxScSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgc2VydmljZVVybCA9ICB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2FsbC91c2VyL2NvbW1lcmNpYWwnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlclRva2VuKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdldEJ5Um9sZVVzZXIoY29kZVJvbGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9ieS9yb2xlL3VzZXIvJyArIGNvZGVSb2xlO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyU3RhdGlzdGljcyh1c2VyVG9rZW46IGdldFN0cmF0ZWd5QnlVc2VyQ29tbWVyY2lhbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzZXJ2aWNlVXJsID0gIHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvbnRhY3Qvc3RyYXRlZ3kvc3RhdGlzdGljcyc7XHJcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyVG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Um91dGVzRm9yUm9sZSh0b2tlbjogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvcm91dGVzL3JvbGUnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3R1ZGVudHModG9rZW46IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9zdHVkZW50cyc7XHJcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh0b2tlbik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBnZXRTdHVkZW50KHRva2VuOiBnZXRTdHVkZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3N0dWRlbnQnO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW06IGFueSkge1xyXG4gICAgdGhpcy5odHRwT3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyOiBuZXcgSHR0cEhlYWRlcnMoKSxcclxuICAgICAgcGFyYW1zOiBwYXJhbSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,179 +1,179 @@
1
- import { Injectable } from '@angular/core';
2
- import Swal from 'sweetalert2';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/user-service/user-service";
5
- import * as i2 from "../../services/storage-service/storage-service";
6
- import * as i3 from "../../services/calendar-service/calendar.service";
7
- export class BaseService {
8
- constructor(userService, storageService, calendarService) {
9
- this.userService = userService;
10
- this.storageService = storageService;
11
- this.calendarService = calendarService;
12
- }
13
- webLogin(user, password) {
14
- let request = {
15
- user: user,
16
- password: password
17
- };
18
- let service = this.userService;
19
- let storage = this.storageService;
20
- return new Promise(function (resolve, reject) {
21
- service.login(request).subscribe(response => {
22
- switch (response.message.code) {
23
- case 1:
24
- Swal.fire({
25
- 'title': '<p style="font-family: Poppins"">Perfect!</p>',
26
- 'html': '<p style="font-family: Poppins"">Succesfull login</p>',
27
- 'icon': 'success',
28
- });
29
- const loginRegisterUser = {
30
- token: response.data.token,
31
- user: response.data,
32
- };
33
- storage.setCurrentSession(loginRegisterUser);
34
- resolve(true);
35
- break;
36
- case 2:
37
- Swal.fire({
38
- 'title': '<p style="font-family: Poppins"">Warning!</p>',
39
- 'html': '<p style="font-family: Poppins"">The data does not correspond to a user registered in our system, please review them.</p>',
40
- 'icon': 'warning',
41
- });
42
- resolve(false);
43
- break;
44
- case 3:
45
- Swal.fire({
46
- 'title': '<p style="font-family: Poppins"">Error!</p>',
47
- 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
48
- 'icon': 'error',
49
- });
50
- resolve(false);
51
- break;
52
- default:
53
- Swal.fire({
54
- 'title': '<p style="font-family: Poppins"">Error!</p>',
55
- 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
56
- 'icon': 'error',
57
- });
58
- resolve(false);
59
- break;
60
- }
61
- reject('Unhandled exception');
62
- });
63
- });
64
- }
65
- getCronogramAvailability(isTeacher, code, startDate, numClass, weekDays, startTime, endTime) {
66
- let request = {
67
- isTeacher: isTeacher,
68
- code: code,
69
- startDate: startDate,
70
- numClass: numClass,
71
- weekDays: weekDays,
72
- startTime: startTime,
73
- endTime: endTime,
74
- };
75
- let service = this.calendarService;
76
- return new Promise(function (resolve, reject) {
77
- service.postCreateQueryEvent(request).subscribe((response) => {
78
- switch (response.message.code) {
79
- case 1:
80
- resolve(response.data);
81
- break;
82
- default:
83
- reject('Unhandled exception');
84
- }
85
- reject('Unhandled exception');
86
- });
87
- });
88
- }
89
- getUserRole() {
90
- let user = this.storageService.getCurrentUser()?.role;
91
- return user === undefined ? -1 : user;
92
- }
93
- getUserToken() {
94
- let token = this.storageService.getCurrentUser()?.token;
95
- return token === undefined ? '-1' : token;
96
- }
97
- getUserName() {
98
- let user = this.storageService.getCurrentUser();
99
- let response = user === null ? '' : user.name;
100
- return response;
101
- }
102
- registerUserFromDashboard(registerDashboardRq) {
103
- let request = registerDashboardRq;
104
- let service = this.userService;
105
- return new Promise(function (resolve, reject) {
106
- service.registerDashboard(request).subscribe((response) => {
107
- switch (response.message.code) {
108
- case 1:
109
- Swal.fire({
110
- 'title': '<p style="font-family: Poppins"">Perfect!</p>',
111
- 'html': '<p style="font-family: Poppins"">Sucesfull register!</p>',
112
- 'icon': 'success',
113
- });
114
- resolve(true);
115
- break;
116
- case 3:
117
- Swal.fire({
118
- 'title': '<p style="font-family: Poppins"">Error!</p>',
119
- 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
120
- 'icon': 'error',
121
- });
122
- resolve(false);
123
- break;
124
- case 4:
125
- Swal.fire({
126
- 'title': '<p style="font-family: Poppins">Ups!</p>',
127
- 'html': '<p style="font-family: Poppins">The input data has a high relation with a user that already exists!</p>',
128
- 'icon': 'warning',
129
- });
130
- resolve(false);
131
- break;
132
- default:
133
- Swal.fire({
134
- 'title': '<p style="font-family: Poppins"">Error!</p>',
135
- 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
136
- 'icon': 'error',
137
- });
138
- resolve(false);
139
- break;
140
- }
141
- reject('Unhandled exception');
142
- });
143
- });
144
- }
145
- jsonToArray(data) {
146
- var response = [];
147
- data.forEach((element) => {
148
- var object = [];
149
- for (var clave in element) {
150
- if (element.hasOwnProperty(clave)) {
151
- if (typeof element[clave] == 'object') {
152
- element[clave] = this.subJsonToArray(element[clave]);
153
- }
154
- object.push(element[clave]);
155
- }
156
- }
157
- response.push(object);
158
- });
159
- return response;
160
- }
161
- subJsonToArray(data) {
162
- var object = '';
163
- for (var clave in data) {
164
- if (clave != 'code') {
165
- object += '\n' + data[clave];
166
- }
167
- }
168
- return object;
169
- }
170
- }
171
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, deps: [{ token: i1.UserService }, { token: i2.StorageService }, { token: i3.CalendarService }], target: i0.ɵɵFactoryTarget.Injectable });
172
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, decorators: [{
174
- type: Injectable,
175
- args: [{
176
- providedIn: 'root',
177
- }]
178
- }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.StorageService }, { type: i3.CalendarService }]; } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFVL0IsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixlQUFnQztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSixRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3JDLElBQUksT0FBTyxHQUFZO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQTtRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVsQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVMsT0FBTyxFQUFFLE1BQU07WUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQzNDLFFBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLEtBQUssQ0FBQzt3QkFDSixJQUFJLENBQUMsSUFBSSxDQUFFOzRCQUNULE9BQU8sRUFBRSwrQ0FBK0M7NEJBQ3hELE1BQU0sRUFBRSx1REFBdUQ7NEJBQy9ELE1BQU0sRUFBQyxTQUFTO3lCQUNqQixDQUFDLENBQUM7d0JBRUgsTUFBTSxpQkFBaUIsR0FBWTs0QkFD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SSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7d0dBdkxVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dpblJxLCBSZWdpc3RlckRhc2hib2FyZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXItc2VydmljZS91c2VyLXNlcnZpY2UnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zZXNzaW9uL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLXNlcnZpY2Uvc3RvcmFnZS1zZXJ2aWNlJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eVF1ZXJ5UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY3Jvbm9ncmFtL2Nyb25vZ3JhbS5tb2RlbHMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItc2VydmljZS9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jlc3BvbnNlL3Jlc3BvbnNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxuICApIHt9XG5cbiAgd2ViTG9naW4odXNlcjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPntcbiAgICBsZXQgcmVxdWVzdDogTG9naW5ScSA9IHtcbiAgICAgIHVzZXI6IHVzZXIsXG4gICAgICBwYXNzd29yZDogcGFzc3dvcmRcbiAgICB9XG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLnVzZXJTZXJ2aWNlO1xuICAgIGxldCBzdG9yYWdlID0gdGhpcy5zdG9yYWdlU2VydmljZTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHNlcnZpY2UubG9naW4ocmVxdWVzdCkuc3Vic2NyaWJlKCByZXNwb25zZSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5QZXJmZWN0ITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5TdWNjZXNmdWxsIGxvZ2luPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonc3VjY2VzcycsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgbG9naW5SZWdpc3RlclVzZXI6IFNlc3Npb24gPSB7XG4gICAgICAgICAgICAgIHRva2VuOiByZXNwb25zZS5kYXRhLnRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc3RvcmFnZS5zZXRDdXJyZW50U2Vzc2lvbihsb2dpblJlZ2lzdGVyVXNlcik7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPldhcm5pbmchPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlRoZSBkYXRhIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB1c2VyIHJlZ2lzdGVyZWQgaW4gb3VyIHN5c3RlbSwgcGxlYXNlIHJldmlldyB0aGVtLjwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J3dhcm5pbmcnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkVycm9yITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgaW5wdXQgZGF0YSBkb2VzIG5vdCBtZWV0IHRoZSBlc3RhYmxpc2hlZCBwYXJhbWV0ZXJzLjwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J2Vycm9yJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+RXJyb3IhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgZ2V0Q3Jvbm9ncmFtQXZhaWxhYmlsaXR5KGlzVGVhY2hlcjogYm9vbGVhbiwgY29kZTogbnVtYmVyLCBzdGFydERhdGU6IHN0cmluZywgbnVtQ2xhc3M6IG51bWJlciwgd2Vla0RheXM6IGFueVtdLCBzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+e1xuICAgIGxldCByZXF1ZXN0OiBBdmFpbGFiaWxpdHlRdWVyeVJxID0ge1xuICAgICAgaXNUZWFjaGVyOiBpc1RlYWNoZXIsXG4gICAgICBjb2RlOiBjb2RlLFxuICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUsXG4gICAgICBudW1DbGFzczogbnVtQ2xhc3MsXG4gICAgICB3ZWVrRGF5czogd2Vla0RheXMsXG4gICAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcbiAgICAgIGVuZFRpbWU6IGVuZFRpbWUsXG4gICAgfTtcblxuICAgIGxldCBzZXJ2aWNlID0gdGhpcy5jYWxlbmRhclNlcnZpY2U7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzZXJ2aWNlLnBvc3RDcmVhdGVRdWVyeUV2ZW50KHJlcXVlc3QpLnN1YnNjcmliZSggIChyZXNwb25zZTogUmVzcG9uc2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZXNwb25zZS5tZXNzYWdlLmNvZGUpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFVzZXJSb2xlKCk6IG51bWJlciB7XG4gICAgbGV0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LnJvbGU7XG4gICAgcmV0dXJuIHVzZXIgPT09IHVuZGVmaW5lZCA/IC0xIDogdXNlcjtcbiAgfVxuXG4gIGdldFVzZXJUb2tlbigpOiBzdHJpbmcge1xuICAgIGxldCB0b2tlbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKT8udG9rZW47XG4gICAgcmV0dXJuIHRva2VuID09PSB1bmRlZmluZWQgPyAnLTEnIDogdG9rZW47XG4gIH1cblxuICBnZXRVc2VyTmFtZSgpOiBzdHJpbmcge1xuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xuICAgIGxldCByZXNwb25zZSA9IHVzZXIgPT09IG51bGwgPyAnJyA6IHVzZXIubmFtZTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICByZWdpc3RlclVzZXJGcm9tRGFzaGJvYXJkKHJlZ2lzdGVyRGFzaGJvYXJkUnE6IFJlZ2lzdGVyRGFzaGJvYXJkUnEpOiBQcm9taXNlPGJvb2xlYW4+e1xuICAgIGxldCByZXF1ZXN0ID0gcmVnaXN0ZXJEYXNoYm9hcmRScTtcbiAgICBsZXQgc2VydmljZSA9IHRoaXMudXNlclNlcnZpY2U7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzZXJ2aWNlLnJlZ2lzdGVyRGFzaGJvYXJkKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcblxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+UGVyZmVjdCE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+U3VjZXNmdWxsIHJlZ2lzdGVyITwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J3N1Y2Nlc3MnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+VGhlIGlucHV0IGRhdGEgZG9lcyBub3QgbWVldCB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy48L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOidlcnJvcicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCI+VXBzITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCI+VGhlIGlucHV0IGRhdGEgaGFzIGEgaGlnaCByZWxhdGlvbiB3aXRoIGEgdXNlciB0aGF0IGFscmVhZHkgZXhpc3RzITwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+QW4gdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQ8L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOidlcnJvcicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAganNvblRvQXJyYXkoZGF0YTogYW55W10pOiBhbnlbXVtdIHtcbiAgICB2YXIgcmVzcG9uc2U6IGFueVtdID0gW107XG4gICAgZGF0YS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICB2YXIgb2JqZWN0OiBhbnlbXSA9IFtdO1xuICAgICAgZm9yICh2YXIgY2xhdmUgaW4gZWxlbWVudCkge1xuICAgICAgICBpZiAoZWxlbWVudC5oYXNPd25Qcm9wZXJ0eShjbGF2ZSkpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnRbY2xhdmVdID09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBlbGVtZW50W2NsYXZlXSA9IHRoaXMuc3ViSnNvblRvQXJyYXkoZWxlbWVudFtjbGF2ZV0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG9iamVjdC5wdXNoKGVsZW1lbnRbY2xhdmVdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmVzcG9uc2UucHVzaChvYmplY3QpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHN1Ykpzb25Ub0FycmF5KGRhdGE6IGFueVtdKTogc3RyaW5nIHtcbiAgICB2YXIgb2JqZWN0OiBzdHJpbmcgPSAnJztcbiAgICBmb3IgKHZhciBjbGF2ZSBpbiBkYXRhKSB7XG4gICAgICBpZiAoY2xhdmUgIT0gJ2NvZGUnKSB7XG4gICAgICAgIG9iamVjdCArPSAnXFxuJyArIGRhdGFbY2xhdmVdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbn1cbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import Swal from 'sweetalert2';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/user-service/user-service";
5
+ import * as i2 from "../../services/storage-service/storage-service";
6
+ import * as i3 from "../../services/calendar-service/calendar.service";
7
+ export class BaseService {
8
+ constructor(userService, storageService, calendarService) {
9
+ this.userService = userService;
10
+ this.storageService = storageService;
11
+ this.calendarService = calendarService;
12
+ }
13
+ webLogin(user, password) {
14
+ let request = {
15
+ user: user,
16
+ password: password
17
+ };
18
+ let service = this.userService;
19
+ let storage = this.storageService;
20
+ return new Promise(function (resolve, reject) {
21
+ service.login(request).subscribe(response => {
22
+ switch (response.message.code) {
23
+ case 1:
24
+ Swal.fire({
25
+ 'title': '<p style="font-family: Poppins"">Perfect!</p>',
26
+ 'html': '<p style="font-family: Poppins"">Succesfull login</p>',
27
+ 'icon': 'success',
28
+ });
29
+ const loginRegisterUser = {
30
+ token: response.data.token,
31
+ user: response.data,
32
+ };
33
+ storage.setCurrentSession(loginRegisterUser);
34
+ resolve(true);
35
+ break;
36
+ case 2:
37
+ Swal.fire({
38
+ 'title': '<p style="font-family: Poppins"">Warning!</p>',
39
+ 'html': '<p style="font-family: Poppins"">The data does not correspond to a user registered in our system, please review them.</p>',
40
+ 'icon': 'warning',
41
+ });
42
+ resolve(false);
43
+ break;
44
+ case 3:
45
+ Swal.fire({
46
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
47
+ 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
48
+ 'icon': 'error',
49
+ });
50
+ resolve(false);
51
+ break;
52
+ default:
53
+ Swal.fire({
54
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
55
+ 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
56
+ 'icon': 'error',
57
+ });
58
+ resolve(false);
59
+ break;
60
+ }
61
+ reject('Unhandled exception');
62
+ });
63
+ });
64
+ }
65
+ getCronogramAvailability(isTeacher, code, startDate, numClass, weekDays, startTime, endTime) {
66
+ let request = {
67
+ isTeacher: isTeacher,
68
+ code: code,
69
+ startDate: startDate,
70
+ numClass: numClass,
71
+ weekDays: weekDays,
72
+ startTime: startTime,
73
+ endTime: endTime,
74
+ };
75
+ let service = this.calendarService;
76
+ return new Promise(function (resolve, reject) {
77
+ service.postCreateQueryEvent(request).subscribe((response) => {
78
+ switch (response.message.code) {
79
+ case 1:
80
+ resolve(response.data);
81
+ break;
82
+ default:
83
+ reject('Unhandled exception');
84
+ }
85
+ reject('Unhandled exception');
86
+ });
87
+ });
88
+ }
89
+ getUserRole() {
90
+ let user = this.storageService.getCurrentUser()?.role;
91
+ return user === undefined ? -1 : user;
92
+ }
93
+ getUserToken() {
94
+ let token = this.storageService.getCurrentUser()?.token;
95
+ return token === undefined ? '-1' : token;
96
+ }
97
+ getUserName() {
98
+ let user = this.storageService.getCurrentUser();
99
+ let response = user === null ? '' : user.name;
100
+ return response;
101
+ }
102
+ registerUserFromDashboard(registerDashboardRq) {
103
+ let request = registerDashboardRq;
104
+ let service = this.userService;
105
+ return new Promise(function (resolve, reject) {
106
+ service.registerDashboard(request).subscribe((response) => {
107
+ switch (response.message.code) {
108
+ case 1:
109
+ Swal.fire({
110
+ 'title': '<p style="font-family: Poppins"">Perfect!</p>',
111
+ 'html': '<p style="font-family: Poppins"">Sucesfull register!</p>',
112
+ 'icon': 'success',
113
+ });
114
+ resolve(true);
115
+ break;
116
+ case 3:
117
+ Swal.fire({
118
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
119
+ 'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
120
+ 'icon': 'error',
121
+ });
122
+ resolve(false);
123
+ break;
124
+ case 4:
125
+ Swal.fire({
126
+ 'title': '<p style="font-family: Poppins">Ups!</p>',
127
+ 'html': '<p style="font-family: Poppins">The input data has a high relation with a user that already exists!</p>',
128
+ 'icon': 'warning',
129
+ });
130
+ resolve(false);
131
+ break;
132
+ default:
133
+ Swal.fire({
134
+ 'title': '<p style="font-family: Poppins"">Error!</p>',
135
+ 'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
136
+ 'icon': 'error',
137
+ });
138
+ resolve(false);
139
+ break;
140
+ }
141
+ reject('Unhandled exception');
142
+ });
143
+ });
144
+ }
145
+ jsonToArray(data) {
146
+ var response = [];
147
+ data.forEach((element) => {
148
+ var object = [];
149
+ for (var clave in element) {
150
+ if (element.hasOwnProperty(clave)) {
151
+ if (typeof element[clave] == 'object') {
152
+ element[clave] = this.subJsonToArray(element[clave]);
153
+ }
154
+ object.push(element[clave]);
155
+ }
156
+ }
157
+ response.push(object);
158
+ });
159
+ return response;
160
+ }
161
+ subJsonToArray(data) {
162
+ var object = '';
163
+ for (var clave in data) {
164
+ if (clave != 'code') {
165
+ object += '\n' + data[clave];
166
+ }
167
+ }
168
+ return object;
169
+ }
170
+ }
171
+ BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, deps: [{ token: i1.UserService }, { token: i2.StorageService }, { token: i3.CalendarService }], target: i0.ɵɵFactoryTarget.Injectable });
172
+ BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, decorators: [{
174
+ type: Injectable,
175
+ args: [{
176
+ providedIn: 'root',
177
+ }]
178
+ }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.StorageService }, { type: i3.CalendarService }]; } });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFVL0IsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixlQUFnQztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSixRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3JDLElBQUksT0FBTyxHQUFZO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQTtRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVsQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVMsT0FBTyxFQUFFLE1BQU07WUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQzNDLFFBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQzdCLEtBQUssQ0FBQzt3QkFDSixJQUFJLENBQUMsSUFBSSxDQUFFOzRCQUNULE9BQU8sRUFBRSwrQ0FBK0M7NEJBQ3hELE1BQU0sRUFBRSx1REFBdUQ7NEJBQy9ELE1BQU0sRUFBQyxTQUFTO3lCQUNqQixDQUFDLENBQUM7d0JBRUgsTUFBTSxpQkFBaUIsR0FBWTs0QkFD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SSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7d0dBdkxVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZ2luUnEsIFJlZ2lzdGVyRGFzaGJvYXJkUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Nlc3Npb24vc2Vzc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS1zZXJ2aWNlL3N0b3JhZ2Utc2VydmljZSc7XHJcbmltcG9ydCB7IEF2YWlsYWJpbGl0eVF1ZXJ5UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY3Jvbm9ncmFtL2Nyb25vZ3JhbS5tb2RlbHMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci1zZXJ2aWNlL2NhbGVuZGFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNwb25zZS9yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgd2ViTG9naW4odXNlcjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPntcclxuICAgIGxldCByZXF1ZXN0OiBMb2dpblJxID0ge1xyXG4gICAgICB1c2VyOiB1c2VyLFxyXG4gICAgICBwYXNzd29yZDogcGFzc3dvcmRcclxuICAgIH1cclxuICAgIGxldCBzZXJ2aWNlID0gdGhpcy51c2VyU2VydmljZTtcclxuICAgIGxldCBzdG9yYWdlID0gdGhpcy5zdG9yYWdlU2VydmljZTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgIHNlcnZpY2UubG9naW4ocmVxdWVzdCkuc3Vic2NyaWJlKCByZXNwb25zZSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChyZXNwb25zZS5tZXNzYWdlLmNvZGUpIHtcclxuICAgICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgICAgU3dhbC5maXJlICh7XHJcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlBlcmZlY3QhPC9wPicsXHJcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+U3VjY2VzZnVsbCBsb2dpbjwvcD4nLFxyXG4gICAgICAgICAgICAgICdpY29uJzonc3VjY2VzcycsXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbG9naW5SZWdpc3RlclVzZXI6IFNlc3Npb24gPSB7XHJcbiAgICAgICAgICAgICAgdG9rZW46IHJlc3BvbnNlLmRhdGEudG9rZW4sXHJcbiAgICAgICAgICAgICAgdXNlcjogcmVzcG9uc2UuZGF0YSxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHN0b3JhZ2Uuc2V0Q3VycmVudFNlc3Npb24obG9naW5SZWdpc3RlclVzZXIpO1xyXG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+V2FybmluZyE8L3A+JyxcclxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgZGF0YSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGEgdXNlciByZWdpc3RlcmVkIGluIG91ciBzeXN0ZW0sIHBsZWFzZSByZXZpZXcgdGhlbS48L3A+JyxcclxuICAgICAgICAgICAgICAnaWNvbic6J3dhcm5pbmcnLFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+RXJyb3IhPC9wPicsXHJcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+VGhlIGlucHV0IGRhdGEgZG9lcyBub3QgbWVldCB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy48L3A+JyxcclxuICAgICAgICAgICAgICAnaWNvbic6J2Vycm9yJyxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcclxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5BbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZDwvcD4nLFxyXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldENyb25vZ3JhbUF2YWlsYWJpbGl0eShpc1RlYWNoZXI6IGJvb2xlYW4sIGNvZGU6IG51bWJlciwgc3RhcnREYXRlOiBzdHJpbmcsIG51bUNsYXNzOiBudW1iZXIsIHdlZWtEYXlzOiBhbnlbXSwgc3RhcnRUaW1lOiBzdHJpbmcsIGVuZFRpbWU6IHN0cmluZyk6IFByb21pc2U8YW55PntcclxuICAgIGxldCByZXF1ZXN0OiBBdmFpbGFiaWxpdHlRdWVyeVJxID0ge1xyXG4gICAgICBpc1RlYWNoZXI6IGlzVGVhY2hlcixcclxuICAgICAgY29kZTogY29kZSxcclxuICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUsXHJcbiAgICAgIG51bUNsYXNzOiBudW1DbGFzcyxcclxuICAgICAgd2Vla0RheXM6IHdlZWtEYXlzLFxyXG4gICAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcclxuICAgICAgZW5kVGltZTogZW5kVGltZSxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgIHNlcnZpY2UucG9zdENyZWF0ZVF1ZXJ5RXZlbnQocmVxdWVzdCkuc3Vic2NyaWJlKCAgKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyUm9sZSgpOiBudW1iZXIge1xyXG4gICAgbGV0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LnJvbGU7XHJcbiAgICByZXR1cm4gdXNlciA9PT0gdW5kZWZpbmVkID8gLTEgOiB1c2VyO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclRva2VuKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgdG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LnRva2VuO1xyXG4gICAgcmV0dXJuIHRva2VuID09PSB1bmRlZmluZWQgPyAnLTEnIDogdG9rZW47XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk7XHJcbiAgICBsZXQgcmVzcG9uc2UgPSB1c2VyID09PSBudWxsID8gJycgOiB1c2VyLm5hbWU7XHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICByZWdpc3RlclVzZXJGcm9tRGFzaGJvYXJkKHJlZ2lzdGVyRGFzaGJvYXJkUnE6IFJlZ2lzdGVyRGFzaGJvYXJkUnEpOiBQcm9taXNlPGJvb2xlYW4+e1xyXG4gICAgbGV0IHJlcXVlc3QgPSByZWdpc3RlckRhc2hib2FyZFJxO1xyXG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLnVzZXJTZXJ2aWNlO1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgc2VydmljZS5yZWdpc3RlckRhc2hib2FyZChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xyXG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5QZXJmZWN0ITwvcD4nLFxyXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlN1Y2VzZnVsbCByZWdpc3RlciE8L3A+JyxcclxuICAgICAgICAgICAgICAnaWNvbic6J3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xyXG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcclxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgaW5wdXQgZGF0YSBkb2VzIG5vdCBtZWV0IHRoZSBlc3RhYmxpc2hlZCBwYXJhbWV0ZXJzLjwvcD4nLFxyXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0OlxyXG4gICAgICAgICAgICBTd2FsLmZpcmUgKHtcclxuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiPlVwcyE8L3A+JyxcclxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCI+VGhlIGlucHV0IGRhdGEgaGFzIGEgaGlnaCByZWxhdGlvbiB3aXRoIGEgdXNlciB0aGF0IGFscmVhZHkgZXhpc3RzITwvcD4nLFxyXG4gICAgICAgICAgICAgICdpY29uJzogJ3dhcm5pbmcnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgU3dhbC5maXJlICh7XHJcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkVycm9yITwvcD4nLFxyXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkPC9wPicsXHJcbiAgICAgICAgICAgICAgJ2ljb24nOidlcnJvcicsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGpzb25Ub0FycmF5KGRhdGE6IGFueVtdKTogYW55W11bXSB7XHJcbiAgICB2YXIgcmVzcG9uc2U6IGFueVtdID0gW107XHJcbiAgICBkYXRhLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgdmFyIG9iamVjdDogYW55W10gPSBbXTtcclxuICAgICAgZm9yICh2YXIgY2xhdmUgaW4gZWxlbWVudCkge1xyXG4gICAgICAgIGlmIChlbGVtZW50Lmhhc093blByb3BlcnR5KGNsYXZlKSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50W2NsYXZlXSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBlbGVtZW50W2NsYXZlXSA9IHRoaXMuc3ViSnNvblRvQXJyYXkoZWxlbWVudFtjbGF2ZV0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIG9iamVjdC5wdXNoKGVsZW1lbnRbY2xhdmVdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmVzcG9uc2UucHVzaChvYmplY3QpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBzdWJKc29uVG9BcnJheShkYXRhOiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICB2YXIgb2JqZWN0OiBzdHJpbmcgPSAnJztcclxuICAgIGZvciAodmFyIGNsYXZlIGluIGRhdGEpIHtcclxuICAgICAgaWYgKGNsYXZlICE9ICdjb2RlJykge1xyXG4gICAgICAgIG9iamVjdCArPSAnXFxuJyArIGRhdGFbY2xhdmVdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqZWN0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19