# 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 {
        /**
         * Customer's current active biling cycle.
         * @type {BillingCycleDate}
         * @memberof CustomerPortalActiveSubscription
         */
        billingCycle: BillingCycleDate | null;
        /**
         * Customer's current active subscription. Includes the price plan and overrides they are subscribed to.
         * @type {Subscription}
         * @memberof CustomerPortalActiveSubscription
         */
        subscription?: Subscription | null;
        /**
         * The total fixed price with all discounts applied.
         * @type {number}
         * @memberof CustomerPortalActiveSubscription
         */
        discountedFixedPrice?: number;
        /**
         * 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;
        /**
         * The date that the customer will be invoiced for their current billing cycle.
         * @type {Date}
         * @memberof CustomerPortalActiveSubscription
         */
        invoicingDate?: Date;
    }

    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 {

            'billingCycle': BillingCycleDateFromJSON(json['billing_cycle']),
            'subscription': !exists(json, 'subscription') ? undefined : SubscriptionFromJSON(json['subscription']),
            'discountedFixedPrice': !exists(json, 'discounted_fixed_price') ? undefined : json['discounted_fixed_price'],
            'totalFixedPrice': !exists(json, 'total_fixed_price') ? undefined : json['total_fixed_price'],
            'invoicingDate': !exists(json, 'invoicing_date') ? undefined : (new Date(json['invoicing_date'])),
        };
    }

    export function CustomerPortalActiveSubscriptionToJSON(value?: CustomerPortalActiveSubscription | null): any {
        if (value === undefined) {
            return undefined;
        }
        if (value === null) {
            return null;
        }
        return {

            'billing_cycle': BillingCycleDateToJSON(value.billingCycle),
            'subscription': SubscriptionToJSON(value.subscription),
            'discounted_fixed_price': value.discountedFixedPrice,
            'total_fixed_price': value.totalFixedPrice,
            'invoicing_date': value.invoicingDate === undefined ? undefined : (value.invoicingDate.toISOString()),
        };
    }