/* tslint:disable */ /* eslint-disable */ /** * Paystack * The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa. * * The version of the Paystack Node library: 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 SubscriptionCreate */ export interface SubscriptionCreate { /** * Customer's email address or customer code * @type {string} * @memberof SubscriptionCreate */ customer: string; /** * Plan code * @type {string} * @memberof SubscriptionCreate */ plan: string; /** * If customer has multiple authorizations, you can set the desired authorization you wish to use for this subscription here. * If this is not supplied, the customer's most recent authorization would be used * @type {string} * @memberof SubscriptionCreate */ authorization?: string; /** * Set the date for the first debit. (ISO 8601 format) e.g. 2017-05-16T00:30:13+01:00 * @type {Date} * @memberof SubscriptionCreate */ startDate?: Date; } export function SubscriptionCreateFromJSON(json: any): SubscriptionCreate { return SubscriptionCreateFromJSONTyped(json, false); } export function SubscriptionCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionCreate { if ((json === undefined) || (json === null)) { return json; } return { 'customer': json['customer'], 'plan': json['plan'], 'authorization': !exists(json, 'authorization') ? undefined : json['authorization'], 'startDate': !exists(json, 'start_date') ? undefined : (new Date(json['start_date'])), }; } export function SubscriptionCreateToJSON(value?: SubscriptionCreate | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'customer': value.customer, 'plan': value.plan, 'authorization': value.authorization, 'start_date': value.startDate === undefined ? undefined : (value.startDate.toISOString()), }; }