All files / codegen/models CreateCreditGrantArgs.ts

69.62% Statements 94/135
100% Branches 0/0
0% Functions 0/3
69.62% Lines 94/135

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 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 1371x 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 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 CreateCreditGrantArgs
 */
export interface CreateCreditGrantArgs {
    /**
     * Number of credits to grant
     * @type {number}
     * @memberof CreateCreditGrantArgs
     */
    amount: number;
    /**
     * Name of the customer receving the grant
     * @type {string}
     * @memberof CreateCreditGrantArgs
     */
    customerName: string;
    /**
     * Time length unit for the default expiration for credits granted in a top off.
     * @type {string}
     * @memberof CreateCreditGrantArgs
     */
    expirationUnit?: string;
    /**
     * Total price paid for the credits in cents. Defaults to $1 (100 cents) per credit if not specified
     * @type {number}
     * @memberof CreateCreditGrantArgs
     */
    price?: number;
    /**
     * Only applicable when charging immediately. Determines whether to void the credit grant and invoice if the payment fails.
     * @type {boolean}
     * @memberof CreateCreditGrantArgs
     */
    voidOnPaymentFailure?: boolean;
    /**
     * Optional description.
     * @type {string}
     * @memberof CreateCreditGrantArgs
     */
    description?: string;
    /**
     * Determines whether to synchronously create an invoice and charge the customer.
     * @type {boolean}
     * @memberof CreateCreditGrantArgs
     */
    chargeImmediately?: boolean;
    /**
     * Time length of the default expiration for credits granted in a top off.
     * @type {number}
     * @memberof CreateCreditGrantArgs
     */
    expirationLength?: number;
    /**
     * The date at which the grant is effective
     * @type {Date}
     * @memberof CreateCreditGrantArgs
     */
    effectiveAt?: Date;
    /**
     * DEPRECATED: use expiration_length and expiration_unit instead.
     * @type {Date}
     * @memberof CreateCreditGrantArgs
     */
    expiresAt?: Date;
    /**
     * Determines whether to add the grant immediately to the 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. Defaults to true.
     * @type {boolean}
     * @memberof CreateCreditGrantArgs
     */
    grantImmediately?: boolean;
}
 
export function CreateCreditGrantArgsFromJSON(json: any): CreateCreditGrantArgs {
    return CreateCreditGrantArgsFromJSONTyped(json, false);
}
 
export function CreateCreditGrantArgsFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateCreditGrantArgs {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'amount': json['amount'],
        'customerName': json['customer_name'],
        'expirationUnit': !exists(json, 'expiration_unit') ? undefined : json['expiration_unit'],
        'price': !exists(json, 'price') ? undefined : json['price'],
        'voidOnPaymentFailure': !exists(json, 'void_on_payment_failure') ? undefined : json['void_on_payment_failure'],
        'description': !exists(json, 'description') ? undefined : json['description'],
        'chargeImmediately': !exists(json, 'charge_immediately') ? undefined : json['charge_immediately'],
        'expirationLength': !exists(json, 'expiration_length') ? undefined : json['expiration_length'],
        'effectiveAt': !exists(json, 'effective_at') ? undefined : (new Date(json['effective_at'])),
        'expiresAt': !exists(json, 'expires_at') ? undefined : (new Date(json['expires_at'])),
        'grantImmediately': !exists(json, 'grant_immediately') ? undefined : json['grant_immediately'],
    };
}
 
export function CreateCreditGrantArgsToJSON(value?: CreateCreditGrantArgs | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'amount': value.amount,
        'customer_name': value.customerName,
        'expiration_unit': value.expirationUnit,
        'price': value.price,
        'void_on_payment_failure': value.voidOnPaymentFailure,
        'description': value.description,
        'charge_immediately': value.chargeImmediately,
        'expiration_length': value.expirationLength,
        'effective_at': value.effectiveAt === undefined ? undefined : (value.effectiveAt.toISOString()),
        'expires_at': value.expiresAt === undefined ? undefined : (value.expiresAt.toISOString()),
        'grant_immediately': value.grantImmediately,
    };
}