@aya-flights/ngx-goox-lib 2.18.1-exp → 2.18.2-exp

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 (145) hide show
  1. package/esm2022/lib/model/Account.mjs +1 -1
  2. package/esm2022/lib/model/Airplane.mjs +1 -1
  3. package/esm2022/lib/model/Booking.mjs +1 -1
  4. package/esm2022/lib/model/Certificate.mjs +1 -1
  5. package/esm2022/lib/model/ContactsFilter.mjs +1 -1
  6. package/esm2022/lib/model/Credit.mjs +1 -1
  7. package/esm2022/lib/model/Flight.mjs +1 -1
  8. package/esm2022/lib/model/FlightBilling.mjs +1 -1
  9. package/esm2022/lib/model/FlightPlan.mjs +1 -1
  10. package/esm2022/lib/model/FlightRisk.mjs +1 -1
  11. package/esm2022/lib/model/FlightsFilter.mjs +1 -1
  12. package/esm2022/lib/model/Group.mjs +1 -1
  13. package/esm2022/lib/model/MaintenancesFilter.mjs +1 -1
  14. package/esm2022/lib/model/MessageConfirm.mjs +1 -1
  15. package/esm2022/lib/model/Notification.mjs +1 -1
  16. package/esm2022/lib/model/PostFlightInfo.mjs +1 -1
  17. package/esm2022/lib/model/PreFlightInfo.mjs +1 -1
  18. package/esm2022/lib/model/RiskAssessment.mjs +1 -1
  19. package/esm2022/lib/model/SystemMessage.mjs +1 -1
  20. package/esm2022/lib/model/User.mjs +1 -1
  21. package/esm2022/lib/model/UsersFilter.mjs +1 -1
  22. package/esm2022/lib/model/index.mjs +124 -124
  23. package/esm2022/lib/services/AccountsEndPoint.mjs +189 -0
  24. package/esm2022/lib/services/AirplanesEndPoint.mjs +196 -0
  25. package/esm2022/lib/services/AuditLogsEndPoint.mjs +120 -0
  26. package/esm2022/lib/services/BookingSlotsEndPoint.mjs +139 -0
  27. package/esm2022/lib/services/BookingsEndPoint.mjs +201 -0
  28. package/esm2022/lib/services/CampaignsEndPoint.mjs +96 -0
  29. package/esm2022/lib/services/CertificatesEndPoint.mjs +104 -0
  30. package/esm2022/lib/services/ContactsEndPoint.mjs +255 -0
  31. package/esm2022/lib/services/ContactsGroupsEndPoint.mjs +96 -0
  32. package/esm2022/lib/services/CreditsEndPoint.mjs +101 -0
  33. package/esm2022/lib/services/DocumentsEndPoint.mjs +109 -0
  34. package/esm2022/lib/services/FlightTicketsEndPoint.mjs +80 -0
  35. package/esm2022/lib/services/FlightsEndPoint.mjs +335 -0
  36. package/esm2022/lib/services/GroupsEndPoint.mjs +96 -0
  37. package/esm2022/lib/services/LeadsEndPoint.mjs +203 -0
  38. package/esm2022/lib/services/LookupsEndPoint.mjs +87 -0
  39. package/esm2022/lib/services/MaintenancesEndPoint.mjs +104 -0
  40. package/esm2022/lib/services/McpToolsEndPoint.mjs +58 -0
  41. package/esm2022/lib/services/MessageConfirmsEndPoint.mjs +104 -0
  42. package/esm2022/lib/services/MyAuthEndPoint.mjs +58 -0
  43. package/esm2022/lib/services/MyBookingsEndPoint.mjs +148 -0
  44. package/esm2022/lib/services/MyCertificatesEndPoint.mjs +101 -0
  45. package/esm2022/lib/services/MyCreditsEndPoint.mjs +50 -0
  46. package/esm2022/lib/services/MyFlightsEndPoint.mjs +137 -0
  47. package/esm2022/lib/services/MyStudentsEndPoint.mjs +62 -0
  48. package/esm2022/lib/services/PriceListEndPoint.mjs +80 -0
  49. package/esm2022/lib/services/SyllabusEndPoint.mjs +89 -0
  50. package/esm2022/lib/services/SystemConfigsEndPoint.mjs +71 -0
  51. package/esm2022/lib/services/SystemEndPoint.mjs +34 -0
  52. package/esm2022/lib/services/SystemMessagesEndPoint.mjs +105 -0
  53. package/esm2022/lib/services/UserEndPoint.mjs +35 -0
  54. package/esm2022/lib/services/UsersEndPoint.mjs +114 -0
  55. package/esm2022/lib/services/index.mjs +34 -34
  56. package/fesm2022/aya-flights-ngx-goox-lib.mjs +4379 -4379
  57. package/fesm2022/aya-flights-ngx-goox-lib.mjs.map +1 -1
  58. package/lib/model/Account.d.ts +2 -2
  59. package/lib/model/Airplane.d.ts +5 -5
  60. package/lib/model/Booking.d.ts +1 -1
  61. package/lib/model/Certificate.d.ts +1 -1
  62. package/lib/model/ContactsFilter.d.ts +1 -1
  63. package/lib/model/Credit.d.ts +1 -1
  64. package/lib/model/Flight.d.ts +4 -4
  65. package/lib/model/FlightBilling.d.ts +1 -1
  66. package/lib/model/FlightPlan.d.ts +2 -2
  67. package/lib/model/FlightRisk.d.ts +5 -5
  68. package/lib/model/FlightsFilter.d.ts +2 -2
  69. package/lib/model/Group.d.ts +1 -1
  70. package/lib/model/MaintenancesFilter.d.ts +1 -1
  71. package/lib/model/MessageConfirm.d.ts +2 -2
  72. package/lib/model/Notification.d.ts +1 -1
  73. package/lib/model/PostFlightInfo.d.ts +2 -2
  74. package/lib/model/PreFlightInfo.d.ts +1 -1
  75. package/lib/model/RiskAssessment.d.ts +2 -2
  76. package/lib/model/SystemMessage.d.ts +1 -1
  77. package/lib/model/User.d.ts +1 -1
  78. package/lib/model/UsersFilter.d.ts +1 -1
  79. package/lib/model/index.d.ts +123 -123
  80. package/lib/services/{AccountsService.d.ts → AccountsEndPoint.d.ts} +5 -5
  81. package/lib/services/{AirplanesService.d.ts → AirplanesEndPoint.d.ts} +13 -13
  82. package/lib/services/{AuditLogsService.d.ts → AuditLogsEndPoint.d.ts} +5 -5
  83. package/lib/services/{BookingSlotsService.d.ts → BookingSlotsEndPoint.d.ts} +5 -5
  84. package/lib/services/{BookingsService.d.ts → BookingsEndPoint.d.ts} +6 -6
  85. package/lib/services/{CampaignsService.d.ts → CampaignsEndPoint.d.ts} +5 -5
  86. package/lib/services/{CertificatesService.d.ts → CertificatesEndPoint.d.ts} +3 -3
  87. package/lib/services/{ContactsService.d.ts → ContactsEndPoint.d.ts} +14 -14
  88. package/lib/services/{ContactsGroupsService.d.ts → ContactsGroupsEndPoint.d.ts} +4 -4
  89. package/lib/services/{CreditsService.d.ts → CreditsEndPoint.d.ts} +5 -5
  90. package/lib/services/{DocumentsService.d.ts → DocumentsEndPoint.d.ts} +4 -4
  91. package/lib/services/{FlightTicketsService.d.ts → FlightTicketsEndPoint.d.ts} +5 -5
  92. package/lib/services/{FlightsService.d.ts → FlightsEndPoint.d.ts} +10 -10
  93. package/lib/services/{GroupsService.d.ts → GroupsEndPoint.d.ts} +4 -4
  94. package/lib/services/{LeadsService.d.ts → LeadsEndPoint.d.ts} +8 -8
  95. package/lib/services/{LookupsService.d.ts → LookupsEndPoint.d.ts} +3 -3
  96. package/lib/services/{MaintenancesService.d.ts → MaintenancesEndPoint.d.ts} +3 -3
  97. package/lib/services/{McpToolsService.d.ts → McpToolsEndPoint.d.ts} +3 -3
  98. package/lib/services/{MessageConfirmsService.d.ts → MessageConfirmsEndPoint.d.ts} +6 -6
  99. package/lib/services/{MyAuthService.d.ts → MyAuthEndPoint.d.ts} +4 -4
  100. package/lib/services/{MyBookingsService.d.ts → MyBookingsEndPoint.d.ts} +6 -6
  101. package/lib/services/{MyCertificatesService.d.ts → MyCertificatesEndPoint.d.ts} +4 -4
  102. package/lib/services/{MyCreditsService.d.ts → MyCreditsEndPoint.d.ts} +4 -4
  103. package/lib/services/{MyFlightsService.d.ts → MyFlightsEndPoint.d.ts} +9 -9
  104. package/lib/services/{MyStudentsService.d.ts → MyStudentsEndPoint.d.ts} +3 -3
  105. package/lib/services/{PriceListService.d.ts → PriceListEndPoint.d.ts} +5 -5
  106. package/lib/services/{SyllabusService.d.ts → SyllabusEndPoint.d.ts} +5 -5
  107. package/lib/services/{SystemConfigsService.d.ts → SystemConfigsEndPoint.d.ts} +4 -4
  108. package/lib/services/{SystemService.d.ts → SystemEndPoint.d.ts} +3 -3
  109. package/lib/services/{SystemMessagesService.d.ts → SystemMessagesEndPoint.d.ts} +5 -5
  110. package/lib/services/{UserService.d.ts → UserEndPoint.d.ts} +3 -3
  111. package/lib/services/{UsersService.d.ts → UsersEndPoint.d.ts} +6 -6
  112. package/lib/services/index.d.ts +33 -33
  113. package/package.json +1 -1
  114. package/esm2022/lib/services/AccountsService.mjs +0 -189
  115. package/esm2022/lib/services/AirplanesService.mjs +0 -196
  116. package/esm2022/lib/services/AuditLogsService.mjs +0 -120
  117. package/esm2022/lib/services/BookingSlotsService.mjs +0 -139
  118. package/esm2022/lib/services/BookingsService.mjs +0 -201
  119. package/esm2022/lib/services/CampaignsService.mjs +0 -96
  120. package/esm2022/lib/services/CertificatesService.mjs +0 -104
  121. package/esm2022/lib/services/ContactsGroupsService.mjs +0 -96
  122. package/esm2022/lib/services/ContactsService.mjs +0 -255
  123. package/esm2022/lib/services/CreditsService.mjs +0 -101
  124. package/esm2022/lib/services/DocumentsService.mjs +0 -109
  125. package/esm2022/lib/services/FlightTicketsService.mjs +0 -80
  126. package/esm2022/lib/services/FlightsService.mjs +0 -335
  127. package/esm2022/lib/services/GroupsService.mjs +0 -96
  128. package/esm2022/lib/services/LeadsService.mjs +0 -203
  129. package/esm2022/lib/services/LookupsService.mjs +0 -87
  130. package/esm2022/lib/services/MaintenancesService.mjs +0 -104
  131. package/esm2022/lib/services/McpToolsService.mjs +0 -58
  132. package/esm2022/lib/services/MessageConfirmsService.mjs +0 -104
  133. package/esm2022/lib/services/MyAuthService.mjs +0 -58
  134. package/esm2022/lib/services/MyBookingsService.mjs +0 -148
  135. package/esm2022/lib/services/MyCertificatesService.mjs +0 -101
  136. package/esm2022/lib/services/MyCreditsService.mjs +0 -50
  137. package/esm2022/lib/services/MyFlightsService.mjs +0 -137
  138. package/esm2022/lib/services/MyStudentsService.mjs +0 -62
  139. package/esm2022/lib/services/PriceListService.mjs +0 -80
  140. package/esm2022/lib/services/SyllabusService.mjs +0 -89
  141. package/esm2022/lib/services/SystemConfigsService.mjs +0 -71
  142. package/esm2022/lib/services/SystemMessagesService.mjs +0 -105
  143. package/esm2022/lib/services/SystemService.mjs +0 -34
  144. package/esm2022/lib/services/UserService.mjs +0 -35
  145. package/esm2022/lib/services/UsersService.mjs +0 -114
