@aya-flights/ngx-goox-lib 2.20.23-ang-19 → 2.20.23-ang-18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/aya-flights-ngx-goox-lib.mjs +5 -0
- package/esm2022/config.mjs +15 -0
- package/esm2022/lib/model/ADSBCategoryCode.mjs +43 -0
- package/esm2022/lib/model/ADSBSourceFlag.mjs +32 -0
- package/esm2022/lib/model/ADSBState.mjs +48 -0
- package/esm2022/lib/model/Account.mjs +28 -0
- package/esm2022/lib/model/AccountStatusCode.mjs +35 -0
- package/esm2022/lib/model/AccountTypeCode.mjs +39 -0
- package/esm2022/lib/model/AccountsFilter.mjs +27 -0
- package/esm2022/lib/model/ActionResponse.mjs +15 -0
- package/esm2022/lib/model/Address.mjs +21 -0
- package/esm2022/lib/model/Airplane.mjs +36 -0
- package/esm2022/lib/model/AirplaneStatusCode.mjs +31 -0
- package/esm2022/lib/model/AirplaneValidationFlag.mjs +119 -0
- package/esm2022/lib/model/AirplanesFilter.mjs +27 -0
- package/esm2022/lib/model/AnyKeyValue.mjs +12 -0
- package/esm2022/lib/model/AssessmentCode.mjs +31 -0
- package/esm2022/lib/model/AuditLog.mjs +21 -0
- package/esm2022/lib/model/AuditLogFilter.mjs +39 -0
- package/esm2022/lib/model/BaseEntity.mjs +17 -0
- package/esm2022/lib/model/BaseEntityEx.mjs +23 -0
- package/esm2022/lib/model/BaseFilter.mjs +18 -0
- package/esm2022/lib/model/BaseRestResponse.mjs +12 -0
- package/esm2022/lib/model/Billing.mjs +36 -0
- package/esm2022/lib/model/BillingRecord.mjs +24 -0
- package/esm2022/lib/model/BillingStatusCode.mjs +59 -0
- package/esm2022/lib/model/Booking.mjs +31 -0
- package/esm2022/lib/model/BookingPlan.mjs +28 -0
- package/esm2022/lib/model/BookingSlot.mjs +20 -0
- package/esm2022/lib/model/BookingSlots.mjs +15 -0
- package/esm2022/lib/model/BookingSlotsSet.mjs +17 -0
- package/esm2022/lib/model/BookingStatusCode.mjs +55 -0
- package/esm2022/lib/model/BookingTypeFlag.mjs +51 -0
- package/esm2022/lib/model/BookingsFilter.mjs +36 -0
- package/esm2022/lib/model/Boundaries.mjs +12 -0
- package/esm2022/lib/model/Campaign.mjs +25 -0
- package/esm2022/lib/model/CampaignStatusCode.mjs +35 -0
- package/esm2022/lib/model/CampaignTypeCode.mjs +31 -0
- package/esm2022/lib/model/Certificate.mjs +23 -0
- package/esm2022/lib/model/CertificatesFilter.mjs +33 -0
- package/esm2022/lib/model/ColumnDef.mjs +27 -0
- package/esm2022/lib/model/ConfirmStatusCode.mjs +31 -0
- package/esm2022/lib/model/Contact.mjs +40 -0
- package/esm2022/lib/model/ContactGroup.mjs +15 -0
- package/esm2022/lib/model/ContactsFilter.mjs +36 -0
- package/esm2022/lib/model/Credit.mjs +29 -0
- package/esm2022/lib/model/CreditsFilter.mjs +36 -0
- package/esm2022/lib/model/CrewDutyDayRisks.mjs +15 -0
- package/esm2022/lib/model/CurrencyCode.mjs +31 -0
- package/esm2022/lib/model/DepartureRisks.mjs +21 -0
- package/esm2022/lib/model/DestinationRisks.mjs +42 -0
- package/esm2022/lib/model/Distribution.mjs +15 -0
- package/esm2022/lib/model/Document.mjs +24 -0
- package/esm2022/lib/model/DocumentRevision.mjs +27 -0
- package/esm2022/lib/model/Engine.mjs +21 -0
- package/esm2022/lib/model/Entities.mjs +10 -0
- package/esm2022/lib/model/EntitiesRequest.mjs +9 -0
- package/esm2022/lib/model/EntitiesResponse.mjs +18 -0
- package/esm2022/lib/model/EntityAction.mjs +6 -0
- package/esm2022/lib/model/EntityRequest.mjs +9 -0
- package/esm2022/lib/model/EntityResponse.mjs +14 -0
- package/esm2022/lib/model/ErrorCode.mjs +67 -0
- package/esm2022/lib/model/FilterFlag.mjs +119 -0
- package/esm2022/lib/model/Flight.mjs +49 -0
- package/esm2022/lib/model/FlightBilling.mjs +24 -0
- package/esm2022/lib/model/FlightCategoryCode.mjs +163 -0
- package/esm2022/lib/model/FlightClassCode.mjs +47 -0
- package/esm2022/lib/model/FlightPassenger.mjs +18 -0
- package/esm2022/lib/model/FlightPlan.mjs +36 -0
- package/esm2022/lib/model/FlightPurposeCode.mjs +67 -0
- package/esm2022/lib/model/FlightRisk.mjs +23 -0
- package/esm2022/lib/model/FlightStateCode.mjs +35 -0
- package/esm2022/lib/model/FlightStatusCode.mjs +43 -0
- package/esm2022/lib/model/FlightTicket.mjs +22 -0
- package/esm2022/lib/model/FlightTypeCode.mjs +39 -0
- package/esm2022/lib/model/FlightsFilter.mjs +45 -0
- package/esm2022/lib/model/FollowUpAction.mjs +15 -0
- package/esm2022/lib/model/Fuel.mjs +27 -0
- package/esm2022/lib/model/Group.mjs +17 -0
- package/esm2022/lib/model/InstructionTypeCode.mjs +31 -0
- package/esm2022/lib/model/IntEnumValue.mjs +12 -0
- package/esm2022/lib/model/IntKeyValue.mjs +12 -0
- package/esm2022/lib/model/Json.mjs +7 -0
- package/esm2022/lib/model/JsonDoc.mjs +13 -0
- package/esm2022/lib/model/Lead.mjs +30 -0
- package/esm2022/lib/model/LeadAction.mjs +17 -0
- package/esm2022/lib/model/LeadStatusCode.mjs +47 -0
- package/esm2022/lib/model/LeadsFilter.mjs +24 -0
- package/esm2022/lib/model/Lesson.mjs +45 -0
- package/esm2022/lib/model/LessonSubjectCode.mjs +383 -0
- package/esm2022/lib/model/LessonTypeCode.mjs +59 -0
- package/esm2022/lib/model/LicenseKindFlag.mjs +63 -0
- package/esm2022/lib/model/LocalTime.mjs +7 -0
- package/esm2022/lib/model/Location.mjs +15 -0
- package/esm2022/lib/model/LogBookRecord.mjs +32 -0
- package/esm2022/lib/model/LoginParams.mjs +15 -0
- package/esm2022/lib/model/Lookup.mjs +19 -0
- package/esm2022/lib/model/LookupGroup.mjs +15 -0
- package/esm2022/lib/model/Magneto.mjs +18 -0
- package/esm2022/lib/model/Maintenance.mjs +28 -0
- package/esm2022/lib/model/MaintenanceActionCode.mjs +43 -0
- package/esm2022/lib/model/MaintenancesFilter.mjs +33 -0
- package/esm2022/lib/model/MedicalCertClassCode.mjs +31 -0
- package/esm2022/lib/model/MessageConfirm.mjs +20 -0
- package/esm2022/lib/model/MessageTypeCode.mjs +47 -0
- package/esm2022/lib/model/Metar.mjs +15 -0
- package/esm2022/lib/model/MetarReport.mjs +21 -0
- package/esm2022/lib/model/Mitigation.mjs +27 -0
- package/esm2022/lib/model/ModuleCode.mjs +71 -0
- package/esm2022/lib/model/Notification.mjs +18 -0
- package/esm2022/lib/model/NotificationTypeCode.mjs +39 -0
- package/esm2022/lib/model/OperatorCode.mjs +15 -0
- package/esm2022/lib/model/PaymentMethodCode.mjs +43 -0
- package/esm2022/lib/model/Permission.mjs +12 -0
- package/esm2022/lib/model/PermissionFlag.mjs +43 -0
- package/esm2022/lib/model/PilotQualificationsRisks.mjs +18 -0
- package/esm2022/lib/model/Point.mjs +12 -0
- package/esm2022/lib/model/PostFlightInfo.mjs +117 -0
- package/esm2022/lib/model/PreFlightInfo.mjs +99 -0
- package/esm2022/lib/model/Price.mjs +18 -0
- package/esm2022/lib/model/PriorityCode.mjs +35 -0
- package/esm2022/lib/model/Propeller.mjs +21 -0
- package/esm2022/lib/model/RiskAssessment.mjs +33 -0
- package/esm2022/lib/model/SimpleEntity.mjs +11 -0
- package/esm2022/lib/model/SpecialRisks.mjs +15 -0
- package/esm2022/lib/model/StatusCode.mjs +39 -0
- package/esm2022/lib/model/StorageItem.mjs +19 -0
- package/esm2022/lib/model/StringKeyValue.mjs +12 -0
- package/esm2022/lib/model/StudentSheet.mjs +32 -0
- package/esm2022/lib/model/Syllabus.mjs +20 -0
- package/esm2022/lib/model/SyllabusFilter.mjs +27 -0
- package/esm2022/lib/model/SyllabusStageCode.mjs +79 -0
- package/esm2022/lib/model/SyllabusTrack.mjs +36 -0
- package/esm2022/lib/model/SystemConfig.mjs +15 -0
- package/esm2022/lib/model/SystemMessage.mjs +19 -0
- package/esm2022/lib/model/TOLData.mjs +24 -0
- package/esm2022/lib/model/TafReport.mjs +21 -0
- package/esm2022/lib/model/TicketStatusCode.mjs +27 -0
- package/esm2022/lib/model/TimeDataPoint.mjs +12 -0
- package/esm2022/lib/model/TimeFrame.mjs +12 -0
- package/esm2022/lib/model/TimePeriodCode.mjs +39 -0
- package/esm2022/lib/model/TimeSeries.mjs +15 -0
- package/esm2022/lib/model/Timestamp.mjs +7 -0
- package/esm2022/lib/model/TokenData.mjs +18 -0
- package/esm2022/lib/model/TransactionTypeCode.mjs +47 -0
- package/esm2022/lib/model/TripRisks.mjs +21 -0
- package/esm2022/lib/model/Tuple.mjs +16 -0
- package/esm2022/lib/model/TypeRatingFlag.mjs +35 -0
- package/esm2022/lib/model/User.mjs +22 -0
- package/esm2022/lib/model/UserRoleFlag.mjs +51 -0
- package/esm2022/lib/model/UserStatusCode.mjs +35 -0
- package/esm2022/lib/model/UserTypeCode.mjs +35 -0
- package/esm2022/lib/model/UsersFilter.mjs +30 -0
- package/esm2022/lib/model/ValidationFlag.mjs +67 -0
- package/esm2022/lib/model/WBConfig.mjs +54 -0
- package/esm2022/lib/model/WeatherRisks.mjs +36 -0
- package/esm2022/lib/model/errorStruct.mjs +12 -0
- package/esm2022/lib/model/index.mjs +156 -0
- package/esm2022/lib/services/AccountsEndPoint.mjs +189 -0
- package/esm2022/lib/services/AirplanesEndPoint.mjs +196 -0
- package/esm2022/lib/services/AuditLogsEndPoint.mjs +120 -0
- package/esm2022/lib/services/BookingSlotsEndPoint.mjs +139 -0
- package/esm2022/lib/services/BookingsEndPoint.mjs +223 -0
- package/esm2022/lib/services/CampaignsEndPoint.mjs +96 -0
- package/esm2022/lib/services/CertificatesEndPoint.mjs +104 -0
- package/esm2022/lib/services/ContactsEndPoint.mjs +293 -0
- package/esm2022/lib/services/ContactsGroupsEndPoint.mjs +96 -0
- package/esm2022/lib/services/CreditsEndPoint.mjs +101 -0
- package/esm2022/lib/services/DocumentsEndPoint.mjs +109 -0
- package/esm2022/lib/services/FlightTicketsEndPoint.mjs +80 -0
- package/esm2022/lib/services/FlightsEndPoint.mjs +335 -0
- package/esm2022/lib/services/GroupsEndPoint.mjs +96 -0
- package/esm2022/lib/services/LeadsEndPoint.mjs +203 -0
- package/esm2022/lib/services/LookupsEndPoint.mjs +87 -0
- package/esm2022/lib/services/MaintenancesEndPoint.mjs +104 -0
- package/esm2022/lib/services/McpToolsEndPoint.mjs +58 -0
- package/esm2022/lib/services/MessageConfirmsEndPoint.mjs +104 -0
- package/esm2022/lib/services/MyAuthEndPoint.mjs +58 -0
- package/esm2022/lib/services/MyBookingsEndPoint.mjs +148 -0
- package/esm2022/lib/services/MyCertificatesEndPoint.mjs +101 -0
- package/esm2022/lib/services/MyCreditsEndPoint.mjs +50 -0
- package/esm2022/lib/services/MyFlightsEndPoint.mjs +137 -0
- package/esm2022/lib/services/MyInfoEndPoint.mjs +50 -0
- package/esm2022/lib/services/MyMessagesEndPoint.mjs +46 -0
- package/esm2022/lib/services/MyStudentsEndPoint.mjs +62 -0
- package/esm2022/lib/services/PriceListEndPoint.mjs +80 -0
- package/esm2022/lib/services/SyllabusEndPoint.mjs +95 -0
- package/esm2022/lib/services/SystemConfigsEndPoint.mjs +71 -0
- package/esm2022/lib/services/SystemEndPoint.mjs +34 -0
- package/esm2022/lib/services/SystemMessagesEndPoint.mjs +105 -0
- package/esm2022/lib/services/UserEndPoint.mjs +35 -0
- package/esm2022/lib/services/UsersEndPoint.mjs +114 -0
- package/esm2022/lib/services/index.mjs +35 -0
- package/esm2022/ngx-goox-lib.module.mjs +26 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/rest-utils.mjs +137 -0
- package/fesm2022/aya-flights-ngx-goox-lib.mjs +109 -109
- package/fesm2022/aya-flights-ngx-goox-lib.mjs.map +1 -1
- package/lib/services/AccountsEndPoint.d.ts +1 -1
- package/lib/services/CertificatesEndPoint.d.ts +1 -1
- package/lib/services/ContactsEndPoint.d.ts +2 -2
- package/lib/services/CreditsEndPoint.d.ts +1 -1
- package/lib/services/FlightsEndPoint.d.ts +1 -1
- package/lib/services/MaintenancesEndPoint.d.ts +1 -1
- package/lib/services/MyCertificatesEndPoint.d.ts +1 -1
- package/lib/services/MyFlightsEndPoint.d.ts +1 -1
- package/lib/services/MyInfoEndPoint.d.ts +1 -1
- package/lib/services/MyStudentsEndPoint.d.ts +2 -2
- package/package.json +6 -4
- package/rest-utils.d.ts +2 -2
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
// SystemMessagesEndPoint Services for systemMessages actions
|
|
7
|
+
export class SystemMessagesEndPoint {
|
|
8
|
+
// Class constructor
|
|
9
|
+
constructor(config, rest) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.rest = rest;
|
|
12
|
+
// URL to web api
|
|
13
|
+
this.baseUrl = '/system_messages';
|
|
14
|
+
this.baseUrl = this.config.api + this.baseUrl;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get new and empty systemMessage template
|
|
18
|
+
*/
|
|
19
|
+
new() {
|
|
20
|
+
return this.rest.post(`${this.baseUrl}/new`, '');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create new systemMessage
|
|
24
|
+
*/
|
|
25
|
+
create(body) {
|
|
26
|
+
return this.rest.post(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Update existing systemMessage
|
|
30
|
+
*/
|
|
31
|
+
update(body) {
|
|
32
|
+
return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Delete systemMessage and all its content
|
|
36
|
+
*/
|
|
37
|
+
delete(id) {
|
|
38
|
+
return this.rest.delete(`${this.baseUrl}/${id}`);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get a single systemMessage by id
|
|
42
|
+
*/
|
|
43
|
+
get(id) {
|
|
44
|
+
return this.rest.get(`${this.baseUrl}/${id}`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Find systemMessages by query
|
|
48
|
+
*/
|
|
49
|
+
find(search, type, sort, page, size) {
|
|
50
|
+
const params = [];
|
|
51
|
+
if (search != null) {
|
|
52
|
+
params.push(`search=${search}`);
|
|
53
|
+
}
|
|
54
|
+
if (type != null) {
|
|
55
|
+
params.push(`type=${type}`);
|
|
56
|
+
}
|
|
57
|
+
if (sort != null) {
|
|
58
|
+
params.push(`sort=${sort}`);
|
|
59
|
+
}
|
|
60
|
+
if (page != null) {
|
|
61
|
+
params.push(`page=${page}`);
|
|
62
|
+
}
|
|
63
|
+
if (size != null) {
|
|
64
|
+
params.push(`size=${size}`);
|
|
65
|
+
}
|
|
66
|
+
return this.rest.get(`${this.baseUrl}`, ...params);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Find message confirmations
|
|
70
|
+
*/
|
|
71
|
+
findConfirms(id, search, sort, page, size) {
|
|
72
|
+
const params = [];
|
|
73
|
+
if (search != null) {
|
|
74
|
+
params.push(`search=${search}`);
|
|
75
|
+
}
|
|
76
|
+
if (sort != null) {
|
|
77
|
+
params.push(`sort=${sort}`);
|
|
78
|
+
}
|
|
79
|
+
if (page != null) {
|
|
80
|
+
params.push(`page=${page}`);
|
|
81
|
+
}
|
|
82
|
+
if (size != null) {
|
|
83
|
+
params.push(`size=${size}`);
|
|
84
|
+
}
|
|
85
|
+
return this.rest.get(`${this.baseUrl}/${id}/confirms`, ...params);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Publish message to all relevant contacts
|
|
89
|
+
*/
|
|
90
|
+
publish(id) {
|
|
91
|
+
return this.rest.post(`${this.baseUrl}/${id}/publish`, '');
|
|
92
|
+
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SystemMessagesEndPoint, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
94
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SystemMessagesEndPoint, providedIn: 'root' }); }
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SystemMessagesEndPoint, decorators: [{
|
|
97
|
+
type: Injectable,
|
|
98
|
+
args: [{
|
|
99
|
+
providedIn: 'root'
|
|
100
|
+
}]
|
|
101
|
+
}], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
|
|
102
|
+
type: Inject,
|
|
103
|
+
args: [APP_CONFIG]
|
|
104
|
+
}] }, { type: i1.RestUtils }] });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWVzc2FnZXNFbmRQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL2xpYi9zZXJ2aWNlcy9TeXN0ZW1NZXNzYWdlc0VuZFBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7Ozs7QUFTckQsOERBQThEO0FBSTlELE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsb0JBQW9CO0lBQ3BCLFlBQXdDLE1BQWlCLEVBQVUsSUFBZTtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUpsRixpQkFBaUI7UUFDVCxZQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFJbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFnQyxHQUFHLElBQUksQ0FBQyxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0MsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBb0I7UUFDekIsT0FB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QUFPLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0E3RVUsc0JBQXNCLGtCQU1iLFVBQVU7bUhBTm5CLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFN5c3RlbU1lc3NhZ2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IE1lc3NhZ2VUeXBlQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEVudGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBNZXNzYWdlQ29uZmlybSB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gU3lzdGVtTWVzc2FnZXNFbmRQb2ludCBTZXJ2aWNlcyBmb3Igc3lzdGVtTWVzc2FnZXMgYWN0aW9ucyBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN5c3RlbU1lc3NhZ2VzRW5kUG9pbnQge1xuXG4gIC8vIFVSTCB0byB3ZWIgYXBpXG4gIHByaXZhdGUgYmFzZVVybCA9ICcvc3lzdGVtX21lc3NhZ2VzJztcblxuICAvLyBDbGFzcyBjb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgcmVzdDogUmVzdFV0aWxzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5jb25maWcuYXBpICsgdGhpcy5iYXNlVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgYW5kIGVtcHR5IHN5c3RlbU1lc3NhZ2UgdGVtcGxhdGVcbiAgICovXG4gIG5ldygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBvc3Q8RW50aXR5UmVzcG9uc2U8U3lzdGVtTWVzc2FnZT4+KGAke3RoaXMuYmFzZVVybH0vbmV3YCwgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgc3lzdGVtTWVzc2FnZVxuICAgKi9cbiAgY3JlYXRlKGJvZHk/OiBTeXN0ZW1NZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wb3N0PEVudGl0eVJlc3BvbnNlPFN5c3RlbU1lc3NhZ2U+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3Rpbmcgc3lzdGVtTWVzc2FnZVxuICAgKi9cbiAgdXBkYXRlKGJvZHk/OiBTeXN0ZW1NZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wdXQ8RW50aXR5UmVzcG9uc2U8U3lzdGVtTWVzc2FnZT4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBzeXN0ZW1NZXNzYWdlIGFuZCBhbGwgaXRzIGNvbnRlbnRcbiAgICovXG4gIGRlbGV0ZShpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZGVsZXRlPEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2luZ2xlIHN5c3RlbU1lc3NhZ2UgYnkgaWRcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPFN5c3RlbU1lc3NhZ2U+PihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBzeXN0ZW1NZXNzYWdlcyBieSBxdWVyeVxuICAgKi9cbiAgZmluZChzZWFyY2g/OiBzdHJpbmcsIHR5cGU/OiBNZXNzYWdlVHlwZUNvZGVbXSwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdHlwZT0ke3R5cGV9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8U3lzdGVtTWVzc2FnZT4+KGAke3RoaXMuYmFzZVVybH1gLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgbWVzc2FnZSBjb25maXJtYXRpb25zXG4gICAqL1xuICBmaW5kQ29uZmlybXMoaWQ/OiBzdHJpbmcsIHNlYXJjaD86IHN0cmluZywgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPE1lc3NhZ2VDb25maXJtPj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9jb25maXJtc2AsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogUHVibGlzaCBtZXNzYWdlIHRvIGFsbCByZWxldmFudCBjb250YWN0c1xuICAgKi9cbiAgcHVibGlzaChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QucG9zdDxBY3Rpb25SZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9wdWJsaXNoYCwgJycpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
// UserEndPoint Services for user registration and login
|
|
7
|
+
export class UserEndPoint {
|
|
8
|
+
// Class constructor
|
|
9
|
+
constructor(config, rest) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.rest = rest;
|
|
12
|
+
// URL to web api
|
|
13
|
+
this.baseUrl = '/user';
|
|
14
|
+
this.baseUrl = this.config.api + this.baseUrl;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Authorize user, verify user exists in the system
|
|
18
|
+
* The response includes access token valid for 20 minutes. The client side should renew the token before expiration using refresh-token method
|
|
19
|
+
*/
|
|
20
|
+
authorize(body) {
|
|
21
|
+
return this.rest.post(`${this.baseUrl}/authorize`, typeof body === 'object' ? JSON.stringify(body) : body);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEndPoint, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEndPoint, providedIn: 'root' }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UserEndPoint, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: [APP_CONFIG]
|
|
34
|
+
}] }, { type: i1.RestUtils }] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckVuZFBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdvb3gtbGliMi9zcmMvbGliL3NlcnZpY2VzL1VzZXJFbmRQb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBTXJELHlEQUF5RDtBQUl6RCxNQUFNLE9BQU8sWUFBWTtJQUt2QixvQkFBb0I7SUFDcEIsWUFBd0MsTUFBaUIsRUFBVSxJQUFlO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO1FBSmxGLGlCQUFpQjtRQUNULFlBQU8sR0FBRyxPQUFPLENBQUM7UUFJeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsSUFBa0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsR0FBRyxJQUFJLENBQUMsT0FBTyxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuSSxDQUFDOytHQWhCVSxZQUFZLGtCQU1ILFVBQVU7bUhBTm5CLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2MsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RVdGlscyB9IGZyb20gJy4uLy4uL3Jlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRywgQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHsgTG9naW5QYXJhbXMgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9tb2RlbCc7XG5cbi8vIFVzZXJFbmRQb2ludCBTZXJ2aWNlcyBmb3IgdXNlciByZWdpc3RyYXRpb24gYW5kIGxvZ2luIFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlckVuZFBvaW50IHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL3VzZXInO1xuXG4gIC8vIENsYXNzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEFwcENvbmZpZywgcHJpdmF0ZSByZXN0OiBSZXN0VXRpbHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmNvbmZpZy5hcGkgKyB0aGlzLmJhc2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogQXV0aG9yaXplIHVzZXIsIHZlcmlmeSB1c2VyIGV4aXN0cyBpbiB0aGUgc3lzdGVtXG4gICAqIFRoZSByZXNwb25zZSBpbmNsdWRlcyBhY2Nlc3MgdG9rZW4gdmFsaWQgZm9yIDIwIG1pbnV0ZXMuIFRoZSBjbGllbnQgc2lkZSBzaG91bGQgcmVuZXcgdGhlIHRva2VuIGJlZm9yZSBleHBpcmF0aW9uIHVzaW5nIHJlZnJlc2gtdG9rZW4gbWV0aG9kXG4gICAqL1xuICBhdXRob3JpemUoYm9keT86IExvZ2luUGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wb3N0PEVudGl0eVJlc3BvbnNlPFVzZXI+PihgJHt0aGlzLmJhc2VVcmx9L2F1dGhvcml6ZWAsIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIDogYm9keSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
// UsersEndPoint Services for users actions
|
|
7
|
+
export class UsersEndPoint {
|
|
8
|
+
// Class constructor
|
|
9
|
+
constructor(config, rest) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.rest = rest;
|
|
12
|
+
// URL to web api
|
|
13
|
+
this.baseUrl = '/users';
|
|
14
|
+
this.baseUrl = this.config.api + this.baseUrl;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get new and empty user template
|
|
18
|
+
*/
|
|
19
|
+
new() {
|
|
20
|
+
return this.rest.post(`${this.baseUrl}/new`, '');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create new user
|
|
24
|
+
*/
|
|
25
|
+
create(body) {
|
|
26
|
+
return this.rest.post(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Update existing user
|
|
30
|
+
*/
|
|
31
|
+
update(body) {
|
|
32
|
+
return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Delete user and all its content
|
|
36
|
+
*/
|
|
37
|
+
delete(id) {
|
|
38
|
+
return this.rest.delete(`${this.baseUrl}/${id}`);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get a single user by id
|
|
42
|
+
*/
|
|
43
|
+
get(id) {
|
|
44
|
+
return this.rest.get(`${this.baseUrl}/${id}`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Find users by query
|
|
48
|
+
*/
|
|
49
|
+
find(search, type, status, sort, page, size) {
|
|
50
|
+
const params = [];
|
|
51
|
+
if (search != null) {
|
|
52
|
+
params.push(`search=${search}`);
|
|
53
|
+
}
|
|
54
|
+
if (type != null) {
|
|
55
|
+
params.push(`type=${type}`);
|
|
56
|
+
}
|
|
57
|
+
if (status != null) {
|
|
58
|
+
params.push(`status=${status}`);
|
|
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 users ID->Name by filter
|
|
73
|
+
*/
|
|
74
|
+
lookup(search, type, status, sort, page, size) {
|
|
75
|
+
const params = [];
|
|
76
|
+
if (search != null) {
|
|
77
|
+
params.push(`search=${search}`);
|
|
78
|
+
}
|
|
79
|
+
if (type != null) {
|
|
80
|
+
params.push(`type=${type}`);
|
|
81
|
+
}
|
|
82
|
+
if (status != null) {
|
|
83
|
+
params.push(`status=${status}`);
|
|
84
|
+
}
|
|
85
|
+
if (sort != null) {
|
|
86
|
+
params.push(`sort=${sort}`);
|
|
87
|
+
}
|
|
88
|
+
if (page != null) {
|
|
89
|
+
params.push(`page=${page}`);
|
|
90
|
+
}
|
|
91
|
+
if (size != null) {
|
|
92
|
+
params.push(`size=${size}`);
|
|
93
|
+
}
|
|
94
|
+
return this.rest.get(`${this.baseUrl}/lookup`, ...params);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Lookup groups ID->Name
|
|
98
|
+
*/
|
|
99
|
+
groupsLookup() {
|
|
100
|
+
return this.rest.get(`${this.baseUrl}/groups-lookup`);
|
|
101
|
+
}
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsersEndPoint, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
103
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsersEndPoint, providedIn: 'root' }); }
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UsersEndPoint, decorators: [{
|
|
106
|
+
type: Injectable,
|
|
107
|
+
args: [{
|
|
108
|
+
providedIn: 'root'
|
|
109
|
+
}]
|
|
110
|
+
}], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
|
|
111
|
+
type: Inject,
|
|
112
|
+
args: [APP_CONFIG]
|
|
113
|
+
}] }, { type: i1.RestUtils }] });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcnNFbmRQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL2xpYi9zZXJ2aWNlcy9Vc2Vyc0VuZFBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7Ozs7QUFVckQsNENBQTRDO0FBSTVDLE1BQU0sT0FBTyxhQUFhO0lBS3hCLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLFFBQVEsQ0FBQztRQUl6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdB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SUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLE9BQU8sU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQWhGVSxhQUFhLGtCQU1KLFVBQVU7bUhBTm5CLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2MsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RVdGlscyB9IGZyb20gJy4uLy4uL3Jlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRywgQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHsgRW50aXR5UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBVc2VyU3RhdHVzQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEVudGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBTdHJpbmdLZXlWYWx1ZSB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gVXNlcnNFbmRQb2ludCBTZXJ2aWNlcyBmb3IgdXNlcnMgYWN0aW9ucyBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJzRW5kUG9pbnQge1xuXG4gIC8vIFVSTCB0byB3ZWIgYXBpXG4gIHByaXZhdGUgYmFzZVVybCA9ICcvdXNlcnMnO1xuXG4gIC8vIENsYXNzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEFwcENvbmZpZywgcHJpdmF0ZSByZXN0OiBSZXN0VXRpbHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmNvbmZpZy5hcGkgKyB0aGlzLmJhc2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBhbmQgZW1wdHkgdXNlciB0ZW1wbGF0ZVxuICAgKi9cbiAgbmV3KCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucG9zdDxFbnRpdHlSZXNwb25zZTxVc2VyPj4oYCR7dGhpcy5iYXNlVXJsfS9uZXdgLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyB1c2VyXG4gICAqL1xuICBjcmVhdGUoYm9keT86IFVzZXIpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBvc3Q8RW50aXR5UmVzcG9uc2U8VXNlcj4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyB1c2VyXG4gICAqL1xuICB1cGRhdGUoYm9keT86IFVzZXIpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnB1dDxFbnRpdHlSZXNwb25zZTxVc2VyPj4oYCR7dGhpcy5iYXNlVXJsfWAsIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIDogYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHVzZXIgYW5kIGFsbCBpdHMgY29udGVudFxuICAgKi9cbiAgZGVsZXRlKGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5kZWxldGU8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgdXNlciBieSBpZFxuICAgKi9cbiAgZ2V0KGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8VXNlcj4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHVzZXJzIGJ5IHF1ZXJ5XG4gICAqL1xuICBmaW5kKHNlYXJjaD86IHN0cmluZywgdHlwZT86IFVzZXJUeXBlQ29kZVtdLCBzdGF0dXM/OiBVc2VyU3RhdHVzQ29kZVtdLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAodHlwZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0eXBlPSR7dHlwZX1gKTsgfVxuICAgIGlmIChzdGF0dXMgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RhdHVzPSR7c3RhdHVzfWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPFVzZXI+PihgJHt0aGlzLmJhc2VVcmx9YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rdXAgdXNlcnMgSUQtPk5hbWUgYnkgZmlsdGVyXG4gICAqL1xuICBsb29rdXAoc2VhcmNoPzogc3RyaW5nLCB0eXBlPzogVXNlclR5cGVDb2RlW10sIHN0YXR1cz86IFVzZXJTdGF0dXNDb2RlW10sIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmICh0eXBlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHR5cGU9JHt0eXBlfWApOyB9XG4gICAgaWYgKHN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdGF0dXM9JHtzdGF0dXN9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8U3RyaW5nS2V5VmFsdWU+PihgJHt0aGlzLmJhc2VVcmx9L2xvb2t1cGAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogTG9va3VwIGdyb3VwcyBJRC0+TmFtZVxuICAgKi9cbiAgZ3JvdXBzTG9va3VwKCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8U3RyaW5nS2V5VmFsdWU+PihgJHt0aGlzLmJhc2VVcmx9L2dyb3Vwcy1sb29rdXBgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export * from './MyStudentsEndPoint';
|
|
2
|
+
export * from './LeadsEndPoint';
|
|
3
|
+
export * from './SyllabusEndPoint';
|
|
4
|
+
export * from './UserEndPoint';
|
|
5
|
+
export * from './MyCreditsEndPoint';
|
|
6
|
+
export * from './AuditLogsEndPoint';
|
|
7
|
+
export * from './LookupsEndPoint';
|
|
8
|
+
export * from './SystemConfigsEndPoint';
|
|
9
|
+
export * from './MyBookingsEndPoint';
|
|
10
|
+
export * from './MyFlightsEndPoint';
|
|
11
|
+
export * from './MyMessagesEndPoint';
|
|
12
|
+
export * from './BookingSlotsEndPoint';
|
|
13
|
+
export * from './SystemEndPoint';
|
|
14
|
+
export * from './McpToolsEndPoint';
|
|
15
|
+
export * from './AccountsEndPoint';
|
|
16
|
+
export * from './AirplanesEndPoint';
|
|
17
|
+
export * from './DocumentsEndPoint';
|
|
18
|
+
export * from './FlightsEndPoint';
|
|
19
|
+
export * from './MaintenancesEndPoint';
|
|
20
|
+
export * from './MessageConfirmsEndPoint';
|
|
21
|
+
export * from './MyAuthEndPoint';
|
|
22
|
+
export * from './MyInfoEndPoint';
|
|
23
|
+
export * from './FlightTicketsEndPoint';
|
|
24
|
+
export * from './GroupsEndPoint';
|
|
25
|
+
export * from './UsersEndPoint';
|
|
26
|
+
export * from './CampaignsEndPoint';
|
|
27
|
+
export * from './CertificatesEndPoint';
|
|
28
|
+
export * from './BookingsEndPoint';
|
|
29
|
+
export * from './ContactsEndPoint';
|
|
30
|
+
export * from './CreditsEndPoint';
|
|
31
|
+
export * from './PriceListEndPoint';
|
|
32
|
+
export * from './SystemMessagesEndPoint';
|
|
33
|
+
export * from './MyCertificatesEndPoint';
|
|
34
|
+
export * from './ContactsGroupsEndPoint';
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ29veC1saWIyL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9NeVN0dWRlbnRzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9MZWFkc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vU3lsbGFidXNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL1VzZXJFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL015Q3JlZGl0c0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vQXVkaXRMb2dzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9Mb29rdXBzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9TeXN0ZW1Db25maWdzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9NeUJvb2tpbmdzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9NeUZsaWdodHNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL015TWVzc2FnZXNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0Jvb2tpbmdTbG90c0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vU3lzdGVtRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9NY3BUb29sc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vQWNjb3VudHNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0FpcnBsYW5lc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vRG9jdW1lbnRzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9GbGlnaHRzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9NYWludGVuYW5jZXNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL01lc3NhZ2VDb25maXJtc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vTXlBdXRoRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9NeUluZm9FbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0ZsaWdodFRpY2tldHNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0dyb3Vwc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vVXNlcnNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0NhbXBhaWduc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vQ2VydGlmaWNhdGVzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9Cb29raW5nc0VuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vQ29udGFjdHNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL0NyZWRpdHNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL1ByaWNlTGlzdEVuZFBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vU3lzdGVtTWVzc2FnZXNFbmRQb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL015Q2VydGlmaWNhdGVzRW5kUG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9Db250YWN0c0dyb3Vwc0VuZFBvaW50JztcblxuXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { provideHttpClient } from '@angular/common/http';
|
|
4
|
+
import { APP_CONFIG } from './config';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgxGooxLibModule {
|
|
7
|
+
static forRoot(config) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: NgxGooxLibModule,
|
|
10
|
+
providers: [
|
|
11
|
+
provideHttpClient(),
|
|
12
|
+
{ provide: APP_CONFIG, useValue: config }
|
|
13
|
+
]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgxGooxLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: NgxGooxLibModule, imports: [CommonModule] }); }
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgxGooxLibModule, imports: [CommonModule] }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgxGooxLibModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
imports: [CommonModule]
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdvb3gtbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL25neC1nb294LWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxVQUFVLENBQUM7O0FBS2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFpQjtRQUM5QixPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsaUJBQWlCLEVBQUU7Z0JBQ25CLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBVFUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsWUFGakIsWUFBWTtnSEFFWCxnQkFBZ0IsWUFGakIsWUFBWTs7NEZBRVgsZ0JBQWdCO2tCQUg1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRywgQXBwQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHb294TGliTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBBcHBDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neEdvb3hMaWJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neEdvb3hMaWJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUh0dHBDbGllbnQoKSxcbiAgICAgICAgeyBwcm92aWRlOiBBUFBfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of common
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/model';
|
|
5
|
+
export * from './lib/services';
|
|
6
|
+
export * from './config';
|
|
7
|
+
export * from './ngx-goox-lib.module';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsdUJBQXVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbW1vblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbmd4LWdvb3gtbGliLm1vZHVsZSdcbiJdfQ==
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders, HttpRequest } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
const httpOptions = {
|
|
6
|
+
headers: new HttpHeaders({
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
'Cache-Control': 'no-cache, no-store',
|
|
9
|
+
'Access-Control-Allow-Origin': '*',
|
|
10
|
+
'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, X-API-KEY, X-ACCESS-TOKEN, X-TIMEZONE, accept, origin, Cache-Control, X-Requested-With, Authorization, Content-Disposition, Content-Filename',
|
|
11
|
+
})
|
|
12
|
+
};
|
|
13
|
+
// Utility class for all REST services with common functions
|
|
14
|
+
export class RestUtils {
|
|
15
|
+
// Constructor with injected authentication service
|
|
16
|
+
constructor(http) {
|
|
17
|
+
this.http = http;
|
|
18
|
+
}
|
|
19
|
+
// Upload is HTTP POST action but the body is File object
|
|
20
|
+
upload(file, url, ...params) {
|
|
21
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
22
|
+
const formData = new FormData();
|
|
23
|
+
formData.append('fileKey', file, file.name);
|
|
24
|
+
const req = new HttpRequest('POST', resourceUrl, formData, {
|
|
25
|
+
reportProgress: false,
|
|
26
|
+
responseType: 'json',
|
|
27
|
+
});
|
|
28
|
+
return this.http.request(req);
|
|
29
|
+
}
|
|
30
|
+
// Download is HTTP GET action but the content is a blob
|
|
31
|
+
download(fileName, url, ...params) {
|
|
32
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
33
|
+
let downloadLink = fileName;
|
|
34
|
+
// extract file name
|
|
35
|
+
params.forEach(p => {
|
|
36
|
+
let arr = p.split('=');
|
|
37
|
+
if (arr.length > 1) {
|
|
38
|
+
if (arr[0].toLowerCase() === 'filename') {
|
|
39
|
+
downloadLink = arr[1];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
// Set content type for: json / csv / xml / pdf /xslx
|
|
44
|
+
let contentType = this.getMimeType(downloadLink);
|
|
45
|
+
return this.http.get(resourceUrl, {
|
|
46
|
+
responseType: 'blob',
|
|
47
|
+
reportProgress: true,
|
|
48
|
+
observe: 'events',
|
|
49
|
+
headers: new HttpHeaders({ 'Content-Type': contentType })
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
// Download2 is an alternative option to download
|
|
53
|
+
download2(fileName, url, ...params) {
|
|
54
|
+
let downloadLink = fileName;
|
|
55
|
+
// extract file name
|
|
56
|
+
params.forEach(p => {
|
|
57
|
+
let arr = p.split('=');
|
|
58
|
+
if (arr.length > 1) {
|
|
59
|
+
if (arr[0].toLowerCase() === 'filename') {
|
|
60
|
+
downloadLink = arr[1];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
let contentType = this.getMimeType(fileName);
|
|
65
|
+
const link = document.createElement('a');
|
|
66
|
+
link.href = this.buildUrl(url, ...params);
|
|
67
|
+
link.download = downloadLink;
|
|
68
|
+
document.body.appendChild(link);
|
|
69
|
+
link.click();
|
|
70
|
+
document.body.removeChild(link);
|
|
71
|
+
}
|
|
72
|
+
// HTTP GET action
|
|
73
|
+
get(url, ...params) {
|
|
74
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
75
|
+
return this.http.get(resourceUrl, httpOptions);
|
|
76
|
+
}
|
|
77
|
+
// HTTP POST action
|
|
78
|
+
post(url, body, ...params) {
|
|
79
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
80
|
+
return this.http.post(resourceUrl, body, httpOptions);
|
|
81
|
+
}
|
|
82
|
+
// HTTP PUT action
|
|
83
|
+
put(url, body, ...params) {
|
|
84
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
85
|
+
return this.http.put(resourceUrl, body, httpOptions);
|
|
86
|
+
}
|
|
87
|
+
// HTTP PATCH action
|
|
88
|
+
patch(url, body, ...params) {
|
|
89
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
90
|
+
return this.http.patch(resourceUrl, body, httpOptions);
|
|
91
|
+
}
|
|
92
|
+
// HTTP DELETE action
|
|
93
|
+
delete(url, ...params) {
|
|
94
|
+
const resourceUrl = this.buildUrl(url, ...params);
|
|
95
|
+
return this.http.delete(resourceUrl, httpOptions);
|
|
96
|
+
}
|
|
97
|
+
// Construct URL with parameters
|
|
98
|
+
buildUrl(url, ...params) {
|
|
99
|
+
return (params === null) ? url : (params.length === 0) ? url : `${url}${params && params.length > 0 ? '?' + params.join('&') : ''}`;
|
|
100
|
+
}
|
|
101
|
+
// Return MIME type based on file extension
|
|
102
|
+
getMimeType(fileName) {
|
|
103
|
+
// Set content type for: json / csv / xml / pdf /xslx
|
|
104
|
+
let contentType = 'application/json';
|
|
105
|
+
if (fileName.toLowerCase().endsWith('jpg') || fileName.toLowerCase().endsWith('jpeg')) {
|
|
106
|
+
contentType = 'image/jpeg';
|
|
107
|
+
}
|
|
108
|
+
else if (fileName.toLowerCase().endsWith('png')) {
|
|
109
|
+
contentType = 'image/png';
|
|
110
|
+
}
|
|
111
|
+
else if (fileName.toLowerCase().endsWith('tif') || fileName.toLowerCase().endsWith('tiff')) {
|
|
112
|
+
contentType = 'image/tiff';
|
|
113
|
+
}
|
|
114
|
+
else if (fileName.toLowerCase().endsWith('csv')) {
|
|
115
|
+
contentType = 'text/csv';
|
|
116
|
+
}
|
|
117
|
+
else if (fileName.toLowerCase().endsWith('xml')) {
|
|
118
|
+
contentType = 'text/xml';
|
|
119
|
+
}
|
|
120
|
+
else if (fileName.toLowerCase().endsWith('pdf')) {
|
|
121
|
+
contentType = 'application/pdf';
|
|
122
|
+
}
|
|
123
|
+
else if (fileName.toLowerCase().endsWith('xlsx')) {
|
|
124
|
+
contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
|
125
|
+
}
|
|
126
|
+
return contentType;
|
|
127
|
+
}
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestUtils, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
129
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestUtils, providedIn: 'root' }); }
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RestUtils, decorators: [{
|
|
132
|
+
type: Injectable,
|
|
133
|
+
args: [{
|
|
134
|
+
providedIn: 'root'
|
|
135
|
+
}]
|
|
136
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1nb294LWxpYjIvc3JjL3Jlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFHNUUsTUFBTSxXQUFXLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO1FBQ3ZCLGNBQWMsRUFBRyxrQkFBa0I7UUFDbkMsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyw2QkFBNkIsRUFBRSxHQUFHO1FBQ2xDLDhCQUE4QixFQUFFLDJNQUEyTTtLQUM1TyxDQUFDO0NBQ0gsQ0FBQztBQUVGLDREQUE0RDtBQUk1RCxNQUFNLE9BQU8sU0FBUztJQUVwQixtREFBbUQ7SUFDbkQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFJLENBQUM7SUFFekMseURBQXlEO0lBQ3pELE1BQU0sQ0FBSSxJQUFVLEVBQUUsR0FBVyxFQUFFLEdBQUcsTUFBZ0I7UUFFcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUVsRCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUU7WUFDekQsY0FBYyxFQUFFLEtBQUs7WUFDckIsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9B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M0IsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkQsV0FBVyxHQUFHLG1FQUFtRSxDQUFBO1FBQ25GLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDOytHQWhJVSxTQUFTO21IQUFULFNBQVMsY0FGUixNQUFNOzs0RkFFUCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuY29uc3QgaHR0cE9wdGlvbnMgPSB7XG4gIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICAnYXBwbGljYXRpb24vanNvbicsXG4gICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUsIG5vLXN0b3JlJyxcbiAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJzogJyonLFxuICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJzogJ0NvbnRlbnQtVHlwZSwgQ29udGVudC1MZW5ndGgsIEFjY2VwdC1FbmNvZGluZywgWC1DU1JGLVRva2VuLCBYLUFQSS1LRVksIFgtQUNDRVNTLVRPS0VOLCBYLVRJTUVaT05FLCBhY2NlcHQsIG9yaWdpbiwgQ2FjaGUtQ29udHJvbCwgWC1SZXF1ZXN0ZWQtV2l0aCwgQXV0aG9yaXphdGlvbiwgQ29udGVudC1EaXNwb3NpdGlvbiwgQ29udGVudC1GaWxlbmFtZScsXG4gIH0pXG59O1xuXG4vLyBVdGlsaXR5IGNsYXNzIGZvciBhbGwgUkVTVCBzZXJ2aWNlcyB3aXRoIGNvbW1vbiBmdW5jdGlvbnNcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RVdGlscyB7XG5cbiAgLy8gQ29uc3RydWN0b3Igd2l0aCBpbmplY3RlZCBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgLy8gVXBsb2FkIGlzIEhUVFAgUE9TVCBhY3Rpb24gYnV0IHRoZSBib2R5IGlzIEZpbGUgb2JqZWN0XG4gIHVwbG9hZDxUPihmaWxlOiBGaWxlLCB1cmw6IHN0cmluZywgLi4ucGFyYW1zOiBzdHJpbmdbXSkge1xuXG4gICAgY29uc3QgcmVzb3VyY2VVcmwgPSB0aGlzLmJ1aWxkVXJsKHVybCwgLi4ucGFyYW1zKTtcblxuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZUtleScsIGZpbGUsIGZpbGUubmFtZSk7XG5cbiAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCByZXNvdXJjZVVybCwgZm9ybURhdGEsIHtcbiAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxUPihyZXEpO1xuICB9XG5cbiAgLy8gRG93bmxvYWQgaXMgSFRUUCBHRVQgYWN0aW9uIGJ1dCB0aGUgY29udGVudCBpcyBhIGJsb2JcbiAgZG93bmxvYWQoZmlsZU5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcsIC4uLnBhcmFtczogc3RyaW5nW10pIHtcbiAgICBjb25zdCByZXNvdXJjZVVybCA9IHRoaXMuYnVpbGRVcmwodXJsLCAuLi5wYXJhbXMpO1xuXG4gICAgbGV0IGRvd25sb2FkTGluayA9IGZpbGVOYW1lXG5cbiAgICAvLyBleHRyYWN0IGZpbGUgbmFtZVxuICAgIHBhcmFtcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgbGV0IGFyciA9IHAuc3BsaXQoJz0nKTtcbiAgICAgIGlmIChhcnIubGVuZ3RoID4gMSkge1xuICAgICAgICBpZiAoYXJyWzBdLnRvTG93ZXJDYXNlKCkgPT09ICdmaWxlbmFtZScpIHtcbiAgICAgICAgICBkb3dubG9hZExpbmsgPSBhcnJbMV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFNldCBjb250ZW50IHR5cGUgZm9yOiBqc29uIC8gY3N2IC8geG1sIC8gcGRmIC94c2x4XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gdGhpcy5nZXRNaW1lVHlwZShkb3dubG9hZExpbmspO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocmVzb3VyY2VVcmwsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSB9KVxuICAgIH0pO1xuICB9XG5cbiAgLy8gRG93bmxvYWQyIGlzIGFuIGFsdGVybmF0aXZlIG9wdGlvbiB0byBkb3dubG9hZFxuICBkb3dubG9hZDIoZmlsZU5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcsIC4uLnBhcmFtczogc3RyaW5nW10pIHtcblxuICAgIGxldCBkb3dubG9hZExpbmsgPSBmaWxlTmFtZVxuXG4gICAgLy8gZXh0cmFjdCBmaWxlIG5hbWVcbiAgICBwYXJhbXMuZm9yRWFjaChwID0+IHtcbiAgICAgIGxldCBhcnIgPSBwLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAoYXJyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgaWYgKGFyclswXS50b0xvd2VyQ2FzZSgpID09PSAnZmlsZW5hbWUnKSB7XG4gICAgICAgICAgZG93bmxvYWRMaW5rID0gYXJyWzFdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgY29udGVudFR5cGUgPSB0aGlzLmdldE1pbWVUeXBlKGZpbGVOYW1lKTtcblxuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdGhpcy5idWlsZFVybCh1cmwsIC4uLnBhcmFtcyk7XG4gICAgbGluay5kb3dubG9hZCA9IGRvd25sb2FkTGluaztcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuXG4gIH1cblxuICAvLyBIVFRQIEdFVCBhY3Rpb25cbiAgZ2V0PFQ+KHVybDogc3RyaW5nLCAuLi5wYXJhbXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcmVzb3VyY2VVcmwgPSB0aGlzLmJ1aWxkVXJsKHVybCwgLi4ucGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPihyZXNvdXJjZVVybCwgaHR0cE9wdGlvbnMpXG4gIH1cblxuICAvLyBIVFRQIFBPU1QgYWN0aW9uXG4gIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk/OiBzdHJpbmcsIC4uLnBhcmFtczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCByZXNvdXJjZVVybCA9IHRoaXMuYnVpbGRVcmwodXJsLCAuLi5wYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPihyZXNvdXJjZVVybCwgYm9keSwgaHR0cE9wdGlvbnMpXG4gIH1cblxuICAvLyBIVFRQIFBVVCBhY3Rpb25cbiAgcHV0PFQ+KHVybDogc3RyaW5nLCBib2R5Pzogc3RyaW5nLCAuLi5wYXJhbXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcmVzb3VyY2VVcmwgPSB0aGlzLmJ1aWxkVXJsKHVybCwgLi4ucGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihyZXNvdXJjZVVybCwgYm9keSwgaHR0cE9wdGlvbnMpXG4gIH1cblxuICAvLyBIVFRQIFBBVENIIGFjdGlvblxuICBwYXRjaDxUPih1cmw6IHN0cmluZywgYm9keT86IHN0cmluZywgLi4ucGFyYW1zOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHJlc291cmNlVXJsID0gdGhpcy5idWlsZFVybCh1cmwsIC4uLnBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxUPihyZXNvdXJjZVVybCwgYm9keSwgaHR0cE9wdGlvbnMpXG4gIH1cblxuICAvLyBIVFRQIERFTEVURSBhY3Rpb25cbiAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCAuLi5wYXJhbXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcmVzb3VyY2VVcmwgPSB0aGlzLmJ1aWxkVXJsKHVybCwgLi4ucGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxUPihyZXNvdXJjZVVybCwgaHR0cE9wdGlvbnMpXG4gIH1cblxuICAvLyBDb25zdHJ1Y3QgVVJMIHdpdGggcGFyYW1ldGVyc1xuICBwcml2YXRlIGJ1aWxkVXJsKHVybDogc3RyaW5nLCAuLi5wYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIChwYXJhbXMgPT09IG51bGwpID8gdXJsIDogKHBhcmFtcy5sZW5ndGggPT09IDApID8gdXJsIDogYCR7dXJsfSR7cGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwID8gJz8nK3BhcmFtcy5qb2luKCcmJykgOiAnJ31gO1xuICB9XG5cbiAgLy8gUmV0dXJuIE1JTUUgdHlwZSBiYXNlZCBvbiBmaWxlIGV4dGVuc2lvblxuICBwcml2YXRlIGdldE1pbWVUeXBlKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFNldCBjb250ZW50IHR5cGUgZm9yOiBqc29uIC8gY3N2IC8geG1sIC8gcGRmIC94c2x4XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICAgIGlmIChmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdqcGcnKSB8fCBmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdqcGVnJykpIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gJ2ltYWdlL2pwZWcnO1xuICAgIH0gZWxzZSBpZiAoZmlsZU5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgncG5nJykpIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gJ2ltYWdlL3BuZyc7XG4gICAgfSBlbHNlIGlmIChmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCd0aWYnKSB8fCBmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCd0aWZmJykpIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gJ2ltYWdlL3RpZmYnO1xuICAgIH0gZWxzZSBpZiAoZmlsZU5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnY3N2JykpIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gJ3RleHQvY3N2JztcbiAgICB9IGVsc2UgaWYgKGZpbGVOYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ3htbCcpKSB7XG4gICAgICBjb250ZW50VHlwZSA9ICd0ZXh0L3htbCc7XG4gICAgfSBlbHNlIGlmIChmaWxlTmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdwZGYnKSkge1xuICAgICAgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vcGRmJztcbiAgICB9IGVsc2UgaWYgKGZpbGVOYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ3hsc3gnKSkge1xuICAgICAgY29udGVudFR5cGUgPSBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0XCJcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnRUeXBlXG4gIH1cbn1cbiJdfQ==
|