# All files / codegen/models SubscriptionAddOnItem.ts

66.66% Statements 58/87
100% Branches 0/0
0% Functions 0/3
66.66% Lines 58/87

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
    891x
    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';
    /**
     *
     * @export
     * @interface SubscriptionAddOnItem
     */
    export interface SubscriptionAddOnItem {
        /**
         * Boolean that indicates whether to update the subscription add on at the end of the billing cycle. If 'true' and either of `effective_at` or `at_cycle_start` are set, will return an error.
         * @type {boolean}
         * @memberof SubscriptionAddOnItem
         */
        atCycleEnd?: boolean;
        /**
         *
         * @type {string}
         * @memberof SubscriptionAddOnItem
         */
        featureName?: string;
        /**
         * Quantity represents how many of this add on you want to attach to the subscription. Can be positive forincreasing the number of this add on or negative for decreasing.
         * @type {number}
         * @memberof SubscriptionAddOnItem
         */
        quantity?: number;
        /**
         *
         * @type {Date}
         * @memberof SubscriptionAddOnItem
         */
        effectiveAt?: Date;
        /**
         * Boolean that indicates whether to update the subscription add on at the start of the billing cycle. If 'true' and either of `effective_at` or `at_cycle_end` are set, will return an error.
         * @type {boolean}
         * @memberof SubscriptionAddOnItem
         */
        atCycleStart?: boolean;
    }

    export function SubscriptionAddOnItemFromJSON(json: any): SubscriptionAddOnItem {
        return SubscriptionAddOnItemFromJSONTyped(json, false);
    }

    export function SubscriptionAddOnItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionAddOnItem {
        if ((json === undefined) || (json === null)) {
            return json;
        }
        return {

            'atCycleEnd': !exists(json, 'at_cycle_end') ? undefined : json['at_cycle_end'],
            'featureName': !exists(json, 'feature_name') ? undefined : json['feature_name'],
            'quantity': !exists(json, 'quantity') ? undefined : json['quantity'],
            'effectiveAt': !exists(json, 'effective_at') ? undefined : (new Date(json['effective_at'])),
            'atCycleStart': !exists(json, 'at_cycle_start') ? undefined : json['at_cycle_start'],
        };
    }

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

            'at_cycle_end': value.atCycleEnd,
            'feature_name': value.featureName,
            'quantity': value.quantity,
            'effective_at': value.effectiveAt === undefined ? undefined : (value.effectiveAt.toISOString()),
            'at_cycle_start': value.atCycleStart,
        };
    }