import {z} from 'zod' export type AdaptekApiApplicationCaseCentralToKonnexMeModelsAdditionalKonnexMeDataModel = {consumerId?: number | undefined, spouseId?: (number | null) | undefined, advisorId?: number | undefined, secondaryAdvisorId?: (number | null) | undefined, holdingCompanyId?: number | undefined, consumerAgentIsWithGS?: boolean | undefined, spouseAgentIsWithGS?: (boolean | null) | undefined, caseCentralCreatedAgentId?: number | undefined, caseCentralModifiedAgentId?: number | undefined, caseCentralDeletedAgentId?: (number | null) | undefined, deletedInsuranceAccountIds?: (Array | null) | undefined, deletedInvestmentAccountIds?: (Array | null) | undefined, deletedAssetIds?: (Array | null) | undefined, deletedLiabilityIds?: (Array | null) | undefined, deletedIncomeIds?: (Array | null) | undefined}; export type AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerRetirementDto = {consumerDetailsId?: number | undefined, retirementGoalCOLA?: (number | null) | undefined, retirementAnnualIncomeGoal?: (number | null) | undefined, retirementAge?: number | undefined, retirementAgeNotes?: (string | null) | undefined, isRetired?: (boolean | null) | undefined, caseCentralModifiedAgentId?: number | undefined}; export type AdaptekApiCommonConstantsPeopleGenderType = 0 | 1 | 2; export type AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerSocialSecurityDto = {consumerDetailsId?: number | undefined, overrideLifeExpectancy?: boolean | undefined, overriddenLifeExpectancy?: (number | null) | undefined, primaryInsuranceAmount?: (number | null) | undefined, isReceivingBenefits?: boolean | undefined, benefitAmount?: (number | null) | undefined, benefitTypeID?: (number | null) | undefined, benefitReceivedDate?: (string | null) | undefined, isReceivingSSDI?: boolean | undefined, ssdiAmount?: (number | null) | undefined, isSubjectToWEP?: boolean | undefined, wepReducedPIA?: (number | null) | undefined, deceasedSpousePIA?: (number | null) | undefined, isSubjectToGPO?: boolean | undefined, hasBeenWidowed?: boolean | undefined, spousalSurvivorBenefitAmount?: (number | null) | undefined, exSpouseDateOfBirth?: (string | null) | undefined, exSpousePIA?: (number | null) | undefined, exSpouseGenderTypeID?: AdaptekApiCommonConstantsPeopleGenderType | undefined, costOfLivingAdjustment?: (number | null) | undefined, includeMedicareEstimates?: boolean | undefined, didCurrentMarriageBeginAfterAge60?: boolean | undefined, hadPreviousMarriageOf10YearEndInDivorce?: boolean | undefined, wasSpouseReceivingBenefitsAtDeath?: boolean | undefined, deceasedDateOfBirth?: (string | null) | undefined, deceasedDateOfDeath?: (string | null) | undefined, deceasedSpouseBenefitStartDate?: (string | null) | undefined, deceasedSpouseMonthlyBenefitAmount?: (number | null) | undefined, widowedOrExSpouseOf10YearsPassAway?: boolean | undefined, caseCentralModifiedAgentId?: number | undefined}; export type AdaptekApiCommonConstantsAccountsAccountTaxType = 1 | 5 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 38 | 39; export type AdaptekApiCommonConstantsFinancialToolkitFtkOwnerType = 1 | 2 | 3 | 4; export type AdaptekApiCommonConstantsFinancialToolkitFtkProductType = 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 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46; export type AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerAssetColorOfMoneyAssetAllocationDto = {id?: number | undefined, ftkConsumerAssetId?: number | undefined, colorOfMoneyAssetTypeId?: number | undefined, value?: number | undefined}; export type AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerAssetDto = {id?: number | undefined, consumerDetailsId?: number | undefined, investmentAccountId?: (number | null) | undefined, insuranceAccountId?: (number | null) | undefined, liabilityId?: (number | null) | undefined, assetId?: (number | null) | undefined, isByAllAccounts?: boolean | undefined, accountName?: (string | null) | undefined, issueDate?: (string | null) | undefined, taxTypeId?: AdaptekApiCommonConstantsAccountsAccountTaxType | undefined, taxCategoryTypeId?: (number | null) | undefined, dateCreated?: string | undefined, dateModified?: string | undefined, createdAgentId?: number | undefined, updatedAgentId?: number | undefined, ownerTypeId?: AdaptekApiCommonConstantsFinancialToolkitFtkOwnerType | undefined, value?: number | undefined, valueDate?: string | undefined, reportProductTypeId?: AdaptekApiCommonConstantsFinancialToolkitFtkProductType | undefined, gradientPortfolioTypeId?: (number | null) | undefined, taxableStatusTypeId?: (number | null) | undefined, colorOfMoneyTypeId?: number | undefined, costBasis?: (number | null) | undefined, surrenderValue?: (number | null) | undefined, individualContributions?: (number | null) | undefined, employerContributions?: (number | null) | undefined, unspecifiedContributions?: (number | null) | undefined, incomeRiderValue?: (number | null) | undefined, deathBenefitValue?: (number | null) | undefined, insuranceInsured?: AdaptekApiCommonConstantsFinancialToolkitFtkOwnerType | undefined, insuranceValue?: (number | null) | undefined, insuranceAnnualPremiumValue?: (number | null) | undefined, insuranceBeneficiaryValue?: (number | null) | undefined, loanAmount?: (number | null) | undefined, mortgageAmount?: (number | null) | undefined, equityAmount?: (number | null) | undefined, notes?: (string | null) | undefined, index?: number | undefined, oldInsuranceAccountIdForTypeConversion?: (number | null) | undefined, oldInvestmentAccountIdForTypeConversion?: (number | null) | undefined, caseCentralModifiedAgentId?: number | undefined, colorOfMoneyAssetAllocations?: (Array | null) | undefined}; export type AdaptekApiCommonConstantsIncomeIncomeType = 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36; export type AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerIncomeSourceDto = {id?: number | undefined, consumerDetailsId?: number | undefined, caseCentralModifiedAgentId?: number | undefined, incomeId?: (number | null) | undefined, ownerTypeId?: AdaptekApiCommonConstantsFinancialToolkitFtkOwnerType | undefined, incomeTypeId?: AdaptekApiCommonConstantsIncomeIncomeType | undefined, annualIncome?: (number | null) | undefined, monthlyIncome?: (number | null) | undefined, startAge?: (number | null) | undefined, endAge?: (number | null) | undefined, growthRate?: (number | null) | undefined, notes?: (string | null) | undefined, index?: number | undefined, agentId?: (number | null) | undefined}; export type AdaptekApiApplicationCaseCentralToKonnexMeCommandsConvertConsumerDetailsToKonnexMeDataCommand = {additionalKonnexMeData?: AdaptekApiApplicationCaseCentralToKonnexMeModelsAdditionalKonnexMeDataModel | undefined, consumerRetirement?: AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerRetirementDto | undefined, consumerSocialSecurity?: AdaptekApiApplicationCaseCentralToKonnexMeModelsConsumerSocialSecurityDto | undefined, consumerAssets?: (Array | null) | undefined, consumerIncomeSources?: (Array | null) | undefined}; export type CreateApiV1CaseCentralToKonnexMeDataConsumerdetailsArgs = {body: AdaptekApiApplicationCaseCentralToKonnexMeCommandsConvertConsumerDetailsToKonnexMeDataCommand}; export type CreateApiV1CaseCentralToKonnexMeDataConsumerdetailsOptions = {baseUrl: string, oauth2?: string | undefined, fetch?: typeof fetch | undefined}; export const createApiV1CaseCentralToKonnexMeDataConsumerdetailsResponse = z.string(); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Converts Case Central's Consumer Details into InsuranceAccounts, InvestmentAccounts, Assets, Liabilities, Incomes, PersonSocialSecurity, and PersonRetirement data. /// * * POST /v1/CaseCentralToKonnexMeData/consumerdetails */ export const createApiV1CaseCentralToKonnexMeDataConsumerdetails = async (args: CreateApiV1CaseCentralToKonnexMeDataConsumerdetailsArgs, options: CreateApiV1CaseCentralToKonnexMeDataConsumerdetailsOptions) => { const {baseUrl, fetch: fetchFn = fetch, oauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (oauth2 !== undefined) headers.set('authorization', `Bearer ${oauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/v1/CaseCentralToKonnexMeData/consumerdetails${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(createApiV1CaseCentralToKonnexMeDataConsumerdetailsResponse, await res.json()) };