/* * Copyright (C) 2023 Expedia, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { AccountTakeoverCustomerAccount } from './AccountTakeoverCustomerAccount' import { AccountTakeoverDeviceDetails } from './AccountTakeoverDeviceDetails' import { AccountTakeoverSiteInfo } from './AccountTakeoverSiteInfo' import { AccountTakeoverSiteInfoMapper } from './AccountTakeoverSiteInfoMapper' import { AccountTakeoverTransactionDetails } from './AccountTakeoverTransactionDetails' import { AccountTakeoverDeviceDetailsMapper } from './AccountTakeoverDeviceDetailsMapper' import { AccountTakeoverCustomerAccountMapper } from './AccountTakeoverCustomerAccountMapper' import { AccountTakeoverTransactionDetailsMapper } from './AccountTakeoverTransactionDetailsMapper' import { JsonObject, JsonProperty } from 'typescript-json-serializer' /** * Information for an account transaction. */ @JsonObject({ constructorParams: [{}] }) export class AccountTransaction { @JsonProperty({ name: 'site_info', type: (property) => AccountTakeoverSiteInfoMapper.getType(property), }) siteInfo: AccountTakeoverSiteInfo @JsonProperty({ name: 'device_details', type: (property) => AccountTakeoverDeviceDetailsMapper.getType(property), }) deviceDetails: AccountTakeoverDeviceDetails @JsonProperty({ name: 'customer_account', type: (property) => AccountTakeoverCustomerAccountMapper.getType(property), }) customerAccount: AccountTakeoverCustomerAccount @JsonProperty({ name: 'transaction_details', type: (property) => AccountTakeoverTransactionDetailsMapper.getType(property), }) transactionDetails: AccountTakeoverTransactionDetails public constructor(accountTransaction: AccountTransactionProperties) { this.siteInfo = accountTransaction.siteInfo this.deviceDetails = accountTransaction.deviceDetails this.customerAccount = accountTransaction.customerAccount this.transactionDetails = accountTransaction.transactionDetails } } export interface AccountTransactionProperties { siteInfo: AccountTakeoverSiteInfo deviceDetails: AccountTakeoverDeviceDetails customerAccount: AccountTakeoverCustomerAccount transactionDetails: AccountTakeoverTransactionDetails }