All files / codegen/models CustomerSpendThresholdInputArgs.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 CustomerSpendThresholdInputArgs
 */
export interface CustomerSpendThresholdInputArgs {
    /**
     * 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 CustomerSpendThresholdInputArgs
     */
    thresholdAmount: number;
    /**
     * Date to use when alert_type is ONE_TIME
     * @type {Date}
     * @memberof CustomerSpendThresholdInputArgs
     */
    oneTimeDate?: Date;
    /**
     * Length of time window (in days) to use when alert_type is ROLLING_WINDOW. Must be > 0. E.g. 2 indicates 2 days including the currently active day.
     * @type {number}
     * @memberof CustomerSpendThresholdInputArgs
     */
    rollingWindowInterval?: number;
    /**
     * Length of calendar to use when alert_type is CALENDAR. One of 'day', 'week', 'month', 'year'.
     * @type {string}
     * @memberof CustomerSpendThresholdInputArgs
     */
    calendarLength?: string;
    /**
     * Type of time window to use when computing spend. One of 'BILLING_CYCLE','CALENDAR', 'ONE_TIME', 'ROLLING_WINDOW'. If missing, defaults to BILLING_CYCLE.
     * @type {string}
     * @memberof CustomerSpendThresholdInputArgs
     */
    alertType?: string;
}
 
export function CustomerSpendThresholdInputArgsFromJSON(json: any): CustomerSpendThresholdInputArgs {
    return CustomerSpendThresholdInputArgsFromJSONTyped(json, false);
}
 
export function CustomerSpendThresholdInputArgsFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomerSpendThresholdInputArgs {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'thresholdAmount': json['threshold_amount'],
        'oneTimeDate': !exists(json, 'one_time_date') ? undefined : (new Date(json['one_time_date'])),
        'rollingWindowInterval': !exists(json, 'rolling_window_interval') ? undefined : json['rolling_window_interval'],
        'calendarLength': !exists(json, 'calendar_length') ? undefined : json['calendar_length'],
        'alertType': !exists(json, 'alert_type') ? undefined : json['alert_type'],
    };
}
 
export function CustomerSpendThresholdInputArgsToJSON(value?: CustomerSpendThresholdInputArgs | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'threshold_amount': value.thresholdAmount,
        'one_time_date': value.oneTimeDate === undefined ? undefined : (value.oneTimeDate.toISOString()),
        'rolling_window_interval': value.rollingWindowInterval,
        'calendar_length': value.calendarLength,
        'alert_type': value.alertType,
    };
}