diff --git a/.prettierignore b/.prettierignore index 25b9ac7..0fa4e87 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ .next public -graphql +**/graphql/*.types.ts +**/graphql/*.schema.graphql node_modules \ No newline at end of file diff --git a/apps/web/.graphqlrc.yml b/apps/web/.graphqlrc.yml index 427fcac..ef632c3 100644 --- a/apps/web/.graphqlrc.yml +++ b/apps/web/.graphqlrc.yml @@ -6,6 +6,7 @@ generates: plugins: - typescript - typescript-operations + - typed-document-node config: onlyOperationTypes: true useTypeImports: true diff --git a/apps/web/Components/Calculation/Form/Insurance/InsuranceTable/types.ts b/apps/web/Components/Calculation/Form/Insurance/InsuranceTable/types.ts index 1d84a36..744cf3c 100644 --- a/apps/web/Components/Calculation/Form/Insurance/InsuranceTable/types.ts +++ b/apps/web/Components/Calculation/Form/Insurance/InsuranceTable/types.ts @@ -9,7 +9,7 @@ export type RowValues = z.infer; export type Values = Exclude; export type RowOptions = { - [ValueName in Values]?: BaseOption[]; + [ValueName in Values]: BaseOption[]; }; export type RowStatuses = Record; diff --git a/apps/web/Components/Calculation/Form/Insurance/config.ts b/apps/web/Components/Calculation/Form/Insurance/config.ts index 933aaa9..d689749 100644 --- a/apps/web/Components/Calculation/Form/Insurance/config.ts +++ b/apps/web/Components/Calculation/Form/Insurance/config.ts @@ -9,4 +9,5 @@ export const rows: FormTabRows = [ [['selectLeaseObjectCategory', 'tbxMileage', 'tbxINNForCalc']], [['tbxLeaseObjectMotorPower', 'cbxWithTrailer', 'selectGPSBrand']], [['tbxEngineVolume', 'cbxInsDecentral', 'selectGPSModel']], + [['selectLeasingWithoutKasko', 'selectInsNSIB']], ]; diff --git a/apps/web/Components/Calculation/addons/currency-addon.tsx b/apps/web/Components/Calculation/addons/currency-addon.tsx index afdab0f..3b4cbc4 100644 --- a/apps/web/Components/Calculation/addons/currency-addon.tsx +++ b/apps/web/Components/Calculation/addons/currency-addon.tsx @@ -1,25 +1,14 @@ -import { gql, useQuery } from '@apollo/client'; -import type * as CRMTypes from 'graphql/crm.types'; +import { useQuery } from '@apollo/client'; +import * as CRMTypes from 'graphql/crm.types'; import { observer } from 'mobx-react-lite'; import { useStore } from 'stores/hooks'; -const QUERY_GET_CURRENCY_SYMBOL = gql` - query GetCurrencySymbol($currencyid: Uuid!) { - transactioncurrency(transactioncurrencyid: $currencyid) { - currencysymbol - } - } -`; - const CurrencyAddon = observer(() => { const { $calculation } = useStore(); const currencyid = $calculation.element('selectSupplierCurrency').getValue(); - const { data } = useQuery< - CRMTypes.GetCurrencySymbolQuery, - CRMTypes.GetCurrencySymbolQueryVariables - >(QUERY_GET_CURRENCY_SYMBOL, { + const { data } = useQuery(CRMTypes.GetTransactionCurrencyDocument, { variables: { currencyid: currencyid!, }, diff --git a/apps/web/Components/Calculation/builders/index.js b/apps/web/Components/Calculation/builders/index.js new file mode 100644 index 0000000..17d62d4 --- /dev/null +++ b/apps/web/Components/Calculation/builders/index.js @@ -0,0 +1,4 @@ +export { default as buildAction } from './build-action'; +export { default as buildOptions } from './build-options'; +export { default as buildReadonly } from './build-readonly'; +export { default as buildValue } from './build-value'; diff --git a/apps/web/Components/Calculation/config/elements-builders.ts b/apps/web/Components/Calculation/config/elements-builders.ts deleted file mode 100644 index 4b5c2c9..0000000 --- a/apps/web/Components/Calculation/config/elements-builders.ts +++ /dev/null @@ -1,153 +0,0 @@ -import buildAction from '../builders/build-action'; -import buildOptions from '../builders/build-options'; -import buildReadonly from '../builders/build-readonly'; -import buildValue from '../builders/build-value'; -import type { Elements as ActionElements } from './map/actions'; -import type { Elements as ValuesElements } from './map/values'; - -function wrapElementsBuilders>(arg: T) { - return arg; -} - -const builders = wrapElementsBuilders({ - cbxRecalcWithRevision: buildValue, - tbxLeaseObjectPrice: buildValue, - tbxLeaseObjectPriceWthtVAT: buildValue, - tbxVATInLeaseObjectPrice: buildValue, - tbxEngineHours: buildValue, - tbxSupplierDiscountRub: buildValue, - tbxSupplierDiscountPerc: buildValue, - tbxLeasingPeriod: buildValue, - tbxFirstPaymentPerc: buildValue, - tbxFirstPaymentRub: buildValue, - tbxLastPaymentPerc: buildValue, - tbxLastPaymentRub: buildValue, - selectImportProgram: buildOptions, - tbxImportProgramSum: buildReadonly, - tbxAddEquipmentPrice: buildValue, - tbxRedemptionPaymentSum: buildValue, - tbxParmentsDecreasePercent: buildValue, - tbxComissionPerc: buildValue, - tbxComissionRub: buildValue, - tbxSaleBonus: buildValue, - tbxIRR_Perc: buildValue, - tbxLeaseObjectCount: buildValue, - cbxWithTrailer: buildValue, - cbxLeaseObjectUsed: buildValue, - tbxMaxMass: buildValue, - tbxCountSeats: buildValue, - tbxMaxSpeed: buildValue, - tbxLeaseObjectYear: buildValue, - tbxLeaseObjectMotorPower: buildValue, - tbxEngineVolume: buildValue, - tbxDealerRewardSumm: buildValue, - tbxDealerBrokerRewardSumm: buildValue, - tbxIndAgentRewardSumm: buildValue, - tbxCalcDoubleAgentRewardSumm: buildValue, - tbxCalcBrokerRewardSum: buildValue, - tbxFinDepartmentRewardSumm: buildValue, - cbxInsDecentral: buildValue, - tbxInsFranchise: buildValue, - cbxInsUnlimitDrivers: buildValue, - tbxInsAgeDrivers: buildValue, - tbxInsExpDrivers: buildValue, - tbxINNForCalc: buildValue, - cbxLastPaymentRedemption: buildValue, - cbxPriceWithDiscount: buildValue, - cbxFullPriceWithDiscount: buildValue, - cbxCostIncrease: buildValue, - cbxInsurance: buildValue, - cbxRegistrationQuote: buildValue, - cbxTechnicalCardQuote: buildValue, - cbxNSIB: buildValue, - tbxQuoteName: buildValue, - cbxQuoteRedemptionGraph: buildValue, - cbxShowFinGAP: buildValue, - tbxCreditRate: buildValue, - tbxMaxPriceChange: buildValue, - tbxImporterRewardPerc: buildValue, - tbxImporterRewardRub: buildValue, - cbxDisableChecks: buildValue, - tbxMileage: buildValue, - tbxTotalPayments: buildValue, - tbxVehicleTaxInYear: buildValue, - tbxVehicleTaxInLeasingPeriod: buildValue, - tbxMinPriceChange: buildValue, - - selectProduct: buildOptions, - selectClientRisk: buildOptions, - selectClientType: buildOptions, - selectSupplierCurrency: buildOptions, - selectSeasonType: buildOptions, - selectHighSeasonStart: buildOptions, - selectLeaseObjectType: buildOptions, - selectBrand: buildOptions, - selectModel: buildOptions, - selectConfiguration: buildOptions, - selectLeaseObjectUseFor: buildOptions, - selectLeaseObjectCategory: buildOptions, - selectEngineType: buildOptions, - selectDealer: buildOptions, - selectDealerPerson: buildOptions, - selectDealerRewardCondition: buildOptions, - selectDealerBroker: buildOptions, - selectDealerBrokerRewardCondition: buildOptions, - selectIndAgent: buildOptions, - selectIndAgentRewardCondition: buildOptions, - selectCalcDoubleAgent: buildOptions, - selectCalcDoubleAgentRewardCondition: buildOptions, - selectCalcBroker: buildOptions, - selectCalcBrokerRewardCondition: buildOptions, - selectCalcFinDepartment: buildOptions, - selectFinDepartmentRewardCondtion: buildOptions, - selectGPSBrand: buildOptions, - selectGPSModel: buildOptions, - selectRegionRegistration: buildOptions, - selectTownRegistration: buildOptions, - selectRegistration: buildOptions, - selectInsNSIB: buildOptions, - selectTracker: buildOptions, - selectTelematic: buildOptions, - selectTechnicalCard: buildOptions, - selectTarif: buildOptions, - selectRate: buildOptions, - selectLead: buildOptions, - selectOpportunity: buildOptions, - selectQuote: buildOptions, - selectObjectRegionRegistration: buildOptions, - selectObjectCategoryTax: buildOptions, - selectObjectTypeTax: buildOptions, - selectLegalClientRegion: buildOptions, - selectLegalClientTown: buildOptions, - selectSubsidy: buildOptions, - selectFuelCard: buildOptions, - radioBalanceHolder: buildOptions, - radioLastPaymentRule: buildOptions, - radioGraphType: buildOptions, - radioDeliveryTime: buildOptions, - radioInsKaskoType: buildOptions, - radioInfuranceOPF: buildOptions, - selectRequirementTelematic: buildOptions, - radioQuoteContactGender: buildOptions, - radioCalcType: buildOptions, - radioObjectRegistration: buildOptions, - radioTypePTS: buildOptions, - tbxBonusCoefficient: buildValue, - - labelLeaseObjectRisk: buildReadonly, - tbxInsKaskoPriceLeasePeriod: buildReadonly, - labelIrrInfo: buildReadonly, - labelRegistrationDescription: buildReadonly, - labelDepreciationGroup: buildReadonly, - tbxSubsidySum: buildReadonly, - - btnCreateKP: buildAction, - btnCalculate: buildAction, - - linkDownloadKp: buildReadonly, - linkLeadUrl: buildReadonly, - linkOpportunityUrl: buildReadonly, - linkQuoteUrl: buildReadonly, -}); - -export default builders; diff --git a/apps/web/Components/Calculation/config/elements-components.ts b/apps/web/Components/Calculation/config/elements-components.ts index 96d49a0..1d44bad 100644 --- a/apps/web/Components/Calculation/config/elements-components.ts +++ b/apps/web/Components/Calculation/config/elements-components.ts @@ -1,5 +1,5 @@ import type { ComponentProps } from 'react'; -import * as elements from 'ui/elements'; +import * as e from 'ui/elements'; import type { Elements as ActionElements } from './map/actions'; import type { Elements as ValuesElements } from './map/values'; @@ -8,146 +8,147 @@ function wrapComponentsMap> = { const valueName = map.selectLead; const Component = components.selectLead; const props = elementsProps.selectLead; - const builder = builders.selectLead; + const { builder } = types.selectLead(); const Element = builder(Component, { elementName, @@ -58,7 +58,7 @@ const overrideRender: Partial> = { const valueName = map.selectOpportunity; const Component = components.selectOpportunity; const props = elementsProps.selectOpportunity; - const builder = builders.selectOpportunity; + const { builder } = types.selectOpportunity(); const Element = builder(Component, { elementName, @@ -90,7 +90,7 @@ const overrideRender: Partial> = { const valueName = map.selectQuote; const Component = components.selectQuote; const props = elementsProps.selectQuote; - const builder = builders.selectQuote; + const { builder } = types.selectQuote(); const Element = builder(Component, { elementName, @@ -122,7 +122,7 @@ const overrideRender: Partial> = { const valueName = map.tbxVehicleTaxInYear; const Component = components.tbxVehicleTaxInYear; const props = elementsProps.tbxVehicleTaxInYear; - const builder = builders.tbxVehicleTaxInYear; + const { builder } = types.tbxVehicleTaxInYear(); const Element = builder(Component, { elementName, @@ -147,7 +147,7 @@ const overrideRender: Partial> = { const valueName = map.selectHighSeasonStart; const Component = components.selectHighSeasonStart; const props = elementsProps.selectHighSeasonStart; - const builder = builders.selectHighSeasonStart; + const { builder } = types.selectHighSeasonStart(); const Element = builder(Component, { elementName, @@ -171,7 +171,7 @@ const overrideRender: Partial> = { const valueName = map.selectSeasonType; const Component = components.selectSeasonType; const props = elementsProps.selectSeasonType; - const builder = builders.selectSeasonType; + const { builder } = types.selectSeasonType(); const Element = builder(Component, { elementName, diff --git a/apps/web/Components/Calculation/config/elements-render/render.jsx b/apps/web/Components/Calculation/config/elements-render/render.jsx index 2fee6d3..5d28268 100644 --- a/apps/web/Components/Calculation/config/elements-render/render.jsx +++ b/apps/web/Components/Calculation/config/elements-render/render.jsx @@ -1,9 +1,9 @@ /* eslint-disable object-curly-newline */ import { Container, Head } from 'Components/Layout/Element'; -import builders from '../elements-builders'; import components from '../elements-components'; import elementsProps from '../elements-props'; import titles from '../elements-titles'; +import types from '../elements-types'; import map from '../map'; const render = Object.keys(map).reduce((acc, elementName) => { @@ -11,7 +11,7 @@ const render = Object.keys(map).reduce((acc, elementName) => { const valueName = map[elementName]; const Component = components[elementName]; const props = elementsProps[elementName]; - const builder = builders[elementName]; + const { builder } = types[elementName](); const Element = builder(Component, { elementName, diff --git a/apps/web/Components/Calculation/config/elements-titles.ts b/apps/web/Components/Calculation/config/elements-titles.ts index a0c1a11..7ddc54e 100644 --- a/apps/web/Components/Calculation/config/elements-titles.ts +++ b/apps/web/Components/Calculation/config/elements-titles.ts @@ -124,6 +124,7 @@ const titles: Record = { tbxLeaseObjectPriceWthtVAT: 'Стоимость ПЛ без НДС', tbxVATInLeaseObjectPrice: 'НДС в стоимости ПЛ', tbxBonusCoefficient: 'Коэффициент снижения бонуса', + selectLeasingWithoutKasko: 'Лизинг без КАСКО', /** Link Elements */ linkDownloadKp: '', diff --git a/apps/web/Components/Calculation/config/elements-types.ts b/apps/web/Components/Calculation/config/elements-types.ts new file mode 100644 index 0000000..0c2a80c --- /dev/null +++ b/apps/web/Components/Calculation/config/elements-types.ts @@ -0,0 +1,182 @@ +import { buildAction, buildOptions, buildReadonly, buildValue } from '../builders'; +import type { Elements as ActionElements } from './map/actions'; +import type { Elements as ValuesElements } from './map/values'; + +type ElementTypes = 'Value' | 'Readonly' | 'Options' | 'Action'; +type Builders = typeof buildValue | typeof buildReadonly | typeof buildOptions | typeof buildAction; + +type GetType = () => { + typeName: ElementTypes; + builder: Builders; +}; + +function wrapTypeGetters>(arg: E) { + return arg; +} + +const t = wrapTypeGetters({ + Value: () => ({ + typeName: 'Value', + builder: buildValue, + }), + Readonly: () => ({ + typeName: 'Readonly', + builder: buildReadonly, + }), + Options: () => ({ + typeName: 'Options', + builder: buildOptions, + }), + Action: () => ({ + typeName: 'Action', + builder: buildAction, + }), +}); + +function wrapElementsTypes>(arg: E) { + return arg; +} + +const types = wrapElementsTypes({ + cbxRecalcWithRevision: t.Value, + tbxLeaseObjectPrice: t.Value, + tbxLeaseObjectPriceWthtVAT: t.Value, + tbxVATInLeaseObjectPrice: t.Value, + tbxEngineHours: t.Value, + tbxSupplierDiscountRub: t.Value, + tbxSupplierDiscountPerc: t.Value, + tbxLeasingPeriod: t.Value, + tbxFirstPaymentPerc: t.Value, + tbxFirstPaymentRub: t.Value, + tbxLastPaymentPerc: t.Value, + tbxLastPaymentRub: t.Value, + selectImportProgram: t.Options, + tbxImportProgramSum: t.Readonly, + tbxAddEquipmentPrice: t.Value, + tbxRedemptionPaymentSum: t.Value, + tbxParmentsDecreasePercent: t.Value, + tbxComissionPerc: t.Value, + tbxComissionRub: t.Value, + tbxSaleBonus: t.Value, + tbxIRR_Perc: t.Value, + tbxLeaseObjectCount: t.Value, + cbxWithTrailer: t.Value, + cbxLeaseObjectUsed: t.Value, + tbxMaxMass: t.Value, + tbxCountSeats: t.Value, + tbxMaxSpeed: t.Value, + tbxLeaseObjectYear: t.Value, + tbxLeaseObjectMotorPower: t.Value, + tbxEngineVolume: t.Value, + tbxDealerRewardSumm: t.Value, + tbxDealerBrokerRewardSumm: t.Value, + tbxIndAgentRewardSumm: t.Value, + tbxCalcDoubleAgentRewardSumm: t.Value, + tbxCalcBrokerRewardSum: t.Value, + tbxFinDepartmentRewardSumm: t.Value, + cbxInsDecentral: t.Value, + tbxInsFranchise: t.Value, + cbxInsUnlimitDrivers: t.Value, + tbxInsAgeDrivers: t.Value, + tbxInsExpDrivers: t.Value, + tbxINNForCalc: t.Value, + cbxLastPaymentRedemption: t.Value, + cbxPriceWithDiscount: t.Value, + cbxFullPriceWithDiscount: t.Value, + cbxCostIncrease: t.Value, + cbxInsurance: t.Value, + cbxRegistrationQuote: t.Value, + cbxTechnicalCardQuote: t.Value, + cbxNSIB: t.Value, + tbxQuoteName: t.Value, + cbxQuoteRedemptionGraph: t.Value, + cbxShowFinGAP: t.Value, + tbxCreditRate: t.Value, + tbxMaxPriceChange: t.Value, + tbxImporterRewardPerc: t.Value, + tbxImporterRewardRub: t.Value, + cbxDisableChecks: t.Value, + tbxMileage: t.Value, + tbxTotalPayments: t.Value, + tbxVehicleTaxInYear: t.Value, + tbxVehicleTaxInLeasingPeriod: t.Value, + tbxMinPriceChange: t.Value, + + selectProduct: t.Options, + selectClientRisk: t.Options, + selectClientType: t.Options, + selectSupplierCurrency: t.Options, + selectSeasonType: t.Options, + selectHighSeasonStart: t.Options, + selectLeaseObjectType: t.Options, + selectBrand: t.Options, + selectModel: t.Options, + selectConfiguration: t.Options, + selectLeaseObjectUseFor: t.Options, + selectLeaseObjectCategory: t.Options, + selectEngineType: t.Options, + selectDealer: t.Options, + selectDealerPerson: t.Options, + selectDealerRewardCondition: t.Options, + selectDealerBroker: t.Options, + selectDealerBrokerRewardCondition: t.Options, + selectIndAgent: t.Options, + selectIndAgentRewardCondition: t.Options, + selectCalcDoubleAgent: t.Options, + selectCalcDoubleAgentRewardCondition: t.Options, + selectCalcBroker: t.Options, + selectCalcBrokerRewardCondition: t.Options, + selectCalcFinDepartment: t.Options, + selectFinDepartmentRewardCondtion: t.Options, + selectGPSBrand: t.Options, + selectGPSModel: t.Options, + selectRegionRegistration: t.Options, + selectTownRegistration: t.Options, + selectRegistration: t.Options, + selectInsNSIB: t.Options, + selectTracker: t.Options, + selectTelematic: t.Options, + selectTechnicalCard: t.Options, + selectTarif: t.Options, + selectRate: t.Options, + selectLead: t.Options, + selectOpportunity: t.Options, + selectQuote: t.Options, + selectObjectRegionRegistration: t.Options, + selectObjectCategoryTax: t.Options, + selectObjectTypeTax: t.Options, + selectLegalClientRegion: t.Options, + selectLegalClientTown: t.Options, + selectSubsidy: t.Options, + selectFuelCard: t.Options, + radioBalanceHolder: t.Options, + radioLastPaymentRule: t.Options, + radioGraphType: t.Options, + radioDeliveryTime: t.Options, + radioInsKaskoType: t.Options, + radioInfuranceOPF: t.Options, + selectRequirementTelematic: t.Options, + radioQuoteContactGender: t.Options, + radioCalcType: t.Options, + radioObjectRegistration: t.Options, + radioTypePTS: t.Options, + tbxBonusCoefficient: t.Value, + selectLeasingWithoutKasko: t.Options, + + labelLeaseObjectRisk: t.Readonly, + tbxInsKaskoPriceLeasePeriod: t.Readonly, + labelIrrInfo: t.Readonly, + labelRegistrationDescription: t.Readonly, + labelDepreciationGroup: t.Readonly, + tbxSubsidySum: t.Readonly, + + btnCreateKP: t.Action, + btnCalculate: t.Action, + + linkDownloadKp: t.Readonly, + linkLeadUrl: t.Readonly, + linkOpportunityUrl: t.Readonly, + linkQuoteUrl: t.Readonly, +}); + +export default types; diff --git a/apps/web/Components/Calculation/config/map/values.ts b/apps/web/Components/Calculation/config/map/values.ts index 48f9e93..5abb8d3 100644 --- a/apps/web/Components/Calculation/config/map/values.ts +++ b/apps/web/Components/Calculation/config/map/values.ts @@ -135,6 +135,7 @@ const elementsToValues = wrapElementsMap({ labelIrrInfo: 'irrInfo', labelRegistrationDescription: 'registrationDescription', labelDepreciationGroup: 'depreciationGroup', + selectLeasingWithoutKasko: 'leasingWithoutKasko', /** Link Elements */ linkDownloadKp: 'kpUrl', diff --git a/apps/web/Components/Output/Validation.jsx b/apps/web/Components/Output/Validation.jsx index 2f6ea68..1746d51 100644 --- a/apps/web/Components/Output/Validation.jsx +++ b/apps/web/Components/Output/Validation.jsx @@ -48,8 +48,11 @@ function getPaymentsTableErrors($tables) { function getInsuranceTableErrors($tables) { const { insurance } = $tables; const messages = insurance.validation.getMessages(); + const title = insurance.validation.params.err_title; - return messages.map((message) => ); + return messages.map((message) => ( + + )); } const Errors = observer(() => { diff --git a/apps/web/apollo.config.js b/apps/web/apollo.config.js index 7988f3b..7984bf1 100644 --- a/apps/web/apollo.config.js +++ b/apps/web/apollo.config.js @@ -5,7 +5,12 @@ module.exports = { name: 'crmgraphql', localSchemaFile: `${__dirname}/graphql/crm.schema.graphql`, }, - excludes: ['**/graphql/**/*'], - includes: ['**/pages/**/*', '**/process/**/*', '**/Components/**/*'], + excludes: ['**/graphql/**/*.schema.graphql', '**/graphql/**/*.types.graphql'], + includes: [ + '**/pages/**/*', + '**/process/**/*', + '**/Components/**/*', + '**/graphql/**/*.query.graphql', + ], }, }; diff --git a/apps/web/config/default-options.ts b/apps/web/config/default-options.ts index 8d02a62..f5da015 100644 --- a/apps/web/config/default-options.ts +++ b/apps/web/config/default-options.ts @@ -46,6 +46,30 @@ export const selectHighSeasonStart = Array.from( }) ); +export const radioGraphType = [ + { + label: 'аннуитет', + value: 100_000_000, + }, + { + label: 'дегрессия (ступенчатая)', + value: 100_000_001, + }, + { + label: 'равноубывающий', + value: 100_000_002, + }, + { + label: 'сезонный', + value: 100_000_003, + }, + { + label: 'легкий старт', + value: 100_000_004, + disabled: true, + }, +]; + const defaultOptions: CalculationOptions = { radioLastPaymentRule: [ { @@ -73,28 +97,7 @@ const defaultOptions: CalculationOptions = { }, ], - radioGraphType: [ - { - label: 'аннуитет', - value: 100_000_000, - }, - { - label: 'дегрессия (ступенчатая)', - value: 100_000_001, - }, - { - label: 'равноубывающий', - value: 100_000_002, - }, - { - label: 'сезонный', - value: 100_000_003, - }, - { - label: 'легкий старт', - value: 100_000_004, - }, - ], + radioGraphType, selectSeasonType, @@ -503,6 +506,7 @@ const defaultOptions: CalculationOptions = { linkOpportunityUrl: [], linkQuoteUrl: [], tbxBonusCoefficient: [], + selectLeasingWithoutKasko: [], }; export default defaultOptions; diff --git a/apps/web/config/default-statuses.ts b/apps/web/config/default-statuses.ts index 8a94c59..3cc300a 100644 --- a/apps/web/config/default-statuses.ts +++ b/apps/web/config/default-statuses.ts @@ -135,6 +135,7 @@ const defaultStatuses: CalculationStatuses = { tbxBonusCoefficient: 'Default', btnCalculate: 'Default', btnCreateKP: 'Default', + selectLeasingWithoutKasko: 'Default', }; export default defaultStatuses; diff --git a/apps/web/config/default-values.ts b/apps/web/config/default-values.ts index c6a66bb..587ffe5 100644 --- a/apps/web/config/default-values.ts +++ b/apps/web/config/default-values.ts @@ -80,7 +80,7 @@ const defaultValues: CalculationValues = { importerRewardRub: 0, disableChecks: false, insFranchise: 0, - rate: 'BASE', + rate: null, calcType: 100_000_000, totalPayments: 0, vehicleTaxInYear: 0, @@ -137,6 +137,7 @@ const defaultValues: CalculationValues = { bonusCoefficient: 1, plPriceRub: 0, discountRub: 0, + leasingWithoutKasko: null, }; export default defaultValues; diff --git a/apps/web/config/schema/values.ts b/apps/web/config/schema/values.ts index 691d28c..d1b6b7a 100644 --- a/apps/web/config/schema/values.ts +++ b/apps/web/config/schema/values.ts @@ -123,6 +123,7 @@ const ValuesSchema = z.object({ VATInLeaseObjectPrice: z.number(), engineHours: z.number(), bonusCoefficient: z.number(), + leasingWithoutKasko: z.string().nullable(), /** Link Values */ kpUrl: z.string().nullable(), diff --git a/apps/web/config/tables/insurance-table.ts b/apps/web/config/tables/insurance-table.ts index 3c8efd8..11bdbbe 100644 --- a/apps/web/config/tables/insurance-table.ts +++ b/apps/web/config/tables/insurance-table.ts @@ -23,6 +23,9 @@ export const defaultOptions: Record = { value: 100_000_001, }, ], + insCost: [], + insuranceCompany: [], + policyType: [], }, kasko: { insured: [ @@ -45,6 +48,9 @@ export const defaultOptions: Record = { value: 100_000_001, }, ], + insCost: [], + insuranceCompany: [], + policyType: [], }, fingap: { insured: [ @@ -67,6 +73,9 @@ export const defaultOptions: Record = { value: 100_000_001, }, ], + insCost: [], + insuranceCompany: [], + policyType: [], }, }; diff --git a/apps/web/constants/values.js b/apps/web/constants/values.js index 4335663..5af532c 100644 --- a/apps/web/constants/values.js +++ b/apps/web/constants/values.js @@ -4,3 +4,4 @@ export const MIN_INSURANCE = 3000; export const RATE = 7.75; export const MAX_LEASING_PERIOD = 60; +export const MIN_LASTPAYMENT_NSIB = 3500; diff --git a/apps/web/graphql/crm.query.graphql b/apps/web/graphql/crm.query.graphql new file mode 100644 index 0000000..9300aa6 --- /dev/null +++ b/apps/web/graphql/crm.query.graphql @@ -0,0 +1,288 @@ +query GetTransactionCurrencies { + transactioncurrencies { + label: currencyname + value: transactioncurrencyid + transactioncurrencyid + isocurrencycode + currencysymbol + } +} + +query GetTransactionCurrency($currencyid: Uuid!) { + transactioncurrency(transactioncurrencyid: $currencyid) { + currencysymbol + isocurrencycode + } +} + +query GetCurrencyChanges($currentDate: DateTime) { + evo_currencychanges(statecode: 0, evo_coursedate_param: { eq: $currentDate }) { + evo_currencychange + evo_ref_transactioncurrency + } +} + +query GetLead($leadid: Uuid!) { + lead(leadid: $leadid) { + evo_agent_accountid + evo_double_agent_accountid + evo_broker_accountid + evo_fin_department_accountid + evo_opportunityidData { + label: name + value: opportunityid + } + } +} + +query GetOpportunity($opportunityid: Uuid!) { + opportunity(opportunityid: $opportunityid) { + evo_leadid + } +} + +query GetQuotes($leadid: Uuid!) { + quotes(evo_leadid: $leadid) { + label: evo_quotename + value: quoteid + } +} + +query GetQuote($quoteId: Uuid!) { + quote(quoteId: $quoteId) { + evo_baseproductid + } +} + +query GetTarifs($currentDate: DateTime) { + evo_tarifs( + statecode: 0 + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { + label: evo_name + value: evo_tarifid + evo_tarifid + evo_baseproductid + evo_min_period + evo_max_period + evo_delivery_time + evo_min_first_payment + evo_max_first_payment + evo_min_last_payment + evo_max_last_payment + evo_used + } +} + +query GetTarif($tarifId: Uuid!) { + evo_tarif(evo_tarifid: $tarifId) { + evo_irr + evo_graphtype_exception + evo_seasons_type_exception + evo_min_decreasing_perc + } +} + +query GetRates($currentDate: DateTime) { + evo_rates( + statecode: 0 + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { + label: evo_name + value: evo_rateid + evo_id + evo_tarifs { + evo_tarifid + } + } +} + +query GetProducts($currentDate: DateTime) { + evo_baseproducts( + statecode: 0 + evo_relation: [100000000] + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { + label: evo_name + value: evo_baseproductid + evo_baseproductid + } +} + +query GetProduct($productId: Uuid!) { + evo_baseproduct(evo_baseproductid: $productId) { + evo_leasingobject_types { + evo_leasingobject_typeid + } + evo_calculation_method + evo_baseproducts { + evo_baseproductid + } + evo_brands { + evo_brandid + } + } +} + +query GetSubsidies($currentDate: DateTime) { + evo_subsidies( + statecode: 0 + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { + label: evo_name + value: evo_subsidyid + evo_subsidy_type + } +} + +query GetSubsidy($subsidyId: Uuid!) { + evo_subsidy(evo_subsidyid: $subsidyId) { + evo_leasingobject_types { + evo_leasingobject_typeid + } + accounts { + accountid + } + evo_brands { + evo_brandid + } + evo_models { + evo_modelid + } + evo_subsidy_summ + evo_percent_subsidy + evo_max_subsidy_summ + } +} + +query GetImportProgram($importProgramId: Uuid!) { + importProgram: evo_subsidy(evo_subsidyid: $importProgramId) { + evo_leasingobject_types { + evo_leasingobject_typeid + } + accounts { + accountid + } + evo_brands { + evo_brandid + } + evo_models { + evo_modelid + } + } +} + +query GetRegions { + evo_regions { + label: evo_name + value: evo_regionid + } +} + +query GetGPSBrands { + evo_gps_brands(statecode: 0) { + label: evo_name + value: evo_gps_brandid + } +} + +query GetLeaseObjectTypes { + evo_leasingobject_types(statecode: 0) { + label: evo_name + value: evo_leasingobject_typeid + evo_leasingobject_typeid + } +} + +query GetLeaseObjectType($leaseObjectTypeId: Uuid!) { + leaseObjectType: evo_leasingobject_type(evo_leasingobject_typeid: $leaseObjectTypeId) { + evo_vehicle_type + } +} + +query GetBrands { + evo_brands(statecode: 0) { + label: evo_name + value: evo_brandid + evo_brandid + evo_vehicle_type + } +} + +query GetModels($brandId: Uuid!) { + evo_models(statecode: 0, evo_brandid: $brandId) { + label: evo_name + value: evo_modelid + evo_modelid + evo_vehicle_type + } +} + +query GetConfigurations($modelId: Uuid) { + evo_equipments(statecode: 0, evo_modelid: $modelId) { + label: evo_name + value: evo_equipmentid + } +} + +query GetDealers { + dealers: accounts(evo_account_type: [100000001], statecode: 0, evo_legal_form: 100000001) { + label: name + value: accountid + accountid + } +} + +query GetDealer($dealerId: Uuid!) { + dealer: account(accountid: $dealerId) { + evo_return_leasing_dealer + evo_broker_accountid + } +} + +query GetDealerPersons($dealerId: Uuid!) { + dealerPersons: salon_providers(statecode: 0, salonaccountid: $dealerId) { + label: name + value: accountid + accountid + evo_inn + evo_kpp + } +} + +query GetAgent($agentid: Uuid!) { + agent: account(accountid: $agentid) { + label: name + value: accountid + } +} + +query GetRewardConditions($agentid: Uuid!, $currentDate: DateTime) { + evo_reward_conditions( + evo_agent_accountid: $agentid + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + statecode: 0 + evo_agency_agreementid_param: { has: true } + ) { + label: evo_name + value: evo_reward_conditionid + evo_reward_summ + } +} + +query GetRewardCondition($conditionId: Uuid!) { + evo_reward_condition(evo_reward_conditionid: $conditionId) { + evo_reward_summ + evo_reduce_reward + evo_min_reward_summ + evo_agency_agreementidData { + evo_required_reward + evo_reward_without_other_agent + } + } +} diff --git a/apps/web/graphql/crm.schema.graphql b/apps/web/graphql/crm.schema.graphql index a04ef6e..f0ebe3e 100644 --- a/apps/web/graphql/crm.schema.graphql +++ b/apps/web/graphql/crm.schema.graphql @@ -7,40 +7,6 @@ directive @cost( multipliers: [MultiplierPath!] ) on FIELD_DEFINITION -""" -Direct the client to resolve this field locally, either from the cache or local resolvers. -""" -directive @client( - """ - When true, the client will never use the cache for this value. See - https://www.apollographql.com/docs/react/essentials/local-state/#forcing-resolvers-with-clientalways-true - """ - always: Boolean -) on FIELD | FRAGMENT_DEFINITION | INLINE_FRAGMENT - -""" -Export this locally resolved field as a variable to be used in the remainder of this query. See -https://www.apollographql.com/docs/react/essentials/local-state/#using-client-fields-as-variables -""" -directive @export( - """The variable name to export this field as.""" - as: String! -) on FIELD - -""" -Specify a custom store key for this result. See -https://www.apollographql.com/docs/react/advanced/caching/#the-connection-directive -""" -directive @connection( - """Specify the store key.""" - key: String! - - """ - An array of query argument names to include in the generated custom store key. - """ - filter: [String!] -) on FIELD - """ The multiplier path scalar represents a valid GraphQL multiplier path string. """ @@ -80,6 +46,8 @@ type Query { evo_currencychanges(evo_coursedate_param: DateParamInput, evo_ref_transactioncurrency: Uuid, statecode: Int): [evo_currencychange] evo_debtwork_contract(debtworkContractId: Uuid!): evo_debtwork_contract evo_debtwork_contracts(evo_accountid: Uuid, evo_statuscodeid: Uuid, statecode: Int): [evo_debtwork_contract] + evo_documenttype(evo_documenttypeid: Uuid!): evo_documenttype + evo_documenttypes(evo_code_wm: String, statecode: Int): [evo_documenttype] evo_equipments(evo_modelid: Uuid, statecode: Int): [evo_equipment] evo_external_supplier_codes(evo_id: String, statecode: Int): [evo_external_supplier_code] evo_external_system_request(evo_external_system_requestid: Uuid!): evo_external_system_request @@ -99,10 +67,12 @@ type Query { evo_models(evo_brandid: Uuid, evo_vehicle_type: Int, statecode: Int): [evo_model] evo_orglegalform(evo_orglegalformid: Uuid!): evo_orglegalform evo_orglegalforms(statecode: Int = 0): [evo_orglegalform] + evo_parking(evo_parkingid: Uuid!): evo_parking evo_paymentorders(evo_dds_1c: String, evo_name: String, evo_paydate_param: DateParamInput, evo_payment_number_1c: String, evo_paysum: Decimal, statecode: Int, statuscode: Int): [evo_paymentorder] evo_planpayments(evo_addproduct_typeid: Uuid, statecode: Int): [evo_planpayment] evo_product_risk(evo_product_riskid: Uuid!): evo_product_risk evo_product_risks(statecode: Int): [evo_product_risk] + evo_question_credit_committee(evo_question_credit_committeeid: Uuid!): evo_question_credit_committee evo_rate(evo_rateid: Uuid!): evo_rate evo_rates(evo_datefrom_param: DateParamInput, evo_dateto_param: DateParamInput, statecode: Int): [evo_rate] @@ -156,6 +126,7 @@ type Query { """Поставщики ЮЛ салона. statecode по умолчанию 0""" salon_providers(salonaccountid: Uuid!, statecode: Int): [account] + subjects: [subjectGraphQL] systemuser(domainname: String, systemuserid: Uuid): systemuser systemusers(domainname: String, evo_employee_id: String, isdisabled: Boolean = false): [systemuser] templates(description: String): [template] @@ -169,29 +140,24 @@ type Mutation { by(systemuserid: Uuid): MutationBy } -type evo_request_client { +type evo_typedocpackage { createdon: DateTime - evo_accountid: Uuid - evo_accountidData: account - evo_caseorigincode: Int - evo_caseorigincodename: String - evo_client_request_text: String - evo_comment: String - evo_documents: [evo_document] - evo_number: String - evo_owner_systemuserid: Uuid - evo_owner_systemuseridData: systemuser - evo_phonecallid: Uuid - evo_request_clientid: Uuid - evo_site_email: String - evo_site_name: String - evo_site_telephone: String - evo_site_text: String - evo_statuscodeid: Uuid - evo_statuscodeidData: evo_statuscode - evo_storage: String - incidents: [incidentGraphQL] - link: String + evo_account: Boolean + evo_addcontract: Boolean + evo_agency_agreement: Boolean + evo_contract: Boolean + evo_debtwork_contract: Boolean + evo_finegibdd: Boolean + evo_id: String + evo_incident: Boolean + evo_insurance_period: Boolean + evo_name: String + evo_opportunity: Boolean + evo_parking: Boolean + evo_programsolution: [Int!] + evo_request_client: Boolean + evo_request_payment: Boolean + evo_typedocpackageid: Uuid modifiedon: DateTime toObjectString: String } @@ -238,6 +204,142 @@ input GuidParamInput { """The built-in `Decimal` scalar type.""" scalar Decimal +type evo_debtwork_contract { + createdon: DateTime + evo_accountid: Uuid + evo_accountidData: account + evo_contractid: Uuid + evo_contractidData: evo_contract + evo_date_change_statuscode: DateTime + evo_db_region_com: String + evo_debtwork_contractid: Uuid + evo_debt_restruct_description: String + evo_documents: [evo_document] + evo_economic_security_com: String + evo_erroneous_pay_contractname: String + evo_inspection_done: Boolean + evo_inspection_impossible: Boolean + evo_inspection_impossible_reason: String + evo_inspection_link_report: String + evo_inspection_systemuserid: Uuid + evo_inspection_systemuseridData: systemuser + evo_insurance_case_dateend: DateTime + evo_leasingobjectid: Uuid + evo_leasingobjectidData: evo_leasingobject + evo_name: String + evo_non_payment_count: Decimal + evo_opportunityid: Uuid + evo_other_losses_amount: Decimal + evo_other_sanctions_amount: Decimal + evo_parkingid: Uuid + evo_parkingidData: evo_parking + evo_plan_date_transfer_pay: DateTime + evo_pl_estimated_value: Decimal + evo_redemption_com: String + evo_redemption_type: [Int!] + evo_result_debt_restruct: Boolean + evo_result_error_payment: Boolean + evo_result_inspection: Boolean + evo_result_insurance_case: Boolean + evo_result_redemption: Boolean + evo_result_termination: Boolean + evo_result_wait_payment: Boolean + evo_result_withdrawal: Boolean + evo_saldo_calculation_date: DateTime + evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode + evo_statuscode_reason: String + evo_storage: String + evo_termination_add_registry: Int + evo_termination_com: String + evo_termination_com_lawyer: String + evo_termination_date: DateTime + evo_termination_lawyer_systemuserid: Uuid + evo_termination_lawyer_systemuseridData: systemuser + evo_termination_notice_date: DateTime + evo_termination_reason_terms: Int + evo_termination_reason_terms_doc: String + evo_termination_reason_terms_text: String + evo_termination_send_notice: Boolean + evo_termination_send_notice_date: DateTime + evo_termination_send_notice_repeat: Boolean + evo_termination_solution: Int + evo_termination_status_work: Int + evo_termination_suspended_until: DateTime + evo_termination_unique_notice: Boolean + evo_term_act_keys: Boolean + evo_term_act_keys_systemuserid: Uuid + evo_term_act_keys_systemuseridData: systemuser + evo_term_act_keys_unload_date: DateTime + evo_term_act_personal_items: Boolean + evo_term_act_personal_items_systemuserid: Uuid + evo_term_act_personal_items_systemuseridData: systemuser + evo_term_act_personal_items_unload_date: DateTime + evo_term_act_storage_get: Boolean + evo_term_act_storage_get_date: DateTime + evo_term_act_storage_get_systemuserid: Uuid + evo_term_act_storage_get_systemuseridData: systemuser + evo_term_act_storage_get_type: Int + evo_term_act_storage_get_unload_date: DateTime + evo_term_act_withdrawal: Boolean + evo_term_act_withdrawal_pl_systemuserid: Uuid + evo_term_act_withdrawal_pl_systemuseridData: systemuser + evo_term_act_withdrawal_pl_unload_date: DateTime + evo_term_notice_inspection: Boolean + evo_term_notice_inspection_systemuserid: Uuid + evo_term_notice_inspection_systemuseridData: systemuser + evo_term_notice_inspection_unload_date: DateTime + evo_withdrawal_businessunitid: Uuid + evo_withdrawal_businessunitidData: businessunit + evo_withdrawal_done: Boolean + evo_withdrawal_fact_date: DateTime + evo_withdrawal_impossible: Boolean + evo_withdrawal_impossible_reason: String + evo_withdrawal_issue_agreed: Int + evo_withdrawal_issue_done: Int + evo_withdrawal_issue_done_date: DateTime + evo_withdrawal_parking_addressid: Uuid + evo_withdrawal_plan_date: DateTime + evo_withdrawal_systemuserid: Uuid + evo_withdrawal_systemuseridData: systemuser + link: String + modifiedon: DateTime + ownerid: Uuid + ownerid_systemuser: Uuid + ownerid_systemuserData: systemuser + ownerid_team: Uuid + toObjectString: String +} + +type evo_request_client { + createdon: DateTime + evo_accountid: Uuid + evo_accountidData: account + evo_caseorigincode: Int + evo_caseorigincodename: String + evo_client_request_text: String + evo_comment: String + evo_documents: [evo_document] + evo_from_account: Uuid + evo_from_contact: Uuid + evo_number: String + evo_owner_systemuserid: Uuid + evo_owner_systemuseridData: systemuser + evo_phonecallid: Uuid + evo_request_clientid: Uuid + evo_site_email: String + evo_site_name: String + evo_site_telephone: String + evo_site_text: String + evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode + evo_storage: String + incidents: [incidentGraphQL] + link: String + modifiedon: DateTime + toObjectString: String +} + type evo_subject_incident { createdon: DateTime evo_group: Int @@ -252,6 +354,14 @@ type evo_subject_incident { toObjectString: String } +type subjectGraphQL { + createdon: DateTime + modifiedon: DateTime + subjectid: Uuid + title: String + toObjectString: String +} + type incidentGraphQL { caseorigincode: Int createdon: DateTime @@ -286,6 +396,33 @@ type incidentGraphQL { toObjectString: String } +type evo_question_credit_committee { + createdon: DateTime + evo_accountid: Uuid + evo_confluence_file_referenceid: String + evo_description_general_solution: String + evo_opportunityid: Uuid + evo_ownerid_systemuser: Uuid + evo_question_credit_committeeid: Uuid + evo_statuscodeid: Uuid + evo_summary_judgment: Int + modifiedon: DateTime + quotes: [quote] + toObjectString: String +} + +type evo_parking { + createdon: DateTime + evo_address_legalid: Uuid + evo_address_legalidData: account + evo_documents: [evo_document] + evo_name: String + evo_parkingid: Uuid + evo_storage: String + modifiedon: DateTime + toObjectString: String +} + type entity_schema { entity_id: String entity_set_name: String @@ -297,83 +434,6 @@ type entity_schema { picklists: [picklist] } -type evo_debtwork_contract { - createdon: DateTime - evo_accountid: Uuid - evo_accountidData: account - evo_contractid: Uuid - evo_contractidData: evo_contract - evo_date_change_statuscode: DateTime - evo_db_region_com: String - evo_debtwork_contractid: Uuid - evo_debt_restruct_description: String - evo_documents: [evo_document] - evo_economic_security_com: String - evo_erroneous_pay_contractname: String - evo_inspection_done: Boolean - evo_inspection_impossible: Boolean - evo_inspection_impossible_reason: String - evo_inspection_link_report: String - evo_inspection_systemuserid: Uuid - evo_inspection_systemuseridData: systemuser - evo_insurance_case_dateend: DateTime - evo_leasingobjectid: Uuid - evo_leasingobjectidData: evo_leasingobject - evo_name: String - evo_non_payment_count: Decimal - evo_opportunityid: Uuid - evo_plan_date_transfer_pay: DateTime - evo_redemption_com: String - evo_redemption_type: [Int!] - evo_result_debt_restruct: Boolean - evo_result_error_payment: Boolean - evo_result_inspection: Boolean - evo_result_insurance_case: Boolean - evo_result_redemption: Boolean - evo_result_termination: Boolean - evo_result_wait_payment: Boolean - evo_result_withdrawal: Boolean - evo_statuscodeid: Uuid - evo_statuscodeidData: evo_statuscode - evo_statuscode_reason: String - evo_storage: String - evo_termination_add_registry: Int - evo_termination_com: String - evo_termination_com_lawyer: String - evo_termination_lawyer_systemuserid: Uuid - evo_termination_lawyer_systemuseridData: systemuser - evo_termination_reason_terms: Int - evo_termination_reason_terms_doc: String - evo_termination_reason_terms_text: String - evo_termination_send_notice: Boolean - evo_termination_send_notice_date: DateTime - evo_termination_send_notice_repeat: Boolean - evo_termination_solution: Int - evo_termination_status_work: Int - evo_termination_suspended_until: DateTime - evo_termination_unique_notice: Boolean - evo_withdrawal_businessunitid: Uuid - evo_withdrawal_businessunitidData: businessunit - evo_withdrawal_done: Boolean - evo_withdrawal_impossible: Boolean - evo_withdrawal_impossible_reason: String - evo_withdrawal_issue_agreed: Int - evo_withdrawal_issue_done: Int - evo_withdrawal_issue_done_date: DateTime - evo_withdrawal_parking_addressid: Uuid - evo_withdrawal_parking_addressidData: evo_address - evo_withdrawal_plan_date: DateTime - evo_withdrawal_systemuserid: Uuid - evo_withdrawal_systemuseridData: systemuser - link: String - modifiedon: DateTime - ownerid: Uuid - ownerid_systemuser: Uuid - ownerid_systemuserData: systemuser - ownerid_team: Uuid - toObjectString: String -} - type account { accountid: Uuid childcontacts(statecode: Int): [contact] @@ -404,7 +464,9 @@ type account { evo_div_12month: Boolean evo_documents(evo_documenttypeid_param: GuidParamInput, latestversion: Boolean = true): [evo_document] evo_economic_security_systemuserid: Uuid + evo_edos: [evo_edo] evo_employee_count: Int + evo_evokasko_access: Boolean evo_fingap_number_rules: Int evo_fin_department_accountid: Uuid evo_fin_department_accountidData: account @@ -448,9 +510,13 @@ type account { evo_state_liquidation_date: DateTime evo_state_registration_date: DateTime evo_state_status: Int + evo_state_status_code: String + evo_storage: String evo_subsidies(statecode: Int): [evo_subsidy] + evo_supplier_financing_accept: Boolean evo_supplier_type: Int evo_tax_system: Int + evo_telematic_provider_accountid: Uuid evo_type_ins_policy: [Int!] evo_unscrupulous_supplier: Boolean incidents: [incidentGraphQL] @@ -539,26 +605,36 @@ type evo_addproduct_type { evo_accountid: Uuid evo_addproduct_typeid: Uuid evo_addproduct_types: [evo_addproduct_type] + evo_brands: [evo_brand] evo_controls_program: [Int!] evo_cost_service_provider: Decimal evo_cost_service_provider_withoutnds: Decimal evo_datefrom: DateTime evo_dateto: DateTime evo_description: String + evo_equipment_1_name: String evo_equip_cost: Decimal + evo_evokasko_calc_type: Int evo_gibdd_region: Boolean evo_graph_price: Decimal evo_graph_price_withoutnds: Decimal evo_helpcard_type: Int evo_id: String evo_leasingobject_types(statecode: Int): [evo_leasingobject_type] + evo_loss_kv: Decimal evo_max_age: Int + evo_max_first_payment_perc: Decimal evo_max_period: Decimal + evo_max_price: Decimal evo_min_age: Int + evo_min_first_payment_perc: Decimal evo_min_period: Decimal + evo_min_price: Decimal + evo_models: [evo_model] evo_name: String evo_nsib_limit: Decimal evo_planpayments(statecode: Int): [evo_planpayment] + evo_price_service_provider_withoutnds: Decimal evo_prime_cost: Decimal evo_product_type: Int evo_pts_type: [Int!] @@ -570,6 +646,7 @@ type evo_addproduct_type { evo_visible_calc: Boolean evo_whom_register: Int evo_who_register: Int + link: String modifiedon: DateTime statecode: Int toObjectString: String @@ -592,6 +669,7 @@ type evo_baseproduct { evo_relation: [Int!] evo_sale_without_nds: Boolean evo_scoring_available: Boolean + evo_supplier_financing_accept: Boolean modifiedon: DateTime statecode: Int systemusers(statecode: Int): [systemuser] @@ -599,7 +677,7 @@ type evo_baseproduct { } type evo_graph { - createdon: DateTime! + createdon: DateTime evo_addcontractid: Uuid evo_contractid: Uuid evo_cost_equipment_sum: Decimal @@ -608,10 +686,11 @@ type evo_graph { evo_cost_price_telematics_withoutnds_sum: Decimal evo_cost_telematics_sum: Decimal evo_cost_telematics_withoutnds_sum: Decimal + evo_graf_date_approve: DateTime evo_graphid: Uuid evo_name: String evo_nds: Decimal - evo_planpayments: [evo_planpayment!] + evo_planpayments: [evo_planpayment] evo_quoteid: Uuid evo_sumpay_withnds: Decimal evo_sumpay_withoutnds: Decimal @@ -638,6 +717,7 @@ type evo_insurance_period { evo_elt_id: String evo_evokasko_price: Decimal evo_exp_drivers: Int + evo_fingap_listid: Uuid evo_franchise: Decimal evo_id: String evo_id_elt_calc: String @@ -658,6 +738,7 @@ type evo_insurance_period { evo_invoice_date: DateTime evo_kasko_price: Decimal evo_leasingobjectid: Uuid + evo_loss_kv: Decimal evo_mobile_discount: Boolean evo_mobile_discount_factor: Decimal evo_mobile_discount_rub: Decimal @@ -704,17 +785,33 @@ type evo_addproduct { evo_addproductnumberidData: evo_addproductnumber evo_addproduct_typeid: Uuid evo_addproduct_typeidData: evo_addproduct_type + evo_beacon1_imei: String + evo_beacon2_imei: String + evo_connect_telematics_evo_addproductid: Uuid + evo_contractid: Uuid + evo_cs_actualdate: DateTime + evo_date_instal: DateTime + evo_date_instal_cancel: DateTime evo_deactivation_date: DateTime evo_fuel_card_currency_limit_check: Boolean evo_fuel_card_limit_check: Boolean evo_fuel_card_limit_used: Decimal + evo_id_request_instal: String + evo_issue_date_plan: DateTime + evo_issue_owner_salon: String + evo_issue_tel_salon: String evo_leasingobjectid: Uuid evo_name: String evo_provider_accountid: Uuid evo_provider_accountidData: account + evo_provider_contact_info: String + evo_provider_phone_number: String evo_request_instal_message: String + evo_request_instal_path: String evo_service_contactid: Uuid + evo_setting_date: DateTime evo_telematics_number: String + evo_telematics_pin: String evo_validity_from: DateTime modifiedon: DateTime toObjectString: String @@ -772,6 +869,7 @@ type evo_leasingobject { evo_color: String evo_contractid: Uuid evo_create_contract_purchase: Boolean + evo_date_withdrawal: DateTime evo_delivery_time: Int evo_driving_axle: String evo_ecological_class: Int @@ -938,6 +1036,7 @@ type opportunity { evo_assignor_accountid: Uuid evo_businessunitid: Uuid evo_businessunitidData: businessunit + evo_cession_incidentid: Uuid evo_check_type: [Int!] evo_check_type_fact: [Int!] evo_client_riskid: Uuid @@ -980,6 +1079,7 @@ type opportunity { evo_programsolution: Int evo_report_year: Int evo_sfm_comment: [Int!] + evo_solution_agents_com: String evo_solution_average_cost: Int evo_solution_average_cost_com: String evo_solution_average_cost_reason: String @@ -1012,6 +1112,7 @@ type quote { customerid_account: Uuid customerid_contact: Uuid evo_accept_control_addproduct_typeid: Uuid + evo_accept_control_addproduct_typeidData: evo_addproduct_type evo_accept_period: Int evo_accept_quoteid: Uuid evo_acquisition_costs: Decimal @@ -1067,6 +1168,7 @@ type quote { evo_dealer_reward_conditionid: Uuid evo_dealer_reward_summ: Decimal evo_dealer_reward_total: Decimal + evo_decision_on_kp: String evo_declaration_knd: String evo_declaration_period: Int evo_declaration_profit: Decimal @@ -1095,8 +1197,11 @@ type quote { evo_equipmentid: Uuid evo_equip_price: Decimal evo_equity_capital: Decimal + evo_evokasko_insurer_accountid: Uuid + evo_evokasko_insurer_accountidData: account evo_evokasko_price: Decimal evo_exp_drivers: Int + evo_financing_with_own_funds: Boolean evo_fingap_accountid: Uuid evo_fingap_bonus_sum: Decimal evo_fingap_payer: Int @@ -1123,9 +1228,13 @@ type quote { evo_gender: Int evo_gps_brandid: Uuid evo_gps_modelid: Uuid - evo_graphs: [evo_graph!] + evo_graphs: [evo_graph] evo_graph_irr: Decimal evo_graph_type: Int + evo_guarantee_fl: Boolean + evo_guarantee_flname: String + evo_guarantee_ul: Boolean + evo_guarantee_ulname: String evo_guarantor1_another_peyments: Decimal evo_guarantor1_declaration_year: Int evo_guarantor1_equity_capital: Decimal @@ -1163,6 +1272,7 @@ type quote { evo_kasko_price: Decimal evo_kasko_price_leasperiod: Decimal evo_key_return: Boolean + evo_key_returnname: String evo_kilometrage_limit: Int evo_kilometrage_limit_period: Int evo_last_payment_calc: Int @@ -1178,8 +1288,12 @@ type quote { evo_legal_regionid: Uuid evo_legal_townid: Uuid evo_lessor_bank_detailsid: Uuid + evo_lessor_bank_detailsidData: evo_bank_details evo_loan_appraisalid: Uuid evo_logid: Uuid + evo_loss_kv: Decimal + evo_maximum_payment_day: Int + evo_maximum_percentage_av: Decimal evo_max_mass: Decimal evo_max_price_change: Decimal evo_max_speed: Decimal @@ -1222,7 +1336,7 @@ type quote { evo_price_without_nds_supplier_currency: Decimal evo_price_with_discount: Boolean evo_price_wthout_discount_nds_sup_currency: Decimal - evo_product_risks: [evo_product_risk!] + evo_product_risks: [evo_product_risk] evo_programsolution: Int evo_program_import_subsidyid: Uuid evo_program_import_subsidy_sum: Decimal @@ -1244,7 +1358,9 @@ type quote { evo_registration_regionid: Uuid evo_report_year: Int evo_req_telematic: Int + evo_req_telematicname: String evo_req_telematic_accept: Int + evo_req_telematic_acceptname: String evo_return_leasing: Boolean evo_risk: Int evo_risk_coefficientid: Uuid @@ -1261,7 +1377,9 @@ type quote { evo_subsidyid: Uuid evo_subsidy_summ: Decimal evo_supplier_accountid: Uuid + evo_supplier_accountidData: account evo_supplier_currency_price: Decimal + evo_supplier_financing: Boolean evo_supplier_type: Int evo_tarifid: Uuid evo_tax_period: Decimal @@ -1271,6 +1389,7 @@ type quote { evo_trailer: Boolean evo_transactioncurrencyid: Uuid evo_unlimit_drivers: Boolean + evo_untype_contract: Boolean evo_use_for: Int evo_vehicle_tax_approved: Decimal evo_vehicle_tax_period: Decimal @@ -1359,8 +1478,10 @@ type evo_subsidy { accounts: [account] createdon: DateTime evo_brands: [evo_brand] + evo_check_pts: Boolean evo_datefrom: DateTime evo_dateto: DateTime + evo_delivery_time: [Int!] evo_get_subsidy_payment: Int evo_leasingobject_types: [evo_leasingobject_type] evo_max_subsidy_summ: Decimal @@ -1468,8 +1589,11 @@ type evo_scheduled_call { evo_contact_jobtitle: String evo_contact_lastname: String evo_contact_name: String + evo_emailaddress1: String evo_inn: String evo_leadid: Uuid + evo_leadsource: Int + evo_mg_telephone: String evo_name: String evo_note: String evo_scheduled_callid: Uuid @@ -1477,6 +1601,11 @@ type evo_scheduled_call { evo_status: Int evo_telephone1: String evo_telephone2: String + evo_utm_campaign: String + evo_utm_content: String + evo_utm_medium: String + evo_utm_source: String + evo_utm_term: String modifiedon: DateTime ownerid: Uuid toObjectString: String @@ -1538,6 +1667,7 @@ type evo_request_payment { evo_finegibddidData: evo_finegibdd evo_id: String evo_inn: String + evo_insurance_addcontractid: Uuid evo_insurance_periodid: Uuid evo_insurance_policyid: Uuid evo_insurance_policyidData: evo_insurance_policy @@ -1567,6 +1697,7 @@ type evo_request_payment { evo_request_payment_type: Int evo_service_list: [Int!] evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode evo_storage: String evo_supplier_payment_type: Int evo_top_agency_agreementid: Uuid @@ -1578,6 +1709,32 @@ type evo_request_payment { toObjectString: String } +type evo_documenttype { + createdon: DateTime + evo_check_edo: Boolean + evo_code_wm: String + evo_comment: String + evo_documenttypeid: Uuid + evo_draftdoc: Boolean + evo_edit_namedoc: Boolean + evo_fill_docname: Boolean + evo_formalized: Boolean + evo_id: String + evo_name: String + evo_name_save_file: String + evo_original_id: String + evo_param_wm: String + evo_place_upload_doc: [Int!] + evo_remove_accept: Boolean + evo_sign_required: Boolean + evo_storagedoc: Int + evo_typedocpackages: [evo_typedocpackage] + evo_validitydoc: Int + modifiedon: DateTime + systemusers: [systemuser] + toObjectString: String +} + type evo_contract { createdon: DateTime emailaddress: String @@ -1597,6 +1754,7 @@ type evo_contract { evo_agent_reward: Decimal evo_agent_reward_conditionid: Uuid evo_agent_reward_summ: Decimal + evo_agent_reward_tech: Decimal evo_agent_service_list: [Int!] evo_approvallogs: [evo_approvallog] evo_balance_holder: Int @@ -1609,12 +1767,14 @@ type evo_contract { evo_broker_reward: Decimal evo_broker_reward_conditionid: Uuid evo_broker_reward_summ: Decimal + evo_broker_reward_tech: Decimal evo_broker_service_list: [Int!] evo_businessunitid: Uuid evo_calc_irr: Decimal evo_calc_profit: Decimal evo_cancel_contract: Boolean evo_card_bonus_summ: Decimal + evo_cession_opportunityid: Uuid evo_check_scan_comment: String evo_check_scan_result: Int evo_claim_pledge_agreementid: Uuid @@ -1629,12 +1789,14 @@ type evo_contract { evo_dateend: DateTime evo_date_of_pledge_claim: DateTime evo_date_of_pledge_leasobject: DateTime + evo_date_sor: DateTime evo_date_termination: DateTime evo_dealer_broker_accountid: Uuid evo_dealer_broker_request_paymentid: Uuid evo_dealer_broker_reward: Decimal evo_dealer_broker_reward_conditionid: Uuid evo_dealer_broker_reward_summ: Decimal + evo_dealer_broker_reward_tech: Decimal evo_dealer_broker_service_list: [Int!] evo_dealer_person_accountid: Uuid evo_dealer_person_accountidData: account @@ -1642,6 +1804,7 @@ type evo_contract { evo_dealer_person_reward: Decimal evo_dealer_person_reward_conditionid: Uuid evo_dealer_person_reward_summ: Decimal + evo_dealer_person_reward_tech: Decimal evo_dealer_person_service_list: [Int!] evo_debtwork_contractid: Uuid evo_debtwork_contractidData: evo_debtwork_contract @@ -1650,6 +1813,7 @@ type evo_contract { evo_debt_penalty_fee: Decimal evo_debt_total: Decimal evo_delay_days_count: Int + evo_delay_period: DateTime evo_director_bonus: Decimal evo_director_fingap_bonus: Decimal evo_director_nsib_bonus: Decimal @@ -1665,6 +1829,7 @@ type evo_contract { evo_double_agent_reward: Decimal evo_double_agent_reward_conditionid: Uuid evo_double_agent_reward_summ: Decimal + evo_double_agent_reward_tech: Decimal evo_double_agent_service_list: [Int!] evo_economic: Decimal evo_economic_actual: Decimal @@ -1673,6 +1838,7 @@ type evo_contract { evo_end_date_of_pledge_claim: DateTime evo_end_date_of_pledge_leasobject: DateTime evo_equip_price: Decimal + evo_evokasko_addproduct_typeid: Uuid evo_expinput_actual_date: DateTime evo_fedres_xml_date: DateTime evo_finegibdds: [evo_finegibdd] @@ -1684,6 +1850,7 @@ type evo_contract { evo_fin_department_reward: Decimal evo_fin_department_reward_conditionid: Uuid evo_fin_department_reward_summ: Decimal + evo_fin_department_reward_tech: Decimal evo_fin_department_service_list: [Int!] evo_first_payment_fact: Decimal evo_first_payment_fact_date: DateTime @@ -1730,6 +1897,7 @@ type evo_contract { evo_niatinception_msfo_actual: Decimal evo_ni_at_inception: Decimal evo_ni_at_inception_actual: Decimal + evo_ni_termination: Decimal evo_non_payment_count: Decimal evo_npvni_msfo: Decimal evo_npvni_msfo_final: Decimal @@ -1742,6 +1910,7 @@ type evo_contract { evo_payment_redemption_sum: Decimal evo_payment_redemption_sum_without_nds: Decimal evo_period: Int + evo_previous_accountid: Uuid evo_price_without_discount: Decimal evo_price_without_discount_supplier_currency: Decimal evo_price_wthout_discount_nds_sup_currency: Decimal @@ -1752,6 +1921,7 @@ type evo_contract { evo_rate: Decimal evo_rateid: Uuid evo_reason_change_account: Int + evo_redemption_archive_date: DateTime evo_ref_opportunityid: Uuid evo_region_director_bonus: Decimal evo_region_director_fingap_bonus: Decimal @@ -1759,6 +1929,7 @@ type evo_contract { evo_registration_addproductid: Uuid evo_registration_addproductidData: evo_addproduct evo_registration_addproduct_typeid: Uuid + evo_request_payments: [evo_request_payment] evo_return_leasing: Boolean evo_sale_without_nds: Boolean evo_signer_different_contactid: Uuid @@ -1767,15 +1938,20 @@ type evo_contract { evo_singdoc_systemuserid: Uuid evo_statuscodeid: Uuid evo_statuscodeidData: evo_statuscode + evo_step_statuscodeid: Uuid evo_storage: String evo_subsidyid: Uuid evo_subsidy_solution: Int + evo_subsidy_solution_com: String evo_subsidy_summ: Decimal evo_subsidy_validity_date: DateTime + evo_sumhold_date_sor: Decimal + evo_sumhold_month: Decimal evo_supplier_accountid: Uuid evo_supplier_bank_detailsid: Uuid evo_supplier_bank_detailsidData: evo_bank_details evo_supplier_currency_price: Decimal + evo_supplier_financing: Boolean evo_supplier_pay1_sum: Decimal evo_supplier_pay2_sum: Decimal evo_supplier_payfull_date: DateTime @@ -1916,6 +2092,7 @@ type evo_planpayment { evo_cost_price_telematics_withoutnds: Decimal evo_cost_telematics: Decimal evo_cost_telematics_withoutnds: Decimal + evo_credit_expenses: Decimal evo_early_repayment_sum: Decimal evo_fix_calc_sum: Decimal evo_graphid: Uuid @@ -2086,13 +2263,20 @@ type systemuser { businessunitid: Uuid businessunitidData: businessunit createdon: DateTime + defaultmailbox: Uuid domainname: String + evo_access_download_ni: Boolean + evo_access_exception_addcontract: Boolean evo_available_assignment_director: Boolean evo_baseproducts(statecode: Int): [evo_baseproduct] evo_callrecords_access: Boolean evo_can_export_cre: Boolean evo_can_import_sheduled_calls: Boolean evo_datebirth: DateTime + evo_editing_question_cc: Boolean + evo_edo: Boolean + evo_edo_department: [Int!] + evo_edo_departmentData: [picklist_value] evo_employee_id: String evo_fedresurs_rules: Boolean evo_identity_documents: [evo_identity_document] @@ -2240,6 +2424,7 @@ type evo_addcontract { evo_add_region_director_bonus: Decimal evo_agent_reward: Decimal evo_agent_reward_summ: Decimal + evo_agent_reward_tech: Decimal evo_age_drivers: Int evo_age_drivers_new: Int evo_approv_business_analyst: Boolean @@ -2255,6 +2440,7 @@ type evo_addcontract { evo_base_new: String evo_broker_reward: Decimal evo_broker_reward_summ: Decimal + evo_broker_reward_tech: Decimal evo_businessunitid: Uuid evo_calculation_method: Int evo_calculator_type: Int @@ -2292,6 +2478,7 @@ type evo_addcontract { evo_dealer_broker_reward_new: Decimal evo_dealer_broker_reward_summ: Decimal evo_dealer_broker_reward_summ_new: Decimal + evo_dealer_broker_reward_tech: Decimal evo_dealer_person_accountid: Uuid evo_dealer_person_accountid_new: Uuid evo_dealer_person_reward: Decimal @@ -2300,6 +2487,7 @@ type evo_addcontract { evo_dealer_person_reward_new: Decimal evo_dealer_person_reward_summ: Decimal evo_dealer_person_reward_summ_new: Decimal + evo_dealer_person_reward_tech: Decimal evo_deviation_investments_withoutnds: Decimal evo_deviation_irr: Decimal evo_dgo_price: Decimal @@ -2313,12 +2501,14 @@ type evo_addcontract { evo_dog_credit_new: Decimal evo_double_agent_reward: Decimal evo_double_agent_reward_summ: Decimal + evo_double_agent_reward_tech: Decimal evo_driving_axle: String evo_driving_axle_new: String evo_early_change_discount: Boolean evo_early_discount_perc: Decimal evo_early_partly_type: Int evo_early_redemption_change: Boolean + evo_early_sum: Decimal evo_ecological_class: Int evo_ecological_class_new: Int evo_economic: Decimal @@ -2337,6 +2527,9 @@ type evo_addcontract { evo_engine_volume_new: Decimal evo_equip_price: Decimal evo_equip_price_new: Decimal + evo_evokasko_addproduct_typeid: Uuid + evo_evokasko_addproduct_typeid_new: Uuid + evo_evokasko_price_new: Decimal evo_exp_drivers: Int evo_exp_drivers_new: Int evo_fin_department_reward: Decimal @@ -2345,6 +2538,7 @@ type evo_addcontract { evo_fin_department_reward_new: Decimal evo_fin_department_reward_summ: Decimal evo_fin_department_reward_summ_new: Decimal + evo_fin_department_reward_tech: Decimal evo_fix_last_payment: Boolean evo_franchise: Decimal evo_franchise_new: Decimal @@ -2362,6 +2556,8 @@ type evo_addcontract { evo_insurer_kasko_accountid_new: Uuid evo_insurer_osago_accountid: Uuid evo_insurer_osago_accountid_new: Uuid + evo_ins_period_evokasko_date: DateTime + evo_ins_period_evokasko_number: Int evo_ins_period_kasko_date: DateTime evo_ins_period_kasko_number: Int evo_ins_period_osago_date: DateTime @@ -2383,6 +2579,7 @@ type evo_addcontract { evo_leasingobject_specification_new: String evo_leasing_bonus_summ: Decimal evo_log_activdate_1c: String + evo_loss_kv: Decimal evo_maker: String evo_maker_new: String evo_max_mass: Decimal @@ -2436,6 +2633,8 @@ type evo_addcontract { evo_passport_seria_new: String evo_passport_type: Int evo_passport_type_new: Int + evo_payer_evokasko: Int + evo_payer_evokasko_new: Int evo_payer_kasko: Int evo_payer_kasko_new: Int evo_payer_osago: Int @@ -2545,6 +2744,7 @@ type email { regardingobjectid_evo_list: Uuid regardingobjectid_incident: Uuid regardingobjectid_opportunity: Uuid + statecode: Int statuscode: Int subject: String templateid: Uuid @@ -2564,6 +2764,7 @@ type evo_bank_details { evo_kbk: String evo_name: String evo_payment_account: String + link: String modifiedon: DateTime toObjectString: String } @@ -2588,27 +2789,6 @@ type template { toObjectString: String } -type evo_typedocpackage { - createdon: DateTime - evo_account: Boolean - evo_addcontract: Boolean - evo_agency_agreement: Boolean - evo_contract: Boolean - evo_debtwork_contract: Boolean - evo_finegibdd: Boolean - evo_id: String - evo_incident: Boolean - evo_insurance_period: Boolean - evo_name: String - evo_opportunity: Boolean - evo_programsolution: [Int!] - evo_request_client: Boolean - evo_request_payment: Boolean - evo_typedocpackageid: Uuid - modifiedon: DateTime - toObjectString: String -} - type MutationBy { associateBankDetailsAndAgencyAgreement_(evo_agency_agreementid: Uuid!, evo_bank_detailsid: Uuid!): Entity createEntity(data: EntityDataInput): Uuid! @@ -2618,33 +2798,6 @@ type MutationBy { updateEntity(data: EntityDataInput): Boolean! } -type evo_document { - createdon: DateTime - evo_accountid: Uuid - evo_changed_record_systemuserid: Uuid - evo_changed_record_systemuseridData: systemuser - evo_comment_original: String - evo_comment_previous: String - evo_comment_scan: String - evo_documentid: Uuid - evo_documenttypeid: Uuid - evo_documenttypeidData: evo_documenttype - evo_doc_number: String - evo_init_entity_id: String - evo_init_entity_name: String - evo_name: String - evo_original_correct: Boolean - evo_original_received: Boolean - evo_scan_correct: Boolean - evo_url: String - evo_validity_date: DateTime - evo_version: Int - modifiedon: DateTime - statecode: Int - statuscode: Int - toObjectString: String -} - """The `DateTime` scalar represents an ISO-8601 compliant date time type.""" scalar DateTime @@ -2666,24 +2819,12 @@ enum LogicOperation { OR } -type subjectGraphQL { - createdon: DateTime - modifiedon: DateTime - subjectid: Uuid - title: String - toObjectString: String -} - -type picklist { - name: String - values: [picklist_value] -} - type businessunit { businessunitid: Uuid createdon: DateTime evo_addressid: Uuid evo_boss_systemuserid: Uuid + evo_deputy_director_systemuserid: Uuid evo_director_systemuserid: Uuid evo_region_director_systgemuserid: Uuid evo_region_director_systgemuseridname: String @@ -2692,6 +2833,40 @@ type businessunit { toObjectString: String } +type evo_document { + createdon: DateTime + evo_accountid: Uuid + evo_changed_record_systemuserid: Uuid + evo_changed_record_systemuseridData: systemuser + evo_comment_original: String + evo_comment_previous: String + evo_comment_scan: String + evo_documentid: Uuid + evo_documenttypeid: Uuid + evo_documenttypeidData: evo_documenttype + evo_doc_number: String + evo_edoid: Uuid + evo_edoidData: evo_edo + evo_init_entity_id: String + evo_init_entity_name: String + evo_name: String + evo_original_correct: Boolean + evo_original_received: Boolean + evo_scan_correct: Boolean + evo_url: String + evo_validity_date: DateTime + evo_version: Int + modifiedon: DateTime + statecode: Int + statuscode: Int + toObjectString: String +} + +type picklist { + name: String + values: [picklist_value] +} + type team { createdon: DateTime evo_baseproducts(statecode: Int): [evo_baseproduct] @@ -2702,6 +2877,41 @@ type team { toObjectString: String } +type evo_edo { + createdon: DateTime + evo_accountid: Uuid + evo_accountidData: account + evo_activation_status: Int + evo_activation_statusname: String + evo_box_edoid: Uuid + evo_box_edoidData: evo_edo + evo_box_id: String + evo_box_name: String + evo_contractid: Uuid + evo_contractidData: evo_contract + evo_documentid: Uuid + evo_documenttypeid: Uuid + evo_edoid: Uuid + evo_edo_department: Int + evo_edo_status: Int + evo_edo_statusname: String + evo_edo_type: Int + evo_edo_typeename: String + evo_formalized: Boolean + evo_invite_crm_status: Int + evo_invite_crm_statusname: String + evo_legal_status: Int + evo_name: String + evo_project_documenttypeid: Uuid + evo_signer_systemuserid: Uuid + evo_sign_required: Boolean + evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode + evo_use_box: Boolean + modifiedon: DateTime + toObjectString: String +} + type evo_insurance_policy { createdon: DateTime evo_accountid: Uuid @@ -2775,6 +2985,7 @@ type tisa_phonecallprocessing { type role { createdon: DateTime + evo_connection_roleData: evo_connection_role evo_documenttypes: [evo_documenttype] modifiedon: DateTime name: String @@ -2782,6 +2993,13 @@ type role { toObjectString: String } +type picklist_value { + color: String + label: String + order: Int! + value: Int! +} + type activityparty { addressused: String createdon: DateTime @@ -2806,24 +3024,6 @@ type Entity { logical_name: String } -type evo_documenttype { - createdon: DateTime - evo_comment: String - evo_documenttypeid: Uuid - evo_draftdoc: Boolean - evo_edit_namedoc: Boolean - evo_fill_docname: Boolean - evo_id: String - evo_name: String - evo_name_save_file: String - evo_place_upload_doc: [Int!] - evo_storagedoc: Int - evo_typedocpackages: [evo_typedocpackage] - evo_validitydoc: Int - modifiedon: DateTime - toObjectString: String -} - enum FilterOperation { ISNULL EQUAL @@ -2835,11 +3035,12 @@ enum FilterOperation { LESSOREQUALTHEN } -type picklist_value { - color: String - label: String - order: Int! - value: Int! +type evo_connection_role { + createdon: DateTime + evo_connection_roleid: Uuid + evo_edo_department: Int + modifiedon: DateTime + toObjectString: String } input EntityFieldInput { diff --git a/apps/web/graphql/crm.types.ts b/apps/web/graphql/crm.types.ts index df68d0f..07c7aeb 100644 --- a/apps/web/graphql/crm.types.ts +++ b/apps/web/graphql/crm.types.ts @@ -1,3 +1,4 @@ +import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; @@ -115,19 +116,204 @@ export type ActivitypartyInput = { partyid_systemuser?: InputMaybe; }; -export type GetCurrencySymbolQueryVariables = Exact<{ +export type GetTransactionCurrenciesQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetTransactionCurrenciesQuery = { __typename?: 'Query', transactioncurrencies: Array<{ __typename?: 'transactioncurrency', transactioncurrencyid: string | null, isocurrencycode: string | null, currencysymbol: string | null, label: string | null, value: string | null } | null> | null }; + +export type GetTransactionCurrencyQueryVariables = Exact<{ currencyid: Scalars['Uuid']; }>; -export type GetCurrencySymbolQuery = { __typename?: 'Query', transactioncurrency: { __typename?: 'transactioncurrency', currencysymbol: string | null } | null }; +export type GetTransactionCurrencyQuery = { __typename?: 'Query', transactioncurrency: { __typename?: 'transactioncurrency', currencysymbol: string | null, isocurrencycode: string | null } | null }; -export type GetRisksDataFromQuoteQueryVariables = Exact<{ +export type GetCurrencyChangesQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetCurrencyChangesQuery = { __typename?: 'Query', evo_currencychanges: Array<{ __typename?: 'evo_currencychange', evo_currencychange: number | null, evo_ref_transactioncurrency: string | null } | null> | null }; + +export type GetLeadQueryVariables = Exact<{ + leadid: Scalars['Uuid']; +}>; + + +export type GetLeadQuery = { __typename?: 'Query', lead: { __typename?: 'lead', evo_agent_accountid: string | null, evo_double_agent_accountid: string | null, evo_broker_accountid: string | null, evo_fin_department_accountid: string | null, evo_opportunityidData: { __typename?: 'opportunity', label: string | null, value: string | null } | null } | null }; + +export type GetOpportunityQueryVariables = Exact<{ + opportunityid: Scalars['Uuid']; +}>; + + +export type GetOpportunityQuery = { __typename?: 'Query', opportunity: { __typename?: 'opportunity', evo_leadid: string | null } | null }; + +export type GetQuotesQueryVariables = Exact<{ + leadid: Scalars['Uuid']; +}>; + + +export type GetQuotesQuery = { __typename?: 'Query', quotes: Array<{ __typename?: 'quote', label: string | null, value: string | null } | null> | null }; + +export type GetQuoteQueryVariables = Exact<{ quoteId: Scalars['Uuid']; }>; -export type GetRisksDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_fingap_accountid: string | null, evo_fingap_payer: number | null, evo_fingap_period: number | null, evo_product_risks: Array<{ __typename?: 'evo_product_risk', evo_addproduct_typeid: string | null }> | null } | null }; +export type GetQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_baseproductid: string | null } | null }; + +export type GetTarifsQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetTarifsQuery = { __typename?: 'Query', evo_tarifs: Array<{ __typename?: 'evo_tarif', evo_tarifid: string | null, evo_baseproductid: string | null, evo_min_period: number | null, evo_max_period: number | null, evo_delivery_time: Array | null, evo_min_first_payment: number | null, evo_max_first_payment: number | null, evo_min_last_payment: number | null, evo_max_last_payment: number | null, evo_used: boolean | null, label: string | null, value: string | null } | null> | null }; + +export type GetTarifQueryVariables = Exact<{ + tarifId: Scalars['Uuid']; +}>; + + +export type GetTarifQuery = { __typename?: 'Query', evo_tarif: { __typename?: 'evo_tarif', evo_irr: number | null, evo_graphtype_exception: Array | null, evo_seasons_type_exception: Array | null, evo_min_decreasing_perc: number | null } | null }; + +export type GetRatesQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetRatesQuery = { __typename?: 'Query', evo_rates: Array<{ __typename?: 'evo_rate', evo_id: string | null, label: string | null, value: string | null, evo_tarifs: Array<{ __typename?: 'evo_tarif', evo_tarifid: string | null } | null> | null } | null> | null }; + +export type GetProductsQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetProductsQuery = { __typename?: 'Query', evo_baseproducts: Array<{ __typename?: 'evo_baseproduct', evo_baseproductid: string | null, label: string | null, value: string | null } | null> | null }; + +export type GetProductQueryVariables = Exact<{ + productId: Scalars['Uuid']; +}>; + + +export type GetProductQuery = { __typename?: 'Query', evo_baseproduct: { __typename?: 'evo_baseproduct', evo_calculation_method: Array | null, evo_leasingobject_types: Array<{ __typename?: 'evo_leasingobject_type', evo_leasingobject_typeid: string | null } | null> | null, evo_baseproducts: Array<{ __typename?: 'evo_baseproduct', evo_baseproductid: string | null } | null> | null, evo_brands: Array<{ __typename?: 'evo_brand', evo_brandid: string | null } | null> | null } | null }; + +export type GetSubsidiesQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetSubsidiesQuery = { __typename?: 'Query', evo_subsidies: Array<{ __typename?: 'evo_subsidy', evo_subsidy_type: number | null, label: string | null, value: string | null } | null> | null }; + +export type GetSubsidyQueryVariables = Exact<{ + subsidyId: Scalars['Uuid']; +}>; + + +export type GetSubsidyQuery = { __typename?: 'Query', evo_subsidy: { __typename?: 'evo_subsidy', evo_subsidy_summ: number | null, evo_percent_subsidy: number | null, evo_max_subsidy_summ: number | null, evo_leasingobject_types: Array<{ __typename?: 'evo_leasingobject_type', evo_leasingobject_typeid: string | null } | null> | null, accounts: Array<{ __typename?: 'account', accountid: string | null } | null> | null, evo_brands: Array<{ __typename?: 'evo_brand', evo_brandid: string | null } | null> | null, evo_models: Array<{ __typename?: 'evo_model', evo_modelid: string | null } | null> | null } | null }; + +export type GetImportProgramQueryVariables = Exact<{ + importProgramId: Scalars['Uuid']; +}>; + + +export type GetImportProgramQuery = { __typename?: 'Query', importProgram: { __typename?: 'evo_subsidy', evo_leasingobject_types: Array<{ __typename?: 'evo_leasingobject_type', evo_leasingobject_typeid: string | null } | null> | null, accounts: Array<{ __typename?: 'account', accountid: string | null } | null> | null, evo_brands: Array<{ __typename?: 'evo_brand', evo_brandid: string | null } | null> | null, evo_models: Array<{ __typename?: 'evo_model', evo_modelid: string | null } | null> | null } | null }; + +export type GetRegionsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetRegionsQuery = { __typename?: 'Query', evo_regions: Array<{ __typename?: 'evo_region', label: string | null, value: string | null } | null> | null }; + +export type GetGpsBrandsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetGpsBrandsQuery = { __typename?: 'Query', evo_gps_brands: Array<{ __typename?: 'evo_gps_brand', label: string | null, value: string | null } | null> | null }; + +export type GetLeaseObjectTypesQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetLeaseObjectTypesQuery = { __typename?: 'Query', evo_leasingobject_types: Array<{ __typename?: 'evo_leasingobject_type', evo_leasingobject_typeid: string | null, label: string | null, value: string | null } | null> | null }; + +export type GetLeaseObjectTypeQueryVariables = Exact<{ + leaseObjectTypeId: Scalars['Uuid']; +}>; + + +export type GetLeaseObjectTypeQuery = { __typename?: 'Query', leaseObjectType: { __typename?: 'evo_leasingobject_type', evo_vehicle_type: Array | null } | null }; + +export type GetBrandsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetBrandsQuery = { __typename?: 'Query', evo_brands: Array<{ __typename?: 'evo_brand', evo_brandid: string | null, evo_vehicle_type: Array | null, label: string | null, value: string | null } | null> | null }; + +export type GetModelsQueryVariables = Exact<{ + brandId: Scalars['Uuid']; +}>; + + +export type GetModelsQuery = { __typename?: 'Query', evo_models: Array<{ __typename?: 'evo_model', evo_modelid: string | null, evo_vehicle_type: number | null, label: string | null, value: string | null } | null> | null }; + +export type GetConfigurationsQueryVariables = Exact<{ + modelId: InputMaybe; +}>; + + +export type GetConfigurationsQuery = { __typename?: 'Query', evo_equipments: Array<{ __typename?: 'evo_equipment', label: string | null, value: string | null } | null> | null }; + +export type GetDealersQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetDealersQuery = { __typename?: 'Query', dealers: Array<{ __typename?: 'account', accountid: string | null, label: string | null, value: string | null } | null> | null }; + +export type GetDealerQueryVariables = Exact<{ + dealerId: Scalars['Uuid']; +}>; + + +export type GetDealerQuery = { __typename?: 'Query', dealer: { __typename?: 'account', evo_return_leasing_dealer: boolean | null, evo_broker_accountid: string | null } | null }; + +export type GetDealerPersonsQueryVariables = Exact<{ + dealerId: Scalars['Uuid']; +}>; + + +export type GetDealerPersonsQuery = { __typename?: 'Query', dealerPersons: Array<{ __typename?: 'account', accountid: string | null, evo_inn: string | null, evo_kpp: string | null, label: string | null, value: string | null } | null> | null }; + +export type GetAgentQueryVariables = Exact<{ + agentid: Scalars['Uuid']; +}>; + + +export type GetAgentQuery = { __typename?: 'Query', agent: { __typename?: 'account', label: string | null, value: string | null } | null }; + +export type GetRewardConditionsQueryVariables = Exact<{ + agentid: Scalars['Uuid']; + currentDate: InputMaybe; +}>; + + +export type GetRewardConditionsQuery = { __typename?: 'Query', evo_reward_conditions: Array<{ __typename?: 'evo_reward_condition', evo_reward_summ: number | null, label: string | null, value: string | null } | null> | null }; + +export type GetRewardConditionQueryVariables = Exact<{ + conditionId: Scalars['Uuid']; +}>; + + +export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null, evo_agency_agreementidData: { __typename?: 'evo_agency_agreement', evo_required_reward: boolean | null, evo_reward_without_other_agent: boolean | null } | null } | null }; + +export type GetConfiguratorDataFromQuoteQueryVariables = Exact<{ + quoteId: Scalars['Uuid']; +}>; + + +export type GetConfiguratorDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_baseproductid: string | null } | null }; + +export type GetFingapDataFromQuoteQueryVariables = Exact<{ + quoteId: Scalars['Uuid']; +}>; + + +export type GetFingapDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_fingap_accountid: string | null, evo_fingap_payer: number | null, evo_fingap_period: number | null, evo_product_risks: Array<{ __typename?: 'evo_product_risk', evo_addproduct_typeid: string | null } | null> | null } | null }; export type GetFinGapAddProductTypesQueryVariables = Exact<{ currentDate: InputMaybe; @@ -143,38 +329,11 @@ export type GetInsuranceDataQueryVariables = Exact<{ export type GetInsuranceDataQuery = { __typename?: 'Query', osago: Array<{ __typename?: 'account', value: string | null, label: string | null } | null> | null, kasko: Array<{ __typename?: 'account', value: string | null, label: string | null } | null> | null, fingap: Array<{ __typename?: 'account', value: string | null, label: string | null } | null> | null }; -export type GetMainOptionsQueryVariables = Exact<{ +export type GetAddproductTypesQueryVariables = Exact<{ currentDate: InputMaybe; }>; -export type GetMainOptionsQuery = { __typename?: 'Query', selectSupplierCurrency: Array<{ __typename?: 'transactioncurrency', currencysymbol: string | null, label: string | null, value: string | null } | null> | null, selectProduct: Array<{ __typename?: 'evo_baseproduct', label: string | null, value: string | null } | null> | null, selectLeaseObjectType: Array<{ __typename?: 'evo_leasingobject_type', label: string | null, value: string | null } | null> | null, selectGPSBrand: Array<{ __typename?: 'evo_gps_brand', label: string | null, value: string | null } | null> | null }; - -export type GetSubsidiesQueryVariables = Exact<{ - currentDate: InputMaybe; -}>; - - -export type GetSubsidiesQuery = { __typename?: 'Query', evo_subsidies: Array<{ __typename?: 'evo_subsidy', evo_subsidy_type: number | null, label: string | null, value: string | null } | null> | null }; - -export type GetRegionsQueryVariables = Exact<{ [key: string]: never; }>; - - -export type GetRegionsQuery = { __typename?: 'Query', evo_regions: Array<{ __typename?: 'evo_region', label: string | null, value: string | null } | null> | null }; - -export type GetBrandsQueryVariables = Exact<{ [key: string]: never; }>; - - -export type GetBrandsQuery = { __typename?: 'Query', selectBrand: Array<{ __typename?: 'evo_brand', label: string | null, value: string | null } | null> | null }; - -export type GetDealersQueryVariables = Exact<{ [key: string]: never; }>; - - -export type GetDealersQuery = { __typename?: 'Query', selectDealer: Array<{ __typename?: 'account', label: string | null, value: string | null } | null> | null }; - -export type GetAddproductTypesQueryVariables = Exact<{ [key: string]: never; }>; - - export type GetAddproductTypesQuery = { __typename?: 'Query', evo_addproduct_types: Array<{ __typename?: 'evo_addproduct_type', evo_graph_price: number | null, evo_product_type: number | null, label: string | null, value: string | null } | null> | null }; export type GetOwnerDataQueryVariables = Exact<{ @@ -184,32 +343,6 @@ export type GetOwnerDataQueryVariables = Exact<{ export type GetOwnerDataQuery = { __typename?: 'Query', selectLead: Array<{ __typename?: 'lead', label: string | null, value: string | null } | null> | null, selectOpportunity: Array<{ __typename?: 'opportunity', label: string | null, value: string | null } | null> | null }; -export type GetTransactionCurrenciesQueryVariables = Exact<{ [key: string]: never; }>; - - -export type GetTransactionCurrenciesQuery = { __typename?: 'Query', transactioncurrencies: Array<{ __typename?: 'transactioncurrency', isocurrencycode: string | null, transactioncurrencyid: string | null } | null> | null }; - -export type GetOpportunityByLeadQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetOpportunityByLeadQuery = { __typename?: 'Query', lead: { __typename?: 'lead', evo_opportunityidData: { __typename?: 'opportunity', label: string | null, value: string | null } | null } | null }; - -export type GetLeadidByOpportunityQueryVariables = Exact<{ - opportunityid: Scalars['Uuid']; -}>; - - -export type GetLeadidByOpportunityQuery = { __typename?: 'Query', opportunity: { __typename?: 'opportunity', evo_leadid: string | null } | null }; - -export type GetQuotesByLeadQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetQuotesByLeadQuery = { __typename?: 'Query', quotes: Array<{ __typename?: 'quote', label: string | null, value: string | null } | null> | null }; - export type GetLeadUrlQueryVariables = Exact<{ id: Scalars['Uuid']; }>; @@ -231,26 +364,33 @@ export type GetQuoteUrlQueryVariables = Exact<{ export type GetQuoteUrlQuery = { __typename?: 'Query', entity: { __typename?: 'quote', link: string | null } | null }; +export type GetLeasingObjectDataFromQuoteQueryVariables = Exact<{ + quoteId: Scalars['Uuid']; +}>; + + +export type GetLeasingObjectDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_brandid: string | null, evo_modelid: string | null, evo_equipmentid: string | null, evo_leasingobject_typeid: string | null } | null }; + +export type GetLeasingWithoutKaskoOptionsQueryVariables = Exact<{ + currentDate: InputMaybe; +}>; + + +export type GetLeasingWithoutKaskoOptionsQuery = { __typename?: 'Query', evo_addproduct_types: Array<{ __typename?: 'evo_addproduct_type', evo_product_type: number | null, evo_min_period: number | null, evo_max_period: number | null, evo_min_price: number | null, evo_max_price: number | null, evo_visible_calc: boolean | null, evo_min_first_payment_perc: number | null, evo_max_first_payment_perc: number | null, label: string | null, value: string | null, evo_leasingobject_types: Array<{ __typename?: 'evo_leasingobject_type', evo_leasingobject_typeid: string | null } | null> | null, evo_models: Array<{ __typename?: 'evo_model', evo_modelid: string | null } | null> | null } | null> | null }; + export type GetPaymentsDataFromQuoteQueryVariables = Exact<{ quoteId: Scalars['Uuid']; }>; -export type GetPaymentsDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_period: number | null, evo_accept_period: number | null, evo_first_payment_perc: number | null, evo_last_payment_perc: number | null, evo_graph_type: number | null, evo_payments_decrease_perc: number | null, evo_seasons_type: number | null, evo_high_season: number | null, evo_graphs: Array<{ __typename?: 'evo_graph', createdon: string, evo_sumpay_withnds: number | null, evo_planpayments: Array<{ __typename?: 'evo_planpayment', evo_payment_ratio: number | null }> | null }> | null } | null }; +export type GetPaymentsDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_period: number | null, evo_accept_period: number | null, evo_first_payment_perc: number | null, evo_last_payment_perc: number | null, evo_graph_type: number | null, evo_payments_decrease_perc: number | null, evo_seasons_type: number | null, evo_high_season: number | null, evo_graphs: Array<{ __typename?: 'evo_graph', createdon: string | null, evo_sumpay_withnds: number | null, evo_planpayments: Array<{ __typename?: 'evo_planpayment', evo_payment_ratio: number | null } | null> | null } | null> | null } | null }; -export type GetCurrencyChangesQueryVariables = Exact<{ - currentDate: InputMaybe; +export type GetPriceDataFromQuoteQueryVariables = Exact<{ + quoteId: Scalars['Uuid']; }>; -export type GetCurrencyChangesQuery = { __typename?: 'Query', evo_currencychanges: Array<{ __typename?: 'evo_currencychange', evo_currencychange: number | null, evo_ref_transactioncurrency: string | null } | null> | null }; - -export type GetCurrencyIsoCodeQueryVariables = Exact<{ - id: Scalars['Uuid']; -}>; - - -export type GetCurrencyIsoCodeQuery = { __typename?: 'Query', transactioncurrency: { __typename?: 'transactioncurrency', isocurrencycode: string | null } | null }; +export type GetPriceDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_supplier_currency_price: number | null, evo_price_without_nds_supplier_currency: number | null, evo_nds_in_price_supplier_currency: number | null, evo_last_payment_rub: number | null, evo_last_payment_calc: number | null, evo_transactioncurrencyid: string | null, evo_discount_supplier_currency: number | null, evo_discount_perc: number | null, evo_comission_perc: number | null, evo_comission_rub: number | null, evo_sale_bonus: number | null } | null }; export type GetRewardRulesQueryVariables = Exact<{ conditionId: Scalars['Uuid']; @@ -266,87 +406,47 @@ export type GetAgentsDataFromQuoteQueryVariables = Exact<{ export type GetAgentsDataFromQuoteQuery = { __typename?: 'Query', quote: { __typename?: 'quote', evo_supplier_accountid: string | null, evo_dealer_person_accountid: string | null, evo_dealer_reward_conditionid: string | null, evo_dealer_reward_total: number | null, evo_dealer_reward_summ: number | null, evo_dealer_broker_accountid: string | null, evo_dealer_broker_reward_conditionid: string | null, evo_dealer_broker_reward_total: number | null, evo_dealer_broker_reward_summ: number | null, evo_agent_accountid: string | null, evo_agent_reward_conditionid: string | null, evo_agent_reward_total: number | null, evo_agent_reward_summ: number | null, evo_double_agent_accountid: string | null, evo_double_agent_reward_conditionid: string | null, evo_double_agent_reward_total: number | null, evo_double_agent_reward_summ: number | null, evo_broker_accountid: string | null, evo_broker_reward_conditionid: string | null, evo_broker_reward_total: number | null, evo_broker_reward_summ: number | null, evo_fin_department_accountid: string | null, evo_fin_department_reward_conditionid: string | null, evo_fin_department_reward_total: number | null, evo_fin_department_reward_summ: number | null } | null }; -export type GetRewardConditionsQueryVariables = Exact<{ - agentid: Scalars['Uuid']; - currentDate: InputMaybe; -}>; - -export type GetRewardConditionsQuery = { __typename?: 'Query', evo_reward_conditions: Array<{ __typename?: 'evo_reward_condition', evo_reward_summ: number | null, label: string | null, value: string | null } | null> | null }; - -export type GetRewardSummQueryVariables = Exact<{ - conditionId: Scalars['Uuid']; -}>; - - -export type GetRewardSummQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null } | null }; - -export type GetRewardConditionQueryVariables = Exact<{ - conditionId: Scalars['Uuid']; -}>; - - -export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null, evo_agency_agreementidData: { __typename?: 'evo_agency_agreement', evo_required_reward: boolean | null } | null } | null }; - -export type GetAgentAccountIdFromLeadQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetAgentAccountIdFromLeadQuery = { __typename?: 'Query', lead: { __typename?: 'lead', agentid: string | null } | null }; - -export type GetDoubleAgentAccountIdQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetDoubleAgentAccountIdQuery = { __typename?: 'Query', lead: { __typename?: 'lead', agentid: string | null } | null }; - -export type GetBrokerAccountIdQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetBrokerAccountIdQuery = { __typename?: 'Query', lead: { __typename?: 'lead', agentid: string | null } | null }; - -export type GetFinDepartmentAccountIdQueryVariables = Exact<{ - leadid: Scalars['Uuid']; -}>; - - -export type GetFinDepartmentAccountIdQuery = { __typename?: 'Query', lead: { __typename?: 'lead', agentid: string | null } | null }; - -export type GetAgentQueryVariables = Exact<{ - agentid: Scalars['Uuid']; -}>; - - -export type GetAgentQuery = { __typename?: 'Query', agent: { __typename?: 'account', label: string | null, value: string | null } | null }; - -export type GetRewardWithoutOtherAgentQueryVariables = Exact<{ - conditionId: Scalars['Uuid']; -}>; - - -export type GetRewardWithoutOtherAgentQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_agency_agreementidData: { __typename?: 'evo_agency_agreement', evo_reward_without_other_agent: boolean | null } | null } | null }; - -export type GetDealerReturnLeasingQueryVariables = Exact<{ - dealerId: Scalars['Uuid']; -}>; - - -export type GetDealerReturnLeasingQuery = { __typename?: 'Query', dealer: { __typename?: 'account', evo_return_leasing_dealer: boolean | null } | null }; - -export type GetDealerPersonQueryVariables = Exact<{ - dealerId: Scalars['Uuid']; -}>; - - -export type GetDealerPersonQuery = { __typename?: 'Query', salon_providers: Array<{ __typename?: 'account', evo_inn: string | null, evo_kpp: string | null, label: string | null, value: string | null } | null> | null }; - -export type GetBrokerAccountIdFromDealerQueryVariables = Exact<{ - dealerId: Scalars['Uuid']; -}>; - - -export type GetBrokerAccountIdFromDealerQuery = { __typename?: 'Query', dealer: { __typename?: 'account', evo_broker_accountid: string | null } | null }; +export const GetTransactionCurrenciesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTransactionCurrencies"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"transactioncurrencies"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"currencyname"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"transactioncurrencyid"}},{"kind":"Field","name":{"kind":"Name","value":"transactioncurrencyid"}},{"kind":"Field","name":{"kind":"Name","value":"isocurrencycode"}},{"kind":"Field","name":{"kind":"Name","value":"currencysymbol"}}]}}]}}]} as unknown as DocumentNode; +export const GetTransactionCurrencyDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTransactionCurrency"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currencyid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"transactioncurrency"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"transactioncurrencyid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currencyid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currencysymbol"}},{"kind":"Field","name":{"kind":"Name","value":"isocurrencycode"}}]}}]}}]} as unknown as DocumentNode; +export const GetCurrencyChangesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetCurrencyChanges"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_currencychanges"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_coursedate_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_currencychange"}},{"kind":"Field","name":{"kind":"Name","value":"evo_ref_transactioncurrency"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeadDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLead"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"leadid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lead"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"leadid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"leadid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_agent_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_double_agent_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fin_department_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_opportunityidData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"opportunityid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetOpportunityDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOpportunity"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"opportunityid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"opportunity"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"opportunityid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"opportunityid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leadid"}}]}}]}}]} as unknown as DocumentNode; +export const GetQuotesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetQuotes"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"leadid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quotes"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_leadid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"leadid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_quotename"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"quoteid"}}]}}]}}]} as unknown as DocumentNode; +export const GetQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_baseproductid"}}]}}]}}]} as unknown as DocumentNode; +export const GetTarifsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTarifs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_tarifs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_tarifid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_tarifid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_baseproductid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_delivery_time"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_first_payment"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_first_payment"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_last_payment"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_last_payment"}},{"kind":"Field","name":{"kind":"Name","value":"evo_used"}}]}}]}}]} as unknown as DocumentNode; +export const GetTarifDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTarif"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"tarifId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_tarif"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_tarifid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"tarifId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_irr"}},{"kind":"Field","name":{"kind":"Name","value":"evo_graphtype_exception"}},{"kind":"Field","name":{"kind":"Name","value":"evo_seasons_type_exception"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_decreasing_perc"}}]}}]}}]} as unknown as DocumentNode; +export const GetRatesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRates"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_rates"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_rateid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_id"}},{"kind":"Field","name":{"kind":"Name","value":"evo_tarifs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_tarifid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetProductsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProducts"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_baseproducts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_relation"},"value":{"kind":"ListValue","values":[{"kind":"IntValue","value":"100000000"}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_baseproductid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_baseproductid"}}]}}]}}]} as unknown as DocumentNode; +export const GetProductDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProduct"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"productId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_baseproduct"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_baseproductid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"productId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_calculation_method"}},{"kind":"Field","name":{"kind":"Name","value":"evo_baseproducts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_baseproductid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetSubsidiesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSubsidies"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_subsidies"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_subsidyid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_subsidy_type"}}]}}]}}]} as unknown as DocumentNode; +export const GetSubsidyDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSubsidy"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"subsidyId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_subsidy"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_subsidyid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"subsidyId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"accounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_subsidy_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_percent_subsidy"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_subsidy_summ"}}]}}]}}]} as unknown as DocumentNode; +export const GetImportProgramDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetImportProgram"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"importProgramId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"importProgram"},"name":{"kind":"Name","value":"evo_subsidy"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_subsidyid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"importProgramId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"accounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetRegionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRegions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_regions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_regionid"}}]}}]}}]} as unknown as DocumentNode; +export const GetGpsBrandsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetGPSBrands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_gps_brands"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_gps_brandid"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeaseObjectTypesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeaseObjectTypes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_leasingobject_typeid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeaseObjectTypeDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeaseObjectType"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"leaseObjectTypeId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"leaseObjectType"},"name":{"kind":"Name","value":"evo_leasingobject_type"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_leasingobject_typeid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"leaseObjectTypeId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_vehicle_type"}}]}}]}}]} as unknown as DocumentNode; +export const GetBrandsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetBrands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_brandid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_vehicle_type"}}]}}]}}]} as unknown as DocumentNode; +export const GetModelsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetModels"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"brandId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_brandid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"brandId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_modelid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_vehicle_type"}}]}}]}}]} as unknown as DocumentNode; +export const GetConfigurationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetConfigurations"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_equipments"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_modelid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"modelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_equipmentid"}}]}}]}}]} as unknown as DocumentNode; +export const GetDealersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"dealers"},"name":{"kind":"Name","value":"accounts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_account_type"},"value":{"kind":"ListValue","values":[{"kind":"IntValue","value":"100000001"}]}},{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_legal_form"},"value":{"kind":"IntValue","value":"100000001"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"accountid"}}]}}]}}]} as unknown as DocumentNode; +export const GetDealerDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealer"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"dealer"},"name":{"kind":"Name","value":"account"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_return_leasing_dealer"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}}]}}]}}]} as unknown as DocumentNode; +export const GetDealerPersonsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealerPersons"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"dealerPersons"},"name":{"kind":"Name","value":"salon_providers"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"salonaccountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_inn"}},{"kind":"Field","name":{"kind":"Name","value":"evo_kpp"}}]}}]}}]} as unknown as DocumentNode; +export const GetAgentDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAgent"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"agent"},"name":{"kind":"Name","value":"account"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}}]}}]}}]} as unknown as DocumentNode; +export const GetRewardConditionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRewardConditions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_conditions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_agent_accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_agency_agreementid_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"has"},"value":{"kind":"BooleanValue","value":true}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reward_summ"}}]}}]}}]} as unknown as DocumentNode; +export const GetRewardConditionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRewardCondition"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_condition"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_reward_conditionid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reduce_reward"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agency_agreementidData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_required_reward"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reward_without_other_agent"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetConfiguratorDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetConfiguratorDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_baseproductid"}}]}}]}}]} as unknown as DocumentNode; +export const GetFingapDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetFingapDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_fingap_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fingap_payer"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fingap_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_product_risks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_typeid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetFinGapAddProductTypesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetFinGAPAddProductTypes"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_product_type"},"value":{"kind":"IntValue","value":"100000006"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_typeid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","name":{"kind":"Name","value":"evo_type_calc_cerebellum"}},{"kind":"Field","name":{"kind":"Name","value":"evo_cost_service_provider_withoutnds"}},{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_typeid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetInsuranceDataDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetInsuranceData"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evo_account_type"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"osago"},"name":{"kind":"Name","value":"accounts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_account_type"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evo_account_type"}}},{"kind":"Argument","name":{"kind":"Name","value":"evo_type_ins_policy"},"value":{"kind":"ListValue","values":[{"kind":"IntValue","value":"100000001"}]}},{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"kasko"},"name":{"kind":"Name","value":"accounts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_account_type"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evo_account_type"}}},{"kind":"Argument","name":{"kind":"Name","value":"evo_type_ins_policy"},"value":{"kind":"ListValue","values":[{"kind":"IntValue","value":"100000000"}]}},{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"fingap"},"name":{"kind":"Name","value":"accounts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_account_type"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evo_account_type"}}},{"kind":"Argument","name":{"kind":"Name","value":"evo_type_ins_policy"},"value":{"kind":"ListValue","values":[{"kind":"IntValue","value":"100000002"}]}},{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}}]}}]}}]} as unknown as DocumentNode; +export const GetAddproductTypesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAddproductTypes"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_addproduct_typeid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_graph_price"}},{"kind":"Field","name":{"kind":"Name","value":"evo_product_type"}}]}}]}}]} as unknown as DocumentNode; +export const GetOwnerDataDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOwnerData"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"domainname"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"selectLead"},"name":{"kind":"Name","value":"leads"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"owner_domainname"},"value":{"kind":"Variable","name":{"kind":"Name","value":"domainname"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"fullname"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"leadid"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"selectOpportunity"},"name":{"kind":"Name","value":"opportunities"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"owner_domainname"},"value":{"kind":"Variable","name":{"kind":"Name","value":"domainname"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"opportunityid"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeadUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeadUrl"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"entity"},"name":{"kind":"Name","value":"lead"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"leadid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"link"}}]}}]}}]} as unknown as DocumentNode; +export const GetOpportunityUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOpportunityUrl"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"entity"},"name":{"kind":"Name","value":"opportunity"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"opportunityid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"link"}}]}}]}}]} as unknown as DocumentNode; +export const GetQuoteUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetQuoteUrl"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"entity"},"name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"link"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeasingObjectDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeasingObjectDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_equipmentid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}}]}}]} as unknown as DocumentNode; +export const GetLeasingWithoutKaskoOptionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeasingWithoutKaskoOptions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_addproduct_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_product_type"},"value":{"kind":"IntValue","value":"100000007"}},{"kind":"Argument","name":{"kind":"Name","value":"evo_datefrom_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}},{"kind":"Argument","name":{"kind":"Name","value":"evo_dateto_param"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_addproduct_typeid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_product_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_price"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_price"}},{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_visible_calc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_first_payment_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_first_payment_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetPaymentsDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetPaymentsDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_accept_period"}},{"kind":"Field","name":{"kind":"Name","value":"evo_first_payment_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_last_payment_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_graph_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_payments_decrease_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_seasons_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_high_season"}},{"kind":"Field","name":{"kind":"Name","value":"evo_graphs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createdon"}},{"kind":"Field","name":{"kind":"Name","value":"evo_sumpay_withnds"}},{"kind":"Field","name":{"kind":"Name","value":"evo_planpayments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_payment_ratio"}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const GetPriceDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetPriceDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_currency_price"}},{"kind":"Field","name":{"kind":"Name","value":"evo_price_without_nds_supplier_currency"}},{"kind":"Field","name":{"kind":"Name","value":"evo_nds_in_price_supplier_currency"}},{"kind":"Field","name":{"kind":"Name","value":"evo_last_payment_rub"}},{"kind":"Field","name":{"kind":"Name","value":"evo_last_payment_calc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_transactioncurrencyid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_discount_supplier_currency"}},{"kind":"Field","name":{"kind":"Name","value":"evo_discount_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_comission_perc"}},{"kind":"Field","name":{"kind":"Name","value":"evo_comission_rub"}},{"kind":"Field","name":{"kind":"Name","value":"evo_sale_bonus"}}]}}]}}]} as unknown as DocumentNode; +export const GetRewardRulesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRewardRules"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_condition"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_reward_conditionid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_calc_reward_rules"}}]}}]}}]} as unknown as DocumentNode; +export const GetAgentsDataFromQuoteDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAgentsDataFromQuote"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"quote"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"quoteId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quoteId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_person_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_broker_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_broker_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_dealer_broker_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agent_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agent_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agent_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agent_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_double_agent_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_double_agent_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_double_agent_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_double_agent_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fin_department_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fin_department_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fin_department_reward_total"}},{"kind":"Field","name":{"kind":"Name","value":"evo_fin_department_reward_summ"}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/apps/web/package.json b/apps/web/package.json index e6ccaaf..f0900b2 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -42,8 +42,10 @@ }, "devDependencies": { "@graphql-codegen/cli": "^2.16.3", + "@graphql-codegen/typed-document-node": "^2.3.13", "@graphql-codegen/typescript": "^2.8.7", "@graphql-codegen/typescript-operations": "^2.5.12", + "@graphql-typed-document-node/patch-cli": "^3.0.9", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@types/node": "^18.11.18", diff --git a/apps/web/process/calculate/reactions/validation.ts b/apps/web/process/calculate/reactions/validation.ts index 72b4f10..0c83488 100644 --- a/apps/web/process/calculate/reactions/validation.ts +++ b/apps/web/process/calculate/reactions/validation.ts @@ -1,8 +1,21 @@ +import types from 'Components/Calculation/config/elements-types'; +import type * as Values from 'Components/Calculation/config/map/values'; +import type * as Insurance from 'Components/Calculation/Form/Insurance/InsuranceTable/types'; import { reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; +import type { BaseOption } from 'ui/elements/types'; + +function hasInvalidValueOrOptions(value: unknown, options: BaseOption[]) { + if (value === null) { + return false; + } + + return (value && !options?.length) || !options.some((x) => x.value === value); +} export default function validationReactions({ store }: ReactionsContext) { const { $calculation, $tables } = store; + reaction( () => { const hasElementsErrors = Object.values($calculation.$validation).some( @@ -27,4 +40,98 @@ export default function validationReactions({ store }: ReactionsContext) { fireImmediately: true, } ); + + /** + * Проверяем, что выбранное значение элемента есть в списке + */ + function validateOptionsElement(elementName: Values.Elements) { + const type = types[elementName]; + if (type().typeName !== 'Options') { + return; + } + + const element = $calculation.element(elementName); + + reaction( + () => { + const options = element.getOptions(); + const value = element.getValue(); + + return { + value, + options, + }; + }, + ({ value, options }) => { + element.validate({ + invalid: hasInvalidValueOrOptions(value, options), + message: 'Выбранное значение отсутствует в списке', + silent: true, + }); + }, + { + delay: 100, + } + ); + + reaction( + () => element.getOptions(), + (options) => { + const value = element.getValue(); + if (hasInvalidValueOrOptions(value, options)) { + element.resetValue(); + } + }, + { + delay: 100, + } + ); + } + + (Object.keys(types) as Values.Elements[]).forEach((elementName) => + validateOptionsElement(elementName) + ); + + function validateInsuranceCompany(rowKey: Insurance.Keys) { + const row = $tables.insurance.row(rowKey); + + reaction( + () => { + const options = row.getOptions('insuranceCompany'); + const value = row.getValue('insuranceCompany'); + + return { + value, + options, + }; + }, + ({ value, options }) => { + $tables.insurance.validate({ + invalid: hasInvalidValueOrOptions(value, options), + message: 'Выбранное значение отсутствует в списке', + silent: true, + }); + }, + { + delay: 100, + } + ); + + reaction( + () => row.getOptions('insuranceCompany'), + (options) => { + const value = row.getValue('insuranceCompany'); + if (hasInvalidValueOrOptions(value, options)) { + row.resetValue('insuranceCompany'); + } + }, + { + delay: 100, + } + ); + } + + validateInsuranceCompany('kasko'); + validateInsuranceCompany('osago'); + validateInsuranceCompany('fingap'); } diff --git a/apps/web/process/configurator/get-kp-data.ts b/apps/web/process/configurator/get-kp-data.ts new file mode 100644 index 0000000..2e2f8f4 --- /dev/null +++ b/apps/web/process/configurator/get-kp-data.ts @@ -0,0 +1,41 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { gql } from '@apollo/client'; +import initializeApollo from 'apollo/client'; +import type * as CRMTypes from 'graphql/crm.types'; +import type { GetQuoteDataInput, GetQuoteDataOutput } from '../load-kp/types'; + +const QUERY_GET_CONFIGURATOR_DATA_FROM_QUOTE = gql` + query GetConfiguratorDataFromQuote($quoteId: Uuid!) { + quote(quoteId: $quoteId) { + evo_baseproductid + } + } +`; + +type QuotePaymentsProcessData = { + values: Partial; +}; + +export default async function getConfiguratorDataFromKP({ + values: { quote: quoteId }, +}: GetQuoteDataInput): Promise { + const apolloClient = initializeApollo(); + + const { + data: { quote }, + } = await apolloClient.query< + CRMTypes.GetConfiguratorDataFromQuoteQuery, + CRMTypes.GetConfiguratorDataFromQuoteQueryVariables + >({ + query: QUERY_GET_CONFIGURATOR_DATA_FROM_QUOTE, + variables: { + quoteId, + }, + }); + + return { + values: { + product: quote?.evo_baseproductid, + }, + }; +} diff --git a/apps/web/process/configurator/reactions/filters.ts b/apps/web/process/configurator/reactions/filters.ts new file mode 100644 index 0000000..7504984 --- /dev/null +++ b/apps/web/process/configurator/reactions/filters.ts @@ -0,0 +1,370 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { radioGraphType, selectSeasonType } from 'config/default-options'; +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; +import * as CRMTypes from 'graphql/crm.types'; +import { reaction } from 'mobx'; +import { SEASON_TYPES } from 'process/payments/lib/seasons-constants'; +import type { ReactionsContext } from 'process/types'; +import { diff } from 'radash'; +import { normalizeOptions } from 'tools'; + +dayjs.extend(utc); + +export default function commonReactions({ store, apolloClient }: ReactionsContext) { + const { $calculation } = store; + + reaction( + () => { + const { product, subsidy, importProgram, dealer } = $calculation.$values.values; + + return { + productId: product, + subsidyId: subsidy, + importProgramId: importProgram, + dealerId: dealer, + }; + }, + async ({ productId, subsidyId, importProgramId, dealerId }) => { + /** + #1 + * DYN-190 При выборе значения в поле selectSubsidy необходимо добавить + * фильтрацию в полях при условии что selectSubsidy не равно null: + + Тип предмета лизинга selectLeaseObjectType + если с записью Субсидия нет связанных Типов предмета лизинга, + то указываются все записи согласно текущей фильтрации, + иначе указываются те записи, которые связаны с Субсидией, указанной в поле selectSubsidy + + #2 + * На изменение поля Продукт selectProduct добавляем фильтрацию списков: + в поле Тип предмета лизинга selectLeaseObjectType - указываются те, которые связаны с продуктом. + Если с Продуктом нет связанных Типов предмета лизинга, + то указывается весь список. Это надо добавить в текущие условия фильтрации данного поля + + #3 + Тип предмета лизинга selectLeaseObjectType + если с записью Субсидия нет связанных Типов предмета лизинга, + то указываются все записи согласно текущей фильтрации, + иначе указываются те записи, которые связаны с Субсидией, указанной в поле selectImportProgram + */ + + let { + data: { evo_leasingobject_types: leaseObjectTypes = [] }, + } = await apolloClient.query({ + query: CRMTypes.GetLeaseObjectTypesDocument, + }); + + let { + data: { dealers = [] }, + } = await apolloClient.query({ + query: CRMTypes.GetDealersDocument, + }); + + let dealerPersons: CRMTypes.GetDealerPersonsQuery['dealerPersons'] = []; + if (dealerId) { + const { data } = await apolloClient.query({ + query: CRMTypes.GetDealerPersonsDocument, + variables: { + dealerId, + }, + }); + + ({ dealerPersons = [] } = data); + } + + if (productId) { + const { + data: { evo_baseproduct }, + } = await apolloClient.query({ + query: CRMTypes.GetProductDocument, + variables: { + productId, + }, + }); + + if (leaseObjectTypes) { + leaseObjectTypes = leaseObjectTypes?.filter( + (leasingObjectType) => + !evo_baseproduct?.evo_leasingobject_types?.length || + evo_baseproduct.evo_leasingobject_types.filter( + (baseproduct_evo_leasingobject_type) => + baseproduct_evo_leasingobject_type?.evo_leasingobject_typeid === + leasingObjectType?.evo_leasingobject_typeid + )?.length + ); + } + } + + if (subsidyId) { + const { + data: { evo_subsidy: subsidy }, + } = await apolloClient.query({ + query: CRMTypes.GetSubsidyDocument, + variables: { + subsidyId, + }, + }); + if (leaseObjectTypes) { + leaseObjectTypes = leaseObjectTypes?.filter( + (leasingObjectType) => + !subsidy?.evo_leasingobject_types?.length || + subsidy.evo_leasingobject_types.filter( + (subsidy_evo_leasingobject_type) => + subsidy_evo_leasingobject_type?.evo_leasingobject_typeid === + leasingObjectType?.evo_leasingobject_typeid + )?.length + ); + } + + if (dealers) { + dealers = dealers.filter( + (dealer) => + !subsidy?.accounts?.length || + subsidy.accounts.filter( + (subsidy_account) => subsidy_account?.accountid === dealer?.accountid + )?.length + ); + } + + if (dealerPersons) { + dealerPersons = dealerPersons.filter( + (dealerPerson) => + !subsidy?.accounts?.length || + subsidy.accounts.filter( + (subsidy_account) => subsidy_account?.accountid === dealerPerson?.accountid + )?.length + ); + } + } + + if (importProgramId) { + const { + data: { importProgram }, + } = await apolloClient.query< + CRMTypes.GetImportProgramQuery, + CRMTypes.GetImportProgramQueryVariables + >({ + query: CRMTypes.GetImportProgramDocument, + variables: { + importProgramId, + }, + }); + if (leaseObjectTypes) { + leaseObjectTypes = leaseObjectTypes?.filter( + (leasingObjectType) => + !importProgram?.evo_leasingobject_types?.length || + importProgram.evo_leasingobject_types.filter( + (importProgram_evo_leasingobject_type) => + importProgram_evo_leasingobject_type?.evo_leasingobject_typeid === + leasingObjectType?.evo_leasingobject_typeid + )?.length + ); + } + + if (dealers) { + dealers = dealers.filter( + (dealer) => + !importProgram?.accounts?.length || + importProgram.accounts.filter( + (importProgram_account) => importProgram_account?.accountid === dealer?.accountid + )?.length + ); + } + + if (dealerPersons) { + dealerPersons = dealerPersons.filter( + (dealerPerson) => + !importProgram?.accounts?.length || + importProgram.accounts.filter( + (importProgram_account) => + importProgram_account?.accountid === dealerPerson?.accountid + )?.length + ); + } + } + + $calculation.element('selectLeaseObjectType').setOptions(normalizeOptions(leaseObjectTypes)); + $calculation.element('selectDealer').setOptions(normalizeOptions(dealers)); + $calculation.element('selectDealerPerson').setOptions(normalizeOptions(dealerPersons)); + } + ); + + /** + * На изменение поля Тариф selectTarif добавляем фильрацию в полях: + в поле Вид графика radioGraphType должны закрываться значения для выбора, + которые указаны в массиве поля "Недопустимые виды графиков" evo_graphtype_exception. + Если в массиве пусто, значит допустимы все значения + */ + reaction( + () => $calculation.element('selectTarif').getValue(), + async (tarifId) => { + let evo_tarif: CRMTypes.GetTarifQuery['evo_tarif'] = null; + + if (tarifId) { + const { data } = await apolloClient.query({ + query: CRMTypes.GetTarifDocument, + variables: { + tarifId, + }, + }); + + ({ evo_tarif } = data); + } + + if (evo_tarif?.evo_graphtype_exception?.length) { + const filteredGraphTypes = radioGraphType.filter( + (type) => !evo_tarif?.evo_graphtype_exception?.includes(type.value) + ); + + $calculation.element('radioGraphType').setOptions(filteredGraphTypes); + } else { + $calculation.element('radioGraphType').resetOptions(); + } + } + ); + + /** + * в поле Тип дегрессии/сезонности selectSeasonType должны отображаться только те значения, + * которых нет в массиве поля "Недопустимые Типы дегрессий/сезонности" evo_seasons_type_exception + * (добавить в текущую фильтрацию поля) + */ + reaction( + () => ({ + tarif: $calculation.element('selectTarif').getValue(), + graphType: $calculation.element('radioGraphType').getValue(), + }), + async ({ tarif, graphType }) => { + let evo_tarif: CRMTypes.GetTarifQuery['evo_tarif'] = null; + + if (tarif) { + const { data } = await apolloClient.query({ + query: CRMTypes.GetTarifDocument, + variables: { + tarifId: tarif, + }, + }); + + ({ evo_tarif } = data); + } + + const seasonTypesExeption = evo_tarif?.evo_seasons_type_exception || []; + let seasonTypes: Array = []; + + if (graphType === 100_000_001 || graphType === 100_000_003) { + seasonTypes = SEASON_TYPES[graphType]; + } + + const allowedSeasonTypes = diff(seasonTypes, seasonTypesExeption); + + const filteredSeasonTypesOptions = selectSeasonType.filter((seasonTypeOption) => + allowedSeasonTypes.includes(seasonTypeOption.value) + ); + + $calculation.element('selectSeasonType').setOptions(filteredSeasonTypesOptions); + } + ); + + /** + * При изменении Продукта selectProduct необходимо в поле "Расчет от" + * radioCalcType фильтровать значения согласно списку + * в поле "Доступные Методы расчета в калькуляторе" evo_calculation_method в selectProduct + */ + reaction( + () => $calculation.element('selectProduct').getValue(), + async (productId) => { + if (!productId) { + $calculation.element('radioCalcType').resetOptions(); + + return; + } + + const { + data: { evo_baseproduct }, + } = await apolloClient.query({ + query: CRMTypes.GetProductDocument, + variables: { + productId, + }, + }); + + if (evo_baseproduct?.evo_calculation_method) { + const filteredCalcTypeOptions = $calculation + .element('radioCalcType') + .getOptions() + .filter((calcType) => evo_baseproduct.evo_calculation_method?.includes(calcType.value)); + $calculation.element('radioCalcType').setOptions(filteredCalcTypeOptions); + } else { + $calculation.element('radioCalcType').resetOptions(); + } + } + ); + + /* eslint-disable max-len */ + /** + * Добавить фильтр для поля selectProduct (работает на загрузку КП) + * если recalcWithRevision=True, то в списке поля selectProduct должны отображаться + * записи quote.evo_baseproductid из поля Предложение selectQuote + дать возможность выбирать продукт, + * связанный с оquote.evo_baseproductid из поля Предложение selectQuote по связи evo_evo_baseproduct_evo_baseproduct + /* eslint-enable */ + reaction( + () => $calculation.element('selectQuote').getValue(), + async (quoteId) => { + const currentDate = dayjs().utc(false).toISOString(); + + const { + data: { evo_baseproducts }, + } = await apolloClient.query({ + query: CRMTypes.GetProductsDocument, + variables: { + currentDate, + }, + fetchPolicy: 'network-only', + }); + + if (!$calculation.element('cbxRecalcWithRevision').getValue()) { + $calculation.element('selectProduct').setOptions(normalizeOptions(evo_baseproducts)); + + return; + } + + let quote: CRMTypes.GetQuoteQuery['quote'] = null; + + if (quoteId) { + const { data } = await apolloClient.query({ + query: CRMTypes.GetQuoteDocument, + variables: { + quoteId, + }, + }); + + ({ quote } = data); + } + + if (quote?.evo_baseproductid) { + const { + data: { evo_baseproduct }, + } = await apolloClient.query({ + query: CRMTypes.GetProductDocument, + variables: { + productId: quote?.evo_baseproductid, + }, + }); + + const allowedProducts = evo_baseproduct?.evo_baseproducts?.map( + (product) => product?.evo_baseproductid + ); + + const filteredSelectProductOptions = normalizeOptions( + evo_baseproducts?.filter((product) => + allowedProducts?.includes(product?.evo_baseproductid) + ) + ); + + $calculation.element('selectProduct').setOptions(filteredSelectProductOptions); + } else { + $calculation.element('selectProduct').setOptions(normalizeOptions(evo_baseproducts)); + } + } + ); +} diff --git a/apps/web/process/configurator/reactions/index.js b/apps/web/process/configurator/reactions/index.js new file mode 100644 index 0000000..e294884 --- /dev/null +++ b/apps/web/process/configurator/reactions/index.js @@ -0,0 +1,3 @@ +export { default as filters } from './filters'; +export { default as validation } from './validation'; +export { default as values } from './values'; diff --git a/apps/web/process/configurator/reactions/validation.ts b/apps/web/process/configurator/reactions/validation.ts new file mode 100644 index 0000000..e724602 --- /dev/null +++ b/apps/web/process/configurator/reactions/validation.ts @@ -0,0 +1,45 @@ +import * as CRMTypes from 'graphql/crm.types'; +import { reaction } from 'mobx'; +import type { ReactionsContext } from 'process/types'; + +export default function validationReactions({ store, apolloClient }: ReactionsContext) { + const { $calculation } = store; + /* eslint-disable max-len */ + /** + * На изменение поля Процет убывания платежей tbxParmentsDecreasePercent необходимо заложить проверку: + * Если значение поля меньше значения в поле "Минимальный % убывания платежей" evo_min_decreasing_perc из записи, + * указанной в поле ТарифselectTarif , то поле Процет убывания платежей tbxParmentsDecreasePercent должно обводиться красной рамкой + * и выводиться сообщение "Процент убывания не может быть меньше минимального значения по данному тарифу + - <указывается значение из поля "Минимальный % убывания платежей">, иначе красная рамка снимается. + * При красной рамке в данном поле нельзя осуществить расчет графика. + */ + /* eslint-enable */ + reaction( + () => ({ + parmentsDecreasePercent: $calculation.element('tbxParmentsDecreasePercent').getValue(), + tarifId: $calculation.element('selectTarif').getValue(), + }), + async ({ parmentsDecreasePercent, tarifId }) => { + // eslint-disable-next-line @typescript-eslint/naming-convention + let evo_tarif: CRMTypes.GetTarifQuery['evo_tarif'] = null; + + if (tarifId) { + const { data } = await apolloClient.query({ + query: CRMTypes.GetTarifDocument, + variables: { + tarifId, + }, + }); + + ({ evo_tarif } = data); + } + + $calculation.element('tbxParmentsDecreasePercent').validate({ + invalid: + !!evo_tarif?.evo_min_decreasing_perc && + parmentsDecreasePercent < evo_tarif?.evo_min_decreasing_perc, + message: `Процент убывания не может быть меньше минимального значения по данному тарифу - ${evo_tarif?.evo_min_decreasing_perc}`, + }); + } + ); +} diff --git a/apps/web/process/configurator/reactions/values.ts b/apps/web/process/configurator/reactions/values.ts new file mode 100644 index 0000000..45c9a19 --- /dev/null +++ b/apps/web/process/configurator/reactions/values.ts @@ -0,0 +1,142 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; +import { autorun, reaction } from 'mobx'; + +import * as CRMTypes from 'graphql/crm.types'; +import type { ReactionsContext } from 'process/types'; +import { makeDisposable, normalizeOptions } from 'tools'; + +dayjs.extend(utc); + +export default function valuesReactions({ store, apolloClient }: ReactionsContext) { + const { $calculation, $process } = store; + + autorun( + async () => { + const { + product, + leasingPeriod, + leaseObjectUsed, + deliveryTime, + firstPaymentPerc, + lastPaymentPerc, + } = $calculation.$values.values; + + const currentDate = dayjs().utc(false).toISOString(); + + let { + data: { evo_tarifs = [] }, + } = await apolloClient.query({ + query: CRMTypes.GetTarifsDocument, + variables: { + currentDate, + }, + fetchPolicy: 'network-only', + }); + + if (product && leasingPeriod && deliveryTime && evo_tarifs) { + evo_tarifs = evo_tarifs?.filter( + (tarif) => + tarif && + tarif.evo_baseproductid === product && + tarif.evo_min_period !== null && + tarif.evo_min_period <= leasingPeriod && + tarif.evo_max_period !== null && + tarif.evo_max_period >= leasingPeriod && + tarif.evo_delivery_time?.includes(deliveryTime) && + tarif.evo_min_first_payment !== null && + tarif.evo_min_first_payment <= firstPaymentPerc && + tarif.evo_max_first_payment !== null && + tarif.evo_max_first_payment >= firstPaymentPerc && + tarif.evo_min_last_payment !== null && + tarif.evo_min_last_payment <= lastPaymentPerc && + tarif.evo_max_last_payment !== null && + tarif.evo_max_last_payment >= lastPaymentPerc + ); + } else { + $calculation.element('selectTarif').resetValue(); + } + + if (leaseObjectUsed === true && evo_tarifs) { + evo_tarifs = evo_tarifs?.filter((tarif) => { + if (leaseObjectUsed === true) { + return tarif?.evo_used; + } + + return true; + }); + } + + $calculation + .element('selectTarif') + .setOptions(normalizeOptions(evo_tarifs)) + .setValue(evo_tarifs?.at(0)?.evo_tarifid || null); + }, + { + delay: 10, + } + ); + + makeDisposable( + () => + reaction( + () => $calculation.element('selectTarif').getValue(), + async (tarifId) => { + if (!tarifId) { + $calculation.element('tbxIRR_Perc').resetValue(); + + return; + } + const { + data: { evo_tarif }, + } = await apolloClient.query({ + query: CRMTypes.GetTarifDocument, + variables: { + tarifId, + }, + }); + + if (evo_tarif?.evo_irr) { + $calculation.element('tbxIRR_Perc').setValue(evo_tarif?.evo_irr); + } else { + $calculation.element('tbxIRR_Perc').resetValue(); + } + } + ), + + () => $process.has('LoadKP') + ); + + reaction( + () => $calculation.element('selectTarif').getValue(), + async (tarifId) => { + if (!tarifId) { + $calculation.element('selectRate').resetValue(); + + return; + } + + const currentDate = dayjs().utc(false).toISOString(); + + const { + data: { evo_rates }, + } = await apolloClient.query({ + query: CRMTypes.GetRatesDocument, + variables: { + currentDate, + }, + }); + + const rates = evo_rates?.filter((rate) => + rate?.evo_tarifs?.filter((tarif) => tarif?.evo_tarifid === tarifId) + ); + const baseRate = rates?.find((x) => x?.evo_id === 'BASE'); + + $calculation + .element('selectRate') + .setOptions(normalizeOptions(rates)) + .setValue(baseRate?.value ?? null); + } + ); +} diff --git a/apps/web/process/fingap/get-kp-data.ts b/apps/web/process/fingap/get-kp-data.ts index 8ed68d0..79e4523 100644 --- a/apps/web/process/fingap/get-kp-data.ts +++ b/apps/web/process/fingap/get-kp-data.ts @@ -6,8 +6,8 @@ import type { GetQuoteDataInput, GetQuoteDataOutput } from '../load-kp/types'; const DEFAULT_FINGAP_ROW = defaultValues.find((x) => x.key === 'fingap')!; -const QUERY_GET_RISKS = gql` - query GetRisksDataFromQuote($quoteId: Uuid!) { +const QUERY_GET_FINGAP_DATA_FROM_QUOTE = gql` + query GetFingapDataFromQuote($quoteId: Uuid!) { quote(quoteId: $quoteId) { evo_fingap_accountid evo_fingap_payer @@ -34,10 +34,10 @@ export default async function getFingapDataFromKP({ const { data: { quote }, } = await apolloClient.query< - CRMTypes.GetRisksDataFromQuoteQuery, - CRMTypes.GetRisksDataFromQuoteQueryVariables + CRMTypes.GetFingapDataFromQuoteQuery, + CRMTypes.GetFingapDataFromQuoteQueryVariables >({ - query: QUERY_GET_RISKS, + query: QUERY_GET_FINGAP_DATA_FROM_QUOTE, variables: { quoteId, }, @@ -45,7 +45,7 @@ export default async function getFingapDataFromKP({ const keys: Array = []; quote?.evo_product_risks?.forEach((x) => { - if (x.evo_addproduct_typeid) { + if (x?.evo_addproduct_typeid) { keys.push(x.evo_addproduct_typeid); } }); diff --git a/apps/web/process/init/get-data/get-main-data.js b/apps/web/process/init/get-data/get-main-data.js index cb2d1e2..f6c346a 100644 --- a/apps/web/process/init/get-data/get-main-data.js +++ b/apps/web/process/init/get-data/get-main-data.js @@ -2,85 +2,20 @@ import { gql, useApolloClient } from '@apollo/client'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; +import * as CRMTypes from 'graphql/crm.types'; import { useEffect } from 'react'; import { useStore } from 'stores/hooks'; +import { normalizeOptions } from 'tools'; dayjs.extend(utc); -const QUERY_GET_MAIN_OPTIONS = gql` - query GetMainOptions($currentDate: DateTime) { - selectSupplierCurrency: transactioncurrencies { - label: currencyname - currencysymbol - value: transactioncurrencyid - } - - selectProduct: evo_baseproducts( - statecode: 0 - evo_relation: [100000000] - evo_datefrom_param: { lte: $currentDate } - evo_dateto_param: { gte: $currentDate } - ) { - label: evo_name - value: evo_baseproductid - } - - selectLeaseObjectType: evo_leasingobject_types(statecode: 0) { - label: evo_name - value: evo_leasingobject_typeid - } - - selectGPSBrand: evo_gps_brands(statecode: 0) { - label: evo_name - value: evo_gps_brandid - } - } -`; - -const QUERY_GET_SUBSIDIES = gql` - query GetSubsidies($currentDate: DateTime) { - evo_subsidies( - statecode: 0 - evo_datefrom_param: { lte: $currentDate } - evo_dateto_param: { gte: $currentDate } - ) { - label: evo_name - value: evo_subsidyid - evo_subsidy_type - } - } -`; - -const QUERY_GET_REGIONS = gql` - query GetRegions { - evo_regions { - label: evo_name - value: evo_regionid - } - } -`; - -const QUERY_GET_BRANDS = gql` - query GetBrands { - selectBrand: evo_brands(statecode: 0) { - label: evo_name - value: evo_brandid - } - } -`; - -const QUERY_GET_DEALERS = gql` - query GetDealers { - selectDealer: accounts(evo_account_type: [100000001], statecode: 0, evo_legal_form: 100000001) { - label: name - value: accountid - } - } -`; - const QUERY_GET_ADDPRODUCT_TYPES = gql` - query GetAddproductTypes { - evo_addproduct_types(statecode: 0) { + query GetAddproductTypes($currentDate: DateTime) { + evo_addproduct_types( + statecode: 0 + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { label: evo_name value: evo_addproduct_typeid evo_graph_price @@ -91,18 +26,55 @@ const QUERY_GET_ADDPRODUCT_TYPES = gql` const currentDate = dayjs().utc(false).toISOString(); +/** + * + * @param {import('@apollo/client').ApolloClient['query']} query + * @param {*} onCompleted + */ function getMainData(query, onCompleted) { query({ - query: QUERY_GET_MAIN_OPTIONS, + query: CRMTypes.GetTransactionCurrenciesDocument, variables: { currentDate, }, }).then(({ data }) => { - onCompleted(data); + onCompleted({ + selectSupplierCurrency: data?.transactioncurrencies, + }); }); query({ - query: QUERY_GET_SUBSIDIES, + query: CRMTypes.GetLeaseObjectTypesDocument, + variables: { + currentDate, + }, + }).then(({ data }) => { + onCompleted({ + selectLeaseObjectType: data?.evo_baseproducts, + }); + }); + + query({ + query: CRMTypes.GetGpsBrandsDocument, + }).then(({ data }) => { + onCompleted({ + selectGPSBrand: data?.evo_gps_brands, + }); + }); + + query({ + query: CRMTypes.GetProductsDocument, + variables: { + currentDate, + }, + }).then(({ data }) => { + onCompleted({ + selectProduct: data?.evo_baseproducts, + }); + }); + + query({ + query: CRMTypes.GetSubsidiesDocument, variables: { currentDate, }, @@ -122,7 +94,7 @@ function getMainData(query, onCompleted) { }); query({ - query: QUERY_GET_REGIONS, + query: CRMTypes.GetRegionsDocument, }).then(({ data }) => { const selectRegionRegistration = data?.evo_regions; const selectObjectRegionRegistration = data?.evo_regions; @@ -136,19 +108,26 @@ function getMainData(query, onCompleted) { }); query({ - query: QUERY_GET_BRANDS, + query: CRMTypes.GetBrandsDocument, }).then(({ data }) => { - onCompleted(data); + onCompleted({ + selectBrand: data?.evo_brands, + }); }); query({ - query: QUERY_GET_DEALERS, + query: CRMTypes.GetDealersDocument, }).then(({ data }) => { - onCompleted(data); + onCompleted({ + selectDealer: data?.dealers, + }); }); query({ query: QUERY_GET_ADDPRODUCT_TYPES, + variables: { + currentDate, + }, }).then(({ data }) => { const selectRegistration = data.evo_addproduct_types ?.filter((x) => x?.evo_product_type === 100_000_001) @@ -182,12 +161,28 @@ function getMainData(query, onCompleted) { (x) => x?.evo_product_type === 100_000_002 ); + const selectLeasingWithoutKasko = data.evo_addproduct_types?.filter( + (x) => x?.evo_product_type === 100_000_007 + ); + onCompleted({ selectRegistration, selectTechnicalCard, selectTelematic, selectTracker, selectInsNSIB, + selectLeasingWithoutKasko, + }); + }); + + query({ + query: CRMTypes.GetTarifsDocument, + variables: { + currentDate, + }, + }).then(({ data }) => { + onCompleted({ + selectTarif: data?.evo_tarifs, }); }); } @@ -199,7 +194,7 @@ export function useMainData() { function handleOnCompleted(options) { Object.keys(options).forEach((elementName) => { const elementOptions = options[elementName]; - $calculation.element(elementName).setOptions(elementOptions); + $calculation.element(elementName).setOptions(normalizeOptions(elementOptions)); }); } diff --git a/apps/web/process/init/inject-reactions/default.js b/apps/web/process/init/inject-reactions/default.js index f7c32ca..dcdf9b6 100644 --- a/apps/web/process/init/inject-reactions/default.js +++ b/apps/web/process/init/inject-reactions/default.js @@ -1,9 +1,13 @@ import loadKpReactions from 'process/load-kp/reactions'; import * as calculateReactions from '../../calculate/reactions'; +import * as configurator from '../../configurator/reactions'; import * as fingapReactions from '../../fingap/reactions'; import * as leadOpportunityReactions from '../../lead-opportunity/reactions'; +import * as leasingObject from '../../leasing-object/reactions'; +import * as leasingWithoutKaskoReactions from '../../leasing-without-kasko/reactions'; import paymentsReactions from '../../payments/reactions'; import * as priceReactions from '../../price/reactions'; +import * as subsidyReactions from '../../subsidy/reactions'; import * as agentsReactions from '../../supplier-agent/reactions/agents'; import leasebackReactions from '../../supplier-agent/reactions/leaseback'; import * as supplierReactions from '../../supplier-agent/reactions/supplier'; @@ -21,8 +25,17 @@ export default function injectDefaultReactions(context) { agentsReactions.validationReactions(context); leasebackReactions(context); priceReactions.computed(context); + priceReactions.common(context); fingapReactions.common(context); fingapReactions.validation(context); setInitialValuesReactions(context); loadKpReactions(context); + leasingWithoutKaskoReactions.common(context); + subsidyReactions.computedReactions(context); + subsidyReactions.commonReactions(context); + leasingObject.common(context); + leasingObject.validation(context); + configurator.filters(context); + configurator.values(context); + configurator.validation(context); } diff --git a/apps/web/process/init/set-values/reactions.ts b/apps/web/process/init/set-values/reactions.ts index f62d6b8..e7a61cb 100644 --- a/apps/web/process/init/set-values/reactions.ts +++ b/apps/web/process/init/set-values/reactions.ts @@ -1,19 +1,9 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { gql } from '@apollo/client'; -import type { GetTransactionCurrenciesQuery } from 'graphql/crm.types'; +import { GetTransactionCurrenciesDocument } from 'graphql/crm.types'; import { when } from 'mobx'; import type { ReactionsContext } from 'process/types'; export default function setInitialValuesReactions({ store, apolloClient }: ReactionsContext) { - const QUERY_GET_TRANSACTION_CURRENCIES = gql` - query GetTransactionCurrencies { - transactioncurrencies { - isocurrencycode - transactioncurrencyid - } - } - `; - const { $calculation } = store; when( @@ -21,8 +11,8 @@ export default function setInitialValuesReactions({ store, apolloClient }: React async () => { const { data: { transactioncurrencies }, - } = await apolloClient.query({ - query: QUERY_GET_TRANSACTION_CURRENCIES, + } = await apolloClient.query({ + query: GetTransactionCurrenciesDocument, }); const transactioncurrency_rub = transactioncurrencies?.find( diff --git a/apps/web/process/lead-opportunity/reactions/common.ts b/apps/web/process/lead-opportunity/reactions/common.ts index 06d2faa..410a898 100644 --- a/apps/web/process/lead-opportunity/reactions/common.ts +++ b/apps/web/process/lead-opportunity/reactions/common.ts @@ -1,6 +1,5 @@ /* eslint-disable implicit-arrow-linebreak */ -import { gql } from '@apollo/client'; -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; import { normalizeOptions } from 'tools/entity'; @@ -16,17 +15,6 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex * Иначе ничего не указывается */ - const QUERY_GET_OPPORTUNITY_BY_LEAD = gql` - query GetOpportunityByLead($leadid: Uuid!) { - lead(leadid: $leadid) { - evo_opportunityidData { - label: name - value: opportunityid - } - } - } - `; - makeDisposable( () => reaction( @@ -40,11 +28,8 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex const { data: { lead }, - } = await apolloClient.query< - CRMTypes.GetOpportunityByLeadQuery, - CRMTypes.GetOpportunityByLeadQueryVariables - >({ - query: QUERY_GET_OPPORTUNITY_BY_LEAD, + } = await apolloClient.query({ + query: CRMTypes.GetLeadDocument, variables: { leadid, }, @@ -60,20 +45,6 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex () => $process.has('LoadKP') ); - /** - * если opportunity содержит данные, - то в lead подгружается значение из поля Интерес - выбранной карточки Лизинговая сделка (opportunity.evo_leadid) - иначе ничего не делать - */ - const QUERY_GET_LEADID_BY_OPPORTUNITY = gql` - query GetLeadidByOpportunity($opportunityid: Uuid!) { - opportunity(opportunityid: $opportunityid) { - evo_leadid - } - } - `; - reaction( () => $calculation.element('selectOpportunity').getValue(), async (opportunityid) => { @@ -82,11 +53,8 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex if (leadid) { const { data: { lead }, - } = await apolloClient.query< - CRMTypes.GetOpportunityByLeadQuery, - CRMTypes.GetOpportunityByLeadQueryVariables - >({ - query: QUERY_GET_OPPORTUNITY_BY_LEAD, + } = await apolloClient.query({ + query: CRMTypes.GetLeadDocument, variables: { leadid, }, @@ -100,11 +68,8 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex if (opportunityid) { const { data: { opportunity }, - } = await apolloClient.query< - CRMTypes.GetLeadidByOpportunityQuery, - CRMTypes.GetLeadidByOpportunityQueryVariables - >({ - query: QUERY_GET_LEADID_BY_OPPORTUNITY, + } = await apolloClient.query({ + query: CRMTypes.GetOpportunityDocument, variables: { opportunityid, }, @@ -126,29 +91,18 @@ export default function commonReactions({ store, apolloClient }: ReactionsContex Иначе очищать поле калькулятора quote. */ - const QUERY_GET_QUOTES_BY_LEAD = gql` - query GetQuotesByLead($leadid: Uuid!) { - quotes(evo_leadid: $leadid) { - label: evo_quotename - value: quoteid - } - } - `; - reaction( () => $calculation.element('selectLead').getValue(), async (leadid) => { if (leadid) { const { data: { quotes }, - } = await apolloClient.query< - CRMTypes.GetQuotesByLeadQuery, - CRMTypes.GetQuotesByLeadQueryVariables - >({ - query: QUERY_GET_QUOTES_BY_LEAD, + } = await apolloClient.query({ + query: CRMTypes.GetQuotesDocument, variables: { leadid, }, + fetchPolicy: 'network-only', }); $calculation.element('selectQuote').setOptions(normalizeOptions(quotes)); diff --git a/apps/web/process/leasing-object/get-kp-data.ts b/apps/web/process/leasing-object/get-kp-data.ts new file mode 100644 index 0000000..6932c72 --- /dev/null +++ b/apps/web/process/leasing-object/get-kp-data.ts @@ -0,0 +1,55 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { gql } from '@apollo/client'; +import initializeApollo from 'apollo/client'; +import type * as CRMTypes from 'graphql/crm.types'; +import type { GetQuoteDataInput, GetQuoteDataOutput } from '../load-kp/types'; + +const QUERY_GET_LEASING_OBJECT_DATA_FROM_QUOTE = gql` + query GetLeasingObjectDataFromQuote($quoteId: Uuid!) { + quote(quoteId: $quoteId) { + evo_brandid + evo_modelid + evo_equipmentid + evo_leasingobject_typeid + } + } +`; + +export type Quote = NonNullable; + +type QuoteLeasingObjectProcessData = { + values: Partial; +}; + +export default async function getLeasingObjectDataFromKP({ + values: { quote: quoteId }, +}: GetQuoteDataInput): Promise { + const apolloClient = initializeApollo(); + + const { + data: { quote }, + } = await apolloClient.query< + CRMTypes.GetLeasingObjectDataFromQuoteQuery, + CRMTypes.GetLeasingObjectDataFromQuoteQueryVariables + >({ + query: QUERY_GET_LEASING_OBJECT_DATA_FROM_QUOTE, + variables: { + quoteId, + }, + }); + + if (!quote) { + throw new Error('Quote is empty'); + } + + const { evo_brandid, evo_modelid, evo_equipmentid, evo_leasingobject_typeid } = quote; + + return { + values: { + brand: evo_brandid, + model: evo_modelid, + configuration: evo_equipmentid, + leaseObjectType: evo_leasingobject_typeid, + }, + }; +} diff --git a/apps/web/process/leasing-object/reactions/common.ts b/apps/web/process/leasing-object/reactions/common.ts new file mode 100644 index 0000000..489ab26 --- /dev/null +++ b/apps/web/process/leasing-object/reactions/common.ts @@ -0,0 +1,282 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import * as CRMTypes from 'graphql/crm.types'; +import { reaction } from 'mobx'; +import type { ReactionsContext } from 'process/types'; +import { intersects } from 'radash'; +import { normalizeOptions } from 'tools'; + +export default function commonReactions({ store, apolloClient }: ReactionsContext) { + const { $calculation } = store; + + reaction( + () => { + const { brand, subsidy, importProgram, leaseObjectType } = $calculation.$values.values; + + return { + brandId: brand, + subsidyId: subsidy, + importProgramId: importProgram, + leaseObjectTypeId: leaseObjectType, + }; + }, + async ({ brandId, subsidyId, importProgramId, leaseObjectTypeId }) => { + if (!brandId) { + $calculation.element('selectModel').reset(); + + return; + } + + const { + data: { evo_models }, + } = await apolloClient.query({ + query: CRMTypes.GetModelsDocument, + variables: { + brandId, + }, + }); + + let models = evo_models; + + if (!models) { + $calculation.element('selectModel').reset(); + + return; + } + + if (leaseObjectTypeId) { + const { + data: { leaseObjectType }, + } = await apolloClient.query({ + query: CRMTypes.GetLeaseObjectTypeDocument, + variables: { + leaseObjectTypeId, + }, + }); + + models = models?.filter((model) => { + if ( + model?.evo_vehicle_type && + leaseObjectType?.evo_vehicle_type?.includes(model.evo_vehicle_type) + ) { + return model; + } + + return false; + }); + } + + if (subsidyId) { + const { + data: { evo_subsidy: subsidy }, + } = await apolloClient.query({ + query: CRMTypes.GetSubsidyDocument, + variables: { + subsidyId, + }, + }); + + models = models?.filter((model) => { + if ( + model && + (!subsidy?.evo_models?.length || + subsidy?.evo_models?.filter( + (subsidy_evo_model) => subsidy_evo_model?.evo_modelid === model.evo_modelid + )?.length) + ) { + return model; + } + + return false; + }); + } + + if (importProgramId) { + const { + data: { importProgram }, + } = await apolloClient.query({ + query: CRMTypes.GetImportProgramDocument, + variables: { + importProgramId, + }, + }); + + models = models?.filter((model) => { + if ( + model && + (!importProgram?.evo_models?.length || + importProgram?.evo_models?.filter( + (importProgram_evo_model) => + importProgram_evo_model?.evo_modelid === model.evo_modelid + )?.length) + ) { + return model; + } + + return false; + }); + } + + $calculation.element('selectModel').setOptions(normalizeOptions(models)); + } + ); + + reaction( + () => { + const { product, subsidy, importProgram, leaseObjectType } = $calculation.$values.values; + + return { + productId: product, + subsidyId: subsidy, + importProgramId: importProgram, + leaseObjectTypeId: leaseObjectType, + }; + }, + async ({ productId, subsidyId, importProgramId, leaseObjectTypeId }) => { + const { + data: { evo_brands }, + } = await apolloClient.query({ + query: CRMTypes.GetBrandsDocument, + }); + + let brands = evo_brands; + + if (!brands) { + $calculation.element('selectBrand').reset(); + + return; + } + + if (productId) { + const { + data: { evo_baseproduct }, + } = await apolloClient.query({ + query: CRMTypes.GetProductDocument, + variables: { + productId, + }, + }); + + brands = brands?.filter((brand) => { + if ( + !evo_baseproduct?.evo_brands?.length || + evo_baseproduct.evo_brands.filter( + (baseproduct_evo_brand) => baseproduct_evo_brand?.evo_brandid === brand?.evo_brandid + )?.length + ) { + return true; + } + + return false; + }); + } + + if (leaseObjectTypeId) { + const { + data: { leaseObjectType }, + } = await apolloClient.query({ + query: CRMTypes.GetLeaseObjectTypeDocument, + variables: { + leaseObjectTypeId, + }, + }); + + brands = brands?.filter((brand) => { + if ( + brand?.evo_vehicle_type?.length && + leaseObjectType?.evo_vehicle_type && + intersects( + brand.evo_vehicle_type?.filter((x) => x > 0), + leaseObjectType?.evo_vehicle_type + ) + ) { + return true; + } + + return false; + }); + } + + if (subsidyId) { + const { + data: { evo_subsidy: subsidy }, + } = await apolloClient.query({ + query: CRMTypes.GetSubsidyDocument, + variables: { + subsidyId, + }, + }); + + brands = brands?.filter((brand) => { + if ( + !subsidy?.evo_brands?.length || + subsidy?.evo_brands?.filter( + (subsidy_evo_brand) => subsidy_evo_brand?.evo_brandid === brand?.evo_brandid + )?.length + ) { + return true; + } + + return false; + }); + } + + if (importProgramId) { + const { + data: { importProgram }, + } = await apolloClient.query({ + query: CRMTypes.GetImportProgramDocument, + variables: { + importProgramId, + }, + }); + + brands = brands?.filter((brand) => { + if ( + !importProgram?.evo_brands?.length || + importProgram?.evo_brands?.filter( + (importProgram_evo_brand) => + importProgram_evo_brand?.evo_brandid === brand?.evo_brandid + )?.length + ) { + return true; + } + + return false; + }); + } + + $calculation.element('selectBrand').setOptions(normalizeOptions(brands)); + } + ); + + reaction( + () => $calculation.element('selectLeaseObjectType').getValue(), + (leaseObjectTypeId) => { + if (!leaseObjectTypeId) { + $calculation.element('selectBrand').resetValue(); + } + } + ); + + reaction( + () => $calculation.element('selectModel').getValue(), + async (modelId) => { + if (!modelId) { + $calculation.element('selectConfiguration').reset(); + + return; + } + + const { + data: { evo_equipments }, + } = await apolloClient.query({ + query: CRMTypes.GetConfigurationsDocument, + variables: { + modelId, + }, + }); + + $calculation.element('selectConfiguration').setOptions(normalizeOptions(evo_equipments)); + } + ); +} diff --git a/apps/web/process/leasing-object/reactions/index.js b/apps/web/process/leasing-object/reactions/index.js new file mode 100644 index 0000000..cdd6b5e --- /dev/null +++ b/apps/web/process/leasing-object/reactions/index.js @@ -0,0 +1,3 @@ +/* eslint-disable import/prefer-default-export */ +export { default as common } from './common'; +export { default as validation } from './validation'; diff --git a/apps/web/process/leasing-object/reactions/validation.ts b/apps/web/process/leasing-object/reactions/validation.ts new file mode 100644 index 0000000..6619122 --- /dev/null +++ b/apps/web/process/leasing-object/reactions/validation.ts @@ -0,0 +1,25 @@ +import { autorun } from 'mobx'; +import type { ReactionsContext } from 'process/types'; + +export default function validationReactions({ store }: ReactionsContext) { + const { $calculation } = store; + + /* eslint-disable max-len */ + /** + * Если model содержит данные и по связи Модель-Комплектация в CRM у данной модели есть связанные активные записи Комплектаций, + * то configuration становится обязательным для заполнения, иначе configuration не обязателен для заполнения + */ + /* eslint-enable */ + autorun( + () => { + const selectConfiguration = $calculation.element('selectConfiguration'); + selectConfiguration.validate({ + invalid: selectConfiguration.getOptions()?.length > 0 && !selectConfiguration.getValue(), + message: 'Не заполнено поле', + }); + }, + { + delay: 10, + } + ); +} diff --git a/apps/web/process/leasing-without-kasko/reactions/common.ts b/apps/web/process/leasing-without-kasko/reactions/common.ts new file mode 100644 index 0000000..d69b624 --- /dev/null +++ b/apps/web/process/leasing-without-kasko/reactions/common.ts @@ -0,0 +1,127 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { gql } from '@apollo/client'; +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; +import type * as CRMTypes from 'graphql/crm.types'; +import { autorun, reaction } from 'mobx'; +import type { ReactionsContext } from 'process/types'; +import { uid } from 'radash'; +import { normalizeOptions } from 'tools'; +import notification from 'ui/elements/notification'; + +dayjs.extend(utc); + +const NOTIFICATION_KEY = uid(7); + +const QUERY_GET_LEASING_WITHOUT_KASKO_OPTIONS = gql` + query GetLeasingWithoutKaskoOptions($currentDate: DateTime) { + evo_addproduct_types( + statecode: 0 + evo_product_type: 100000007 + evo_datefrom_param: { lte: $currentDate } + evo_dateto_param: { gte: $currentDate } + ) { + label: evo_name + value: evo_addproduct_typeid + evo_product_type + evo_min_period + evo_max_period + evo_min_price + evo_max_price + evo_leasingobject_types { + evo_leasingobject_typeid + } + evo_visible_calc + evo_min_first_payment_perc + evo_max_first_payment_perc + evo_models { + evo_modelid + } + } + } +`; + +export default function commonReactions({ store, apolloClient, queryClient }: ReactionsContext) { + const { $calculation, $tables } = store; + + reaction( + () => $calculation.element('selectLeasingWithoutKasko').getValue(), + (nextValue, prevValue) => { + if (prevValue && !nextValue) { + notification.warning({ + key: NOTIFICATION_KEY, + message: 'Внимание', + description: 'Лизинг без КАСКО был сброшен', + }); + } + } + ); + + /* eslint-disable max-len */ + /** + * если "Лизинг без КАСКО" (SelectLeasingWithoutKasko) содержит данные, + * то в таблице страхования в строке ФинГАП: Страховая компания insCompany = null и закрыть для редактирования + */ + /* eslint-enable */ + reaction( + () => $calculation.element('selectLeasingWithoutKasko').getValue(), + (leasingWithoutKasko) => { + if (leasingWithoutKasko) { + $tables.insurance.row('fingap').resetValue('insuranceCompany').block('insuranceCompany'); + } else { + $tables.insurance.row('fingap').unblock('insuranceCompany'); + } + } + ); + + autorun(async () => { + const currentDate = dayjs().utc(false).toISOString(); + + const { + data: { evo_addproduct_types }, + } = await apolloClient.query< + CRMTypes.GetLeasingWithoutKaskoOptionsQuery, + CRMTypes.GetLeasingWithoutKaskoOptionsQueryVariables + >({ + query: QUERY_GET_LEASING_WITHOUT_KASKO_OPTIONS, + variables: { + currentDate, + }, + }); + + const { + plPriceRub, + discountRub, + importProgramSum, + leasingPeriod, + addEquipmentPrice, + leaseObjectType, + firstPaymentPerc, + model: modelId, + } = $calculation.$values.values; + + const options = evo_addproduct_types?.filter( + (x) => + x?.evo_max_period && + x.evo_max_period >= leasingPeriod && + x?.evo_min_period && + x.evo_min_period <= leasingPeriod && + x?.evo_max_price && + x.evo_max_price >= plPriceRub - discountRub - importProgramSum + addEquipmentPrice && + x?.evo_min_price && + x.evo_min_price <= plPriceRub - discountRub - importProgramSum + addEquipmentPrice && + x.evo_leasingobject_types?.find( + (evo_leasingobject_type) => + evo_leasingobject_type?.evo_leasingobject_typeid === leaseObjectType + ) && + x.evo_visible_calc && + x.evo_min_first_payment_perc && + x.evo_min_first_payment_perc <= firstPaymentPerc && + x.evo_max_first_payment_perc && + x.evo_max_first_payment_perc >= firstPaymentPerc && + !x.evo_models?.map((evo_model) => evo_model?.evo_modelid).includes(modelId) + ); + + $calculation.element('selectLeasingWithoutKasko').setOptions(normalizeOptions(options)); + }); +} diff --git a/apps/web/process/leasing-without-kasko/reactions/index.js b/apps/web/process/leasing-without-kasko/reactions/index.js new file mode 100644 index 0000000..1e2e8e6 --- /dev/null +++ b/apps/web/process/leasing-without-kasko/reactions/index.js @@ -0,0 +1,2 @@ +/* eslint-disable import/prefer-default-export */ +export { default as common } from './common'; diff --git a/apps/web/process/load-kp/reactions.ts b/apps/web/process/load-kp/reactions.ts index aa462ad..83904cc 100644 --- a/apps/web/process/load-kp/reactions.ts +++ b/apps/web/process/load-kp/reactions.ts @@ -23,19 +23,30 @@ export default function loadKpReactions({ store, trpcClient }: ReactionsContext) content: `Загружаем КП ${quoteName}...`, }); - const payload = { - values: { - quote: quoteId, - ...pick($calculation.$values.values, ['recalcWithRevision']), - }, - }; + const { recalcWithRevision } = $calculation.$values.values; trpcClient.quote.getData - .query(payload) + .query({ + values: { + quote: quoteId, + recalcWithRevision, + }, + }) .then(({ values, payments, insurance, fingap }) => { + const savedValues = pick($calculation.$values.values, [ + 'lead', + 'opportunity', + 'quote', + 'leadUrl', + 'opportunityUrl', + 'quoteUrl', + ]); + $calculation.$values.setValues({ - values, - exclude: ['lead', 'opportunity', 'quote', 'leadUrl', 'opportunityUrl', 'quoteUrl'], + values: { + ...values, + ...savedValues, + }, }); $tables.payments.setValues(payments.values); diff --git a/apps/web/process/payments/get-kp-data.ts b/apps/web/process/payments/get-kp-data.ts index a998ada..d2b4330 100644 --- a/apps/web/process/payments/get-kp-data.ts +++ b/apps/web/process/payments/get-kp-data.ts @@ -56,7 +56,7 @@ export default async function getPaymentsDataFromKP({ let paymentsValues: Array = []; if (quote?.evo_graphs) { paymentsValues = - sort(quote?.evo_graphs, (evo_graph) => Date.parse(evo_graph?.createdon)) + sort(quote?.evo_graphs, (evo_graph) => Date.parse(evo_graph?.createdon ?? '0')) .at(0) ?.evo_planpayments?.slice(1, -1) .slice(0, leasingPeriod - 2) diff --git a/apps/web/process/payments/lib/seasons-constants.ts b/apps/web/process/payments/lib/seasons-constants.ts index 889bc29..ea54f9c 100644 --- a/apps/web/process/payments/lib/seasons-constants.ts +++ b/apps/web/process/payments/lib/seasons-constants.ts @@ -13,3 +13,8 @@ export const FORBIDDEN_HIGH_SEASON_START: Record> = { export const SEASONS_PERIOD_NUMBER = 12; export const DEFAULT_SEASONS_VALUES = [100, 75, 50]; + +export const SEASON_TYPES = { + 100_000_001: [100_000_003, 100_000_004, 100_000_005, 100_000_006, 100_000_007], + 100_000_003: [100_000_000, 100_000_001, 100_000_002], +}; diff --git a/apps/web/process/payments/lib/seasons-tools.ts b/apps/web/process/payments/lib/seasons-tools.ts index f930165..b6c51fc 100644 --- a/apps/web/process/payments/lib/seasons-tools.ts +++ b/apps/web/process/payments/lib/seasons-tools.ts @@ -1,5 +1,6 @@ /* eslint-disable implicit-arrow-linebreak */ import type { CalculationValues } from 'stores/calculation/values/types'; +import type { Row } from 'stores/tables/payments/types'; import { SEASONS_PERIODS, SEASONS_PERIOD_NUMBER } from './seasons-constants'; type SeasonType = NonNullable; @@ -53,3 +54,19 @@ export function generateSeasonsPayments(leasingPeriod: LeasingPeriod, seasons: A .concat(seasons.slice(0, (leasingPeriod - 2) % SEASONS_PERIOD_NUMBER)) ); } + +export function generateSeasonPaymentsRows( + seasonType: number, + shiftNumber: number, + payments: number[] +) { + const shiftedPeriods = new Set( + SEASONS_PERIODS[seasonType].map((position) => (position + shiftNumber) % SEASONS_PERIOD_NUMBER) + ); + const rows: Row[] = payments.map((value, i) => ({ + value, + status: shiftedPeriods.has(i) ? 'Default' : 'Disabled', + })); + + return rows; +} diff --git a/apps/web/process/payments/reactions.ts b/apps/web/process/payments/reactions.ts index 8c6206c..534b3bf 100644 --- a/apps/web/process/payments/reactions.ts +++ b/apps/web/process/payments/reactions.ts @@ -1,10 +1,9 @@ /* eslint-disable function-paren-newline */ /* eslint-disable implicit-arrow-linebreak */ -import { selectHighSeasonStart, selectSeasonType } from 'config/default-options'; +import { selectHighSeasonStart } from 'config/default-options'; import { comparer, reaction, toJS } from 'mobx'; import type { ReactionsContext } from 'process/types'; import { shift } from 'radash'; -import type { CalculationOptions } from 'stores/calculation/options/types'; import type { Row } from 'stores/tables/payments/types'; import ValidationHelper from 'stores/validation/helper'; import { difference } from 'tools/array'; @@ -13,6 +12,22 @@ import * as seasonsConstants from './lib/seasons-constants'; import * as seasonsTools from './lib/seasons-tools'; import validatePaymentsTable from './validation'; +const { + generateSeasonPaymentsRows, + generateSeasons, + generateSeasonsPayments, + getPositionIndex, + getSeasonsValues, +} = seasonsTools; + +const { + DEFAULT_SEASONS_VALUES, + FORBIDDEN_HIGH_SEASON_START, + SEASONS_PERIODS, + SEASONS_PERIOD_NUMBER, + SEASON_TYPES, +} = seasonsConstants; + export default function paymentsReactions({ store }: ReactionsContext) { const { $calculation, $tables, $process } = store; @@ -205,36 +220,36 @@ export default function paymentsReactions({ store }: ReactionsContext) { } ); - /** - * Дегрессия - */ - // TODO: const exeption = tarif?.evo_seasons_type_exception - const degressionSeasonTypes = new Set([ - 100_000_003, 100_000_004, 100_000_005, 100_000_006, 100_000_007, - ]); - const seasonSeasonTypes = new Set([100_000_000, 100_000_001, 100_000_002]); + // /** + // * Дегрессия + // */ - reaction( - () => { - const graphType = $calculation.element('radioGraphType').getValue(); + // reaction( + // () => { + // const graphType = $calculation.element('radioGraphType').getValue(); - return graphType; - }, - (graphType) => { - let selectSeasonTypeOptions: CalculationOptions['selectSeasonType'] = []; + // return graphType; + // }, + // (graphType) => { + // if (!graphType) { + // $calculation.element('selectSeasonType').resetOptions(); - if (graphType === 100_000_001) { - selectSeasonTypeOptions = selectSeasonType.filter((option) => - degressionSeasonTypes.has(option.value) - ); - } else if (graphType === 100_000_003) { - selectSeasonTypeOptions = selectSeasonType.filter((option) => - seasonSeasonTypes.has(option.value) - ); - } - $calculation.element('selectSeasonType').setOptions(selectSeasonTypeOptions); - } - ); + // return; + // } + + // if (graphType === 100_000_001 || graphType === 100_000_003) { + // const allowedSeasonTypes = SEASON_TYPES[graphType]; + + // const selectSeasonTypeOptions = selectSeasonType.filter((option) => + // allowedSeasonTypes.includes(option.value) + // ); + + // $calculation.element('selectSeasonType').setOptions(selectSeasonTypeOptions); + // } else { + // $calculation.element('selectSeasonType').resetOptions(); + // } + // } + // ); const degressionSteps: { [key: number]: Array } = { 100_000_003: [100, 50, 25], @@ -423,27 +438,13 @@ export default function paymentsReactions({ store }: ReactionsContext) { } const highSeasonStartOptions = selectHighSeasonStart.filter( - (option) => !seasonsConstants.FORBIDDEN_HIGH_SEASON_START[seasonType].includes(option.label) + (option) => !FORBIDDEN_HIGH_SEASON_START[seasonType].includes(option.label) ); $calculation.element('selectHighSeasonStart').setOptions(highSeasonStartOptions); } ); - function generateSeasonPaymentsRows(seasonType: number, shiftNumber: number, payments: number[]) { - const shiftedPeriods = new Set( - seasonsConstants.SEASONS_PERIODS[seasonType].map( - (position) => (position + shiftNumber) % seasonsConstants.SEASONS_PERIOD_NUMBER - ) - ); - const rows: Row[] = payments.map((value, i) => ({ - value, - status: shiftedPeriods.has(i) ? 'Default' : 'Disabled', - })); - - return rows; - } - reaction( () => { const seasonType = $calculation.element('selectSeasonType').getValue(); @@ -466,15 +467,9 @@ export default function paymentsReactions({ store }: ReactionsContext) { return; } - const seasons = seasonsTools.generateSeasons( - seasonType, - seasonsConstants.DEFAULT_SEASONS_VALUES - ); + const seasons = generateSeasons(seasonType, DEFAULT_SEASONS_VALUES); const shiftNumber = Number.parseInt(highSeasonStartOption.label, 10) - 2; - const payments = seasonsTools.generateSeasonsPayments( - leasingPeriod, - shift(seasons, shiftNumber) - ); + const payments = generateSeasonsPayments(leasingPeriod, shift(seasons, shiftNumber)); const middlePayments: Row[] = generateSeasonPaymentsRows(seasonType, shiftNumber, payments); const firstPaymentPerc = $calculation.element('tbxFirstPaymentPerc').getValue(); const lastPaymentPerc = $calculation.element('tbxLastPaymentPerc').getValue(); @@ -504,7 +499,7 @@ export default function paymentsReactions({ store }: ReactionsContext) { reaction( () => { const payments = toJS($tables.payments.values); - const seasons = payments.slice(1, seasonsConstants.SEASONS_PERIOD_NUMBER + 1); + const seasons = payments.slice(1, SEASONS_PERIOD_NUMBER + 1); return seasons; }, @@ -524,17 +519,14 @@ export default function paymentsReactions({ store }: ReactionsContext) { if (changes === null || changes.length > 1) return; const [changeIndex] = changes; - const positionIndex = seasonsTools.getPositionIndex(seasonType, changeIndex); + const positionIndex = getPositionIndex(seasonType, changeIndex); - const values = seasonsTools.getSeasonsValues(seasonType, unshiftedNextSeasons); + const values = getSeasonsValues(seasonType, unshiftedNextSeasons); values[positionIndex] = unshiftedNextSeasons[changeIndex]; - const seasons = seasonsTools.generateSeasons(seasonType, values); + const seasons = generateSeasons(seasonType, values); const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); - const payments = seasonsTools.generateSeasonsPayments( - leasingPeriod, - shift(seasons, shiftNumber) - ); + const payments = generateSeasonsPayments(leasingPeriod, shift(seasons, shiftNumber)); const rows: Row[] = generateSeasonPaymentsRows(seasonType, shiftNumber, payments); const firstPaymentPerc = $calculation.element('tbxFirstPaymentPerc').getValue(); const lastPaymentPerc = $calculation.element('tbxLastPaymentPerc').getValue(); diff --git a/apps/web/process/price/get-kp-data.ts b/apps/web/process/price/get-kp-data.ts new file mode 100644 index 0000000..a9d09f9 --- /dev/null +++ b/apps/web/process/price/get-kp-data.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { gql } from '@apollo/client'; +import initializeApollo from 'apollo/client'; +import type * as CRMTypes from 'graphql/crm.types'; +import type { GetQuoteDataInput, GetQuoteDataOutput } from '../load-kp/types'; + +const QUERY_GET_PRICE_DATA_FROM_QUOTE = gql` + query GetPriceDataFromQuote($quoteId: Uuid!) { + quote(quoteId: $quoteId) { + evo_supplier_currency_price + evo_price_without_nds_supplier_currency + evo_nds_in_price_supplier_currency + evo_last_payment_rub + evo_last_payment_calc + evo_transactioncurrencyid + evo_discount_supplier_currency + evo_discount_perc + evo_comission_perc + evo_comission_rub + evo_sale_bonus + } + } +`; + +type QuotePaymentsProcessData = { + values: Partial; +}; + +export default async function getPriceDataFromKP({ + values: { quote: quoteId }, +}: GetQuoteDataInput): Promise { + const apolloClient = initializeApollo(); + + const { + data: { quote }, + } = await apolloClient.query< + CRMTypes.GetPriceDataFromQuoteQuery, + CRMTypes.GetPriceDataFromQuoteQueryVariables + >({ + query: QUERY_GET_PRICE_DATA_FROM_QUOTE, + variables: { + quoteId, + }, + }); + + return { + values: { + leaseObjectPrice: quote?.evo_supplier_currency_price || 0, + leaseObjectPriceWthtVAT: quote?.evo_price_without_nds_supplier_currency || 0, + VATInLeaseObjectPrice: quote?.evo_nds_in_price_supplier_currency || 0, + lastPaymentRub: quote?.evo_last_payment_rub || 0, + lastPaymentRule: quote?.evo_last_payment_calc, + supplierCurrency: quote?.evo_transactioncurrencyid, + supplierDiscountRub: quote?.evo_discount_supplier_currency || 0, + supplierDiscountPerc: quote?.evo_discount_perc || 0, + comissionPerc: quote?.evo_comission_perc || 0, + comissionRub: quote?.evo_comission_rub || 0, + saleBonus: quote?.evo_sale_bonus || 0, + }, + }; +} diff --git a/apps/web/process/price/reactions/common.ts b/apps/web/process/price/reactions/common.ts new file mode 100644 index 0000000..4de89e7 --- /dev/null +++ b/apps/web/process/price/reactions/common.ts @@ -0,0 +1,50 @@ +import { MIN_LASTPAYMENT_NSIB } from 'constants/values'; +import { reaction } from 'mobx'; +import type { ReactionsContext } from 'process/types'; + +export default function commonReactions({ store, apolloClient }: ReactionsContext) { + const { $calculation } = store; + + reaction( + () => $calculation.element('radioLastPaymentRule').getValue(), + (lastPaymentRule) => { + switch (lastPaymentRule) { + case 100_000_000: { + $calculation.element('tbxLastPaymentPerc').block(); + $calculation.element('tbxLastPaymentRub').unblock(); + break; + } + case 100_000_001: { + $calculation.element('tbxLastPaymentPerc').unblock(); + $calculation.element('tbxLastPaymentRub').block(); + break; + } + default: { + $calculation.element('tbxLastPaymentPerc').block(); + $calculation.element('tbxLastPaymentRub').block(); + } + } + }, + { + fireImmediately: true, + } + ); + + reaction( + () => { + const lastPaymentRub = $calculation.element('tbxLastPaymentRub').getValue(); + const insNSIB = $calculation.element('selectInsNSIB').getValue(); + + return { + lastPaymentRub, + insNSIB, + }; + }, + ({ lastPaymentRub, insNSIB }) => { + $calculation.element('tbxLastPaymentRub').validate({ + invalid: !!insNSIB && lastPaymentRub < MIN_LASTPAYMENT_NSIB, + message: `Последний платеж меньше ${MIN_LASTPAYMENT_NSIB} руб. не может быть при наличии НСИБ, укажите большее значение`, + }); + } + ); +} diff --git a/apps/web/process/price/reactions/computed.ts b/apps/web/process/price/reactions/computed.ts index a4bba6c..7452133 100644 --- a/apps/web/process/price/reactions/computed.ts +++ b/apps/web/process/price/reactions/computed.ts @@ -1,31 +1,13 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { gql } from '@apollo/client'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { autorun } from 'mobx'; import type { ReactionsContext } from 'process/types'; dayjs.extend(utc); export default function computedReactions({ store, apolloClient }: ReactionsContext) { - const QUERY_GET_EVO_CURRENCY_CHANGES = gql` - query GetCurrencyChanges($currentDate: DateTime) { - evo_currencychanges(statecode: 0, evo_coursedate_param: { eq: $currentDate }) { - evo_currencychange - evo_ref_transactioncurrency - } - } - `; - - const QUERY_GET_CURRENCY_ISOCODE = gql` - query GetCurrencyISOCode($id: Uuid!) { - transactioncurrency(transactioncurrencyid: $id) { - isocurrencycode - } - } - `; - const { $calculation } = store; autorun( @@ -43,13 +25,10 @@ export default function computedReactions({ store, apolloClient }: ReactionsCont const { data: { transactioncurrency }, - } = await apolloClient.query< - CRMTypes.GetCurrencyIsoCodeQuery, - CRMTypes.GetCurrencyIsoCodeQueryVariables - >({ - query: QUERY_GET_CURRENCY_ISOCODE, + } = await apolloClient.query({ + query: CRMTypes.GetTransactionCurrencyDocument, variables: { - id: supplierCurrencyId, + currencyid: supplierCurrencyId, }, }); @@ -62,11 +41,8 @@ export default function computedReactions({ store, apolloClient }: ReactionsCont const { data: { evo_currencychanges }, - } = await apolloClient.query< - CRMTypes.GetCurrencyChangesQuery, - CRMTypes.GetCurrencyChangesQueryVariables - >({ - query: QUERY_GET_EVO_CURRENCY_CHANGES, + } = await apolloClient.query({ + query: CRMTypes.GetCurrencyChangesDocument, variables: { currentDate: dayjs().utc(false).format('YYYY-MM-DD'), }, diff --git a/apps/web/process/price/reactions/index.js b/apps/web/process/price/reactions/index.js index d5e79ce..ddb1f56 100644 --- a/apps/web/process/price/reactions/index.js +++ b/apps/web/process/price/reactions/index.js @@ -1,2 +1,2 @@ -/* eslint-disable import/prefer-default-export */ +export { default as common } from './common'; export { default as computed } from './computed'; diff --git a/apps/web/process/subsidy/reactions.ts b/apps/web/process/subsidy/reactions.ts new file mode 100644 index 0000000..d4d47d7 --- /dev/null +++ b/apps/web/process/subsidy/reactions.ts @@ -0,0 +1,60 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import * as CRMTypes from 'graphql/crm.types'; +import { autorun } from 'mobx'; +import type { ReactionsContext } from 'process/types'; + +/* eslint-disable max-len */ +/** + * При изменении "Программа от производителя" selectImportProgram , Стоимости ПЛ tbxLeaseObjectPrice, Валюты selectSupplierCurrency, Скидка от поставщика, в валюте поставщика (tbxSupplierDiscountRub) + * необходимо заполнять поле "Скидка от производителя, руб., с НДС" labelImportProgramSum: +если поле selectImportProgram содержит данные, +то +если +поле "Сумма субсидии с НДС" evo_subsidy.evo_subsidy_summ из selectImportProgram > 0, +то указывает данное значение в поле labelImportProgramSum, +иначе: +1)labelImportProgramSum = ( (Стоимость ПЛ tbxLeaseObjectPrice ), переведенные в рубли - Скидка от поставщика, в валюте поставщика (tbxSupplierDiscountRub))* "% субсидии от стоимости ПЛ" evo_subsidy.evo_percent_subsidy из selectImportProgram / 100. +2) Если полученное значение больше значения в поле "Максимальная сумма субсидии с НДС, руб." evo_subsidy.evo_max_subsidy_summ из записи Субсидия в поле selectImportProgram , +то в labelImportProgramSum указываем значение из поля "Максимальная сумма субсидии с НДС, руб." evo_subsidy.evo_max_subsidy_summ , +иначе результат расчета п.1 +иначе 0 +*/ +/* eslint-enable */ + +export function computedReactions({ store, apolloClient, queryClient }: ReactionsContext) { + const { $calculation } = store; + + autorun(async () => { + const importProgramId = $calculation.element('selectImportProgram').getValue(); + const plPriceRub = $calculation.$values.getValue('plPriceRub'); + const supplierDiscountRub = $calculation.element('tbxSupplierDiscountRub').getValue(); + + if (importProgramId) { + const { + data: { evo_subsidy: importProgram }, + } = await apolloClient.query({ + query: CRMTypes.GetSubsidyDocument, + variables: { + subsidyId: importProgramId, + }, + }); + + if (importProgram?.evo_subsidy_summ && importProgram?.evo_subsidy_summ > 0) { + $calculation.element('tbxImportProgramSum').setValue(importProgram?.evo_subsidy_summ); + } else { + const subsidyPercent = (importProgram?.evo_percent_subsidy || 0) / 100; + + const sum = (plPriceRub - supplierDiscountRub) * subsidyPercent; + const maxSum = importProgram?.evo_max_subsidy_summ || 0; + + $calculation.element('tbxImportProgramSum').setValue(Math.min(sum, maxSum)); + } + } else { + $calculation.element('tbxImportProgramSum').setValue(0); + } + }); +} + +export function commonReactions({ store, apolloClient, queryClient }: ReactionsContext) { + const { $calculation, $tables } = store; +} diff --git a/apps/web/process/supplier-agent/lib/create-reactions.ts b/apps/web/process/supplier-agent/lib/create-reactions.ts index ad72e5e..0656711 100644 --- a/apps/web/process/supplier-agent/lib/create-reactions.ts +++ b/apps/web/process/supplier-agent/lib/create-reactions.ts @@ -1,9 +1,8 @@ /* eslint-disable @typescript-eslint/naming-convention */ import type { ApolloClient } from '@apollo/client'; -import { gql } from '@apollo/client'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { autorun, reaction } from 'mobx'; import type RootStore from 'stores/root'; import ValidationHelper from 'stores/validation/helper'; @@ -13,22 +12,6 @@ import type { AgentsFields, AgentsRewardConditionsFields, AgentsSumFields } from dayjs.extend(utc); -const QUERY_GET_REWARD_CONDITIONS = gql` - query GetRewardConditions($agentid: Uuid!, $currentDate: DateTime) { - evo_reward_conditions( - evo_agent_accountid: $agentid - evo_datefrom_param: { lte: $currentDate } - evo_dateto_param: { gte: $currentDate } - statecode: 0 - evo_agency_agreementid_param: { has: true } - ) { - label: evo_name - value: evo_reward_conditionid - evo_reward_summ - } - } -`; - export function fillAgentRewardReaction( store: RootStore, apolloClient: ApolloClient, @@ -50,11 +33,8 @@ export function fillAgentRewardReaction( } const { data: { evo_reward_conditions }, - } = await apolloClient.query< - CRMTypes.GetRewardConditionsQuery, - CRMTypes.GetRewardConditionsQueryVariables - >({ - query: QUERY_GET_REWARD_CONDITIONS, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionsDocument, variables: { agentid, currentDate: dayjs().toISOString(), @@ -72,14 +52,6 @@ export function fillAgentRewardReaction( ); } -const QUERY_GET_REWARD_SUMM = gql` - query GetRewardSumm($conditionId: Uuid!) { - evo_reward_condition(evo_reward_conditionid: $conditionId) { - evo_reward_summ - } - } -`; - export function fillAgentRewardSummReaction( store: RootStore, apolloClient: ApolloClient, @@ -104,11 +76,8 @@ export function fillAgentRewardSummReaction( const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardSummQuery, - CRMTypes.GetRewardSummQueryVariables - >({ - query: QUERY_GET_REWARD_SUMM, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -136,19 +105,6 @@ export function fillAgentRewardSummReaction( ); } -const QUERY_GET_REWARD_CONDITION = gql` - query GetRewardCondition($conditionId: Uuid!) { - evo_reward_condition(evo_reward_conditionid: $conditionId) { - evo_reward_summ - evo_reduce_reward - evo_min_reward_summ - evo_agency_agreementidData { - evo_required_reward - } - } - } -`; - export function validateAgentRewardSumm( store: RootStore, apolloClient: ApolloClient, @@ -178,7 +134,7 @@ export function validateAgentRewardSumm( CRMTypes.GetRewardConditionQuery, CRMTypes.GetRewardConditionQueryVariables >({ - query: QUERY_GET_REWARD_CONDITION, + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId, }, @@ -245,7 +201,7 @@ export function validateAgentRewardSumm( CRMTypes.GetRewardConditionQuery, CRMTypes.GetRewardConditionQueryVariables >({ - query: QUERY_GET_REWARD_CONDITION, + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId, }, diff --git a/apps/web/process/supplier-agent/lib/fill-agents-from-lead.ts b/apps/web/process/supplier-agent/lib/fill-agents-from-lead.ts index d92aebd..4750734 100644 --- a/apps/web/process/supplier-agent/lib/fill-agents-from-lead.ts +++ b/apps/web/process/supplier-agent/lib/fill-agents-from-lead.ts @@ -1,17 +1,19 @@ /* eslint-disable import/prefer-default-export */ -import type { ApolloClient, DocumentNode } from '@apollo/client'; -import { gql } from '@apollo/client'; +import type { ApolloClient } from '@apollo/client'; import type { Elements } from 'Components/Calculation/config/map/values'; -import type { GetAgentQuery, GetAgentQueryVariables } from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import type RootStore from 'stores/root'; import { normalizeOptions } from 'tools/entity'; -import { QUERY_GET_AGENT } from './query'; -function makeFillAgentFromLead( - elementName: Elements, - queryGetAgentId: DocumentNode, - queryGetAgent: DocumentNode -) { +type AgentsLeadProp = keyof Pick< + NonNullable, + | 'evo_agent_accountid' + | 'evo_broker_accountid' + | 'evo_double_agent_accountid' + | 'evo_fin_department_accountid' +>; + +function makeFillAgentFromLead(elementName: Elements, leadProp: AgentsLeadProp) { return async function fillAgentFromLead( { $calculation }: RootStore, apolloClient: ApolloClient, @@ -26,19 +28,21 @@ function makeFillAgentFromLead( const { data: { lead }, } = await apolloClient.query({ - query: queryGetAgentId, + query: CRMTypes.GetLeadDocument, variables: { leadid, }, }); - if (lead?.agentid) { + const agentid = lead?.[leadProp]; + + if (agentid) { const { data: { agent }, - } = await apolloClient.query({ - query: queryGetAgent, + } = await apolloClient.query({ + query: CRMTypes.GetAgentDocument, variables: { - agentid: lead.agentid, + agentid, }, }); @@ -60,19 +64,8 @@ function makeFillAgentFromLead( * записанную в поле Интереса "Агент" (lead.evo_agent_accountid → account), * иначе очищать поле калькулятора indAgent */ -const QUERY_GET_AGENT_ACCOUNTID_FROM_LEAD = gql` - query GetAgentAccountIdFromLead($leadid: Uuid!) { - lead(leadid: $leadid) { - agentid: evo_agent_accountid - } - } -`; -export const fillIndAgent = makeFillAgentFromLead( - 'selectIndAgent', - QUERY_GET_AGENT_ACCOUNTID_FROM_LEAD, - QUERY_GET_AGENT -); +export const fillIndAgent = makeFillAgentFromLead('selectIndAgent', 'evo_agent_accountid'); /** * Если lead содержит данные, @@ -81,18 +74,9 @@ export const fillIndAgent = makeFillAgentFromLead( * иначе очищать поле калькулятора calcDoubleAgent */ -const QUERY_GET_DOUBLE_AGENT_ACCOUNTID = gql` - query GetDoubleAgentAccountId($leadid: Uuid!) { - lead(leadid: $leadid) { - agentid: evo_double_agent_accountid - } - } -`; - export const fillCalcDoubleAgent = makeFillAgentFromLead( 'selectCalcDoubleAgent', - QUERY_GET_DOUBLE_AGENT_ACCOUNTID, - QUERY_GET_AGENT + 'evo_double_agent_accountid' ); /** @@ -101,19 +85,7 @@ export const fillCalcDoubleAgent = makeFillAgentFromLead( * иначе очищать поле калькулятора calcBroker */ -const QUERY_GET_BROKER_ACCOUNTID_FROM_LEAD = gql` - query GetBrokerAccountId($leadid: Uuid!) { - lead(leadid: $leadid) { - agentid: evo_broker_accountid - } - } -`; - -export const fillCalcBroker = makeFillAgentFromLead( - 'selectCalcBroker', - QUERY_GET_BROKER_ACCOUNTID_FROM_LEAD, - QUERY_GET_AGENT -); +export const fillCalcBroker = makeFillAgentFromLead('selectCalcBroker', 'evo_broker_accountid'); /** * если lead содержит данные, то calcFinDepartment заполняется ссылкой @@ -122,16 +94,7 @@ export const fillCalcBroker = makeFillAgentFromLead( * иначе очищать поле калькулятора calcFinDepartment */ -const QUERY_GET_FIN_DEPARTMENT_ACCOUNTID = gql` - query GetFinDepartmentAccountId($leadid: Uuid!) { - lead(leadid: $leadid) { - agentid: evo_fin_department_accountid - } - } -`; - export const fillFinDepartment = makeFillAgentFromLead( 'selectCalcFinDepartment', - QUERY_GET_FIN_DEPARTMENT_ACCOUNTID, - QUERY_GET_AGENT + 'evo_fin_department_accountid' ); diff --git a/apps/web/process/supplier-agent/lib/query.ts b/apps/web/process/supplier-agent/lib/query.ts deleted file mode 100644 index e487114..0000000 --- a/apps/web/process/supplier-agent/lib/query.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { gql } from '@apollo/client'; - -export const QUERY_GET_AGENT = gql` - query GetAgent($agentid: Uuid!) { - agent: account(accountid: $agentid) { - label: name - value: accountid - } - } -`; - -export const QUERY_GET_DEALER_RETURN_LEASING = gql` - query GetDealerReturnLeasing($dealerId: Uuid!) { - dealer: account(accountid: $dealerId) { - evo_return_leasing_dealer - } - } -`; diff --git a/apps/web/process/supplier-agent/reactions/agents.ts b/apps/web/process/supplier-agent/reactions/agents.ts index 77c082d..13d5c5a 100644 --- a/apps/web/process/supplier-agent/reactions/agents.ts +++ b/apps/web/process/supplier-agent/reactions/agents.ts @@ -1,14 +1,17 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { gql } from '@apollo/client'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { autorun, reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; import { makeDisposable } from 'tools/mobx'; import * as createReactions from '../lib/create-reactions'; import * as fillAgentsFromLead from '../lib/fill-agents-from-lead'; +const { fillIndAgent, fillCalcBroker, fillCalcDoubleAgent, fillFinDepartment } = fillAgentsFromLead; +const { fillAgentRewardReaction, fillAgentRewardSummReaction, validateAgentRewardSumm } = + createReactions; + dayjs.extend(utc); export function fillReactions({ store, apolloClient }: ReactionsContext) { @@ -22,10 +25,10 @@ export function fillReactions({ store, apolloClient }: ReactionsContext) { reaction( () => $calculation.element('selectLead').getValue(), (leadid) => { - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcBroker(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillCalcBroker(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } ), () => $process.has('LoadKP') @@ -35,13 +38,13 @@ export function fillReactions({ store, apolloClient }: ReactionsContext) { * IndAgent */ // Заполняем selectIndAgentRewardCondition - createReactions.fillAgentRewardReaction(store, apolloClient, { + fillAgentRewardReaction(store, apolloClient, { agentField: 'selectIndAgent', rewardConditionField: 'selectIndAgentRewardCondition', }); // Заполняем tbxIndAgentRewardSumm - createReactions.fillAgentRewardSummReaction(store, apolloClient, { + fillAgentRewardSummReaction(store, apolloClient, { rewardConditionField: 'selectIndAgentRewardCondition', rewardSummField: 'tbxIndAgentRewardSumm', }); @@ -50,13 +53,13 @@ export function fillReactions({ store, apolloClient }: ReactionsContext) { * CalcDoubleAgent */ // Заполняем selectCalcDoubleAgentRewardCondition - createReactions.fillAgentRewardReaction(store, apolloClient, { + fillAgentRewardReaction(store, apolloClient, { agentField: 'selectCalcDoubleAgent', rewardConditionField: 'selectCalcDoubleAgentRewardCondition', }); // Заполняем tbxCalcDoubleAgentRewardSumm - createReactions.fillAgentRewardSummReaction(store, apolloClient, { + fillAgentRewardSummReaction(store, apolloClient, { rewardConditionField: 'selectCalcDoubleAgentRewardCondition', rewardSummField: 'tbxCalcDoubleAgentRewardSumm', }); @@ -65,13 +68,13 @@ export function fillReactions({ store, apolloClient }: ReactionsContext) { * CalcBroker */ // Заполняем selectCalcBrokerRewardCondition - createReactions.fillAgentRewardReaction(store, apolloClient, { + fillAgentRewardReaction(store, apolloClient, { agentField: 'selectCalcBroker', rewardConditionField: 'selectCalcBrokerRewardCondition', }); // Заполняем tbxCalcBrokerRewardSum - createReactions.fillAgentRewardSummReaction(store, apolloClient, { + fillAgentRewardSummReaction(store, apolloClient, { rewardConditionField: 'selectCalcBrokerRewardCondition', rewardSummField: 'tbxCalcBrokerRewardSum', }); @@ -80,13 +83,13 @@ export function fillReactions({ store, apolloClient }: ReactionsContext) { * CalcFinDepartment */ // Заполняем selectFinDepartmentRewardCondtion - createReactions.fillAgentRewardReaction(store, apolloClient, { + fillAgentRewardReaction(store, apolloClient, { agentField: 'selectCalcFinDepartment', rewardConditionField: 'selectFinDepartmentRewardCondtion', }); // Заполняем tbxCalcBrokerRewardSum - createReactions.fillAgentRewardSummReaction(store, apolloClient, { + fillAgentRewardSummReaction(store, apolloClient, { rewardConditionField: 'selectFinDepartmentRewardCondtion', rewardSummField: 'tbxFinDepartmentRewardSumm', }); @@ -109,16 +112,6 @@ class Helper { export function commonReactions({ store, apolloClient }: ReactionsContext) { const { $calculation } = store; - const QUERY_GET_REWARD_WITHOUT_OTHER_AGENT = gql` - query GetRewardWithoutOtherAgent($conditionId: Uuid!) { - evo_reward_condition(evo_reward_conditionid: $conditionId) { - evo_agency_agreementidData { - evo_reward_without_other_agent - } - } - } - `; - /** * Добавить реакцию на изменение списка в поле selectDealerRewardCondition : Если в списке selectDealerRewardCondition есть запись, @@ -140,10 +133,10 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcBroker(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillCalcBroker(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -157,11 +150,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -212,10 +202,10 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcBroker(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillCalcBroker(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -229,11 +219,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -285,9 +272,9 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcBroker(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillCalcBroker(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -301,11 +288,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -358,9 +342,9 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcBroker(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcBroker(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -374,11 +358,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -431,9 +412,9 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -447,11 +428,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -505,9 +483,9 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { async (rewardConditionId) => { function fillAgents() { const leadid = $calculation.element('selectLead').getValue(); - fillAgentsFromLead.fillIndAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillCalcDoubleAgent(store, apolloClient, leadid); - fillAgentsFromLead.fillFinDepartment(store, apolloClient, leadid); + fillIndAgent(store, apolloClient, leadid); + fillCalcDoubleAgent(store, apolloClient, leadid); + fillFinDepartment(store, apolloClient, leadid); } if (!rewardConditionId) { @@ -520,11 +498,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { } const { data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardWithoutOtherAgentQuery, - CRMTypes.GetRewardWithoutOtherAgentQueryVariables - >({ - query: QUERY_GET_REWARD_WITHOUT_OTHER_AGENT, + } = await apolloClient.query({ + query: CRMTypes.GetRewardConditionDocument, variables: { conditionId: rewardConditionId, }, @@ -553,22 +528,22 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { export function validationReactions({ store, apolloClient }: ReactionsContext) { const { $calculation } = store; - createReactions.validateAgentRewardSumm(store, apolloClient, { + validateAgentRewardSumm(store, apolloClient, { rewardConditionField: 'selectIndAgentRewardCondition', rewardSummField: 'tbxIndAgentRewardSumm', }); - createReactions.validateAgentRewardSumm(store, apolloClient, { + validateAgentRewardSumm(store, apolloClient, { rewardConditionField: 'selectCalcDoubleAgentRewardCondition', rewardSummField: 'tbxCalcDoubleAgentRewardSumm', }); - createReactions.validateAgentRewardSumm(store, apolloClient, { + validateAgentRewardSumm(store, apolloClient, { rewardConditionField: 'selectCalcBrokerRewardCondition', rewardSummField: 'tbxCalcBrokerRewardSum', }); - createReactions.validateAgentRewardSumm(store, apolloClient, { + validateAgentRewardSumm(store, apolloClient, { rewardConditionField: 'selectFinDepartmentRewardCondtion', rewardSummField: 'tbxFinDepartmentRewardSumm', }); diff --git a/apps/web/process/supplier-agent/reactions/leaseback.ts b/apps/web/process/supplier-agent/reactions/leaseback.ts index b9dd393..fbb1f80 100644 --- a/apps/web/process/supplier-agent/reactions/leaseback.ts +++ b/apps/web/process/supplier-agent/reactions/leaseback.ts @@ -1,7 +1,6 @@ -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { autorun, reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; -import * as query from '../lib/query'; export default function leasebackReactions({ store, apolloClient }: ReactionsContext) { const { $calculation, $tables } = store; @@ -27,11 +26,8 @@ export default function leasebackReactions({ store, apolloClient }: ReactionsCon const { data: { dealer }, - } = await apolloClient.query< - CRMTypes.GetDealerReturnLeasingQuery, - CRMTypes.GetDealerReturnLeasingQueryVariables - >({ - query: query.QUERY_GET_DEALER_RETURN_LEASING, + } = await apolloClient.query({ + query: CRMTypes.GetDealerDocument, variables: { dealerId, }, @@ -61,11 +57,8 @@ export default function leasebackReactions({ store, apolloClient }: ReactionsCon if (dealerId) { const { data: { dealer }, - } = await apolloClient.query< - CRMTypes.GetDealerReturnLeasingQuery, - CRMTypes.GetDealerReturnLeasingQueryVariables - >({ - query: query.QUERY_GET_DEALER_RETURN_LEASING, + } = await apolloClient.query({ + query: CRMTypes.GetDealerDocument, variables: { dealerId, }, @@ -101,11 +94,8 @@ export default function leasebackReactions({ store, apolloClient }: ReactionsCon if (dealerId) { const { data: { dealer }, - } = await apolloClient.query< - CRMTypes.GetDealerReturnLeasingQuery, - CRMTypes.GetDealerReturnLeasingQueryVariables - >({ - query: query.QUERY_GET_DEALER_RETURN_LEASING, + } = await apolloClient.query({ + query: CRMTypes.GetDealerDocument, variables: { dealerId, }, diff --git a/apps/web/process/supplier-agent/reactions/supplier.ts b/apps/web/process/supplier-agent/reactions/supplier.ts index 738fc9f..85665d0 100644 --- a/apps/web/process/supplier-agent/reactions/supplier.ts +++ b/apps/web/process/supplier-agent/reactions/supplier.ts @@ -1,14 +1,12 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { gql } from '@apollo/client'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; -import type * as CRMTypes from 'graphql/crm.types'; +import * as CRMTypes from 'graphql/crm.types'; import { reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; import { sift } from 'radash'; import { normalizeOptions } from 'tools/entity'; import * as createReactions from '../lib/create-reactions'; -import * as query from '../lib/query'; dayjs.extend(utc); @@ -22,17 +20,6 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { * И связаны с карточкой Контрагент из поля "Салон приобретения" по связи Салон-ЮЛ */ - const QUERY_GET_DEALER_PERSON = gql` - query GetDealerPerson($dealerId: Uuid!) { - salon_providers(statecode: 0, salonaccountid: $dealerId) { - label: name - value: accountid - evo_inn - evo_kpp - } - } - `; - reaction( () => $calculation.element('selectDealer').getValue(), async (dealerId) => { @@ -44,11 +31,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { dealer }, - } = await apolloClient.query< - CRMTypes.GetDealerReturnLeasingQuery, - CRMTypes.GetDealerReturnLeasingQueryVariables - >({ - query: query.QUERY_GET_DEALER_RETURN_LEASING, + } = await apolloClient.query({ + query: CRMTypes.GetDealerDocument, variables: { dealerId, }, @@ -59,28 +43,25 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { } const { - data: { salon_providers }, - } = await apolloClient.query< - CRMTypes.GetDealerPersonQuery, - CRMTypes.GetDealerPersonQueryVariables - >({ - query: QUERY_GET_DEALER_PERSON, + data: { dealerPersons }, + } = await apolloClient.query({ + query: CRMTypes.GetDealerPersonsDocument, variables: { dealerId, }, }); - if (salon_providers && salon_providers.length > 0) { + if (dealerPersons && dealerPersons.length > 0) { $calculation.element('selectDealerPerson').setOptions( normalizeOptions( - salon_providers.map((dp) => ({ + dealerPersons.map((dp) => ({ ...dp, label: `${dp?.label} ${sift([dp?.evo_inn, dp?.evo_kpp]).join(' | ')}`, })) ) ); - const value = salon_providers.at(0)?.value; + const value = dealerPersons.at(0)?.value; if (!$process.has('LoadKP') && value) { $calculation.element('selectDealerPerson').setValue(value); } @@ -94,14 +75,6 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { * Заполняем selectDealerBroker */ - const QUERY_GET_BROKER_ACCOUNTID_FROM_DEALER = gql` - query GetBrokerAccountIdFromDealer($dealerId: Uuid!) { - dealer: account(accountid: $dealerId) { - evo_broker_accountid - } - } - `; - reaction( () => $calculation.element('selectDealerPerson').getValue(), async (dealerPersonId) => { @@ -113,11 +86,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { dealer }, - } = await apolloClient.query< - CRMTypes.GetBrokerAccountIdFromDealerQuery, - CRMTypes.GetBrokerAccountIdFromDealerQueryVariables - >({ - query: QUERY_GET_BROKER_ACCOUNTID_FROM_DEALER, + } = await apolloClient.query({ + query: CRMTypes.GetDealerDocument, variables: { dealerId: dealerPersonId, }, @@ -127,7 +97,7 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) { const { data: { agent: dealerBroker }, } = await apolloClient.query({ - query: query.QUERY_GET_AGENT, + query: CRMTypes.GetAgentDocument, variables: { agentid: dealer?.evo_broker_accountid, }, diff --git a/apps/web/stores/calculation/index.ts b/apps/web/stores/calculation/index.ts index 1ac6432..bf62329 100644 --- a/apps/web/stores/calculation/index.ts +++ b/apps/web/stores/calculation/index.ts @@ -82,6 +82,8 @@ export default class CalculationStore { return this.$options.getOptions(elementName)?.find((x) => x.value === value); }, + getOptions: () => this.$options.getOptions(elementName), + setOptions: (options: BaseOption[]) => { this.$options.setOptions(elementName, options); @@ -94,12 +96,12 @@ export default class CalculationStore { return this.element(elementName); }, - validate: ({ invalid, message }: ValidationParams) => { + validate: ({ invalid, message, silent }: ValidationParams) => { if (!this.$validation[elementName]) this.createElementValidation(elementName); let removeError: RemoveError | undefined; if (invalid) { - removeError = this.$validation[elementName]?.addError(message); + removeError = this.$validation[elementName]?.addError(message, silent); } else { this.$validation[elementName]?.removeError(message); } diff --git a/apps/web/stores/calculation/options/index.ts b/apps/web/stores/calculation/options/index.ts index a758a64..2b14c7b 100644 --- a/apps/web/stores/calculation/options/index.ts +++ b/apps/web/stores/calculation/options/index.ts @@ -26,19 +26,6 @@ export default class OptionsStore { return options; } - private checkValueInOptions = (elementName: Elements) => { - /** - * Проверяем, что значение есть в новом списке, иначе сбрасываем значение - */ - const value = this.root.$calculation.element(elementName).getValue(); - if ( - !this.options[elementName]?.length || - !this.options[elementName].some((x) => x.value === value) - ) { - this.root.$calculation.element(elementName).resetValue(); - } - }; - setOptions = (elementName: T, options: BaseOption[]) => { /** * TODO: use T instead of any in BaseOption type @@ -46,8 +33,6 @@ export default class OptionsStore { * but infer works just perfect */ this.options[elementName] = options as BaseOption[]; - - this.checkValueInOptions(elementName); }; resetOptions = (elementName: T) => { diff --git a/apps/web/stores/calculation/values/index.ts b/apps/web/stores/calculation/values/index.ts index a1b4112..125c809 100644 --- a/apps/web/stores/calculation/values/index.ts +++ b/apps/web/stores/calculation/values/index.ts @@ -1,7 +1,6 @@ /* eslint-disable object-curly-newline */ import defaultValues from 'config/default-values'; import { makeAutoObservable } from 'mobx'; -import { pick } from 'radash'; import type RootStore from '../../root'; import type { CalculationValues, Values } from './types'; @@ -18,11 +17,10 @@ export default class ValuesStore { this.values = initialValues; }; - setValues = (params: { values: CalculationValues; exclude: Values[] }) => { - const { values, exclude } = params; + setValues = (params: { values: CalculationValues }) => { + const { values } = params; - const savedValues = pick(this.values, exclude); - this.values = { ...values, ...savedValues }; + this.values = values; }; getValue(valueName: V) { diff --git a/apps/web/stores/tables/insurance/index.ts b/apps/web/stores/tables/insurance/index.ts index bdd8d16..683ce6c 100644 --- a/apps/web/stores/tables/insurance/index.ts +++ b/apps/web/stores/tables/insurance/index.ts @@ -63,7 +63,7 @@ export default class InsuranceTable { getStatus: (valueName: Insurance.Values) => this.statuses[key][valueName], - getOptions: (valueName: Insurance.Values) => this.options[key][valueName], + getOptions: (valueName: V) => this.options[key][valueName], setValue: (valueName: V, value: Insurance.RowValues[V]) => { const rowIndex = this.values.findIndex((x) => x.key === key); diff --git a/apps/web/stores/validation/index.ts b/apps/web/stores/validation/index.ts index fb63144..50ad573 100644 --- a/apps/web/stores/validation/index.ts +++ b/apps/web/stores/validation/index.ts @@ -25,14 +25,16 @@ export default class Validation { if (this.messages.size === 0) notification.close(this.params.err_key); }; - addError = (message: string) => { + addError = (message: string, silent?: boolean) => { this.messages.add(message); - notification.error({ - key: this.params.err_key, - message: this.params.err_title, - description: message, - }); + if (!silent) { + notification.error({ + key: this.params.err_key, + message: this.params.err_title, + description: message, + }); + } return () => this.removeError(message); }; diff --git a/apps/web/stores/validation/types.ts b/apps/web/stores/validation/types.ts index 21e8bc4..c5ef5c9 100644 --- a/apps/web/stores/validation/types.ts +++ b/apps/web/stores/validation/types.ts @@ -6,6 +6,7 @@ export type ValidationConfig = { export type ValidationParams = { invalid: boolean; message: string; + silent?: boolean; }; export type RemoveError = () => void; diff --git a/apps/web/trpc/routers/quote.ts b/apps/web/trpc/routers/quote.ts index f40f2f9..fc9786d 100644 --- a/apps/web/trpc/routers/quote.ts +++ b/apps/web/trpc/routers/quote.ts @@ -1,8 +1,11 @@ import defaultValues from 'config/default-values'; import { defaultValues as defaultInsuranceValues } from 'config/tables/insurance-table'; +import getConfiguratorDataFromKP from 'process/configurator/get-kp-data'; import getFingapDataFromKP from 'process/fingap/get-kp-data'; +import getLeasingObjectDataFromKP from 'process/leasing-object/get-kp-data'; import { GetQuoteDataInputSchema, GetQuoteDataOutputSchema } from 'process/load-kp/types'; import getPaymentsDataFromKP from 'process/payments/get-kp-data'; +import getPriceDataFromKP from 'process/price/get-kp-data'; import getSupplierAgentsDataFromKP from 'process/supplier-agent/get-kp-values'; import { t } from '../server'; @@ -14,15 +17,21 @@ const quoteRouter = t.router({ .input(GetQuoteDataInputSchema) .output(GetQuoteDataOutputSchema) .query(async ({ input }) => { + const { values: configuratorValues } = await getConfiguratorDataFromKP(input); const { values: supplierAgentsValues } = await getSupplierAgentsDataFromKP(input); const { values: paymentsValues, payments } = await getPaymentsDataFromKP(input); + const { values: priceValues } = await getPriceDataFromKP(input); + const { values: leasingObjectValues } = await getLeasingObjectDataFromKP(input); const { fingap, insurance: fingapInsurance } = await getFingapDataFromKP(input); return { values: { ...defaultValues, + ...configuratorValues, ...supplierAgentsValues, ...paymentsValues, + ...priceValues, + ...leasingObjectValues, }, payments, insurance: { diff --git a/package.json b/package.json index 2d8bd0e..be1a566 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "scripts": { "build": "dotenv -e .env turbo run build", "clean": "turbo run clean", - "dev": "dotenv -e .env.local turbo run dev --parallel", + "dev": "dotenv -e .env.local turbo run dev", "format": "prettier --write \"**/*.{js,jsx,ts,tsx}\"", "lint": "dotenv -e .env.local turbo run lint", "lint:fix": "dotenv -e .env.local turbo run lint:fix", @@ -25,7 +25,7 @@ "husky": "^8.0.3", "prettier": "^2.8.2", "tools": "*", - "turbo": "latest" + "turbo": "^1.7.1" }, "packageManager": "yarn@1.22.17", "engines": { diff --git a/packages/tools/entity.ts b/packages/tools/entity.ts index dd6d7c7..91ab708 100644 --- a/packages/tools/entity.ts +++ b/packages/tools/entity.ts @@ -3,5 +3,12 @@ import { isEmpty } from 'radash'; import type { BaseOption } from 'ui/elements/types'; export function normalizeOptions(options: any[] | null | undefined) { - return (isEmpty(options) ? [] : options) as BaseOption[]; + if (isEmpty(options)) { + return []; + } + + return options?.map(({ label, value }) => ({ + label, + value, + })) as BaseOption[]; } diff --git a/turbo.json b/turbo.json index d111539..5c8c167 100644 --- a/turbo.json +++ b/turbo.json @@ -3,8 +3,7 @@ "pipeline": { "build": { "outputs": ["dist/**", ".next/**", "public/dist/**"], - "dependsOn": ["^build"], - "cache": false + "dependsOn": ["^build"] }, "test": { "cache": false @@ -18,7 +17,8 @@ "outputs": [] }, "dev": { - "cache": false + "cache": false, + "persistent": true }, "clean": { "cache": false diff --git a/yarn.lock b/yarn.lock index 7147966..4edecd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -884,6 +884,17 @@ "@graphql-tools/utils" "^9.0.0" tslib "~2.4.0" +"@graphql-codegen/typed-document-node@^2.3.13": + version "2.3.13" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typed-document-node/-/typed-document-node-2.3.13.tgz#bbfb8e376d6680e05509b5d13089add74b6ff3fd" + integrity sha512-vt1hvBAbYTYUCXblks9KYwR5Ho16hWQljid5xgx77jeVufj5PjnWrOjJfEFKFx17VOM4CKHP8ryoeT4NyjYNWw== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-codegen/visitor-plugin-common" "2.13.8" + auto-bind "~4.0.0" + change-case-all "1.0.15" + tslib "~2.4.0" + "@graphql-codegen/typescript-operations@^2.5.12": version "2.5.12" resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.5.12.tgz#36af48b34d70d98a9a2adea1ab79e26fcab23a92" @@ -922,6 +933,22 @@ parse-filepath "^1.0.2" tslib "~2.4.0" +"@graphql-codegen/visitor-plugin-common@2.13.8": + version "2.13.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.8.tgz#09bc6317b227e5a278f394f4cef0d6c2d1910597" + integrity sha512-IQWu99YV4wt8hGxIbBQPtqRuaWZhkQRG2IZKbMoSvh0vGeWb3dB0n0hSgKaOOxDY+tljtOf9MTcUYvJslQucMQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^9.0.0" + auto-bind "~4.0.0" + change-case-all "1.0.15" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + "@graphql-tools/apollo-engine-loader@^7.3.6": version "7.3.21" resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.21.tgz#416e548f6343342c1e8ef6c83139264589802172" @@ -1233,6 +1260,14 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== +"@graphql-typed-document-node/patch-cli@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/patch-cli/-/patch-cli-3.0.9.tgz#d9de5a142f4bd93aa08835895aa4b8c3141f0925" + integrity sha512-FROQScxEbTMqV8UUw+RIon6cYMKgklRIXD+tjmG42RRluMI9/WiWBBpLuf/R5czn9StX0NmqLxt2e0QXZy8Pog== + dependencies: + patch-package "6.2.2" + semver "7.3.5" + "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -2354,6 +2389,11 @@ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg== +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + "@zxing/text-encoding@0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" @@ -2539,6 +2579,21 @@ aria-query@^5.0.0: dependencies: deep-equal "^2.0.5" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" @@ -2560,6 +2615,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + array.prototype.flat@^1.2.5: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" @@ -2605,6 +2665,11 @@ asn1js@^3.0.1, asn1js@^3.0.5: pvutils "^1.1.3" tslib "^2.4.0" +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" @@ -2625,6 +2690,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + auto-bind@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" @@ -2803,6 +2873,19 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -2825,6 +2908,22 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -2886,6 +2985,21 @@ busboy@^1.6.0: dependencies: streamsearch "^1.1.0" +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + cacheable-lookup@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" @@ -2967,7 +3081,7 @@ chalk@4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^2.0.0: +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3056,6 +3170,11 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + ci-info@^3.2.0, ci-info@^3.6.1: version "3.7.1" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" @@ -3066,6 +3185,16 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" @@ -3155,6 +3284,14 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -3212,6 +3349,11 @@ common-tags@1.8.2: resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + compute-scroll-into-view@^1.0.20: version "1.0.20" resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43" @@ -3265,6 +3407,11 @@ copy-anything@^3.0.2: dependencies: is-what "^4.1.8" +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + copy-to-clipboard@^3.2.0: version "3.3.3" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" @@ -3334,6 +3481,17 @@ cross-fetch@^3.1.5: dependencies: node-fetch "2.6.7" +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -3430,7 +3588,7 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, d dependencies: ms "2.1.2" -debug@^2.6.9: +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -3454,6 +3612,11 @@ decimal.js@^10.4.2: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -3529,6 +3692,28 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -4145,6 +4330,19 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + expand-template@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" @@ -4161,6 +4359,21 @@ expect@^29.0.0, expect@^29.3.1: jest-message-util "^29.3.1" jest-util "^29.3.1" +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -4170,6 +4383,20 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + extract-files@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a" @@ -4257,6 +4484,16 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -4285,6 +4522,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-yarn-workspace-root@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" + integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== + dependencies: + fs-extra "^4.0.3" + micromatch "^3.1.4" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -4310,6 +4555,11 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + form-data-encoder@^1.7.1: version "1.7.2" resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" @@ -4346,11 +4596,36 @@ formdata-node@^4.3.1: node-domexception "1.0.0" web-streams-polyfill "4.0.0-beta.3" +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -4423,6 +4698,11 @@ get-tsconfig@^4.2.0: resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.3.0.tgz#4c26fae115d1050e836aea65d6fe56b507ee249b" integrity sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ== +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + github-from-package@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" @@ -4544,7 +4824,7 @@ gql-sdl@^1.0.0: got "^12.0.4" graphql "^16.5.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -4634,6 +4914,37 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -4846,6 +5157,20 @@ is-absolute@^1.0.0: is-relative "^1.0.0" is-windows "^1.0.1" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + is-arguments@^1.0.4, is-arguments@^1.1.0, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -4895,6 +5220,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-builtin-module@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" @@ -4907,6 +5237,13 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + is-core-module@^2.10.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" @@ -4914,6 +5251,20 @@ is-core-module@^2.10.0, is-core-module@^2.8.1, is-core-module@^2.9.0: dependencies: has "^1.0.3" +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -4921,11 +5272,41 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4989,6 +5370,13 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -4999,7 +5387,7 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-object@^2.0.4: +is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -5117,7 +5505,7 @@ is-what@^4.1.8: resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.8.tgz#0e2a8807fda30980ddb2571c79db3d209b14cbe4" integrity sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA== -is-windows@^1.0.1: +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -5129,6 +5517,11 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -5139,7 +5532,14 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^3.0.1: +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== @@ -5705,6 +6105,13 @@ json5@^2.2.1, json5@^2.2.2: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" @@ -5752,11 +6159,37 @@ keyv@^4.5.2: dependencies: json-buffer "3.0.1" -kind-of@^6.0.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -5962,11 +6395,18 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-cache@^0.2.0: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -5982,6 +6422,25 @@ meros@1.2.1: resolved "https://registry.yarnpkg.com/meros/-/meros-1.2.1.tgz#056f7a76e8571d0aaf3c7afcbe7eb6407ff7329e" integrity sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g== +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -6046,6 +6505,14 @@ minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" @@ -6116,6 +6583,23 @@ nanoid@^3.3.4: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + napi-build-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" @@ -6177,6 +6661,11 @@ next@^13.1.1: "@next/swc-win32-ia32-msvc" "13.1.1" "@next/swc-win32-x64-msvc" "13.1.1" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -6273,6 +6762,15 @@ object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -6291,6 +6789,13 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + object.assign@^4.1.2, object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" @@ -6327,6 +6832,13 @@ object.hasown@^1.1.0, object.hasown@^1.1.2: define-properties "^1.1.4" es-abstract "^1.20.4" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + object.values@^1.1.5, object.values@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" @@ -6515,6 +7027,29 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +patch-package@6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.2.tgz#71d170d650c65c26556f0d0fbbb48d92b6cc5f39" + integrity sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^1.2.1" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + path-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" @@ -6533,6 +7068,11 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -6597,6 +7137,11 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + postcss-value-parser@^4.0.2: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" @@ -7236,6 +7781,14 @@ regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.11: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + regexp-tree@^0.1.24, regexp-tree@~0.1.1: version "0.1.24" resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.24.tgz#3d6fa238450a4d66e5bc9c4c14bb720e2196829d" @@ -7286,6 +7839,16 @@ remove-trailing-spaces@^1.0.6: resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz#4354d22f3236374702f58ee373168f6d6887ada7" integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -7328,6 +7891,11 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + resolve.exports@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" @@ -7371,6 +7939,11 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -7381,6 +7954,13 @@ rfdc@^1.3.0: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -7421,6 +8001,13 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== + dependencies: + ret "~0.1.10" + safe-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" @@ -7464,11 +8051,18 @@ scuid@^1.1.0: resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@7.x, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -7500,6 +8094,16 @@ set-cookie-parser@^2.4.6: resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b" integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ== +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -7531,6 +8135,13 @@ sharp@^0.31.3: tar-fs "^2.1.1" tunnel-agent "^0.6.0" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -7538,6 +8149,11 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" @@ -7593,6 +8209,11 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -7629,11 +8250,52 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + source-map-support@0.5.13: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -7642,7 +8304,12 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.7: +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -7678,6 +8345,13 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + sponge-case@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" @@ -7697,6 +8371,14 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -7991,6 +8673,21 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -7998,6 +8695,16 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" @@ -8104,47 +8811,47 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -turbo-darwin-64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.6.3.tgz#fad7e078784b0fafc0b1f75ce9378828918595f5" - integrity sha512-QmDIX0Yh1wYQl0bUS0gGWwNxpJwrzZU2GIAYt3aOKoirWA2ecnyb3R6ludcS1znfNV2MfunP+l8E3ncxUHwtjA== +turbo-darwin-64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.7.1.tgz#057e24383bbe594e8d4c108dcd525a5210787c9d" + integrity sha512-H2txI1gkCQpav+5qGVxB4RzPTTqgDmzbXaJXbjYDR8cS0X/Oq5STea6fRTfumYR2x86Gr3co0V4fQfwILnfvYg== -turbo-darwin-arm64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.6.3.tgz#f0a32cae39e3fcd3da5e3129a94c18bb2e3ed6aa" - integrity sha512-75DXhFpwE7CinBbtxTxH08EcWrxYSPFow3NaeFwsG8aymkWXF+U2aukYHJA6I12n9/dGqf7yRXzkF0S/9UtdyQ== +turbo-darwin-arm64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.7.1.tgz#09a92b15d3dd40937ca62b473275eabb97dca2ea" + integrity sha512-T7yLTMAdnwfaF9H3uBizztLld1aK/gYiNubpl4HCbMsE/aYEbITtNx1dAFQnjRiPHS4dNYK4gIKc9nnAsnfkxg== -turbo-linux-64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.6.3.tgz#8ddc6ac55ef84641182fe5ff50647f1b355826b0" - integrity sha512-O9uc6J0yoRPWdPg9THRQi69K6E2iZ98cRHNvus05lZbcPzZTxJYkYGb5iagCmCW/pq6fL4T4oLWAd6evg2LGQA== +turbo-linux-64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.7.1.tgz#045b5590dd441c39b0e2aa13bac0a827ec317920" + integrity sha512-kQw+jEpEVUskfPy+7rMF5x6e9Za9AbdD9P7bSo1JuV+tZgUOaFc5iC9Zyj26qhc0Zzl4qZecZ9YccNbZKZ9yCQ== -turbo-linux-arm64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.6.3.tgz#846c1dc84d8dc741651906613c16acccba30428c" - integrity sha512-dCy667qqEtZIhulsRTe8hhWQNCJO0i20uHXv7KjLHuFZGCeMbWxB8rsneRoY+blf8+QNqGuXQJxak7ayjHLxiA== +turbo-linux-arm64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.7.1.tgz#27fd750fe50bddda96a25bce52207f57c5c5bb93" + integrity sha512-PLe0XBJ/YEmiQh+jDcmTRZlxVtkY0CerAu/AKE/c9hCnp6shYqG+peyyuCEzIssUCij2A5yhVd7SIOTQGDzFrQ== -turbo-windows-64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.6.3.tgz#89ac819fa76ad31d12fbfdeb3045bcebd0d308eb" - integrity sha512-lKRqwL3mrVF09b9KySSaOwetehmGknV9EcQTF7d2dxngGYYX1WXoQLjFP9YYH8ZV07oPm+RUOAKSCQuDuMNhiA== +turbo-windows-64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.7.1.tgz#eb721daa58202eaaa4f89e6085daa4a470ceda5a" + integrity sha512-70ndrkQomG4JlAAaflVL+Io1msItHiZUq/zf88Nk4z30QSqqC0Zl4rOpUPE3v1IYSO48bUabshySZa9/aTPHhw== -turbo-windows-arm64@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.6.3.tgz#977607c9a51f0b76076c8b158bafce06ce813070" - integrity sha512-BXY1sDPEA1DgPwuENvDCD8B7Hb0toscjus941WpL8CVd10hg9pk/MWn9CNgwDO5Q9ks0mw+liDv2EMnleEjeNA== +turbo-windows-arm64@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.7.1.tgz#a89476757ff3b4bcbace7a279cd9ceed4450cb70" + integrity sha512-344XY2SrugfHtIe06Vbi17yZ4SRkPvWghvO/gUgUkgSZN06oYj0SHN2+z8pnLkBTfgkt2zBm2cqFFpVFwa8F2A== -turbo@latest: - version "1.6.3" - resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.6.3.tgz#ec26cc8907c38a9fd6eb072fb10dad254733543e" - integrity sha512-FtfhJLmEEtHveGxW4Ye/QuY85AnZ2ZNVgkTBswoap7UMHB1+oI4diHPNyqrQLG4K1UFtCkjOlVoLsllUh/9QRw== +turbo@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.7.1.tgz#737198671c25f8941cf9cdcc5a5b3548374ff5ed" + integrity sha512-0ngDU5+2/wLuvTKpc2ZyDtO6aPeHTa6ASlQGySCx+lwSDiE4fCkRVvNINDtT1HgdO/bEo2CQkLoen/Qjf7wWiQ== optionalDependencies: - turbo-darwin-64 "1.6.3" - turbo-darwin-arm64 "1.6.3" - turbo-linux-64 "1.6.3" - turbo-linux-arm64 "1.6.3" - turbo-windows-64 "1.6.3" - turbo-windows-arm64 "1.6.3" + turbo-darwin-64 "1.7.1" + turbo-darwin-arm64 "1.7.1" + turbo-linux-64 "1.7.1" + turbo-linux-arm64 "1.7.1" + turbo-windows-64 "1.7.1" + turbo-windows-arm64 "1.7.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -8222,6 +8929,21 @@ undici@^5.12.0: dependencies: busboy "^1.6.0" +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" @@ -8234,6 +8956,14 @@ unixify@^1.0.0: dependencies: normalize-path "^2.1.1" +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + update-browserslist-db@^1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" @@ -8263,6 +8993,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + url-parse@^1.5.3: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" @@ -8281,6 +9016,11 @@ use-sync-external-store@^1.2.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -8461,6 +9201,13 @@ which-typed-array@^1.1.2, which-typed-array@^1.1.9: has-tostringtag "^1.0.0" is-typed-array "^1.1.10" +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"