swoop-common 2.1.90 → 2.1.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -34
- package/dist/api/generated/core/core/OpenAPI.js +1 -1
- package/dist/api/generated/core/index.d.ts +4 -0
- package/dist/api/generated/core/index.js +4 -0
- package/dist/api/generated/core/models/DTOItineraryCreate.d.ts +2 -0
- package/dist/api/generated/core/models/DTOSwooperCreate.d.ts +4 -1
- package/dist/api/generated/core/models/DTOSwooperEntity.d.ts +3 -0
- package/dist/api/generated/core/models/DTOSwooperRead.d.ts +4 -1
- package/dist/api/generated/core/models/DTOSwooperUpdate.d.ts +3 -0
- package/dist/api/generated/core/services/ComponentService.d.ts +1 -1
- package/dist/api/generated/core/services/ComponentService.js +10 -10
- package/dist/api/generated/core/services/CoreService.d.ts +171 -1
- package/dist/api/generated/core/services/CoreService.js +394 -20
- package/dist/api/generated/core/services/ItineraryService.d.ts +80 -0
- package/dist/api/generated/core/services/ItineraryService.js +177 -0
- package/dist/api/generated/{itinerary → core}/services/SnapshotService.js +1 -1
- package/dist/api/generated/core/services/SwooperService.js +4 -4
- package/dist/api/generated/core/services/TemplateService.js +6 -6
- package/dist/api/init.d.ts +0 -4
- package/dist/api/init.js +0 -7
- package/dist/rendering/components/ComponentPicker.js +1 -1
- package/package.json +56 -58
- package/dist/api/bundler.d.ts +0 -1
- package/dist/api/bundler.js +0 -141
- package/dist/api/generated/itinerary/core/ApiError.d.ts +0 -10
- package/dist/api/generated/itinerary/core/ApiError.js +0 -11
- package/dist/api/generated/itinerary/core/ApiRequestOptions.d.ts +0 -13
- package/dist/api/generated/itinerary/core/ApiRequestOptions.js +0 -1
- package/dist/api/generated/itinerary/core/ApiResult.d.ts +0 -7
- package/dist/api/generated/itinerary/core/ApiResult.js +0 -1
- package/dist/api/generated/itinerary/core/CancelablePromise.d.ts +0 -20
- package/dist/api/generated/itinerary/core/CancelablePromise.js +0 -111
- package/dist/api/generated/itinerary/core/OpenAPI.d.ts +0 -16
- package/dist/api/generated/itinerary/core/OpenAPI.js +0 -11
- package/dist/api/generated/itinerary/core/request.d.ts +0 -30
- package/dist/api/generated/itinerary/core/request.js +0 -271
- package/dist/api/generated/itinerary/exports.d.ts +0 -0
- package/dist/api/generated/itinerary/exports.js +0 -2
- package/dist/api/generated/itinerary/index.d.ts +0 -103
- package/dist/api/generated/itinerary/index.js +0 -19
- package/dist/api/generated/itinerary/models/Amendment.d.ts +0 -8
- package/dist/api/generated/itinerary/models/Amendment.js +0 -1
- package/dist/api/generated/itinerary/models/AssignedPassenger.d.ts +0 -7
- package/dist/api/generated/itinerary/models/AssignedPassenger.js +0 -1
- package/dist/api/generated/itinerary/models/AssignedTravellerGroup.d.ts +0 -6
- package/dist/api/generated/itinerary/models/AssignedTravellerGroup.js +0 -1
- package/dist/api/generated/itinerary/models/B64StringQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/B64StringQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/BookingStatus.d.ts +0 -7
- package/dist/api/generated/itinerary/models/BookingStatus.js +0 -12
- package/dist/api/generated/itinerary/models/BranchId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/BranchId.js +0 -1
- package/dist/api/generated/itinerary/models/BranchTag.d.ts +0 -1
- package/dist/api/generated/itinerary/models/BranchTag.js +0 -1
- package/dist/api/generated/itinerary/models/Branches.d.ts +0 -12
- package/dist/api/generated/itinerary/models/Branches.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentDescription.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ComponentDescription.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentFAQ.d.ts +0 -4
- package/dist/api/generated/itinerary/models/ComponentFAQ.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/ComponentId.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentIdPathParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ComponentIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentInstance.d.ts +0 -28
- package/dist/api/generated/itinerary/models/ComponentInstance.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentNotes.d.ts +0 -9
- package/dist/api/generated/itinerary/models/ComponentNotes.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentRevisionGroupId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/ComponentRevisionGroupId.js +0 -1
- package/dist/api/generated/itinerary/models/ComponentState.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ComponentState.js +0 -10
- package/dist/api/generated/itinerary/models/Currency.d.ts +0 -12
- package/dist/api/generated/itinerary/models/Currency.js +0 -17
- package/dist/api/generated/itinerary/models/DTOBranchCreate.d.ts +0 -8
- package/dist/api/generated/itinerary/models/DTOBranchCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOBranchEntity.d.ts +0 -11
- package/dist/api/generated/itinerary/models/DTOBranchEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOBranchRead.d.ts +0 -11
- package/dist/api/generated/itinerary/models/DTOBranchRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOBranchUpdate.d.ts +0 -4
- package/dist/api/generated/itinerary/models/DTOBranchUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOComponentCreate.d.ts +0 -30
- package/dist/api/generated/itinerary/models/DTOComponentCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOComponentEntity.d.ts +0 -37
- package/dist/api/generated/itinerary/models/DTOComponentEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOComponentRead.d.ts +0 -37
- package/dist/api/generated/itinerary/models/DTOComponentRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOComponentUpdate.d.ts +0 -25
- package/dist/api/generated/itinerary/models/DTOComponentUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOItineraryCreate.d.ts +0 -16
- package/dist/api/generated/itinerary/models/DTOItineraryCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOItineraryEntity.d.ts +0 -25
- package/dist/api/generated/itinerary/models/DTOItineraryEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOItineraryRead.d.ts +0 -25
- package/dist/api/generated/itinerary/models/DTOItineraryRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOItineraryUpdate.d.ts +0 -16
- package/dist/api/generated/itinerary/models/DTOItineraryUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTORegionCreate.d.ts +0 -8
- package/dist/api/generated/itinerary/models/DTORegionCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTORegionEntity.d.ts +0 -12
- package/dist/api/generated/itinerary/models/DTORegionEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTORegionRead.d.ts +0 -12
- package/dist/api/generated/itinerary/models/DTORegionRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTORegionUpdate.d.ts +0 -8
- package/dist/api/generated/itinerary/models/DTORegionUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSnapshotCreate.d.ts +0 -8
- package/dist/api/generated/itinerary/models/DTOSnapshotCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSnapshotEntity.d.ts +0 -12
- package/dist/api/generated/itinerary/models/DTOSnapshotEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSnapshotRead.d.ts +0 -12
- package/dist/api/generated/itinerary/models/DTOSnapshotRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSnapshotUpdate.d.ts +0 -6
- package/dist/api/generated/itinerary/models/DTOSnapshotUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSwooperCreate.d.ts +0 -16
- package/dist/api/generated/itinerary/models/DTOSwooperCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSwooperEntity.d.ts +0 -20
- package/dist/api/generated/itinerary/models/DTOSwooperEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSwooperRead.d.ts +0 -20
- package/dist/api/generated/itinerary/models/DTOSwooperRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOSwooperUpdate.d.ts +0 -16
- package/dist/api/generated/itinerary/models/DTOSwooperUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOTemplateCreate.d.ts +0 -11
- package/dist/api/generated/itinerary/models/DTOTemplateCreate.js +0 -1
- package/dist/api/generated/itinerary/models/DTOTemplateEntity.d.ts +0 -17
- package/dist/api/generated/itinerary/models/DTOTemplateEntity.js +0 -1
- package/dist/api/generated/itinerary/models/DTOTemplateRead.d.ts +0 -17
- package/dist/api/generated/itinerary/models/DTOTemplateRead.js +0 -1
- package/dist/api/generated/itinerary/models/DTOTemplateUpdate.d.ts +0 -7
- package/dist/api/generated/itinerary/models/DTOTemplateUpdate.js +0 -1
- package/dist/api/generated/itinerary/models/Destination.d.ts +0 -5
- package/dist/api/generated/itinerary/models/Destination.js +0 -10
- package/dist/api/generated/itinerary/models/Discount.d.ts +0 -10
- package/dist/api/generated/itinerary/models/Discount.js +0 -1
- package/dist/api/generated/itinerary/models/EnquiryId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/EnquiryId.js +0 -1
- package/dist/api/generated/itinerary/models/EnquiryIdPathParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/EnquiryIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/EnquiryIdQueryParam.d.ts +0 -1
- package/dist/api/generated/itinerary/models/EnquiryIdQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/Error.d.ts +0 -4
- package/dist/api/generated/itinerary/models/Error.js +0 -1
- package/dist/api/generated/itinerary/models/Fee.d.ts +0 -10
- package/dist/api/generated/itinerary/models/Fee.js +0 -1
- package/dist/api/generated/itinerary/models/Field.d.ts +0 -4
- package/dist/api/generated/itinerary/models/Field.js +0 -1
- package/dist/api/generated/itinerary/models/ItineraryId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/ItineraryId.js +0 -1
- package/dist/api/generated/itinerary/models/ItineraryIdPathParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ItineraryIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/ItineraryIdQueryParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ItineraryIdQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/ItineraryRevisionGroupId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/ItineraryRevisionGroupId.js +0 -1
- package/dist/api/generated/itinerary/models/ItineraryValue.d.ts +0 -4
- package/dist/api/generated/itinerary/models/ItineraryValue.js +0 -1
- package/dist/api/generated/itinerary/models/LimitQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/LimitQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/Meals.d.ts +0 -8
- package/dist/api/generated/itinerary/models/Meals.js +0 -13
- package/dist/api/generated/itinerary/models/Media.d.ts +0 -4
- package/dist/api/generated/itinerary/models/Media.js +0 -1
- package/dist/api/generated/itinerary/models/Metadata.d.ts +0 -7
- package/dist/api/generated/itinerary/models/Metadata.js +0 -1
- package/dist/api/generated/itinerary/models/MockErrorCodeQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/MockErrorCodeQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/OnQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/OnQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/OrderQueryParam.d.ts +0 -7
- package/dist/api/generated/itinerary/models/OrderQueryParam.js +0 -12
- package/dist/api/generated/itinerary/models/OrgId.d.ts +0 -3
- package/dist/api/generated/itinerary/models/OrgId.js +0 -8
- package/dist/api/generated/itinerary/models/Package.d.ts +0 -7
- package/dist/api/generated/itinerary/models/Package.js +0 -1
- package/dist/api/generated/itinerary/models/PackageItem.d.ts +0 -6
- package/dist/api/generated/itinerary/models/PackageItem.js +0 -1
- package/dist/api/generated/itinerary/models/PackageSpan.d.ts +0 -11
- package/dist/api/generated/itinerary/models/PackageSpan.js +0 -1
- package/dist/api/generated/itinerary/models/PageQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/PageQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/Pagination.d.ts +0 -5
- package/dist/api/generated/itinerary/models/Pagination.js +0 -1
- package/dist/api/generated/itinerary/models/Price.d.ts +0 -5
- package/dist/api/generated/itinerary/models/Price.js +0 -1
- package/dist/api/generated/itinerary/models/QuoteOptions.d.ts +0 -9
- package/dist/api/generated/itinerary/models/QuoteOptions.js +0 -1
- package/dist/api/generated/itinerary/models/RegionId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/RegionId.js +0 -1
- package/dist/api/generated/itinerary/models/SearchQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/SearchQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/SnapshotId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/SnapshotId.js +0 -1
- package/dist/api/generated/itinerary/models/SnapshotIdPathParam.d.ts +0 -2
- package/dist/api/generated/itinerary/models/SnapshotIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/SortQueryParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/SortQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/StateQueryParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/StateQueryParam.js +0 -1
- package/dist/api/generated/itinerary/models/SwoopContactInfo.d.ts +0 -5
- package/dist/api/generated/itinerary/models/SwoopContactInfo.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperExperience.d.ts +0 -7
- package/dist/api/generated/itinerary/models/SwooperExperience.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperHighlights.d.ts +0 -5
- package/dist/api/generated/itinerary/models/SwooperHighlights.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/SwooperId.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperIdPathParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/SwooperIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperInfo.d.ts +0 -6
- package/dist/api/generated/itinerary/models/SwooperInfo.js +0 -1
- package/dist/api/generated/itinerary/models/SwooperPersonalInfo.d.ts +0 -7
- package/dist/api/generated/itinerary/models/SwooperPersonalInfo.js +0 -1
- package/dist/api/generated/itinerary/models/TagPathParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/TagPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/TemplateId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/TemplateId.js +0 -1
- package/dist/api/generated/itinerary/models/TemplateIdPathParam.d.ts +0 -5
- package/dist/api/generated/itinerary/models/TemplateIdPathParam.js +0 -1
- package/dist/api/generated/itinerary/models/TemplateRevisionGroupId.d.ts +0 -1
- package/dist/api/generated/itinerary/models/TemplateRevisionGroupId.js +0 -1
- package/dist/api/generated/itinerary/models/Title.d.ts +0 -1
- package/dist/api/generated/itinerary/models/Title.js +0 -1
- package/dist/api/generated/itinerary/models/UrgencyCTA.d.ts +0 -4
- package/dist/api/generated/itinerary/models/UrgencyCTA.js +0 -9
- package/dist/api/generated/itinerary/models/UserComponentInstanceField.d.ts +0 -5
- package/dist/api/generated/itinerary/models/UserComponentInstanceField.js +0 -1
- package/dist/api/generated/itinerary/models/ValidationSchemas.d.ts +0 -5
- package/dist/api/generated/itinerary/models/ValidationSchemas.js +0 -1
- package/dist/api/generated/itinerary/models/VersionPathParam.d.ts +0 -4
- package/dist/api/generated/itinerary/models/VersionPathParam.js +0 -1
- package/dist/api/generated/itinerary/services/ItineraryService.d.ts +0 -174
- package/dist/api/generated/itinerary/services/ItineraryService.js +0 -378
- /package/dist/api/generated/{itinerary → core}/services/AuditService.d.ts +0 -0
- /package/dist/api/generated/{itinerary → core}/services/AuditService.js +0 -0
- /package/dist/api/generated/{itinerary → core}/services/RegionService.d.ts +0 -0
- /package/dist/api/generated/{itinerary → core}/services/RegionService.js +0 -0
- /package/dist/api/generated/{itinerary → core}/services/SnapshotService.d.ts +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { OpenAPI } from '../core/OpenAPI';
|
|
2
|
+
import { request as __request } from '../core/request';
|
|
3
|
+
export class ItineraryService {
|
|
4
|
+
/**
|
|
5
|
+
* List Tree view of Itineraries
|
|
6
|
+
* List all itineraries in a tree view for a specific enquiry id
|
|
7
|
+
* @param enquiryId Enquiry Id
|
|
8
|
+
* @returns any The tree list view of all itineraries given the parameters used
|
|
9
|
+
* @throws ApiError
|
|
10
|
+
*/
|
|
11
|
+
static itineraryList(enquiryId) {
|
|
12
|
+
return __request(OpenAPI, {
|
|
13
|
+
method: 'GET',
|
|
14
|
+
url: '/itinerary/{enquiryId}/tree',
|
|
15
|
+
path: {
|
|
16
|
+
'enquiryId': enquiryId,
|
|
17
|
+
},
|
|
18
|
+
errors: {
|
|
19
|
+
400: `If the filter options or query parameters contain invalid values`,
|
|
20
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
21
|
+
500: `When an internal server error occurs when listing all related itineraries`,
|
|
22
|
+
503: `Service Unavailable - The server is temporarily unable to handle the request`,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create an Itinerary on an Enquiry
|
|
28
|
+
* Creates a new itinerary on an Enquiry
|
|
29
|
+
* @param enquiryId Enquiry Id
|
|
30
|
+
* @param requestBody
|
|
31
|
+
* @param error error can be set to 1, 100, 101, 200, and 201 to mock sync error responses
|
|
32
|
+
* @returns any When a itinerary is created
|
|
33
|
+
* @throws ApiError
|
|
34
|
+
*/
|
|
35
|
+
static itineraryCreate(enquiryId, requestBody, error) {
|
|
36
|
+
return __request(OpenAPI, {
|
|
37
|
+
method: 'POST',
|
|
38
|
+
url: '/itinerary/create/{enquiryId}',
|
|
39
|
+
path: {
|
|
40
|
+
'enquiryId': enquiryId,
|
|
41
|
+
},
|
|
42
|
+
query: {
|
|
43
|
+
'error': error,
|
|
44
|
+
},
|
|
45
|
+
body: requestBody,
|
|
46
|
+
mediaType: 'application/json',
|
|
47
|
+
errors: {
|
|
48
|
+
400: `If the payload is malformed`,
|
|
49
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
50
|
+
404: `the customer linked via enquiryId does not exist or has been deleted or a referenced traveller group or traveller ID was not found`,
|
|
51
|
+
422: `An itinerary meets CRM 'late' criteria but 'isLateBookingConfirmed' is false`,
|
|
52
|
+
500: `When an internal server error occurs when creating a itinerary entity`,
|
|
53
|
+
503: `Service Unavailable - The server is temporarily unable to handle the request`,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get Itinerary
|
|
59
|
+
* Get itinerary via ID
|
|
60
|
+
* @param enquiryId Enquiry Id
|
|
61
|
+
* @param tag the branch tag
|
|
62
|
+
* @param version the version of a branch
|
|
63
|
+
* @returns any The corresponding itinerary that matches the enquiry id, tag, and version
|
|
64
|
+
* @throws ApiError
|
|
65
|
+
*/
|
|
66
|
+
static itineraryGet(enquiryId, tag, version) {
|
|
67
|
+
return __request(OpenAPI, {
|
|
68
|
+
method: 'GET',
|
|
69
|
+
url: '/itinerary/{enquiryId}/{tag}/{version}',
|
|
70
|
+
path: {
|
|
71
|
+
'enquiryId': enquiryId,
|
|
72
|
+
'tag': tag,
|
|
73
|
+
'version': version,
|
|
74
|
+
},
|
|
75
|
+
errors: {
|
|
76
|
+
400: `If the payload is malformed`,
|
|
77
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
78
|
+
404: `If the itinerary does not exist as it does not match the enquiry id, tag, and version`,
|
|
79
|
+
503: `Service Unavailable - The server is temporarily unable to handle the request`,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Update Itinerary as New Revision
|
|
85
|
+
* Updates an itinerary as a new revision on the latest version of a branch
|
|
86
|
+
* @param enquiryId Enquiry Id
|
|
87
|
+
* @param tag the branch tag
|
|
88
|
+
* @param requestBody
|
|
89
|
+
* @param error error can be set to 1, 100, 101, 200, and 201 to mock sync error responses
|
|
90
|
+
* @returns DTOItineraryRead When a new revision is created successfully
|
|
91
|
+
* @throws ApiError
|
|
92
|
+
*/
|
|
93
|
+
static itineraryUpdateAsNewRevision(enquiryId, tag, requestBody, error) {
|
|
94
|
+
return __request(OpenAPI, {
|
|
95
|
+
method: 'PUT',
|
|
96
|
+
url: '/itinerary/{enquiryId}/{tag}',
|
|
97
|
+
path: {
|
|
98
|
+
'enquiryId': enquiryId,
|
|
99
|
+
'tag': tag,
|
|
100
|
+
},
|
|
101
|
+
query: {
|
|
102
|
+
'error': error,
|
|
103
|
+
},
|
|
104
|
+
body: requestBody,
|
|
105
|
+
mediaType: 'application/json',
|
|
106
|
+
errors: {
|
|
107
|
+
400: `If the payload is malformed`,
|
|
108
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
109
|
+
404: `When the itinerary enquiry id and tag do not exists, or the customer linked via enquiryId does not exist, or has been deleted or a referenced traveller group or traveller ID was not found`,
|
|
110
|
+
422: `An itinerary meets CRM 'late' criteria but 'isLateBookingConfirmed' is false`,
|
|
111
|
+
500: `When an internal server error occurs updating an itinerary as a new revision`,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Fork an Itinerary
|
|
117
|
+
* this will create a new sub branch off the corresponding itinerary (enquiry id/tag/version)
|
|
118
|
+
* @param enquiryId Enquiry Id
|
|
119
|
+
* @param tag the branch tag
|
|
120
|
+
* @param version the version of a branch
|
|
121
|
+
* @param error error can be set to 1, 100, 101, 200, and 201 to mock sync error responses
|
|
122
|
+
* @returns any When the fork was successful
|
|
123
|
+
* @throws ApiError
|
|
124
|
+
*/
|
|
125
|
+
static forkItinerary(enquiryId, tag, version, error) {
|
|
126
|
+
return __request(OpenAPI, {
|
|
127
|
+
method: 'POST',
|
|
128
|
+
url: '/itinerary/fork/{enquiryId}/{tag}/{version}',
|
|
129
|
+
path: {
|
|
130
|
+
'enquiryId': enquiryId,
|
|
131
|
+
'tag': tag,
|
|
132
|
+
'version': version,
|
|
133
|
+
},
|
|
134
|
+
query: {
|
|
135
|
+
'error': error,
|
|
136
|
+
},
|
|
137
|
+
errors: {
|
|
138
|
+
400: `If the payload is malformed`,
|
|
139
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
140
|
+
404: `When the itinerary enquiry id and tag do not exists, or the customer linked via enquiryId does not exist, or has been deleted or a referenced traveller group or traveller ID was not found`,
|
|
141
|
+
422: `An itinerary meets CRM 'late' criteria but 'isLateBookingConfirmed' is false`,
|
|
142
|
+
500: `When an internal server error occurs updating an itinerary as a new revision`,
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Promote an Itinerary
|
|
148
|
+
* This will take itinerary that matches the enquiry id, tag, and version to create a new revision on the head of it's parent branch. This will delete the old sub branch that is being promoted as will exist as the new main head of its parent. Promotions of any tag will always promote into the main branch.
|
|
149
|
+
* @param enquiryId Enquiry Id
|
|
150
|
+
* @param tag the branch tag
|
|
151
|
+
* @param version the version of a branch
|
|
152
|
+
* @param error error can be set to 1, 100, 101, 200, and 201 to mock sync error responses
|
|
153
|
+
* @returns DTOItineraryRead The new head of the parent branch
|
|
154
|
+
* @throws ApiError
|
|
155
|
+
*/
|
|
156
|
+
static promoteItinerary(enquiryId, tag, version, error) {
|
|
157
|
+
return __request(OpenAPI, {
|
|
158
|
+
method: 'POST',
|
|
159
|
+
url: '/itinerary/promote/{enquiryId}/{tag}/{version}',
|
|
160
|
+
path: {
|
|
161
|
+
'enquiryId': enquiryId,
|
|
162
|
+
'tag': tag,
|
|
163
|
+
'version': version,
|
|
164
|
+
},
|
|
165
|
+
query: {
|
|
166
|
+
'error': error,
|
|
167
|
+
},
|
|
168
|
+
errors: {
|
|
169
|
+
400: `If the payload is malformed`,
|
|
170
|
+
401: `Unauthorized - Missing or invalid Authorization header`,
|
|
171
|
+
404: `When the itinerary enquiry id and tag do not exists, or the customer linked via enquiryId does not exist, or has been deleted or a referenced traveller group or traveller ID was not found`,
|
|
172
|
+
422: `An itinerary meets CRM 'late' criteria but 'isLateBookingConfirmed' is false`,
|
|
173
|
+
500: `When an internal server error occurs updating an itinerary as a new revision`,
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -16,7 +16,7 @@ export class SwooperService {
|
|
|
16
16
|
static swooperList(page, limit, order, sort, search, on) {
|
|
17
17
|
return __request(OpenAPI, {
|
|
18
18
|
method: 'GET',
|
|
19
|
-
url: '/
|
|
19
|
+
url: '/swooper',
|
|
20
20
|
query: {
|
|
21
21
|
'page': page,
|
|
22
22
|
'limit': limit,
|
|
@@ -44,7 +44,7 @@ export class SwooperService {
|
|
|
44
44
|
static swooperCreate(requestBody) {
|
|
45
45
|
return __request(OpenAPI, {
|
|
46
46
|
method: 'POST',
|
|
47
|
-
url: '/
|
|
47
|
+
url: '/swooper',
|
|
48
48
|
body: requestBody,
|
|
49
49
|
mediaType: 'application/json',
|
|
50
50
|
errors: {
|
|
@@ -66,7 +66,7 @@ export class SwooperService {
|
|
|
66
66
|
static swooperGet(swooperId) {
|
|
67
67
|
return __request(OpenAPI, {
|
|
68
68
|
method: 'GET',
|
|
69
|
-
url: '/
|
|
69
|
+
url: '/swooper/{swooperId}',
|
|
70
70
|
path: {
|
|
71
71
|
'swooperId': swooperId,
|
|
72
72
|
},
|
|
@@ -89,7 +89,7 @@ export class SwooperService {
|
|
|
89
89
|
static swooperUpdate(swooperId, requestBody) {
|
|
90
90
|
return __request(OpenAPI, {
|
|
91
91
|
method: 'PATCH',
|
|
92
|
-
url: '/
|
|
92
|
+
url: '/swooper/{swooperId}',
|
|
93
93
|
path: {
|
|
94
94
|
'swooperId': swooperId,
|
|
95
95
|
},
|
|
@@ -16,7 +16,7 @@ export class TemplateService {
|
|
|
16
16
|
static templateList(page, limit, order, sort, search, on) {
|
|
17
17
|
return __request(OpenAPI, {
|
|
18
18
|
method: 'GET',
|
|
19
|
-
url: '/
|
|
19
|
+
url: '/template',
|
|
20
20
|
query: {
|
|
21
21
|
'page': page,
|
|
22
22
|
'limit': limit,
|
|
@@ -43,7 +43,7 @@ export class TemplateService {
|
|
|
43
43
|
static templateCreate(requestBody) {
|
|
44
44
|
return __request(OpenAPI, {
|
|
45
45
|
method: 'POST',
|
|
46
|
-
url: '/
|
|
46
|
+
url: '/template',
|
|
47
47
|
body: requestBody,
|
|
48
48
|
mediaType: 'application/json',
|
|
49
49
|
errors: {
|
|
@@ -64,7 +64,7 @@ export class TemplateService {
|
|
|
64
64
|
static templateGet(templateId) {
|
|
65
65
|
return __request(OpenAPI, {
|
|
66
66
|
method: 'GET',
|
|
67
|
-
url: '/
|
|
67
|
+
url: '/template/{templateId}',
|
|
68
68
|
path: {
|
|
69
69
|
'templateId': templateId,
|
|
70
70
|
},
|
|
@@ -85,8 +85,8 @@ export class TemplateService {
|
|
|
85
85
|
*/
|
|
86
86
|
static templateUpdateAsNewRevision(templateId, requestBody) {
|
|
87
87
|
return __request(OpenAPI, {
|
|
88
|
-
method: '
|
|
89
|
-
url: '/
|
|
88
|
+
method: 'POST',
|
|
89
|
+
url: '/template/{templateId}',
|
|
90
90
|
path: {
|
|
91
91
|
'templateId': templateId,
|
|
92
92
|
},
|
|
@@ -111,7 +111,7 @@ export class TemplateService {
|
|
|
111
111
|
static templateDelete(templateId) {
|
|
112
112
|
return __request(OpenAPI, {
|
|
113
113
|
method: 'DELETE',
|
|
114
|
-
url: '/
|
|
114
|
+
url: '/template/{templateId}',
|
|
115
115
|
path: {
|
|
116
116
|
'templateId': templateId,
|
|
117
117
|
},
|
package/dist/api/init.d.ts
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import * as Core from "./generated/core/index";
|
|
2
|
-
import * as Itinerary from "./generated/itinerary/index";
|
|
3
2
|
import * as Swoop from "./generated/swoop/index";
|
|
4
3
|
export declare const InternalServices: {
|
|
5
4
|
SwoopService: Swoop.SwoopService;
|
|
6
5
|
CoreService: Core.CoreService;
|
|
7
|
-
ItineraryService: Itinerary.ItineraryService;
|
|
8
6
|
};
|
|
9
7
|
export declare const init: (opts: {
|
|
10
|
-
itineraryServiceUrl: string;
|
|
11
8
|
coreServiceUrl: string;
|
|
12
9
|
swoopServiceForwardUrl: string;
|
|
13
10
|
token: string | (() => Promise<string>);
|
|
14
11
|
}) => {
|
|
15
12
|
SwoopService: Swoop.SwoopService;
|
|
16
13
|
CoreService: Core.CoreService;
|
|
17
|
-
ItineraryService: Itinerary.ItineraryService;
|
|
18
14
|
};
|
|
19
15
|
export declare const initialisedCheck: () => void;
|
package/dist/api/init.js
CHANGED
|
@@ -1,34 +1,27 @@
|
|
|
1
1
|
import * as Core from "./generated/core/index";
|
|
2
|
-
import * as Itinerary from "./generated/itinerary/index";
|
|
3
2
|
import * as Swoop from "./generated/swoop/index";
|
|
4
3
|
let initalised = false;
|
|
5
4
|
// For internal use
|
|
6
5
|
export const InternalServices = {
|
|
7
6
|
SwoopService: new Swoop.SwoopService(),
|
|
8
7
|
CoreService: new Core.CoreService(),
|
|
9
|
-
ItineraryService: new Itinerary.ItineraryService(),
|
|
10
8
|
};
|
|
11
9
|
export const init = (opts) => {
|
|
12
10
|
// Keeps it consitent
|
|
13
11
|
if (opts.coreServiceUrl.endsWith("/"))
|
|
14
12
|
opts.coreServiceUrl = opts.coreServiceUrl.slice(0, -1);
|
|
15
|
-
if (opts.itineraryServiceUrl.endsWith("/"))
|
|
16
|
-
opts.itineraryServiceUrl = opts.itineraryServiceUrl.slice(0, -1);
|
|
17
13
|
if (opts.swoopServiceForwardUrl.endsWith("/"))
|
|
18
14
|
opts.swoopServiceForwardUrl = opts.swoopServiceForwardUrl.slice(0, -1);
|
|
19
15
|
// Update
|
|
20
16
|
Core.OpenAPI.BASE = opts.coreServiceUrl;
|
|
21
|
-
Itinerary.OpenAPI.BASE = opts.itineraryServiceUrl;
|
|
22
17
|
Swoop.OpenAPI.BASE = opts.swoopServiceForwardUrl;
|
|
23
18
|
// Token
|
|
24
19
|
Core.OpenAPI.TOKEN = opts.token;
|
|
25
|
-
Itinerary.OpenAPI.TOKEN = opts.token;
|
|
26
20
|
Swoop.OpenAPI.TOKEN = opts.token;
|
|
27
21
|
initalised = true;
|
|
28
22
|
return {
|
|
29
23
|
SwoopService: new Swoop.SwoopService(),
|
|
30
24
|
CoreService: new Core.CoreService(),
|
|
31
|
-
ItineraryService: new Itinerary.ItineraryService(),
|
|
32
25
|
};
|
|
33
26
|
};
|
|
34
27
|
export const initialisedCheck = () => {
|
|
@@ -70,7 +70,7 @@ export default function ComponentPickerModal({ open, onClose, onSelect, selected
|
|
|
70
70
|
const [templatesData, partnersData, regionsData] = yield Promise.all([
|
|
71
71
|
InternalServices.CoreService.templateList(),
|
|
72
72
|
getAllPartners(),
|
|
73
|
-
InternalServices.
|
|
73
|
+
InternalServices.CoreService.regionList(),
|
|
74
74
|
]);
|
|
75
75
|
setTemplates(templatesData.data || []);
|
|
76
76
|
setPartners(partnersData);
|
package/package.json
CHANGED
|
@@ -1,62 +1,60 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
"./rendering": {
|
|
13
|
-
"import": "./dist/rendering/index.js",
|
|
14
|
-
"require": "./dist/rendering/index.js",
|
|
15
|
-
"types": "./dist/rendering/index.d.ts"
|
|
16
|
-
}
|
|
2
|
+
"name": "swoop-common",
|
|
3
|
+
"version": "2.1.91",
|
|
4
|
+
"main": "dist/api/index.js",
|
|
5
|
+
"types": "dist/api/index.d.ts",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./dist/api/index.js",
|
|
9
|
+
"require": "./dist/api/index.js",
|
|
10
|
+
"types": "./dist/api/index.d.ts"
|
|
17
11
|
},
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"test": "echo \"Error: no test specified\" && exit 1",
|
|
23
|
-
"build": "rimraf ./dist && tsc",
|
|
24
|
-
"build-imports": "tsx ./src/rendering/prebuild/import.ts",
|
|
25
|
-
"build-core-sdk": "npx openapi-typescript-codegen --input ./openapi/generated/core_bundled.yaml --output ./src/api/generated/core --client fetch",
|
|
26
|
-
"build-itinerary-sdk": "npx openapi-typescript-codegen --input ./openapi/generated/itinerary_bundled.yaml --output ./src/api/generated/itinerary --client fetch",
|
|
27
|
-
"build-swoop-sdk": "npx openapi-typescript-codegen --input ./openapi/swoop_service.yaml --output ./src/api/generated/swoop --client fetch --postfixModels Swoop --request ./src/api/templates/request.ts",
|
|
28
|
-
"prebuild": "npm run build-imports && npm run bundle && npm run build-sdk",
|
|
29
|
-
"build-sdk-exports": "tsx ./src/api/gen.ts",
|
|
30
|
-
"bundle": "tsx ./src/api/bundler.ts",
|
|
31
|
-
"build-sdk": "npm run build-core-sdk && npm run build-itinerary-sdk && npm run build-swoop-sdk && npm run build-sdk-exports"
|
|
32
|
-
},
|
|
33
|
-
"author": "",
|
|
34
|
-
"license": "ISC",
|
|
35
|
-
"description": "",
|
|
36
|
-
"dependencies": {
|
|
37
|
-
"@apidevtools/swagger-parser": "^12.0.0",
|
|
38
|
-
"@emotion/react": "^11.14.0",
|
|
39
|
-
"@emotion/styled": "^11.14.1",
|
|
40
|
-
"@jsonforms/core": "^3.5.1",
|
|
41
|
-
"@jsonforms/material-renderers": "^3.5.1",
|
|
42
|
-
"@jsonforms/react": "^3.5.1",
|
|
43
|
-
"ajv": "^8.17.1",
|
|
44
|
-
"js-yaml": "^4.1.0",
|
|
45
|
-
"lodash.merge": "^4.6.2",
|
|
46
|
-
"openapi-ts": "^0.3.4",
|
|
47
|
-
"react": "^19.0.0",
|
|
48
|
-
"rimraf": "^6.0.1",
|
|
49
|
-
"swoop-common": "^2.1.55"
|
|
50
|
-
},
|
|
51
|
-
"devDependencies": {
|
|
52
|
-
"@apidevtools/swagger-cli": "^4.0.4",
|
|
53
|
-
"@hey-api/openapi-ts": "^0.80.2",
|
|
54
|
-
"@types/js-yaml": "^4.0.9",
|
|
55
|
-
"@types/lodash.merge": "^4.6.9",
|
|
56
|
-
"@types/node": "^24.0.14",
|
|
57
|
-
"@types/react": "^19",
|
|
58
|
-
"openapi-typescript-codegen": "^0.29.0",
|
|
59
|
-
"tsx": "^4.20.3",
|
|
60
|
-
"typescript": "^5.8.3"
|
|
12
|
+
"./rendering": {
|
|
13
|
+
"import": "./dist/rendering/index.js",
|
|
14
|
+
"require": "./dist/rendering/index.js",
|
|
15
|
+
"types": "./dist/rendering/index.d.ts"
|
|
61
16
|
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
23
|
+
"build": "rimraf ./dist && tsc",
|
|
24
|
+
"build-imports": "tsx ./src/rendering/prebuild/import.ts",
|
|
25
|
+
"build-core-sdk": "npx openapi-typescript-codegen --input ./openapi/core_service.yaml --output ./src/api/generated/core --client fetch",
|
|
26
|
+
"build-swoop-sdk": "npx openapi-typescript-codegen --input ./openapi/swoop_service.yaml --output ./src/api/generated/swoop --client fetch --postfixModels Swoop --request ./src/api/templates/request.ts",
|
|
27
|
+
"prebuild": "npm run build-imports && npm run build-sdk",
|
|
28
|
+
"build-sdk-exports": "tsx ./src/api/gen.ts",
|
|
29
|
+
"build-sdk": "npm run build-core-sdk && npm run build-swoop-sdk && npm run build-sdk-exports"
|
|
30
|
+
},
|
|
31
|
+
"author": "",
|
|
32
|
+
"license": "ISC",
|
|
33
|
+
"description": "",
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@apidevtools/swagger-parser": "^12.0.0",
|
|
36
|
+
"@emotion/react": "^11.14.0",
|
|
37
|
+
"@emotion/styled": "^11.14.1",
|
|
38
|
+
"@jsonforms/core": "^3.5.1",
|
|
39
|
+
"@jsonforms/material-renderers": "^3.5.1",
|
|
40
|
+
"@jsonforms/react": "^3.5.1",
|
|
41
|
+
"ajv": "^8.17.1",
|
|
42
|
+
"js-yaml": "^4.1.0",
|
|
43
|
+
"lodash.merge": "^4.6.2",
|
|
44
|
+
"openapi-ts": "^0.3.4",
|
|
45
|
+
"react": "^19.0.0",
|
|
46
|
+
"rimraf": "^6.0.1",
|
|
47
|
+
"swoop-common": "^2.1.55"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@apidevtools/swagger-cli": "^4.0.4",
|
|
51
|
+
"@hey-api/openapi-ts": "^0.80.2",
|
|
52
|
+
"@types/js-yaml": "^4.0.9",
|
|
53
|
+
"@types/lodash.merge": "^4.6.9",
|
|
54
|
+
"@types/node": "^24.0.14",
|
|
55
|
+
"@types/react": "^19",
|
|
56
|
+
"openapi-typescript-codegen": "^0.29.0",
|
|
57
|
+
"tsx": "^4.20.3",
|
|
58
|
+
"typescript": "^5.8.3"
|
|
59
|
+
}
|
|
62
60
|
}
|
package/dist/api/bundler.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/api/bundler.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import yaml from "js-yaml";
|
|
3
|
-
/**
|
|
4
|
-
* Merge all `components` subsections (schemas, parameters, responses, etc.)
|
|
5
|
-
*/
|
|
6
|
-
function mergeComponents(target, source) {
|
|
7
|
-
if (!(source === null || source === void 0 ? void 0 : source.components))
|
|
8
|
-
return;
|
|
9
|
-
if (!target.components) {
|
|
10
|
-
target.components = {};
|
|
11
|
-
}
|
|
12
|
-
for (const key of Object.keys(source.components)) {
|
|
13
|
-
if (!target.components[key]) {
|
|
14
|
-
target.components[key] = {};
|
|
15
|
-
}
|
|
16
|
-
Object.assign(target.components[key], source.components[key]);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Fix $ref pointers from external file refs (e.g. ./models.yaml#/...)
|
|
21
|
-
* to internal refs (#/components/...)
|
|
22
|
-
*/
|
|
23
|
-
function fixRefs(obj) {
|
|
24
|
-
if (Array.isArray(obj)) {
|
|
25
|
-
return obj.map(fixRefs);
|
|
26
|
-
}
|
|
27
|
-
else if (obj && typeof obj === "object") {
|
|
28
|
-
for (const key of Object.keys(obj)) {
|
|
29
|
-
if (key === "$ref" && typeof obj[key] === "string") {
|
|
30
|
-
obj[key] = obj[key].replace("./models.yaml#", "#");
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
obj[key] = fixRefs(obj[key]);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return obj;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* If a name exists in multiple component sections differing only by case,
|
|
41
|
-
* rename the NON-schema one (e.g., parameters) by appending a suffix, and rewrite $refs.
|
|
42
|
-
*/
|
|
43
|
-
function disambiguateComponentNamesAcrossSections(doc, opts = { paramSuffix: "Param" }) {
|
|
44
|
-
if (!(doc === null || doc === void 0 ? void 0 : doc.components))
|
|
45
|
-
return doc;
|
|
46
|
-
const sections = [
|
|
47
|
-
"schemas",
|
|
48
|
-
"parameters",
|
|
49
|
-
"responses",
|
|
50
|
-
"requestBodies",
|
|
51
|
-
"headers",
|
|
52
|
-
"securitySchemes",
|
|
53
|
-
"links",
|
|
54
|
-
"callbacks",
|
|
55
|
-
"examples",
|
|
56
|
-
];
|
|
57
|
-
// Build case-insensitive index of names by section
|
|
58
|
-
const namesBySection = new Map();
|
|
59
|
-
for (const sec of sections) {
|
|
60
|
-
const node = doc.components[sec];
|
|
61
|
-
const map = new Map();
|
|
62
|
-
if (node && typeof node === "object") {
|
|
63
|
-
for (const name of Object.keys(node)) {
|
|
64
|
-
const k = name.toLowerCase();
|
|
65
|
-
map.set(k, [...(map.get(k) || []), name]);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
namesBySection.set(sec, map);
|
|
69
|
-
}
|
|
70
|
-
// For each lowercased key present in multiple sections, rename non-schema sections
|
|
71
|
-
const collisions = new Map();
|
|
72
|
-
const allLower = new Set();
|
|
73
|
-
for (const sec of sections) {
|
|
74
|
-
for (const k of namesBySection.get(sec).keys())
|
|
75
|
-
allLower.add(k);
|
|
76
|
-
}
|
|
77
|
-
// Mapping of old -> new names for ref rewriting
|
|
78
|
-
const renamed = [];
|
|
79
|
-
for (const lower of allLower) {
|
|
80
|
-
const presentIn = sections.filter((sec) => namesBySection.get(sec).has(lower));
|
|
81
|
-
if (presentIn.length <= 1)
|
|
82
|
-
continue;
|
|
83
|
-
// keep schemas as canonical; rename others
|
|
84
|
-
for (const sec of presentIn) {
|
|
85
|
-
if (sec === "schemas")
|
|
86
|
-
continue;
|
|
87
|
-
const node = doc.components[sec];
|
|
88
|
-
const origNames = namesBySection.get(sec).get(lower); // all actual casings in this section
|
|
89
|
-
for (const from of origNames) {
|
|
90
|
-
const to = from + (sec === "parameters" ? opts.paramSuffix : `_In_${sec}`);
|
|
91
|
-
if (node[to])
|
|
92
|
-
continue; // avoid overwriting
|
|
93
|
-
node[to] = node[from];
|
|
94
|
-
delete node[from];
|
|
95
|
-
renamed.push({ section: sec, from, to });
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// Rewrite $refs to the renamed components
|
|
100
|
-
const rewrite = (o) => {
|
|
101
|
-
if (Array.isArray(o))
|
|
102
|
-
return o.map(rewrite);
|
|
103
|
-
if (o && typeof o === "object") {
|
|
104
|
-
for (const k of Object.keys(o)) {
|
|
105
|
-
const v = o[k];
|
|
106
|
-
if (k === "$ref" && typeof v === "string") {
|
|
107
|
-
for (const r of renamed) {
|
|
108
|
-
const needle = `#/components/${r.section}/${r.from}`;
|
|
109
|
-
if (v === needle)
|
|
110
|
-
o[k] = `#/components/${r.section}/${r.to}`;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
o[k] = rewrite(v);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return o;
|
|
119
|
-
};
|
|
120
|
-
return rewrite(doc);
|
|
121
|
-
}
|
|
122
|
-
function bundle(sdk) {
|
|
123
|
-
const servicePath = `./openapi/${sdk}_service.yaml`;
|
|
124
|
-
const modelsPath = "./openapi/models.yaml";
|
|
125
|
-
const outputPath = `./openapi/generated/${sdk}_bundled.yaml`;
|
|
126
|
-
// Load YAML files
|
|
127
|
-
const service = yaml.load(fs.readFileSync(servicePath, "utf-8"));
|
|
128
|
-
const models = yaml.load(fs.readFileSync(modelsPath, "utf-8"));
|
|
129
|
-
// Merge all components
|
|
130
|
-
mergeComponents(service, models);
|
|
131
|
-
// Fix refs
|
|
132
|
-
let fixed = fixRefs(service);
|
|
133
|
-
fixed = disambiguateComponentNamesAcrossSections(fixed);
|
|
134
|
-
// Dump back to YAML
|
|
135
|
-
const bundled = yaml.dump(fixed, { noRefs: true, lineWidth: -1 });
|
|
136
|
-
fs.mkdirSync("./openapi/generated", { recursive: true });
|
|
137
|
-
fs.writeFileSync(outputPath, bundled);
|
|
138
|
-
console.log(`✅ Bundled ${sdk} -> ${outputPath}`);
|
|
139
|
-
}
|
|
140
|
-
bundle("core");
|
|
141
|
-
bundle("itinerary");
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ApiRequestOptions } from './ApiRequestOptions';
|
|
2
|
-
import type { ApiResult } from './ApiResult';
|
|
3
|
-
export declare class ApiError extends Error {
|
|
4
|
-
readonly url: string;
|
|
5
|
-
readonly status: number;
|
|
6
|
-
readonly statusText: string;
|
|
7
|
-
readonly body: any;
|
|
8
|
-
readonly request: ApiRequestOptions;
|
|
9
|
-
constructor(request: ApiRequestOptions, response: ApiResult, message: string);
|
|
10
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class ApiError extends Error {
|
|
2
|
-
constructor(request, response, message) {
|
|
3
|
-
super(message);
|
|
4
|
-
this.name = 'ApiError';
|
|
5
|
-
this.url = response.url;
|
|
6
|
-
this.status = response.status;
|
|
7
|
-
this.statusText = response.statusText;
|
|
8
|
-
this.body = response.body;
|
|
9
|
-
this.request = request;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export type ApiRequestOptions = {
|
|
2
|
-
readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
|
|
3
|
-
readonly url: string;
|
|
4
|
-
readonly path?: Record<string, any>;
|
|
5
|
-
readonly cookies?: Record<string, any>;
|
|
6
|
-
readonly headers?: Record<string, any>;
|
|
7
|
-
readonly query?: Record<string, any>;
|
|
8
|
-
readonly formData?: Record<string, any>;
|
|
9
|
-
readonly body?: any;
|
|
10
|
-
readonly mediaType?: string;
|
|
11
|
-
readonly responseHeader?: string;
|
|
12
|
-
readonly errors?: Record<number, string>;
|
|
13
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|