/* tslint:disable */ /* eslint-disable */ /** * Sonatype Guide API * REST API into [Sonatype Guide](https://guide.sonatype.com). * * The version of the OpenAPI document: 202607 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; /** * * @export * @interface PlanDTO */ export interface PlanDTO { /** * * @type {string} * @memberof PlanDTO */ billingPeriod?: PlanDTOBillingPeriodEnum; /** * * @type {string} * @memberof PlanDTO */ chargebeeItemId?: string; /** * * @type {string} * @memberof PlanDTO */ displayName?: string; /** * * @type {boolean} * @memberof PlanDTO */ isCurrentPlan?: boolean; /** * * @type {number} * @memberof PlanDTO */ monthlyCredits?: number; /** * * @type {string} * @memberof PlanDTO */ planTier?: PlanDTOPlanTierEnum; /** * * @type {number} * @memberof PlanDTO */ price?: number; } /** * @export */ export const PlanDTOBillingPeriodEnum = { PerMonth: 'PER_MONTH', PerYear: 'PER_YEAR', Custom: 'CUSTOM' } as const; export type PlanDTOBillingPeriodEnum = typeof PlanDTOBillingPeriodEnum[keyof typeof PlanDTOBillingPeriodEnum]; /** * @export */ export const PlanDTOPlanTierEnum = { Free: 'FREE', Pro: 'PRO', Enterprise: 'ENTERPRISE', Team: 'TEAM' } as const; export type PlanDTOPlanTierEnum = typeof PlanDTOPlanTierEnum[keyof typeof PlanDTOPlanTierEnum]; /** * Check if a given object implements the PlanDTO interface. */ export function instanceOfPlanDTO(value: object): value is PlanDTO { return true; } export function PlanDTOFromJSON(json: any): PlanDTO { return PlanDTOFromJSONTyped(json, false); } export function PlanDTOFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlanDTO { if (json == null) { return json; } return { 'billingPeriod': json['billingPeriod'] == null ? undefined : json['billingPeriod'], 'chargebeeItemId': json['chargebeeItemId'] == null ? undefined : json['chargebeeItemId'], 'displayName': json['displayName'] == null ? undefined : json['displayName'], 'isCurrentPlan': json['isCurrentPlan'] == null ? undefined : json['isCurrentPlan'], 'monthlyCredits': json['monthlyCredits'] == null ? undefined : json['monthlyCredits'], 'planTier': json['planTier'] == null ? undefined : json['planTier'], 'price': json['price'] == null ? undefined : json['price'], }; } export function PlanDTOToJSON(json: any): PlanDTO { return PlanDTOToJSONTyped(json, false); } export function PlanDTOToJSONTyped(value?: PlanDTO | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'billingPeriod': value['billingPeriod'], 'chargebeeItemId': value['chargebeeItemId'], 'displayName': value['displayName'], 'isCurrentPlan': value['isCurrentPlan'], 'monthlyCredits': value['monthlyCredits'], 'planTier': value['planTier'], 'price': value['price'], }; }