liferay-headless-rest-client
Version:
A collection of Headless Clients used in Liferay Portal
170 lines (169 loc) • 4.53 kB
TypeScript
export type Address = {
city: string;
country?: string;
countryISOCode: string;
description?: string;
id?: number;
latitude?: number;
longitude?: number;
name: string;
phoneNumber?: string;
region?: string;
regionISOCode?: string;
street1: string;
street2?: string;
street3?: string;
readonly type?: string;
typeId?: number;
vatNumber?: string;
zip?: string;
readonly 'x-class-name'?: string;
};
export type Cart = {
readonly account?: string;
accountId?: number;
readonly author?: string;
billingAddress?: Address;
billingAddressId?: number;
cartItems?: Array<CartItem>;
readonly channelId?: number;
couponCode?: string;
readonly createDate?: string;
currencyCode: string;
readonly customFields?: {
[key: string]: {
[key: string]: unknown;
};
};
id?: number;
readonly lastPriceUpdateDate?: string;
readonly modifiedDate?: string;
notes?: Array<CartComment>;
paymentMethod?: string;
readonly paymentMethodLabel?: string;
readonly paymentStatus?: number;
readonly paymentStatusLabel?: string;
printedNote?: string;
readonly purchaseOrderNumber?: string;
shippingAddress?: Address;
shippingAddressId?: number;
shippingMethod?: string;
shippingOption?: string;
readonly status?: string;
summary?: Summary;
useAsBilling?: boolean;
readonly 'x-class-name'?: string;
};
export type CartComment = {
readonly author?: string;
content?: string;
readonly id?: number;
readonly orderId?: number;
restricted?: boolean;
readonly 'x-class-name'?: string;
};
export type CartItem = {
customFields?: {
[key: string]: {
[key: string]: unknown;
};
};
id?: number;
readonly name?: string;
options?: string;
readonly parentCartItemId?: number;
price?: Price;
productId?: number;
quantity?: number;
settings?: Settings;
shippedQuantity?: number;
readonly sku?: string;
skuId?: number;
readonly subscription?: boolean;
readonly thumbnail?: string;
readonly 'x-class-name'?: string;
};
export type Group = {
id?: string;
name: string;
readonly 'x-class-name'?: string;
};
export type Organization = {
id?: string;
name: string;
readonly 'x-class-name'?: string;
};
export type Price = {
currency?: string;
discount?: number;
discountPercentage?: string;
discountPercentageLevel1?: number;
discountPercentageLevel2?: number;
discountPercentageLevel3?: number;
discountPercentageLevel4?: number;
finalPrice?: number;
price?: number;
promoPrice?: number;
readonly 'x-class-name'?: string;
};
export type PunchOutSession = {
buyerAccountReferenceCode: string;
buyerGroup: Group;
buyerOrganization?: Organization;
buyerUser: User;
cart: Cart;
punchOutReturnURL: string;
punchOutSessionType: string;
punchOutStartURL?: string;
readonly 'x-class-name'?: string;
};
export type Settings = {
allowedQuantities?: Array<number>;
maxQuantity?: number;
minQuantity?: number;
multipleQuantity?: number;
readonly 'x-class-name'?: string;
};
export type Summary = {
currency?: string;
itemsQuantity?: number;
shippingDiscountPercentages?: Array<string>;
shippingDiscountValue?: number;
shippingValue?: number;
subtotal?: number;
subtotalDiscountPercentages?: Array<string>;
subtotalDiscountValue?: number;
taxValue?: number;
total?: number;
totalDiscountPercentages?: Array<string>;
totalDiscountValue?: number;
readonly 'x-class-name'?: string;
};
export type User = {
email: string;
externalReferenceCode?: string;
firstName?: string;
id?: number;
jobTitle?: string;
lastName?: string;
male?: boolean;
middleName?: string;
roles?: Array<string>;
readonly 'x-class-name'?: string;
};
export type PostPunchOutSessionRequestData = {
body?: PunchOutSession;
path?: never;
query?: never;
url: '/o/headless-commerce-punchout/v1.0/punchout/session/request';
};
export type PostPunchOutSessionRequestResponses = {
/**
* default response
*/
default: PunchOutSession;
};
export type PostPunchOutSessionRequestResponse = PostPunchOutSessionRequestResponses[keyof PostPunchOutSessionRequestResponses];
export type ClientOptions = {
baseUrl: 'http://localhost:8080' | (string & {});
};