UNPKG

@onesignal/node-onesignal

Version:

OpenAPI client for @onesignal/node-onesignal

396 lines (369 loc) 18.1 kB
export * from './App'; export * from './BasicNotification'; export * from './BasicNotificationAllOf'; export * from './BasicNotificationAllOfAndroidBackgroundLayout'; export * from './Button'; export * from './CreateNotificationSuccessResponse'; export * from './CreateSegmentConflictResponse'; export * from './CreateSegmentSuccessResponse'; export * from './CreateUserConflictResponse'; export * from './CreateUserConflictResponseErrorsInner'; export * from './CreateUserConflictResponseErrorsItemsMeta'; export * from './DeliveryData'; export * from './ExportEventsSuccessResponse'; export * from './ExportSubscriptionsRequestBody'; export * from './ExportSubscriptionsSuccessResponse'; export * from './Filter'; export * from './FilterExpression'; export * from './GenericError'; export * from './GenericSuccessBoolResponse'; export * from './GetNotificationHistoryRequestBody'; export * from './GetSegmentsSuccessResponse'; export * from './LanguageStringMap'; export * from './Notification'; export * from './NotificationAllOf'; export * from './NotificationHistorySuccessResponse'; export * from './NotificationSlice'; export * from './NotificationTarget'; export * from './NotificationWithMeta'; export * from './NotificationWithMetaAllOf'; export * from './Operator'; export * from './OutcomeData'; export * from './OutcomesData'; export * from './PlatformDeliveryData'; export * from './PlatformDeliveryDataEmailAllOf'; export * from './PlatformDeliveryDataSmsAllOf'; export * from './PropertiesBody'; export * from './PropertiesDeltas'; export * from './PropertiesObject'; export * from './Purchase'; export * from './RateLimitError'; export * from './Segment'; export * from './SegmentData'; export * from './SegmentNotificationTarget'; export * from './Subscription'; export * from './SubscriptionBody'; export * from './SubscriptionNotificationTarget'; export * from './TransferSubscriptionRequestBody'; export * from './UpdateLiveActivityRequest'; export * from './UpdateLiveActivitySuccessResponse'; export * from './UpdateUserRequest'; export * from './User'; export * from './UserIdentityBody'; export * from './WebButton'; import { App , AppApnsEnvEnum } from './App'; import { BasicNotification , BasicNotificationTargetChannelEnum , BasicNotificationAggregationEnum } from './BasicNotification'; import { BasicNotificationAllOf , BasicNotificationAllOfAggregationEnum } from './BasicNotificationAllOf'; import { BasicNotificationAllOfAndroidBackgroundLayout } from './BasicNotificationAllOfAndroidBackgroundLayout'; import { Button } from './Button'; import { CreateNotificationSuccessResponse } from './CreateNotificationSuccessResponse'; import { CreateSegmentConflictResponse } from './CreateSegmentConflictResponse'; import { CreateSegmentSuccessResponse } from './CreateSegmentSuccessResponse'; import { CreateUserConflictResponse } from './CreateUserConflictResponse'; import { CreateUserConflictResponseErrorsInner } from './CreateUserConflictResponseErrorsInner'; import { CreateUserConflictResponseErrorsItemsMeta } from './CreateUserConflictResponseErrorsItemsMeta'; import { DeliveryData } from './DeliveryData'; import { ExportEventsSuccessResponse } from './ExportEventsSuccessResponse'; import { ExportSubscriptionsRequestBody } from './ExportSubscriptionsRequestBody'; import { ExportSubscriptionsSuccessResponse } from './ExportSubscriptionsSuccessResponse'; import { Filter , FilterRelationEnum } from './Filter'; import { FilterExpression , FilterExpressionRelationEnum , FilterExpressionOperatorEnum } from './FilterExpression'; import { GenericError } from './GenericError'; import { GenericSuccessBoolResponse } from './GenericSuccessBoolResponse'; import { GetNotificationHistoryRequestBody, GetNotificationHistoryRequestBodyEventsEnum } from './GetNotificationHistoryRequestBody'; import { GetSegmentsSuccessResponse } from './GetSegmentsSuccessResponse'; import { LanguageStringMap } from './LanguageStringMap'; import { Notification , NotificationTargetChannelEnum , NotificationAggregationEnum } from './Notification'; import { NotificationAllOf } from './NotificationAllOf'; import { NotificationHistorySuccessResponse } from './NotificationHistorySuccessResponse'; import { NotificationSlice } from './NotificationSlice'; import { NotificationTarget , NotificationTargetTargetChannelEnum } from './NotificationTarget'; import { NotificationWithMeta , NotificationWithMetaTargetChannelEnum , NotificationWithMetaAggregationEnum } from './NotificationWithMeta'; import { NotificationWithMetaAllOf } from './NotificationWithMetaAllOf'; import { Operator, OperatorOperatorEnum } from './Operator'; import { OutcomeData , OutcomeDataAggregationEnum } from './OutcomeData'; import { OutcomesData } from './OutcomesData'; import { PlatformDeliveryData } from './PlatformDeliveryData'; import { PlatformDeliveryDataEmailAllOf } from './PlatformDeliveryDataEmailAllOf'; import { PlatformDeliveryDataSmsAllOf } from './PlatformDeliveryDataSmsAllOf'; import { PropertiesBody } from './PropertiesBody'; import { PropertiesDeltas } from './PropertiesDeltas'; import { PropertiesObject } from './PropertiesObject'; import { Purchase } from './Purchase'; import { RateLimitError } from './RateLimitError'; import { Segment } from './Segment'; import { SegmentData } from './SegmentData'; import { SegmentNotificationTarget } from './SegmentNotificationTarget'; import { Subscription , SubscriptionTypeEnum } from './Subscription'; import { SubscriptionBody } from './SubscriptionBody'; import { SubscriptionNotificationTarget , SubscriptionNotificationTargetTargetChannelEnum } from './SubscriptionNotificationTarget'; import { TransferSubscriptionRequestBody } from './TransferSubscriptionRequestBody'; import { UpdateLiveActivityRequest , UpdateLiveActivityRequestEventEnum } from './UpdateLiveActivityRequest'; import { UpdateLiveActivitySuccessResponse } from './UpdateLiveActivitySuccessResponse'; import { UpdateUserRequest } from './UpdateUserRequest'; import { User } from './User'; import { UserIdentityBody } from './UserIdentityBody'; import { WebButton } from './WebButton'; /* tslint:disable:no-unused-variable */ let primitives = [ "string", "boolean", "double", "integer", "long", "float", "number", "any" ]; const supportedMediaTypes: { [mediaType: string]: number } = { "application/json": Infinity, "application/octet-stream": 0, "application/x-www-form-urlencoded": 0 } let enumsMap: Set<string> = new Set<string>([ "AppApnsEnvEnum", "BasicNotificationTargetChannelEnum", "BasicNotificationAggregationEnum", "BasicNotificationAllOfAggregationEnum", "FilterRelationEnum", "FilterExpressionRelationEnum", "FilterExpressionOperatorEnum", "GetNotificationHistoryRequestBodyEventsEnum", "NotificationTargetChannelEnum", "NotificationAggregationEnum", "NotificationTargetTargetChannelEnum", "NotificationWithMetaTargetChannelEnum", "NotificationWithMetaAggregationEnum", "OperatorOperatorEnum", "OutcomeDataAggregationEnum", "SubscriptionTypeEnum", "SubscriptionNotificationTargetTargetChannelEnum", "UpdateLiveActivityRequestEventEnum", ]); let typeMap: {[index: string]: any} = { "App": App, "BasicNotification": BasicNotification, "BasicNotificationAllOf": BasicNotificationAllOf, "BasicNotificationAllOfAndroidBackgroundLayout": BasicNotificationAllOfAndroidBackgroundLayout, "Button": Button, "CreateNotificationSuccessResponse": CreateNotificationSuccessResponse, "CreateSegmentConflictResponse": CreateSegmentConflictResponse, "CreateSegmentSuccessResponse": CreateSegmentSuccessResponse, "CreateUserConflictResponse": CreateUserConflictResponse, "CreateUserConflictResponseErrorsInner": CreateUserConflictResponseErrorsInner, "CreateUserConflictResponseErrorsItemsMeta": CreateUserConflictResponseErrorsItemsMeta, "DeliveryData": DeliveryData, "ExportEventsSuccessResponse": ExportEventsSuccessResponse, "ExportSubscriptionsRequestBody": ExportSubscriptionsRequestBody, "ExportSubscriptionsSuccessResponse": ExportSubscriptionsSuccessResponse, "Filter": Filter, "FilterExpression": FilterExpression, "GenericError": GenericError, "GenericSuccessBoolResponse": GenericSuccessBoolResponse, "GetNotificationHistoryRequestBody": GetNotificationHistoryRequestBody, "GetSegmentsSuccessResponse": GetSegmentsSuccessResponse, "LanguageStringMap": LanguageStringMap, "Notification": Notification, "NotificationAllOf": NotificationAllOf, "NotificationHistorySuccessResponse": NotificationHistorySuccessResponse, "NotificationSlice": NotificationSlice, "NotificationTarget": NotificationTarget, "NotificationWithMeta": NotificationWithMeta, "NotificationWithMetaAllOf": NotificationWithMetaAllOf, "Operator": Operator, "OutcomeData": OutcomeData, "OutcomesData": OutcomesData, "PlatformDeliveryData": PlatformDeliveryData, "PlatformDeliveryDataEmailAllOf": PlatformDeliveryDataEmailAllOf, "PlatformDeliveryDataSmsAllOf": PlatformDeliveryDataSmsAllOf, "PropertiesBody": PropertiesBody, "PropertiesDeltas": PropertiesDeltas, "PropertiesObject": PropertiesObject, "Purchase": Purchase, "RateLimitError": RateLimitError, "Segment": Segment, "SegmentData": SegmentData, "SegmentNotificationTarget": SegmentNotificationTarget, "Subscription": Subscription, "SubscriptionBody": SubscriptionBody, "SubscriptionNotificationTarget": SubscriptionNotificationTarget, "TransferSubscriptionRequestBody": TransferSubscriptionRequestBody, "UpdateLiveActivityRequest": UpdateLiveActivityRequest, "UpdateLiveActivitySuccessResponse": UpdateLiveActivitySuccessResponse, "UpdateUserRequest": UpdateUserRequest, "User": User, "UserIdentityBody": UserIdentityBody, "WebButton": WebButton, } export class ObjectSerializer { public static findCorrectType(data: any, expectedType: string) { if (data == undefined) { return expectedType; } else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) { return expectedType; } else if (expectedType === "Date") { return expectedType; } else { if (enumsMap.has(expectedType)) { return expectedType; } if (!typeMap[expectedType]) { return expectedType; // w/e we don't know the type } // Check the discriminator let discriminatorProperty = typeMap[expectedType].discriminator; if (discriminatorProperty == null) { return expectedType; // the type does not have a discriminator. use it. } else { if (data[discriminatorProperty]) { var discriminatorType = data[discriminatorProperty]; if(typeMap[discriminatorType]){ return discriminatorType; // use the type given in the discriminator } else { return expectedType; // discriminator did not map to a type } } else { return expectedType; // discriminator was not present (or an empty string) } } } } public static serialize(data: any, type: string, format: string) { if (data == undefined) { return data; } else if (primitives.indexOf(type.toLowerCase()) !== -1) { return data; } else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6 let subType: string = type.replace("Array<", ""); // Array<Type> => Type> subType = subType.substring(0, subType.length - 1); // Type> => Type let transformedData: any[] = []; for (let index in data) { let date = data[index]; transformedData.push(ObjectSerializer.serialize(date, subType, format)); } return transformedData; } else if (type === "Date") { if (format == "date") { let month = data.getMonth()+1 month = month < 10 ? "0" + month.toString() : month.toString() let day = data.getDate(); day = day < 10 ? "0" + day.toString() : day.toString(); return data.getFullYear() + "-" + month + "-" + day; } else { return data.toISOString(); } } else { if (enumsMap.has(type)) { return data; } if (!typeMap[type]) { // in case we dont know the type return data; } // Get the actual type of this object type = this.findCorrectType(data, type); // get the map for the correct type. let attributeTypes = typeMap[type].getAttributeTypeMap(); let instance: {[index: string]: any} = {}; for (let index in attributeTypes) { let attributeType = attributeTypes[index]; instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type, attributeType.format); } return instance; } } public static deserialize(data: any, type: string, format: string) { // polymorphism may change the actual type. type = ObjectSerializer.findCorrectType(data, type); if (data == undefined) { return data; } else if (primitives.indexOf(type.toLowerCase()) !== -1) { return data; } else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6 let subType: string = type.replace("Array<", ""); // Array<Type> => Type> subType = subType.substring(0, subType.length - 1); // Type> => Type let transformedData: any[] = []; for (let index in data) { let date = data[index]; transformedData.push(ObjectSerializer.deserialize(date, subType, format)); } return transformedData; } else if (type === "Date") { return new Date(data); } else { if (enumsMap.has(type)) {// is Enum return data; } if (!typeMap[type]) { // dont know the type return data; } let instance = new typeMap[type](); let attributeTypes = typeMap[type].getAttributeTypeMap(); for (let index in attributeTypes) { let attributeType = attributeTypes[index]; let value = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type, attributeType.format); if (value !== undefined) { instance[attributeType.name] = value; } } return instance; } } /** * Normalize media type * * We currently do not handle any media types attributes, i.e. anything * after a semicolon. All content is assumed to be UTF-8 compatible. */ public static normalizeMediaType(mediaType: string | undefined): string | undefined { if (mediaType === undefined) { return undefined; } return mediaType.split(";")[0].trim().toLowerCase(); } /** * From a list of possible media types, choose the one we can handle best. * * The order of the given media types does not have any impact on the choice * made. */ public static getPreferredMediaType(mediaTypes: Array<string>): string { /** According to OAS 3 we should default to json */ if (!mediaTypes) { return "application/json"; } const normalMediaTypes = mediaTypes.map(this.normalizeMediaType); let selectedMediaType: string | undefined = undefined; let selectedRank: number = -Infinity; for (const mediaType of normalMediaTypes) { if (supportedMediaTypes[mediaType!] > selectedRank) { selectedMediaType = mediaType; selectedRank = supportedMediaTypes[mediaType!]; } } if (selectedMediaType === undefined) { throw new Error("None of the given media types are supported: " + mediaTypes.join(", ")); } return selectedMediaType!; } /** * Convert data to a string according the given media type */ public static stringify(data: any, mediaType: string): string { if (mediaType === "application/json") { return JSON.stringify(data); } throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.stringify."); } /** * Parse data from a string according to the given media type */ public static parse(rawData: string, mediaType: string | undefined) { if (mediaType === undefined) { throw new Error("Cannot parse content. No Content-Type defined."); } if (mediaType === "application/json") { return JSON.parse(rawData); } throw new Error("The mediaType " + mediaType + " is not supported by ObjectSerializer.parse."); } }