All files / codegen/models AccruedRevenueLineItem.ts

72.44% Statements 92/127
100% Branches 0/0
0% Functions 0/3
72.44% Lines 92/127

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 1291x 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 AccruedRevenueLineItem
 */
export interface AccruedRevenueLineItem {
    /**
     * A unique identifier (scoped to item_type) for the item being returned.
     * @type {string}
     * @memberof AccruedRevenueLineItem
     */
    itemId?: string;
    /**
     * Display name of the item being returned using a fallback logic. 
     *         For metered component will be meterered component display name or meter display name or meter name, 
     *         for add_ons will be feature display name or feature name, 
     *         for base price will be base price description or price plan display name or price plan name,
     *         for minimum charge will be price plan display name or price plan name combined with the words 'Minimum Charge',
     *         for metered component minimum charge will be metered component display name or meter display name or meter name
     *         combined with the worlds 'Minimum Charge'
     *         for discount it will be scope of the discount combined with the word 'Discount'
     *         
     * @type {string}
     * @memberof AccruedRevenueLineItem
     */
    itemDisplayName?: string;
    /**
     * Usage for this line item. Only applicable for metered components.
     * @type {number}
     * @memberof AccruedRevenueLineItem
     */
    usage?: number;
    /**
     * 
     *         The identifier of the item being returned. 
     *         For metered component will be meter name, 
     *         for add_ons will be feature name, 
     *         for base price will be price plan name,
     *         for minimum charge will be price plan name,
     *         for metered component minimum charge will be meter name
     *         
     * @type {string}
     * @memberof AccruedRevenueLineItem
     */
    itemIdentifier?: string;
    /**
     * Any extra metadata associated with the item. 
     *         Will include the labels for metered components and metered component minimum charges when applicable
     * @type {{ [key: string]: string; }}
     * @memberof AccruedRevenueLineItem
     */
    metadata?: { [key: string]: string; };
    /**
     * Accrued revenue for this line item in cents
     * @type {number}
     * @memberof AccruedRevenueLineItem
     */
    revenue?: number;
    /**
     * Type of item. One of: METERED_COMPONENT, BASE_PRICE, DISCOUNT, ADD_ON, MINIMUM_CHARGE, METERED_COMPONENT_MINIMUM_CHARGE
     * @type {string}
     * @memberof AccruedRevenueLineItem
     */
    itemType?: string;
    /**
     * Unit name for the usage. Only applicable for metered components.
     * @type {string}
     * @memberof AccruedRevenueLineItem
     */
    usageUnitName?: string;
}
 
export function AccruedRevenueLineItemFromJSON(json: any): AccruedRevenueLineItem {
    return AccruedRevenueLineItemFromJSONTyped(json, false);
}
 
export function AccruedRevenueLineItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccruedRevenueLineItem {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'itemId': !exists(json, 'item_id') ? undefined : json['item_id'],
        'itemDisplayName': !exists(json, 'item_display_name') ? undefined : json['item_display_name'],
        'usage': !exists(json, 'usage') ? undefined : json['usage'],
        'itemIdentifier': !exists(json, 'item_identifier') ? undefined : json['item_identifier'],
        'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],
        'revenue': !exists(json, 'revenue') ? undefined : json['revenue'],
        'itemType': !exists(json, 'item_type') ? undefined : json['item_type'],
        'usageUnitName': !exists(json, 'usage_unit_name') ? undefined : json['usage_unit_name'],
    };
}
 
export function AccruedRevenueLineItemToJSON(value?: AccruedRevenueLineItem | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'item_id': value.itemId,
        'item_display_name': value.itemDisplayName,
        'usage': value.usage,
        'item_identifier': value.itemIdentifier,
        'metadata': value.metadata,
        'revenue': value.revenue,
        'item_type': value.itemType,
        'usage_unit_name': value.usageUnitName,
    };
}