@@ -2,7 +2,7 @@ import { RestUtils } from '../../rest-utils';
2
2
  import { AppConfig } from '../../config';
3
3
  import { ActionResponse } from '../model';
4
4
  import * as i0 from "@angular/core";
5
- export declare class SystemService {
5
+ export declare class SystemEndPoint {
6
6
  private config;
7
7
  private rest;
8
8
  private baseUrl;
@@ -11,6 +11,6 @@ export declare class SystemService {
11
11
  * Lookup returns entity name for entity id
12
12
  */
13
13
  lookup(entity?: string, id?: string): import("rxjs").Observable<ActionResponse>;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<SystemService, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<SystemService>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemEndPoint, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemEndPoint>;
16
16
  }
@@ -1,13 +1,13 @@
1
1
  import { RestUtils } from '../../rest-utils';
2
2
  import { AppConfig } from '../../config';
3
+ import { EntityResponse } from '../model';
4
+ import { SystemMessage } from '../model';
3
5
  import { ActionResponse } from '../model';
4
6
  import { MessageTypeCode } from '../model';
5
7
  import { EntitiesResponse } from '../model';
6
8
  import { MessageConfirm } from '../model';
7
- import { EntityResponse } from '../model';
8
- import { SystemMessage } from '../model';
9
9
  import * as i0 from "@angular/core";
10
- export declare class SystemMessagesService {
10
+ export declare class SystemMessagesEndPoint {
11
11
  private config;
12
12
  private rest;
13
13
  private baseUrl;
@@ -44,6 +44,6 @@ export declare class SystemMessagesService {
44
44
  * Publish message to all relevant contacts
45
45
  */
46
46
  publish(id?: string): import("rxjs").Observable<ActionResponse>;
47
- static ɵfac: i0.ɵɵFactoryDeclaration<SystemMessagesService, never>;
48
- static ɵprov: i0.ɵɵInjectableDeclaration<SystemMessagesService>;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemMessagesEndPoint, never>;
48
+ static ɵprov: i0.ɵɵInjectableDeclaration<SystemMessagesEndPoint>;
49
49
  }
@@ -4,7 +4,7 @@ import { LoginParams } from '../model';
4
4
  import { EntityResponse } from '../model';
5
5
  import { User } from '../model';
6
6
  import * as i0 from "@angular/core";
7
- export declare class UserService {
7
+ export declare class UserEndPoint {
8
8
  private config;
9
9
  private rest;
10
10
  private baseUrl;
@@ -14,6 +14,6 @@ export declare class UserService {
14
14
  * The response includes access token valid for 20 minutes. The client side should renew the token before expiration using refresh-token method
15
15
  */
16
16
  authorize(body?: LoginParams): import("rxjs").Observable<EntityResponse<User>>;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserEndPoint, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserEndPoint>;
19
19
  }
@@ -1,14 +1,14 @@
1
1
  import { RestUtils } from '../../rest-utils';
2
2
  import { AppConfig } from '../../config';
3
+ import { UserTypeCode } from '../model';
4
+ import { UserStatusCode } from '../model';
5
+ import { EntitiesResponse } from '../model';
3
6
  import { StringKeyValue } from '../model';
4
7
  import { EntityResponse } from '../model';
5
8
  import { User } from '../model';
6
9
  import { ActionResponse } from '../model';
7
- import { UserTypeCode } from '../model';
8
- import { UserStatusCode } from '../model';
9
- import { EntitiesResponse } from '../model';
10
10
  import * as i0 from "@angular/core";
11
- export declare class UsersService {
11
+ export declare class UsersEndPoint {
12
12
  private config;
13
13
  private rest;
14
14
  private baseUrl;
@@ -45,6 +45,6 @@ export declare class UsersService {
45
45
  * Lookup groups ID->Name
46
46
  */
47
47
  groupsLookup(): import("rxjs").Observable<EntitiesResponse<StringKeyValue>>;
48
- static ɵfac: i0.ɵɵFactoryDeclaration<UsersService, never>;
49
- static ɵprov: i0.ɵɵInjectableDeclaration<UsersService>;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<UsersEndPoint, never>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<UsersEndPoint>;
50
50
  }
@@ -1,34 +1,34 @@
1
- export * from './McpToolsService';
2
- export * from './MyStudentsService';
3
- export * from './GroupsService';
4
- export * from './SystemMessagesService';
5
- export * from './MyCreditsService';
6
- export * from './MyMessagesEndPoint';
7
- export * from './MaintenancesService';
8
- export * from './SystemService';
9
- export * from './UsersService';
10
- export * from './BookingsService';
11
- export * from './FlightTicketsService';
12
- export * from './AirplanesService';
13
- export * from './LookupsService';
14
- export * from './SystemConfigsService';
15
- export * from './AccountsService';
16
- export * from './MessageConfirmsService';
17
- export * from './UserService';
18
- export * from './BookingSlotsService';
19
- export * from './CertificatesService';
20
- export * from './FlightsService';
21
- export * from './LeadsService';
22
- export * from './MyBookingsService';
23
- export * from './MyCertificatesService';
24
- export * from './MyFlightsService';
1
+ export * from './GroupsEndPoint';
2
+ export * from './LookupsEndPoint';
3
+ export * from './UserEndPoint';
4
+ export * from './SystemMessagesEndPoint';
5
+ export * from './MyCreditsEndPoint';
6
+ export * from './MyCertificatesEndPoint';
7
+ export * from './BookingsEndPoint';
8
+ export * from './LeadsEndPoint';
9
+ export * from './MessageConfirmsEndPoint';
10
+ export * from './SystemConfigsEndPoint';
11
+ export * from './SystemEndPoint';
12
+ export * from './MyAuthEndPoint';
13
+ export * from './MyFlightsEndPoint';
25
14
  export * from './MyInfoEndPoint';
26
- export * from './AuditLogsService';
27
- export * from './ContactsGroupsService';
28
- export * from './CreditsService';
29
- export * from './DocumentsService';
30
- export * from './MyAuthService';
31
- export * from './CampaignsService';
32
- export * from './ContactsService';
33
- export * from './PriceListService';
34
- export * from './SyllabusService';
15
+ export * from './AccountsEndPoint';
16
+ export * from './CampaignsEndPoint';
17
+ export * from './CreditsEndPoint';
18
+ export * from './FlightTicketsEndPoint';
19
+ export * from './PriceListEndPoint';
20
+ export * from './McpToolsEndPoint';
21
+ export * from './BookingSlotsEndPoint';
22
+ export * from './CertificatesEndPoint';
23
+ export * from './FlightsEndPoint';
24
+ export * from './UsersEndPoint';
25
+ export * from './AuditLogsEndPoint';
26
+ export * from './MyMessagesEndPoint';
27
+ export * from './AirplanesEndPoint';
28
+ export * from './ContactsGroupsEndPoint';
29
+ export * from './DocumentsEndPoint';
30
+ export * from './SyllabusEndPoint';
31
+ export * from './MyBookingsEndPoint';
32
+ export * from './ContactsEndPoint';
33
+ export * from './MaintenancesEndPoint';
34
+ export * from './MyStudentsEndPoint';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aya-flights/ngx-goox-lib",
3
- "version": "2.18.1-exp",
3
+ "version": "2.18.2-exp",
4
4
  "description": "Angular client library for GooX backend",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,189 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // AccountsEndPoint Services for user registration and login
7
- export class AccountsService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/accounts';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Get new and empty account template
18
- */
19
- new() {
20
- return this.rest.post(`${this.baseUrl}/new`, '');
21
- }
22
- /**
23
- * Create new account
24
- */
25
- create(body) {
26
- return this.rest.post(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
27
- }
28
- /**
29
- * Update existing account
30
- */
31
- update(body) {
32
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
33
- }
34
- /**
35
- * Delete account and all its content
36
- */
37
- delete(id) {
38
- return this.rest.delete(`${this.baseUrl}/${id}`);
39
- }
40
- /**
41
- * Get a single account by id
42
- */
43
- get(id) {
44
- return this.rest.get(`${this.baseUrl}/${id}`);
45
- }
46
- /**
47
- * Find accounts by query
48
- */
49
- find(search, status, type, sort, page, size) {
50
- const params = [];
51
- if (search != null) {
52
- params.push(`search=${search}`);
53
- }
54
- if (status != null) {
55
- params.push(`status=${status}`);
56
- }
57
- if (type != null) {
58
- params.push(`type=${type}`);
59
- }
60
- if (sort != null) {
61
- params.push(`sort=${sort}`);
62
- }
63
- if (page != null) {
64
- params.push(`page=${page}`);
65
- }
66
- if (size != null) {
67
- params.push(`size=${size}`);
68
- }
69
- return this.rest.get(`${this.baseUrl}`, ...params);
70
- }
71
- /**
72
- * Lookup account ID->Name by filter
73
- */
74
- lookup(search, status, sort, page, size) {
75
- const params = [];
76
- if (search != null) {
77
- params.push(`search=${search}`);
78
- }
79
- if (status != null) {
80
- params.push(`status=${status}`);
81
- }
82
- if (sort != null) {
83
- params.push(`sort=${sort}`);
84
- }
85
- if (page != null) {
86
- params.push(`page=${page}`);
87
- }
88
- if (size != null) {
89
- params.push(`size=${size}`);
90
- }
91
- return this.rest.get(`${this.baseUrl}/lookup`, ...params);
92
- }
93
- /**
94
- * Find account flights
95
- */
96
- findFlights(id, search, airplaneId, type, status, state, purpose, from, to, sort, page, size) {
97
- const params = [];
98
- if (search != null) {
99
- params.push(`search=${search}`);
100
- }
101
- if (airplaneId != null) {
102
- params.push(`airplaneId=${airplaneId}`);
103
- }
104
- if (type != null) {
105
- params.push(`type=${type}`);
106
- }
107
- if (status != null) {
108
- params.push(`status=${status}`);
109
- }
110
- if (state != null) {
111
- params.push(`state=${state}`);
112
- }
113
- if (purpose != null) {
114
- params.push(`purpose=${purpose}`);
115
- }
116
- if (from != null) {
117
- params.push(`from=${from}`);
118
- }
119
- if (to != null) {
120
- params.push(`to=${to}`);
121
- }
122
- if (sort != null) {
123
- params.push(`sort=${sort}`);
124
- }
125
- if (page != null) {
126
- params.push(`page=${page}`);
127
- }
128
- if (size != null) {
129
- params.push(`size=${size}`);
130
- }
131
- return this.rest.get(`${this.baseUrl}/${id}/flights`, ...params);
132
- }
133
- /**
134
- * Find account credits
135
- */
136
- findCredits(id, search, sort, page, size) {
137
- const params = [];
138
- if (search != null) {
139
- params.push(`search=${search}`);
140
- }
141
- if (sort != null) {
142
- params.push(`sort=${sort}`);
143
- }
144
- if (page != null) {
145
- params.push(`page=${page}`);
146
- }
147
- if (size != null) {
148
- params.push(`size=${size}`);
149
- }
150
- return this.rest.get(`${this.baseUrl}/${id}/credits`, ...params);
151
- }
152
- /**
153
- * Download account credit history as XLSX document
154
- */
155
- downloadCreditsXlsx(id) {
156
- return this.rest.download(`export`, `${this.baseUrl}/${id}/credits-download/xlsx`);
157
- }
158
- /**
159
- * Find related documents
160
- */
161
- findDocuments(id, search, sort, page, size) {
162
- const params = [];
163
- if (search != null) {
164
- params.push(`search=${search}`);
165
- }
166
- if (sort != null) {
167
- params.push(`sort=${sort}`);
168
- }
169
- if (page != null) {
170
- params.push(`page=${page}`);
171
- }
172
- if (size != null) {
173
- params.push(`size=${size}`);
174
- }
175
- return this.rest.get(`${this.baseUrl}/${id}/documents`, ...params);
176
- }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccountsService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
178
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccountsService, providedIn: 'root' }); }
179
- }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccountsService, decorators: [{
181
- type: Injectable,
182
- args: [{
183
- providedIn: 'root'
184
- }]
185
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
186
- type: Inject,
187
- args: [APP_CONFIG]
188
- }] }, { type: i1.RestUtils }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdvb3gtbGliMi9zcmMvbGliL3NlcnZpY2VzL0FjY291bnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBaUJyRCw2REFBNkQ7QUFJN0QsTUFBTSxPQUFPLGVBQWU7SUFLMUIsb0JBQW9CO0lBQ3BCLFlBQXdDLE1BQWlCLEVBQVUsSUFBZTtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUpsRixpQkFBaUI7UUFDVCxZQUFPLEdBQUcsV0FBVyxDQUFDO1FBSTVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEIsR0FBRyxJQUFJLENBQUMsT0FBTyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEIsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBYztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENB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LEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQy9GLENBQUM7K0dBN0hVLGVBQWUsa0JBTU4sVUFBVTttSEFObkIsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBBY2NvdW50VHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBTdHJpbmdLZXlWYWx1ZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEZsaWdodFN0YXR1c0NvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGbGlnaHRTdGF0ZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGbGlnaHQgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEVudGl0eVJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWNjb3VudFN0YXR1c0NvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdGllc1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRmxpZ2h0VHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGbGlnaHRQdXJwb3NlQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IENyZWRpdCB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gQWNjb3VudHNFbmRQb2ludCBTZXJ2aWNlcyBmb3IgdXNlciByZWdpc3RyYXRpb24gYW5kIGxvZ2luIFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudHNTZXJ2aWNlIHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL2FjY291bnRzJztcblxuICAvLyBDbGFzcyBjb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgcmVzdDogUmVzdFV0aWxzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5jb25maWcuYXBpICsgdGhpcy5iYXNlVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgYW5kIGVtcHR5IGFjY291bnQgdGVtcGxhdGVcbiAgICovXG4gIG5ldygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBvc3Q8RW50aXR5UmVzcG9uc2U8QWNjb3VudD4+KGAke3RoaXMuYmFzZVVybH0vbmV3YCwgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgYWNjb3VudFxuICAgKi9cbiAgY3JlYXRlKGJvZHk/OiBBY2NvdW50KSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wb3N0PEVudGl0eVJlc3BvbnNlPEFjY291bnQ+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3RpbmcgYWNjb3VudFxuICAgKi9cbiAgdXBkYXRlKGJvZHk/OiBBY2NvdW50KSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wdXQ8RW50aXR5UmVzcG9uc2U8QWNjb3VudD4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhY2NvdW50IGFuZCBhbGwgaXRzIGNvbnRlbnRcbiAgICovXG4gIGRlbGV0ZShpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZGVsZXRlPEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2luZ2xlIGFjY291bnQgYnkgaWRcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPEFjY291bnQ+PihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhY2NvdW50cyBieSBxdWVyeVxuICAgKi9cbiAgZmluZChzZWFyY2g/OiBzdHJpbmcsIHN0YXR1cz86IEFjY291bnRTdGF0dXNDb2RlW10sIHR5cGU/OiBBY2NvdW50VHlwZUNvZGVbXSwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdGF0dXM9JHtzdGF0dXN9YCk7IH1cbiAgICBpZiAodHlwZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0eXBlPSR7dHlwZX1gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxBY2NvdW50Pj4oYCR7dGhpcy5iYXNlVXJsfWAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogTG9va3VwIGFjY291bnQgSUQtPk5hbWUgYnkgZmlsdGVyXG4gICAqL1xuICBsb29rdXAoc2VhcmNoPzogc3RyaW5nLCBzdGF0dXM/OiBBY2NvdW50U3RhdHVzQ29kZVtdLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxTdHJpbmdLZXlWYWx1ZT4+KGAke3RoaXMuYmFzZVVybH0vbG9va3VwYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGFjY291bnQgZmxpZ2h0c1xuICAgKi9cbiAgZmluZEZsaWdodHMoaWQ/OiBzdHJpbmcsIHNlYXJjaD86IHN0cmluZywgYWlycGxhbmVJZD86IHN0cmluZywgdHlwZT86IEZsaWdodFR5cGVDb2RlW10sIHN0YXR1cz86IEZsaWdodFN0YXR1c0NvZGVbXSwgc3RhdGU/OiBGbGlnaHRTdGF0ZUNvZGVbXSwgcHVycG9zZT86IEZsaWdodFB1cnBvc2VDb2RlW10sIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoYWlycGxhbmVJZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhaXJwbGFuZUlkPSR7YWlycGxhbmVJZH1gKTsgfVxuICAgIGlmICh0eXBlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHR5cGU9JHt0eXBlfWApOyB9XG4gICAgaWYgKHN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdGF0dXM9JHtzdGF0dXN9YCk7IH1cbiAgICBpZiAoc3RhdGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RhdGU9JHtzdGF0ZX1gKTsgfVxuICAgIGlmIChwdXJwb3NlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHB1cnBvc2U9JHtwdXJwb3NlfWApOyB9XG4gICAgaWYgKGZyb20gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZnJvbT0ke2Zyb219YCk7IH1cbiAgICBpZiAodG8gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdG89JHt0b31gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxGbGlnaHQ+PihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9L2ZsaWdodHNgLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWNjb3VudCBjcmVkaXRzXG4gICAqL1xuICBmaW5kQ3JlZGl0cyhpZD86IHN0cmluZywgc2VhcmNoPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8Q3JlZGl0Pj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9jcmVkaXRzYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBhY2NvdW50IGNyZWRpdCBoaXN0b3J5IGFzIFhMU1ggZG9jdW1lbnRcbiAgICovXG4gIGRvd25sb2FkQ3JlZGl0c1hsc3goaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmRvd25sb2FkKGBleHBvcnRgLGAke3RoaXMuYmFzZVVybH0vJHtpZH0vY3JlZGl0cy1kb3dubG9hZC94bHN4YCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCByZWxhdGVkIGRvY3VtZW50c1xuICAgKi9cbiAgZmluZERvY3VtZW50cyhpZD86IHN0cmluZywgc2VhcmNoPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8RG9jdW1lbnQ+PihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9L2RvY3VtZW50c2AsIC4uLnBhcmFtcyk7XG4gIH1cblxufVxuIl19
@@ -1,196 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // AirplanesEndPoint Services for airplanes actions
7
- export class AirplanesService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/airplanes';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * region Endpoint REST handlers ---------------------------------------------------------------------------------------
18
- * Get new and empty account template
19
- */
20
- new() {
21
- return this.rest.post(`${this.baseUrl}/new`, '');
22
- }
23
- /**
24
- * Create new airplane
25
- */
26
- create(body) {
27
- return this.rest.post(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
28
- }
29
- /**
30
- * Update existing airplane
31
- */
32
- update(body) {
33
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
34
- }
35
- /**
36
- * Update existing airplane's Weight and Balance configuration
37
- */
38
- updateWBConfig(body) {
39
- return this.rest.put(`${this.baseUrl}/wb-config`, typeof body === 'object' ? JSON.stringify(body) : body);
40
- }
41
- /**
42
- * Delete airplane and all its content
43
- */
44
- delete(id) {
45
- return this.rest.delete(`${this.baseUrl}/${id}`);
46
- }
47
- /**
48
- * Get a single airplane by id
49
- */
50
- get(id) {
51
- return this.rest.get(`${this.baseUrl}/${id}`);
52
- }
53
- /**
54
- * Find airplanes by query
55
- */
56
- find(search, status, sort, page, size) {
57
- const params = [];
58
- if (search != null) {
59
- params.push(`search=${search}`);
60
- }
61
- if (status != null) {
62
- params.push(`status=${status}`);
63
- }
64
- if (sort != null) {
65
- params.push(`sort=${sort}`);
66
- }
67
- if (page != null) {
68
- params.push(`page=${page}`);
69
- }
70
- if (size != null) {
71
- params.push(`size=${size}`);
72
- }
73
- return this.rest.get(`${this.baseUrl}`, ...params);
74
- }
75
- /**
76
- * Lookup airplanes ID->Name by filter
77
- */
78
- lookup(search, status, sort, page, size) {
79
- const params = [];
80
- if (search != null) {
81
- params.push(`search=${search}`);
82
- }
83
- if (status != null) {
84
- params.push(`status=${status}`);
85
- }
86
- if (sort != null) {
87
- params.push(`sort=${sort}`);
88
- }
89
- if (page != null) {
90
- params.push(`page=${page}`);
91
- }
92
- if (size != null) {
93
- params.push(`size=${size}`);
94
- }
95
- return this.rest.get(`${this.baseUrl}/lookup`, ...params);
96
- }
97
- /**
98
- * Get minimal active airplanes data for hours statistics only
99
- */
100
- hours() {
101
- return this.rest.get(`${this.baseUrl}/hours`);
102
- }
103
- /**
104
- * Find airplane flights
105
- */
106
- findFlights(id, search, type, status, state, purpose, from, to, sort, page, size) {
107
- const params = [];
108
- if (search != null) {
109
- params.push(`search=${search}`);
110
- }
111
- if (type != null) {
112
- params.push(`type=${type}`);
113
- }
114
- if (status != null) {
115
- params.push(`status=${status}`);
116
- }
117
- if (state != null) {
118
- params.push(`state=${state}`);
119
- }
120
- if (purpose != null) {
121
- params.push(`purpose=${purpose}`);
122
- }
123
- if (from != null) {
124
- params.push(`from=${from}`);
125
- }
126
- if (to != null) {
127
- params.push(`to=${to}`);
128
- }
129
- if (sort != null) {
130
- params.push(`sort=${sort}`);
131
- }
132
- if (page != null) {
133
- params.push(`page=${page}`);
134
- }
135
- if (size != null) {
136
- params.push(`size=${size}`);
137
- }
138
- return this.rest.get(`${this.baseUrl}/${id}/flights`, ...params);
139
- }
140
- /**
141
- * Find airplane documents
142
- */
143
- findDocuments(id, search, sort, page, size) {
144
- const params = [];
145
- if (search != null) {
146
- params.push(`search=${search}`);
147
- }
148
- if (sort != null) {
149
- params.push(`sort=${sort}`);
150
- }
151
- if (page != null) {
152
- params.push(`page=${page}`);
153
- }
154
- if (size != null) {
155
- params.push(`size=${size}`);
156
- }
157
- return this.rest.get(`${this.baseUrl}/${id}/documents`, ...params);
158
- }
159
- /**
160
- * Find airplane maintenance log book
161
- */
162
- findMaintenance(id, search, status, action, sort, page, size) {
163
- const params = [];
164
- if (search != null) {
165
- params.push(`search=${search}`);
166
- }
167
- if (status != null) {
168
- params.push(`status=${status}`);
169
- }
170
- if (action != null) {
171
- params.push(`action=${action}`);
172
- }
173
- if (sort != null) {
174
- params.push(`sort=${sort}`);
175
- }
176
- if (page != null) {
177
- params.push(`page=${page}`);
178
- }
179
- if (size != null) {
180
- params.push(`size=${size}`);
181
- }
182
- return this.rest.get(`${this.baseUrl}/${id}/maintenance`, ...params);
183
- }
184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AirplanesService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
185
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AirplanesService, providedIn: 'root' }); }
186
- }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AirplanesService, decorators: [{
188
- type: Injectable,
189
- args: [{
190
- providedIn: 'root'
191
- }]
192
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
193
- type: Inject,
194
- args: [APP_CONFIG]
195
- }] }, { type: i1.RestUtils }] });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWlycGxhbmVzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL2xpYi9zZXJ2aWNlcy9BaXJwbGFuZXNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7Ozs7QUFrQnJELG9EQUFvRDtBQUlwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLFlBQVksQ0FBQztRQUk3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQixHQUFHLElBQUksQ0FBQyxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElB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QyxJQUFJLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsRUFBVyxFQUFFLE1BQWUsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWE7UUFDckYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTZCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFXLEVBQUUsTUFBZSxFQUFFLE1BQXFCLEVBQUUsTUFBZ0MsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWE7UUFDaEosTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3BHLENBQUM7K0dBcklVLGdCQUFnQixrQkFNUCxVQUFVO21IQU5uQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBTdHJpbmdLZXlWYWx1ZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgTWFpbnRlbmFuY2VBY3Rpb25Db2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEZsaWdodFR5cGVDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgU3RhdHVzQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IE1haW50ZW5hbmNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRmxpZ2h0IH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWlycGxhbmUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEZsaWdodFN0YXR1c0NvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGbGlnaHRTdGF0ZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGbGlnaHRQdXJwb3NlQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEVudGl0eVJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWlycGxhbmVTdGF0dXNDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG4vLyBBaXJwbGFuZXNFbmRQb2ludCBTZXJ2aWNlcyBmb3IgYWlycGxhbmVzIGFjdGlvbnMgXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBaXJwbGFuZXNTZXJ2aWNlIHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL2FpcnBsYW5lcyc7XG5cbiAgLy8gQ2xhc3MgY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIHJlc3Q6IFJlc3RVdGlscykge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuY29uZmlnLmFwaSArIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWdpb24gRW5kcG9pbnQgUkVTVCBoYW5kbGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogR2V0IG5ldyBhbmQgZW1wdHkgYWNjb3VudCB0ZW1wbGF0ZVxuICAgKi9cbiAgbmV3KCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucG9zdDxFbnRpdHlSZXNwb25zZTxBaXJwbGFuZT4+KGAke3RoaXMuYmFzZVVybH0vbmV3YCwgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgYWlycGxhbmVcbiAgICovXG4gIGNyZWF0ZShib2R5PzogQWlycGxhbmUpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBvc3Q8RW50aXR5UmVzcG9uc2U8QWlycGxhbmU+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3RpbmcgYWlycGxhbmVcbiAgICovXG4gIHVwZGF0ZShib2R5PzogQWlycGxhbmUpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnB1dDxFbnRpdHlSZXNwb25zZTxBaXJwbGFuZT4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyBhaXJwbGFuZSdzIFdlaWdodCBhbmQgQmFsYW5jZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICB1cGRhdGVXQkNvbmZpZyhib2R5PzogQWlycGxhbmUpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnB1dDxFbnRpdHlSZXNwb25zZTxBaXJwbGFuZT4+KGAke3RoaXMuYmFzZVVybH0vd2ItY29uZmlnYCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYWlycGxhbmUgYW5kIGFsbCBpdHMgY29udGVudFxuICAgKi9cbiAgZGVsZXRlKGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5kZWxldGU8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgYWlycGxhbmUgYnkgaWRcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPEFpcnBsYW5lPj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWlycGxhbmVzIGJ5IHF1ZXJ5XG4gICAqL1xuICBmaW5kKHNlYXJjaD86IHN0cmluZywgc3RhdHVzPzogQWlycGxhbmVTdGF0dXNDb2RlW10sIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmIChzdGF0dXMgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RhdHVzPSR7c3RhdHVzfWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPEFpcnBsYW5lPj4oYCR7dGhpcy5iYXNlVXJsfWAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogTG9va3VwIGFpcnBsYW5lcyBJRC0+TmFtZSBieSBmaWx0ZXJcbiAgICovXG4gIGxvb2t1cChzZWFyY2g/OiBzdHJpbmcsIHN0YXR1cz86IEFpcnBsYW5lU3RhdHVzQ29kZVtdLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxTdHJpbmdLZXlWYWx1ZT4+KGAke3RoaXMuYmFzZVVybH0vbG9va3VwYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbWluaW1hbCBhY3RpdmUgYWlycGxhbmVzIGRhdGEgZm9yIGhvdXJzIHN0YXRpc3RpY3Mgb25seVxuICAgKi9cbiAgaG91cnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxBaXJwbGFuZT4+KGAke3RoaXMuYmFzZVVybH0vaG91cnNgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGFpcnBsYW5lIGZsaWdodHNcbiAgICovXG4gIGZpbmRGbGlnaHRzKGlkPzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIHR5cGU/OiBGbGlnaHRUeXBlQ29kZVtdLCBzdGF0dXM/OiBGbGlnaHRTdGF0dXNDb2RlW10sIHN0YXRlPzogRmxpZ2h0U3RhdGVDb2RlW10sIHB1cnBvc2U/OiBGbGlnaHRQdXJwb3NlQ29kZVtdLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdHlwZT0ke3R5cGV9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChzdGF0ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdGF0ZT0ke3N0YXRlfWApOyB9XG4gICAgaWYgKHB1cnBvc2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcHVycG9zZT0ke3B1cnBvc2V9YCk7IH1cbiAgICBpZiAoZnJvbSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBmcm9tPSR7ZnJvbX1gKTsgfVxuICAgIGlmICh0byAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0bz0ke3RvfWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPEZsaWdodD4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH0vZmxpZ2h0c2AsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhaXJwbGFuZSBkb2N1bWVudHNcbiAgICovXG4gIGZpbmREb2N1bWVudHMoaWQ/OiBzdHJpbmcsIHNlYXJjaD86IHN0cmluZywgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPERvY3VtZW50Pj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9kb2N1bWVudHNgLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWlycGxhbmUgbWFpbnRlbmFuY2UgbG9nIGJvb2tcbiAgICovXG4gIGZpbmRNYWludGVuYW5jZShpZD86IHN0cmluZywgc2VhcmNoPzogc3RyaW5nLCBzdGF0dXM/OiBTdGF0dXNDb2RlW10sIGFjdGlvbj86IE1haW50ZW5hbmNlQWN0aW9uQ29kZVtdLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChhY3Rpb24gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgYWN0aW9uPSR7YWN0aW9ufWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPE1haW50ZW5hbmNlPj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9tYWludGVuYW5jZWAsIC4uLnBhcmFtcyk7XG4gIH1cblxufVxuIl19