All files / codegen/models CreditTopOffPlan.ts

68.9% Statements 82/119
100% Branches 0/0
0% Functions 0/3
68.9% Lines 82/119

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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 1211x 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 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 CreditTopOffPlan
 */
export interface CreditTopOffPlan {
    /**
     * Unique identifier of this top off plan.
     * @type {string}
     * @memberof CreditTopOffPlan
     */
    uuid?: string;
    /**
     * The threshold in amount of credits at which the balance will be topped off.
     * @type {number}
     * @memberof CreditTopOffPlan
     */
    triggerAmount: number;
    /**
     * Amount of credits that are granted in a single top off.
     * @type {number}
     * @memberof CreditTopOffPlan
     */
    grantAmount: number;
    /**
     * Price for the grant, in lowest denomination (i.e cents).
     * @type {number}
     * @memberof CreditTopOffPlan
     */
    price: number;
    /**
     * Time length of the default expiration for credits granted in a top off.
     * @type {number}
     * @memberof CreditTopOffPlan
     */
    expirationLength?: number | null;
    /**
     * Time length unit for the default expiration for credits granted in a top off.
     * @type {string}
     * @memberof CreditTopOffPlan
     */
    expirationUnit?: string | null;
    /**
     * A description that will be used on the invoice line items.
     * @type {string}
     * @memberof CreditTopOffPlan
     */
    description?: string | null;
    /**
     * Whether to charge the customer immediately when the top off is triggered.
     * @type {boolean}
     * @memberof CreditTopOffPlan
     */
    chargeImmediately?: boolean;
    /**
     * Whether to add the grants immediately to the credit ledger or wait until either the corresponding invoice is paid or the grant is manually added to the ledger. When charge_immediately is true, this field has no impact since the credits will be granted only after successful payment.
     * @type {boolean}
     * @memberof CreditTopOffPlan
     */
    grantImmediately?: boolean;
}
 
export function CreditTopOffPlanFromJSON(json: any): CreditTopOffPlan {
    return CreditTopOffPlanFromJSONTyped(json, false);
}
 
export function CreditTopOffPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreditTopOffPlan {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'uuid': !exists(json, 'uuid') ? undefined : json['uuid'],
        'triggerAmount': json['trigger_amount'],
        'grantAmount': json['grant_amount'],
        'price': json['price'],
        'expirationLength': !exists(json, 'expiration_length') ? undefined : json['expiration_length'],
        'expirationUnit': !exists(json, 'expiration_unit') ? undefined : json['expiration_unit'],
        'description': !exists(json, 'description') ? undefined : json['description'],
        'chargeImmediately': !exists(json, 'charge_immediately') ? undefined : json['charge_immediately'],
        'grantImmediately': !exists(json, 'grant_immediately') ? undefined : json['grant_immediately'],
    };
}
 
export function CreditTopOffPlanToJSON(value?: CreditTopOffPlan | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'uuid': value.uuid,
        'trigger_amount': value.triggerAmount,
        'grant_amount': value.grantAmount,
        'price': value.price,
        'expiration_length': value.expirationLength,
        'expiration_unit': value.expirationUnit,
        'description': value.description,
        'charge_immediately': value.chargeImmediately,
        'grant_immediately': value.grantImmediately,
    };
}