/* 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 UpdateCouponRequest */ export interface UpdateCouponRequest { /** * * @type {string} * @memberof UpdateCouponRequest */ name: string; /** * * @type {string} * @memberof UpdateCouponRequest */ code: string; /** * * @type {string} * @memberof UpdateCouponRequest */ type: UpdateCouponRequestTypeEnum; /** * * @type {string} * @memberof UpdateCouponRequest */ discountType: string; /** * * @type {number} * @memberof UpdateCouponRequest */ discountAmount: number; /** * * @type {number} * @memberof UpdateCouponRequest */ minAmount: number; /** * * @type {number} * @memberof UpdateCouponRequest */ minProducts: number; /** * * @type {number} * @memberof UpdateCouponRequest */ totalUseLimit: number; /** * * @type {number} * @memberof UpdateCouponRequest */ customerUseLimit: number; /** * * @type {string} * @memberof UpdateCouponRequest */ startDate?: string | null; /** * * @type {string} * @memberof UpdateCouponRequest */ endDate?: string | null; /** * * @type {boolean} * @memberof UpdateCouponRequest */ isForAllProducts?: boolean; /** * * @type {boolean} * @memberof UpdateCouponRequest */ isForAllCustomers?: boolean; /** * * @type {Array} * @memberof UpdateCouponRequest */ couponables?: Array; } /** * @export */ export const UpdateCouponRequestTypeEnum = { Subtotal: 'subtotal', Product: 'product', Shipping: 'shipping' } as const; export type UpdateCouponRequestTypeEnum = typeof UpdateCouponRequestTypeEnum[keyof typeof UpdateCouponRequestTypeEnum]; /** * Check if a given object implements the UpdateCouponRequest interface. */ export function instanceOfUpdateCouponRequest(value: object): value is UpdateCouponRequest { 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 UpdateCouponRequestFromJSON(json: any): UpdateCouponRequest { return UpdateCouponRequestFromJSONTyped(json, false); } export function UpdateCouponRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateCouponRequest { if (json == null) { return json; } return { '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 UpdateCouponRequestToJSON(json: any): UpdateCouponRequest { return UpdateCouponRequestToJSONTyped(json, false); } export function UpdateCouponRequestToJSONTyped(value?: UpdateCouponRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { '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)), }; }