event-booking-api
Version:
Package for easy access to Event App API
152 lines (151 loc) • 7.64 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseAPI = exports.postPublicBookings = exports.postPublicBookingsCheck = exports.getPublicPaymentMethods = exports.checkDiscountTicket = exports.getParamsTicket = exports.getTicketById = exports.getTicketByCode = exports.getPublicTickets = exports.getPublicEvents = exports.assignTicketTo = exports.getPublicTicketDetails = void 0;
const api_1 = require("./api");
const handleFetchErrors_1 = require("./handleFetchErrors");
const utils_1 = require("./utils");
const getPublicTicketDetails = ({ baseUrl, id, access, }) => __awaiter(void 0, void 0, void 0, function* () {
let response;
if (id) {
response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_BOOKINGS}/${id}?access=${access}`);
}
const data = yield (response === null || response === void 0 ? void 0 : response.json());
const result = data === null || data === void 0 ? void 0 : data.result;
return ((result === null || result === void 0 ? void 0 : result.data) || result);
});
exports.getPublicTicketDetails = getPublicTicketDetails;
const assignTicketTo = ({ baseUrl, id, access, reference, assignee, }) => __awaiter(void 0, void 0, void 0, function* () {
var _a;
let result;
if (id) {
const form = new FormData();
result = yield (0, utils_1.postRequest)(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_BOOKINGS}/${id}/assign/${reference}?access=${access}`, assignee);
}
return ((_a = result === null || result === void 0 ? void 0 : result.result) === null || _a === void 0 ? void 0 : _a.data) || (result === null || result === void 0 ? void 0 : result.result);
});
exports.assignTicketTo = assignTicketTo;
const getPublicEvents = ({ baseUrl, page = 0, slug, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).EVENTS}?limit=2000&page=${page}${slug ? "&slug=" + slug : ""}${language ? "&lang=" + language : ""}`);
const data = yield response.json();
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
events: data,
};
});
exports.getPublicEvents = getPublicEvents;
const getPublicTickets = ({ baseUrl, page = 0, ticketCode, eventSlug, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_TICKETS}?limit=2000&page=${page}${ticketCode ? "&code=" + ticketCode : ""}${eventSlug ? "&slug=" + eventSlug : ""}${language ? "&lang=" + language : ""}`);
const data = yield response.json();
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
tickets: data,
};
});
exports.getPublicTickets = getPublicTickets;
const getTicketByCode = ({ baseUrl, code, }) => __awaiter(void 0, void 0, void 0, function* () {
var _b;
if (!code)
return;
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_TICKETS}?code=${code}`);
const data = yield response.json();
const result = data.result;
return {
ticket: (_b = result.data) === null || _b === void 0 ? void 0 : _b[0],
};
});
exports.getTicketByCode = getTicketByCode;
const getTicketById = ({ baseUrl, id, }) => __awaiter(void 0, void 0, void 0, function* () {
var _c;
if (!id)
return;
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_TICKETS}?id=${id}`);
const data = yield response.json();
const result = data.result;
return {
ticket: (_c = result.data) === null || _c === void 0 ? void 0 : _c[0],
};
});
exports.getTicketById = getTicketById;
const getParamsTicket = ({ baseUrl, params, }) => __awaiter(void 0, void 0, void 0, function* () {
var _d;
if (!params)
return;
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_TICKETS}?${params}`);
const data = yield response.json();
const result = data.result;
return {
ticket: (_d = result.data) === null || _d === void 0 ? void 0 : _d[0],
};
});
exports.getParamsTicket = getParamsTicket;
const checkDiscountTicket = ({ baseUrl, ticketsIds, discountCode, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const ticketsIdsParam = ticketsIds.join(",");
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_TICKETS}/discount?tickets=${ticketsIdsParam}&code=${discountCode}${language ? "&lang=" + language : ""}`);
const data = yield response.json();
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
discount: data,
};
});
exports.checkDiscountTicket = checkDiscountTicket;
const getPublicPaymentMethods = ({ id, baseUrl, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).EVENTS}/${id}/payment-methods${language ? "?lang=" + language : ""}`);
const data = yield (response === null || response === void 0 ? void 0 : response.json());
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
paymentMethods: data,
};
});
exports.getPublicPaymentMethods = getPublicPaymentMethods;
const postPublicBookingsCheck = ({ baseUrl, bookingCheck, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_BOOKINGS}/check${language ? "?lang=" + language : ""}`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(bookingCheck),
});
const data = yield response.json();
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
bookingsCheck: data,
};
});
exports.postPublicBookingsCheck = postPublicBookingsCheck;
const postPublicBookings = ({ baseUrl, bookingCheck, language, }) => __awaiter(void 0, void 0, void 0, function* () {
const response = yield fetch(`${(0, api_1.getApiPath)(baseUrl).PUBLIC_BOOKINGS}${language ? "?lang=" + language : ""}`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(bookingCheck),
});
const data = yield response.json();
(0, handleFetchErrors_1.handleFetchErrors)(data);
return {
bookings: data,
};
});
exports.postPublicBookings = postPublicBookings;
exports.BaseAPI = {
getPublicEvents: exports.getPublicEvents,
getPublicTicketDetails: exports.getPublicTicketDetails,
assignTicketTo: exports.assignTicketTo,
getPublicTickets: exports.getPublicTickets,
getTicketByCode: exports.getTicketByCode,
getTicketById: exports.getTicketById,
getParamsTicket: exports.getParamsTicket,
checkDiscountTicket: exports.checkDiscountTicket,
getPublicPaymentMethods: exports.getPublicPaymentMethods,
postPublicBookingsCheck: exports.postPublicBookingsCheck,
postPublicBookings: exports.postPublicBookings,
};