UNPKG

@viyet/magento-client

Version:

Sotheby's Home Custom Magento API Client

179 lines 7.26 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); var Checkout; (function (Checkout) { class API { /** * Products handler class * * @param transport - API transport handler */ constructor(transport) { this.transport = transport; } /** * Gets current order * * @param headers - Request headers * @param session - Checkout Session * * @returns A Promise that resolves to an object with product create result */ getCurrentOrder(headers, session) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.getCurrentOrder", params: { form_key: session.form_key }, transforms: { formKey: session.form_key }, }; return yield this.transport.getFromApiRoute(route, headers); }); } /** * Applies coupon code to current order * * @param headers - Request headers * @param session - Checkout Session * @param couponCode - Coupon Code to apply * * @returns A Promise that resolves to an apply coupon result */ applyCouponCode(headers, session, couponCode) { return __awaiter(this, void 0, void 0, function* () { headers["Content-Type"] = "application/x-www-form-urlencoded"; const route = { key: "checkout.applyCoupon", params: { form_key: session.form_key }, transforms: { formKey: session.form_key }, }; const data = { couponCode, remove: 0, }; return yield this.transport.postToApiRoute(route, data, headers); }); } /** * Removes coupon from current order * * @param headers - Request headers * @param session - Checkout Session * * @returns A Promise that resolves to an apply coupon result */ removeCoupon(headers, session) { return __awaiter(this, void 0, void 0, function* () { headers["Content-Type"] = "application/x-www-form-urlencoded"; const route = { key: "checkout.removeCoupon", params: { form_key: session.form_key }, transforms: { formKey: session.form_key }, }; const data = { remove: 1, }; return yield this.transport.postToApiRoute(route, data, headers); }); } /** * Gets saved payments * * @param headers - Request headers * @param session - Checkout Session * * @returns A Promise that resolves to an object with product create result */ getPayments(headers, session) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.getPayments", params: { form_key: session.form_key }, transforms: { formKey: session.form_key }, }; return yield this.transport.getFromApiRoute(route, headers); }); } /** * Gets form_key * * @param headers - Request headers * * @returns form_key value as a string */ getFormKey(headers) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.getFormKey", }; return yield this.transport.getFromApiRoute(route, headers).then(res => res.data.form_key); }); } /** * Create new shipping address * * @param headers - Request headers * @param session - Checkout Session * @param addressFormInput - Address Form Input * * @returns A Promise that resolves to the newly created shipping address */ createAddress(headers, session, addressFormInput) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.saveAddress", transforms: { formKey: session.form_key }, }; const data = addressFormInput; return yield this.transport.postToApiRoute(route, data, headers); }); } /** * Edit shipping address * * @param headers - Request headers * @param session - Checkout Session * @param addressFormInput - Address Form Input * @param shippingAddressId - Shipping Address Id * * @returns A Promise that resolves to the edited shipping address */ editAddress(headers, session, shippingAddressId, addressFormInput) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.saveAddress", transforms: { formKey: session.form_key }, }; const data = Object.assign({}, addressFormInput, { shipping_address_id: shippingAddressId }); return yield this.transport.postToApiRoute(route, data, headers); }); } /** * Get all shipping address * * @param headers - Request headers * @param session - Checkout Session * * @returns A Promise that resolves to all of a logged in customer's shipping addresses */ getAddresses(headers, session) { return __awaiter(this, void 0, void 0, function* () { const route = { key: "checkout.getAddresses", params: { form_key: session.form_key }, transforms: { formKey: session.form_key }, }; return yield this.transport.getFromApiRoute(route, headers); }); } } Checkout.API = API; })(Checkout = exports.Checkout || (exports.Checkout = {})); //# sourceMappingURL=Checkout.js.map