/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { CreateCouponRequestCouponablesInner } from './CreateCouponRequestCouponablesInner'; import { CreateCouponRequestCouponablesInnerFromJSON, CreateCouponRequestCouponablesInnerFromJSONTyped, CreateCouponRequestCouponablesInnerToJSON, CreateCouponRequestCouponablesInnerToJSONTyped, } from './CreateCouponRequestCouponablesInner'; /** * * @export * @interface CreateCouponRequest */ export interface CreateCouponRequest { /** * * @type {number} * @memberof CreateCouponRequest */ siteId: number; /** * * @type {string} * @memberof CreateCouponRequest */ name: string; /** * * @type {string} * @memberof CreateCouponRequest */ code: string; /** * * @type {string} * @memberof CreateCouponRequest */ type: CreateCouponRequestTypeEnum; /** * * @type {string} * @memberof CreateCouponRequest */ discountType: string; /** * * @type {number} * @memberof CreateCouponRequest */ discountAmount: number; /** * * @type {number} * @memberof CreateCouponRequest */ minAmount: number; /** * * @type {number} * @memberof CreateCouponRequest */ minProducts: number; /** * * @type {number} * @memberof CreateCouponRequest */ totalUseLimit: number; /** * * @type {number} * @memberof CreateCouponRequest */ customerUseLimit: number; /** * * @type {string} * @memberof CreateCouponRequest */ startDate?: string | null; /** * * @type {string} * @memberof CreateCouponRequest */ endDate?: string | null; /** * * @type {boolean} * @memberof CreateCouponRequest */ isForAllProducts?: boolean; /** * * @type {boolean} * @memberof CreateCouponRequest */ isForAllCustomers?: boolean; /** * * @type {Array} * @memberof CreateCouponRequest */ couponables?: Array; } /** * @export */ export const CreateCouponRequestTypeEnum = { Subtotal: 'subtotal', Product: 'product', Shipping: 'shipping' } as const; export type CreateCouponRequestTypeEnum = typeof CreateCouponRequestTypeEnum[keyof typeof CreateCouponRequestTypeEnum]; /** * Check if a given object implements the CreateCouponRequest interface. */ export function instanceOfCreateCouponRequest(value: object): value is CreateCouponRequest { if (!('siteId' in value) || value['siteId'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('code' in value) || value['code'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('discountType' in value) || value['discountType'] === undefined) return false; if (!('discountAmount' in value) || value['discountAmount'] === undefined) return false; if (!('minAmount' in value) || value['minAmount'] === undefined) return false; if (!('minProducts' in value) || value['minProducts'] === undefined) return false; if (!('totalUseLimit' in value) || value['totalUseLimit'] === undefined) return false; if (!('customerUseLimit' in value) || value['customerUseLimit'] === undefined) return false; return true; } export function CreateCouponRequestFromJSON(json: any): CreateCouponRequest { return CreateCouponRequestFromJSONTyped(json, false); } export function CreateCouponRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateCouponRequest { if (json == null) { return json; } return { 'siteId': json['site_id'], 'name': json['name'], 'code': json['code'], 'type': json['type'], 'discountType': json['discount_type'], 'discountAmount': json['discount_amount'], 'minAmount': json['min_amount'], 'minProducts': json['min_products'], 'totalUseLimit': json['total_use_limit'], 'customerUseLimit': json['customer_use_limit'], 'startDate': json['start_date'] == null ? undefined : json['start_date'], 'endDate': json['end_date'] == null ? undefined : json['end_date'], 'isForAllProducts': json['is_for_all_products'] == null ? undefined : json['is_for_all_products'], 'isForAllCustomers': json['is_for_all_customers'] == null ? undefined : json['is_for_all_customers'], 'couponables': json['couponables'] == null ? undefined : ((json['couponables'] as Array).map(CreateCouponRequestCouponablesInnerFromJSON)), }; } export function CreateCouponRequestToJSON(json: any): CreateCouponRequest { return CreateCouponRequestToJSONTyped(json, false); } export function CreateCouponRequestToJSONTyped(value?: CreateCouponRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'site_id': value['siteId'], 'name': value['name'], 'code': value['code'], 'type': value['type'], 'discount_type': value['discountType'], 'discount_amount': value['discountAmount'], 'min_amount': value['minAmount'], 'min_products': value['minProducts'], 'total_use_limit': value['totalUseLimit'], 'customer_use_limit': value['customerUseLimit'], 'start_date': value['startDate'], 'end_date': value['endDate'], 'is_for_all_products': value['isForAllProducts'], 'is_for_all_customers': value['isForAllCustomers'], 'couponables': value['couponables'] == null ? undefined : ((value['couponables'] as Array).map(CreateCouponRequestCouponablesInnerToJSON)), }; }