All files / codegen/models CustomerSpendThreshold.ts

67.96% Statements 70/103
100% Branches 0/0
0% Functions 0/3
67.96% Lines 70/103

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 1051x 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 CustomerSpendThreshold
 */
export interface CustomerSpendThreshold {
    /**
     * UUID of the customer spend threshold
     * @type {string}
     * @memberof CustomerSpendThreshold
     */
    uuid?: string;
    /**
     * Amount, in cents, for the customer spend threshold. Alerts will be sent when 50, 70, 90, and 100% of this threshold is reached.
     * @type {number}
     * @memberof CustomerSpendThreshold
     */
    thresholdAmount?: number;
    /**
     * Type of time window to use when computing spend. One of 'BILLING_CYCLE','CALENDAR', 'ONE_TIME', 'ROLLING_WINDOW'
     * @type {string}
     * @memberof CustomerSpendThreshold
     */
    alertType?: string;
    /**
     * Length of calendar to use when alert_type is CALENDAR. One of 'day', 'week', 'month', 'year'
     * @type {string}
     * @memberof CustomerSpendThreshold
     */
    calendarLength?: string;
    /**
     * Length of time window (in days) to use when alert_type is ROLLING_WINDOW
     * @type {number}
     * @memberof CustomerSpendThreshold
     */
    rollingWindowInterval?: number;
    /**
     * Date to use when alert_type is ONE_TIME
     * @type {Date}
     * @memberof CustomerSpendThreshold
     */
    oneTimeDate?: Date;
    /**
     * Date when the one time threshold expires. If the threshold is not hit by this date, it will not be triggered.
     * @type {Date}
     * @memberof CustomerSpendThreshold
     */
    expirationDate?: Date;
}
 
export function CustomerSpendThresholdFromJSON(json: any): CustomerSpendThreshold {
    return CustomerSpendThresholdFromJSONTyped(json, false);
}
 
export function CustomerSpendThresholdFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomerSpendThreshold {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'uuid': !exists(json, 'uuid') ? undefined : json['uuid'],
        'thresholdAmount': !exists(json, 'threshold_amount') ? undefined : json['threshold_amount'],
        'alertType': !exists(json, 'alert_type') ? undefined : json['alert_type'],
        'calendarLength': !exists(json, 'calendar_length') ? undefined : json['calendar_length'],
        'rollingWindowInterval': !exists(json, 'rolling_window_interval') ? undefined : json['rolling_window_interval'],
        'oneTimeDate': !exists(json, 'one_time_date') ? undefined : (new Date(json['one_time_date'])),
        'expirationDate': !exists(json, 'expiration_date') ? undefined : (new Date(json['expiration_date'])),
    };
}
 
export function CustomerSpendThresholdToJSON(value?: CustomerSpendThreshold | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'uuid': value.uuid,
        'threshold_amount': value.thresholdAmount,
        'alert_type': value.alertType,
        'calendar_length': value.calendarLength,
        'rolling_window_interval': value.rollingWindowInterval,
        'one_time_date': value.oneTimeDate === undefined ? undefined : (value.oneTimeDate.toISOString()),
        'expiration_date': value.expirationDate === undefined ? undefined : (value.expirationDate.toISOString()),
    };
}