All files / codegen/models CustomerPortalActiveSubscription.ts

71% Statements 71/100
100% Branches 0/0
0% Functions 0/3
71% Lines 71/100

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 1021x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x     1x 1x                         1x 1x                                  
/* tslint:disable */
/* eslint-disable */
/**
 * Octane API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * 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 { exists, mapValues } from '../runtime';
import {
    BillingCycleDate,
    BillingCycleDateFromJSON,
    BillingCycleDateFromJSONTyped,
    BillingCycleDateToJSON,
} from './BillingCycleDate';
import {
    Subscription,
    SubscriptionFromJSON,
    SubscriptionFromJSONTyped,
    SubscriptionToJSON,
} from './Subscription';
 
/**
 * 
 * @export
 * @interface CustomerPortalActiveSubscription
 */
export interface CustomerPortalActiveSubscription {
    /**
     * The total fixed price with all discounts applied.
     * @type {number}
     * @memberof CustomerPortalActiveSubscription
     */
    discountedFixedPrice?: number;
    /**
     * Customer's current active subscription. Includes the price plan and overrides they are subscribed to.
     * @type {Subscription}
     * @memberof CustomerPortalActiveSubscription
     */
    subscription?: Subscription | null;
    /**
     * The date that the customer will be invoiced for their current billing cycle.
     * @type {Date}
     * @memberof CustomerPortalActiveSubscription
     */
    invoicingDate?: Date;
    /**
     * The total fixed price the customer will be charged for this billing cycle. Includes the base price and any add ons.
     * @type {number}
     * @memberof CustomerPortalActiveSubscription
     */
    totalFixedPrice?: number;
    /**
     * Customer's current active biling cycle.
     * @type {BillingCycleDate}
     * @memberof CustomerPortalActiveSubscription
     */
    billingCycle: BillingCycleDate | null;
}
 
export function CustomerPortalActiveSubscriptionFromJSON(json: any): CustomerPortalActiveSubscription {
    return CustomerPortalActiveSubscriptionFromJSONTyped(json, false);
}
 
export function CustomerPortalActiveSubscriptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomerPortalActiveSubscription {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'discountedFixedPrice': !exists(json, 'discounted_fixed_price') ? undefined : json['discounted_fixed_price'],
        'subscription': !exists(json, 'subscription') ? undefined : SubscriptionFromJSON(json['subscription']),
        'invoicingDate': !exists(json, 'invoicing_date') ? undefined : (new Date(json['invoicing_date'])),
        'totalFixedPrice': !exists(json, 'total_fixed_price') ? undefined : json['total_fixed_price'],
        'billingCycle': BillingCycleDateFromJSON(json['billing_cycle']),
    };
}
 
export function CustomerPortalActiveSubscriptionToJSON(value?: CustomerPortalActiveSubscription | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'discounted_fixed_price': value.discountedFixedPrice,
        'subscription': SubscriptionToJSON(value.subscription),
        'invoicing_date': value.invoicingDate === undefined ? undefined : (value.invoicingDate.toISOString()),
        'total_fixed_price': value.totalFixedPrice,
        'billing_cycle': BillingCycleDateToJSON(value.billingCycle),
    };
}