@silexpert/core 1.3.37 → 1.3.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/resources/Authenticate.d.ts +6 -0
- package/dist/cjs/api/resources/Authenticate.d.ts.map +1 -1
- package/dist/cjs/api/resources/Authenticate.js +8 -0
- package/dist/cjs/api/resources/Authenticate.js.map +1 -1
- package/dist/cjs/api/resources/PaymentExpectation.d.ts +16 -1
- package/dist/cjs/api/resources/PaymentExpectation.d.ts.map +1 -1
- package/dist/cjs/api/resources/PaymentExpectation.js +20 -0
- package/dist/cjs/api/resources/PaymentExpectation.js.map +1 -1
- package/dist/cjs/api/resources/Rating.d.ts +2 -2
- package/dist/cjs/api/resources/Rating.d.ts.map +1 -1
- package/dist/cjs/api/resources/Rating.js.map +1 -1
- package/dist/cjs/api/resources/Revision.d.ts +3 -1
- package/dist/cjs/api/resources/Revision.d.ts.map +1 -1
- package/dist/cjs/api/resources/Revision.js.map +1 -1
- package/dist/cjs/api/resources/Society.d.ts +2 -1
- package/dist/cjs/api/resources/Society.d.ts.map +1 -1
- package/dist/cjs/api/resources/Society.js +3 -0
- package/dist/cjs/api/resources/Society.js.map +1 -1
- package/dist/cjs/api/resources/Subscription.d.ts +23 -6
- package/dist/cjs/api/resources/Subscription.d.ts.map +1 -1
- package/dist/cjs/api/resources/Subscription.js +28 -8
- package/dist/cjs/api/resources/Subscription.js.map +1 -1
- package/dist/cjs/api/resources/prestation.d.ts +3 -1
- package/dist/cjs/api/resources/prestation.d.ts.map +1 -1
- package/dist/cjs/api/resources/prestation.js.map +1 -1
- package/dist/cjs/types/Enum/Feature.d.ts +41 -0
- package/dist/cjs/types/Enum/Feature.d.ts.map +1 -0
- package/dist/cjs/types/Enum/Feature.js +65 -0
- package/dist/cjs/types/Enum/Feature.js.map +1 -0
- package/dist/cjs/types/Enum/PrestationType.d.ts +13 -1
- package/dist/cjs/types/Enum/PrestationType.d.ts.map +1 -1
- package/dist/cjs/types/Enum/PrestationType.js +183 -1
- package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/cjs/types/Enum/PriceGridClementine.d.ts +27 -0
- package/dist/cjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
- package/dist/cjs/types/Enum/PriceGridClementine.js +88 -28
- package/dist/cjs/types/Enum/PriceGridClementine.js.map +1 -1
- package/dist/cjs/types/Enum/PriceGridLegalstart.d.ts +4 -4
- package/dist/cjs/types/Enum/PriceGridLegalstart.js +1 -1
- package/dist/cjs/types/Enum/PriceGridLegalstart.js.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js +118 -0
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2031.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2031.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2031.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2035.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2035.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2065.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2065.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2065.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2069RCI.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2069RCI.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2069RCI.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2571.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2571.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2571.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2572.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2572.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2572.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.js.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +0 -13
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.d.ts +1 -0
- package/dist/cjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.js +9 -3
- package/dist/cjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.js.map +1 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.d.ts +3 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.js +15 -1
- package/dist/cjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.js.map +1 -1
- package/dist/cjs/types/Interface/api/society/State.d.ts +7 -0
- package/dist/cjs/types/Interface/api/society/State.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/society/State.js.map +1 -1
- package/dist/cjs/types/Interface/api/stripe/Create.d.ts +22 -1
- package/dist/cjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/stripe/Create.js +74 -3
- package/dist/cjs/types/Interface/api/stripe/Create.js.map +1 -1
- package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts +1 -2
- package/dist/cjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/stripe/QueryStripe.js +5 -8
- package/dist/cjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPayment.d.ts +2 -0
- package/dist/cjs/types/Interface/models/IPayment.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPayment.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPaymentExpectation.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IPaymentExpectation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPaymentExpectation.js.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.d.ts +2 -0
- package/dist/cjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/brands.js +1 -1
- package/dist/cjs/utils/brands.js.map +1 -1
- package/dist/cjs/utils/prestation.d.ts +2 -1
- package/dist/cjs/utils/prestation.d.ts.map +1 -1
- package/dist/cjs/utils/prestation.js +11 -1
- package/dist/cjs/utils/prestation.js.map +1 -1
- package/dist/mjs/api/resources/Authenticate.d.ts +6 -0
- package/dist/mjs/api/resources/Authenticate.d.ts.map +1 -1
- package/dist/mjs/api/resources/Authenticate.js +6 -0
- package/dist/mjs/api/resources/Authenticate.js.map +1 -1
- package/dist/mjs/api/resources/PaymentExpectation.d.ts +16 -1
- package/dist/mjs/api/resources/PaymentExpectation.d.ts.map +1 -1
- package/dist/mjs/api/resources/PaymentExpectation.js +20 -0
- package/dist/mjs/api/resources/PaymentExpectation.js.map +1 -1
- package/dist/mjs/api/resources/Rating.d.ts +2 -2
- package/dist/mjs/api/resources/Rating.d.ts.map +1 -1
- package/dist/mjs/api/resources/Rating.js.map +1 -1
- package/dist/mjs/api/resources/Revision.d.ts +3 -1
- package/dist/mjs/api/resources/Revision.d.ts.map +1 -1
- package/dist/mjs/api/resources/Revision.js.map +1 -1
- package/dist/mjs/api/resources/Society.d.ts +2 -1
- package/dist/mjs/api/resources/Society.d.ts.map +1 -1
- package/dist/mjs/api/resources/Society.js +3 -0
- package/dist/mjs/api/resources/Society.js.map +1 -1
- package/dist/mjs/api/resources/Subscription.d.ts +23 -6
- package/dist/mjs/api/resources/Subscription.d.ts.map +1 -1
- package/dist/mjs/api/resources/Subscription.js +28 -8
- package/dist/mjs/api/resources/Subscription.js.map +1 -1
- package/dist/mjs/api/resources/prestation.d.ts +3 -1
- package/dist/mjs/api/resources/prestation.d.ts.map +1 -1
- package/dist/mjs/api/resources/prestation.js.map +1 -1
- package/dist/mjs/types/Enum/Feature.d.ts +41 -0
- package/dist/mjs/types/Enum/Feature.d.ts.map +1 -0
- package/dist/mjs/types/Enum/Feature.js +62 -0
- package/dist/mjs/types/Enum/Feature.js.map +1 -0
- package/dist/mjs/types/Enum/PrestationType.d.ts +13 -1
- package/dist/mjs/types/Enum/PrestationType.d.ts.map +1 -1
- package/dist/mjs/types/Enum/PrestationType.js +182 -0
- package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/mjs/types/Enum/PriceGridClementine.d.ts +27 -0
- package/dist/mjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
- package/dist/mjs/types/Enum/PriceGridClementine.js +88 -28
- package/dist/mjs/types/Enum/PriceGridClementine.js.map +1 -1
- package/dist/mjs/types/Enum/PriceGridLegalstart.d.ts +4 -4
- package/dist/mjs/types/Enum/PriceGridLegalstart.js +1 -1
- package/dist/mjs/types/Enum/PriceGridLegalstart.js.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js +119 -1
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2031.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2031.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2031.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2035.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2035.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2035.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2065.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2065.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2065.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2069RCI.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2069RCI.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2069RCI.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2571.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2571.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2571.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2572.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2572.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2572.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.js.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +0 -13
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/mjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.d.ts +1 -0
- package/dist/mjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.js +11 -4
- package/dist/mjs/types/Interface/api/paymentExpectation/CreatePaymentExpecation.js.map +1 -1
- package/dist/mjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.d.ts +3 -1
- package/dist/mjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.js +18 -2
- package/dist/mjs/types/Interface/api/paymentExpectation/QueryPaymentExpectation.js.map +1 -1
- package/dist/mjs/types/Interface/api/society/State.d.ts +7 -0
- package/dist/mjs/types/Interface/api/society/State.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/society/State.js.map +1 -1
- package/dist/mjs/types/Interface/api/stripe/Create.d.ts +22 -1
- package/dist/mjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/stripe/Create.js +82 -3
- package/dist/mjs/types/Interface/api/stripe/Create.js.map +1 -1
- package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts +1 -2
- package/dist/mjs/types/Interface/api/stripe/QueryStripe.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/stripe/QueryStripe.js +4 -8
- package/dist/mjs/types/Interface/api/stripe/QueryStripe.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPayment.d.ts +2 -0
- package/dist/mjs/types/Interface/models/IPayment.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPayment.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPaymentExpectation.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IPaymentExpectation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPaymentExpectation.js.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.d.ts +2 -0
- package/dist/mjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/mjs/types/index.d.ts +1 -1
- package/dist/mjs/types/index.d.ts.map +1 -1
- package/dist/mjs/types/index.js +1 -1
- package/dist/mjs/types/index.js.map +1 -1
- package/dist/mjs/utils/brands.js +1 -1
- package/dist/mjs/utils/brands.js.map +1 -1
- package/dist/mjs/utils/prestation.d.ts +2 -1
- package/dist/mjs/utils/prestation.d.ts.map +1 -1
- package/dist/mjs/utils/prestation.js +11 -2
- package/dist/mjs/utils/prestation.js.map +1 -1
- package/package.json +2 -2
- package/ts/api/resources/Authenticate.ts +7 -0
- package/ts/api/resources/PaymentExpectation.ts +27 -0
- package/ts/api/resources/Rating.ts +1 -2
- package/ts/api/resources/Revision.ts +1 -1
- package/ts/api/resources/Society.ts +5 -0
- package/ts/api/resources/Subscription.ts +35 -18
- package/ts/api/resources/prestation.ts +1 -1
- package/ts/types/Enum/Feature.ts +68 -0
- package/ts/types/Enum/PrestationType.ts +186 -0
- package/ts/types/Enum/PriceGridClementine.ts +88 -28
- package/ts/types/Enum/PriceGridLegalstart.ts +1 -1
- package/ts/types/Enum/SalesContractBrandClementine.ts +119 -1
- package/ts/types/Interface/api/cerfa/2031.ts +1 -0
- package/ts/types/Interface/api/cerfa/2035.ts +6 -1
- package/ts/types/Interface/api/cerfa/2065.ts +1 -0
- package/ts/types/Interface/api/cerfa/2069RCI.ts +1 -0
- package/ts/types/Interface/api/cerfa/2571.ts +1 -0
- package/ts/types/Interface/api/cerfa/2572.ts +1 -0
- package/ts/types/Interface/api/cerfa/2573.ts +1 -0
- package/ts/types/Interface/api/config/ConfigType.ts +0 -16
- package/ts/types/Interface/api/paymentExpectation/CreatePaymentExpecation.ts +9 -4
- package/ts/types/Interface/api/paymentExpectation/QueryPaymentExpectation.ts +15 -3
- package/ts/types/Interface/api/society/State.ts +8 -0
- package/ts/types/Interface/api/stripe/Create.ts +59 -4
- package/ts/types/Interface/api/stripe/QueryStripe.ts +3 -5
- package/ts/types/Interface/models/IPayment.ts +2 -0
- package/ts/types/Interface/models/IPaymentExpectation.ts +1 -0
- package/ts/types/Interface/models/IRegistration.ts +2 -0
- package/ts/types/Interface/models/IUser.ts +1 -0
- package/ts/types/index.ts +1 -1
- package/ts/utils/brands.ts +1 -1
- package/ts/utils/prestation.ts +15 -1
- package/dist/cjs/types/Interface/api/stripe/ReadStripe.d.ts +0 -5
- package/dist/cjs/types/Interface/api/stripe/ReadStripe.d.ts.map +0 -1
- package/dist/cjs/types/Interface/api/stripe/ReadStripe.js +0 -3
- package/dist/cjs/types/Interface/api/stripe/ReadStripe.js.map +0 -1
- package/dist/mjs/types/Interface/api/stripe/ReadStripe.d.ts +0 -5
- package/dist/mjs/types/Interface/api/stripe/ReadStripe.d.ts.map +0 -1
- package/dist/mjs/types/Interface/api/stripe/ReadStripe.js +0 -2
- package/dist/mjs/types/Interface/api/stripe/ReadStripe.js.map +0 -1
- package/ts/types/Interface/api/stripe/ReadStripe.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../../../ts/utils/brands.ts"],"names":[],"mappings":"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","sourcesContent":["import { get as getLodash } from 'lodash';\nimport { BrandClementine } from '../types/Enum/BrandClementine';\nimport { BrandLegalstart } from '../types/Enum/BrandLegalstart';\nimport { BrandComptalib } from '../types/Enum/BrandComptalib';\nimport { BrandPourcentage } from '../types/Enum/BrandPourcentage';\nimport { BrandStatutsExpress } from '../types/Enum/BrandStatutsExpress';\nimport { BrandAnytime } from '../types/Enum/BrandAnytime';\nimport { SaleContract } from '..';\n\nexport type Brand = {\n idTypeBrand: number;\n name: string;\n commercialName?: string;\n urlS3?: string;\n logoS3?: string;\n lightLogoS3?: string;\n privacyPolicy?: string;\n recaptcha?: { secretKey: string };\n urlApi1?: string;\n urlClient?: string;\n urlApp?: string;\n colors: {\n primary: string;\n primary50?: string;\n primary100?: string;\n primary300?: string;\n primary500?: string;\n primary700?: string;\n footerColor?: string;\n sendContract?: string;\n };\n listMails?: {\n administratif?: string;\n app?: string;\n bonjour?: string;\n contact: string;\n facturation?: string;\n feedback?: string;\n gestion?: string;\n juridique?: string;\n informatique?: string;\n msd?: string;\n noreply?: string;\n qualite?: string;\n paiement?: string;\n resiliation?: string;\n rh?: string;\n satisfaction?: string;\n social?: string;\n support?: string;\n tva?: string;\n wb?: string;\n recovery?: string;\n };\n listPhones?: {\n contact: string;\n qualite: string;\n social?: string;\n juridique: string;\n };\n companyInformation?: {\n ape: string;\n bp: string;\n city: string;\n montantCapital: string;\n nomRaisonSociale: string;\n ECName?: string;\n ECOrderCity: string;\n ECDepartment?: string;\n ECPosition?: string;\n phone: string;\n postalAddress: string;\n rcs: string;\n statut: string;\n zipCode: string;\n };\n recaptchaSecretKey?: string;\n idPrestationsListHidden?: number[];\n idPrestationsListAuthorized?: number[];\n logoUrl?: string;\n miniLogoUrl?: string;\n hiddenPages?: [];\n urlApi2?: string;\n urlExpert?: string;\n bank?: {\n IBAN: string;\n BIC: string;\n Name: string;\n Id: string;\n codeEtablissement?: string;\n codeGuichet?: string;\n numeroCompte?: string;\n cleRib?: string;\n ribIdFile?: number;\n };\n internalInvoicing?: {\n lastUsedNumber?: number;\n statut: string;\n name: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n montantCapital: string;\n siret: string;\n ape: string;\n rcs: string;\n phone: string;\n vatIntracom: string;\n email: string;\n };\n webmail?: {\n domains: string[];\n };\n offices?: {\n LAXOU?: {\n id: number;\n name: string;\n };\n PARIS?: {\n id: number;\n name: string;\n };\n MARSEILLE?: {\n id: number;\n name: string;\n };\n EPINAL?: {\n id: number;\n name: string;\n };\n HOME_OFFICE?: {\n id: number;\n name: string;\n };\n NICE?: {\n id: number;\n name: string;\n };\n };\n salesContractConfig?: SaleContract[];\n caarl?: {\n subscriptionNumber?: {\n sandbox?: string;\n production?: string;\n };\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst allBrands = ['Legalstart', 'Comptalib', 'Clementine', 'Pourcentage', 'StatutsExpress', 'Anytime'] as const;\ntype BrandList = (typeof allBrands)[number];\n\nconst listEnvEnum: {\n BrandClementine: Brand[];\n BrandLegalstart: Brand[];\n BrandComptalib: Brand[];\n BrandPourcentage: Brand[];\n BrandStatutsExpress: Brand[];\n BrandAnytime: Brand[];\n} = {\n BrandClementine,\n BrandLegalstart,\n BrandComptalib,\n BrandPourcentage,\n BrandStatutsExpress,\n BrandAnytime,\n};\n\ntype GetBrandConfigParam = {\n idTypeBrand?: number;\n objectWaited?: string;\n nodeEnv?: string;\n};\n\ntype GetBrandParam = {\n idTypeBrand?: number;\n nodeEnv?: string;\n};\n\nconst getBrandNameByNodeEnv = (nodeEnv?: string): BrandList => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n if (env) {\n if (\n env.indexOf('legalstart') > -1 ||\n env.indexOf('Legalstart') > -1 ||\n env.indexOf('ComptaStart') > -1 ||\n env.indexOf('comptaStart') > -1 ||\n env.indexOf('Comptastart') > -1 ||\n env.indexOf('comptastart') > -1\n ) {\n return 'Legalstart';\n }\n if (env.indexOf('comptalib') > -1 || env.indexOf('Comptalib') > -1) {\n return 'Comptalib';\n }\n if (env.indexOf('pourcentage') > -1 || env.indexOf('Pourcentage') > -1) {\n return 'Pourcentage';\n }\n if (env.indexOf('statuts') > -1 || env.indexOf('Statuts') > -1) {\n return 'StatutsExpress';\n }\n\n if (env.indexOf('anytime') > -1 || env.indexOf('Anytime') > -1) {\n return 'Anytime';\n }\n }\n return 'Clementine';\n};\n\nconst isItThisEnv = (brandList: BrandList, nodeEnv?: string): boolean => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n return getBrandNameByNodeEnv(env) === brandList;\n};\n\nconst getAllBrandByNodeEnv = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n const brand = currentConfigFile;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return brand;\n};\n\nfunction getBrand(params?: GetBrandParam): Brand {\n let brand: Brand | undefined;\n\n const { nodeEnv, idTypeBrand } = params ?? {};\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n return brand;\n}\n\n/**\n * @deprecated use getBrand()\n */\nconst getBrandConfig = (params: GetBrandConfigParam): Brand => {\n const { idTypeBrand = null, objectWaited = null, nodeEnv } = params;\n let brand;\n\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n // Récupération de la brand via idTypeBrand\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n // else if (idSociety) {\n // Récupération de la brand via l'idSociety -> impossible directement depuis le core (pas d'accès au resources, ni au token pour l'appel via fetch)\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n if (objectWaited) {\n // Si on attend un attribut particulier de la brand, on le parcourt\n let objectToReturn = getLodash(brand, objectWaited);\n // Si aucun attribut trouvé, on renvoit celui de Clementine par défaut\n if (!objectToReturn) {\n const brandDefault = currentConfigFile.find((b: Brand) => b.name === currentEnvName);\n objectToReturn = getLodash(brandDefault, objectWaited);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return objectToReturn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return brand;\n};\n\nconst getBrandByEmail = (\n email: string,\n): 'Legalstart' | 'Comptalib' | 'Clementine' | 'Pourcentage' | 'Lecomptablefrancais' | 'Statuts' | null => {\n if (email.indexOf('legalstart.fr') > -1 || email.indexOf('comptastartbyclementine.fr') > -1) return 'Legalstart';\n if (email.indexOf('statuts-express.fr') > -1) return 'Statuts';\n if (email.indexOf('comptalib.com') > -1) return 'Comptalib';\n if (email.indexOf('pourcentage.fr') > -1) return 'Pourcentage';\n if (email.indexOf('compta-clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('lecomptablefrancais.fr') > -1) return 'Lecomptablefrancais';\n return null;\n};\n\nconst getSubBrandList = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n return currentConfigFile;\n};\n\nexport {\n getBrandConfig,\n isItThisEnv,\n getAllBrandByNodeEnv,\n getBrandNameByNodeEnv,\n getBrandByEmail,\n getSubBrandList,\n getBrand,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"brands.js","sourceRoot":"","sources":["../../../ts/utils/brands.ts"],"names":[],"mappings":"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","sourcesContent":["import { get as getLodash } from 'lodash';\nimport { BrandClementine } from '../types/Enum/BrandClementine';\nimport { BrandLegalstart } from '../types/Enum/BrandLegalstart';\nimport { BrandComptalib } from '../types/Enum/BrandComptalib';\nimport { BrandPourcentage } from '../types/Enum/BrandPourcentage';\nimport { BrandStatutsExpress } from '../types/Enum/BrandStatutsExpress';\nimport { BrandAnytime } from '../types/Enum/BrandAnytime';\nimport { SaleContract } from '..';\n\nexport type Brand = {\n idTypeBrand: number;\n name: string;\n commercialName?: string;\n urlS3?: string;\n logoS3?: string;\n lightLogoS3?: string;\n privacyPolicy?: string;\n recaptcha?: { secretKey: string };\n urlApi1?: string;\n urlClient?: string;\n urlApp?: string;\n colors: {\n primary: string;\n primary50?: string;\n primary100?: string;\n primary300?: string;\n primary500?: string;\n primary700?: string;\n footerColor?: string;\n sendContract?: string;\n };\n listMails?: {\n administratif?: string;\n app?: string;\n bonjour?: string;\n contact: string;\n facturation?: string;\n feedback?: string;\n gestion?: string;\n juridique?: string;\n informatique?: string;\n msd?: string;\n noreply?: string;\n qualite?: string;\n paiement?: string;\n resiliation?: string;\n rh?: string;\n satisfaction?: string;\n social?: string;\n support?: string;\n tva?: string;\n wb?: string;\n recovery?: string;\n };\n listPhones?: {\n contact: string;\n qualite: string;\n social?: string;\n juridique: string;\n };\n companyInformation?: {\n ape: string;\n bp: string;\n city: string;\n montantCapital: string;\n nomRaisonSociale: string;\n ECName?: string;\n ECOrderCity: string;\n ECDepartment?: string;\n ECPosition?: string;\n phone: string;\n postalAddress: string;\n rcs: string;\n statut: string;\n zipCode: string;\n };\n recaptchaSecretKey?: string;\n idPrestationsListHidden?: number[];\n idPrestationsListAuthorized?: number[];\n logoUrl?: string;\n miniLogoUrl?: string;\n hiddenPages?: [];\n urlApi2?: string;\n urlExpert?: string;\n bank?: {\n IBAN: string;\n BIC: string;\n Name: string;\n Id: string;\n codeEtablissement?: string;\n codeGuichet?: string;\n numeroCompte?: string;\n cleRib?: string;\n ribIdFile?: number;\n };\n internalInvoicing?: {\n lastUsedNumber?: number;\n statut: string;\n name: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n montantCapital: string;\n siret: string;\n ape: string;\n rcs: string;\n phone: string;\n vatIntracom: string;\n email: string;\n };\n webmail?: {\n domains: string[];\n };\n offices?: {\n LAXOU?: {\n id: number;\n name: string;\n };\n PARIS?: {\n id: number;\n name: string;\n };\n MARSEILLE?: {\n id: number;\n name: string;\n };\n EPINAL?: {\n id: number;\n name: string;\n };\n HOME_OFFICE?: {\n id: number;\n name: string;\n };\n NICE?: {\n id: number;\n name: string;\n };\n };\n salesContractConfig?: SaleContract[];\n caarl?: {\n subscriptionNumber?: {\n sandbox?: string;\n production?: string;\n };\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst allBrands = ['Legalstart', 'Comptalib', 'Clementine', 'Pourcentage', 'StatutsExpress', 'Anytime'] as const;\ntype BrandList = (typeof allBrands)[number];\n\nconst listEnvEnum: {\n BrandClementine: Brand[];\n BrandLegalstart: Brand[];\n BrandComptalib: Brand[];\n BrandPourcentage: Brand[];\n BrandStatutsExpress: Brand[];\n BrandAnytime: Brand[];\n} = {\n BrandClementine,\n BrandLegalstart,\n BrandComptalib,\n BrandPourcentage,\n BrandStatutsExpress,\n BrandAnytime,\n};\n\ntype GetBrandConfigParam = {\n idTypeBrand?: number;\n objectWaited?: string;\n nodeEnv?: string;\n};\n\ntype GetBrandParam = {\n idTypeBrand?: number;\n nodeEnv?: string;\n};\n\nconst getBrandNameByNodeEnv = (nodeEnv?: string): BrandList => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n if (env && env !== 'dev') {\n if (\n env.indexOf('legalstart') > -1 ||\n env.indexOf('Legalstart') > -1 ||\n env.indexOf('ComptaStart') > -1 ||\n env.indexOf('comptaStart') > -1 ||\n env.indexOf('Comptastart') > -1 ||\n env.indexOf('comptastart') > -1\n ) {\n return 'Legalstart';\n }\n if (env.indexOf('comptalib') > -1 || env.indexOf('Comptalib') > -1) {\n return 'Comptalib';\n }\n if (env.indexOf('pourcentage') > -1 || env.indexOf('Pourcentage') > -1) {\n return 'Pourcentage';\n }\n if (env.indexOf('statuts') > -1 || env.indexOf('Statuts') > -1) {\n return 'StatutsExpress';\n }\n\n if (env.indexOf('anytime') > -1 || env.indexOf('Anytime') > -1) {\n return 'Anytime';\n }\n }\n return 'Clementine';\n};\n\nconst isItThisEnv = (brandList: BrandList, nodeEnv?: string): boolean => {\n const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;\n return getBrandNameByNodeEnv(env) === brandList;\n};\n\nconst getAllBrandByNodeEnv = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n const brand = currentConfigFile;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return brand;\n};\n\nfunction getBrand(params?: GetBrandParam): Brand {\n let brand: Brand | undefined;\n\n const { nodeEnv, idTypeBrand } = params ?? {};\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n return brand;\n}\n\n/**\n * @deprecated use getBrand()\n */\nconst getBrandConfig = (params: GetBrandConfigParam): Brand => {\n const { idTypeBrand = null, objectWaited = null, nodeEnv } = params;\n let brand;\n\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n if (idTypeBrand) {\n // Récupération de la brand via idTypeBrand\n brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);\n }\n // else if (idSociety) {\n // Récupération de la brand via l'idSociety -> impossible directement depuis le core (pas d'accès au resources, ni au token pour l'appel via fetch)\n\n if (!brand) {\n // Si aucune brand trouvée, on passe par défaut la première brand de la liste\n [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);\n }\n\n if (objectWaited) {\n // Si on attend un attribut particulier de la brand, on le parcourt\n let objectToReturn = getLodash(brand, objectWaited);\n // Si aucun attribut trouvé, on renvoit celui de Clementine par défaut\n if (!objectToReturn) {\n const brandDefault = currentConfigFile.find((b: Brand) => b.name === currentEnvName);\n objectToReturn = getLodash(brandDefault, objectWaited);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return objectToReturn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return brand;\n};\n\nconst getBrandByEmail = (\n email: string,\n): 'Legalstart' | 'Comptalib' | 'Clementine' | 'Pourcentage' | 'Lecomptablefrancais' | 'Statuts' | null => {\n if (email.indexOf('legalstart.fr') > -1 || email.indexOf('comptastartbyclementine.fr') > -1) return 'Legalstart';\n if (email.indexOf('statuts-express.fr') > -1) return 'Statuts';\n if (email.indexOf('comptalib.com') > -1) return 'Comptalib';\n if (email.indexOf('pourcentage.fr') > -1) return 'Pourcentage';\n if (email.indexOf('compta-clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('clementine.fr') > -1) return 'Clementine';\n if (email.indexOf('lecomptablefrancais.fr') > -1) return 'Lecomptablefrancais';\n return null;\n};\n\nconst getSubBrandList = (nodeEnv?: string): Array<Brand> => {\n const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;\n const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);\n\n // @ts-ignore\n const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];\n\n return currentConfigFile;\n};\n\nexport {\n getBrandConfig,\n isItThisEnv,\n getAllBrandByNodeEnv,\n getBrandNameByNodeEnv,\n getBrandByEmail,\n getSubBrandList,\n getBrand,\n};\n"]}
|
|
@@ -104,5 +104,6 @@ declare const calculatePrestationPrice: (idPrestationList: number, prestationLis
|
|
|
104
104
|
};
|
|
105
105
|
declare const getPrestationOptions: (idPrestationList: number) => PrestationOptionType[];
|
|
106
106
|
declare const isAbleToUpdatePrice: (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean) => boolean;
|
|
107
|
-
|
|
107
|
+
declare const idPrestationListToOfferType: (idPrestationList: number) => "software" | "expertise";
|
|
108
|
+
export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, getApplicationFeesAmount, idPrestationListToOfferType, };
|
|
108
109
|
//# sourceMappingURL=prestation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAInE,OAAO,
|
|
1
|
+
{"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Vat } from '../types/Enum/Vat';
|
|
2
2
|
import { getTaxesIncludedAmount } from './vat/utils';
|
|
3
3
|
import { intersection } from './noLodash';
|
|
4
|
-
import { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';
|
|
4
|
+
import { ClementineSubscriptionAccountancySoftwarePrestations, PrestationDetail, PrestationType, } from '../types/Enum/PrestationType';
|
|
5
5
|
import { LegalFormTypeEnum } from '../types/Enum/LegalForm';
|
|
6
6
|
import { PrestationOption } from '../types/Enum/PrestationOption';
|
|
7
7
|
import { PriceGridClementine } from '../types/Enum/PriceGridClementine';
|
|
@@ -242,6 +242,10 @@ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, Nbr
|
|
|
242
242
|
PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,
|
|
243
243
|
PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,
|
|
244
244
|
PrestationType.STATUTS_OPTION_2,
|
|
245
|
+
PrestationType.EXPERTISE,
|
|
246
|
+
PrestationType.SUPPORT,
|
|
247
|
+
PrestationType.PREMIUM,
|
|
248
|
+
PrestationType.CUSTOM_MADE,
|
|
245
249
|
].includes(idPrestationList)) {
|
|
246
250
|
let exerciceNbr = 0;
|
|
247
251
|
if (exerciceList.length)
|
|
@@ -328,5 +332,10 @@ const isAbleToUpdatePrice = (idTypeBrand, idPrestationList, turnover, pastBalanc
|
|
|
328
332
|
}
|
|
329
333
|
return false;
|
|
330
334
|
};
|
|
331
|
-
|
|
335
|
+
const idPrestationListToOfferType = (idPrestationList) => {
|
|
336
|
+
if (ClementineSubscriptionAccountancySoftwarePrestations.includes(idPrestationList))
|
|
337
|
+
return 'software';
|
|
338
|
+
return 'expertise';
|
|
339
|
+
};
|
|
340
|
+
export { isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isFromStatutsExpress, isExpress, isConsultingHour, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice, calculatePrestationPriceWithPriceGrid, getApplicationFeesAmount, idPrestationListToOfferType, };
|
|
332
341
|
//# sourceMappingURL=prestation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IExercice, IPrestation, IPrestationList } from '../types';\nimport { Vat } from '../types/Enum/Vat';\nimport { getTaxesIncludedAmount } from './vat/utils';\nimport { intersection } from './noLodash';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { PriceGridStatutsExpress } from '../types/Enum/PriceGridStatutsExpress';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\nimport { exerciceNumber } from './exercice';\n\ntype priceGridBrand = {\n idTypeBrand: number;\n price: priceGrid[];\n};\n\ntype priceGrid = {\n idPrestationList: number[];\n priceWithTaxesIncluded: boolean;\n applicationCost: number;\n monthlyNbr?: monthlyNbr[];\n exerciceNbr?: exerciceNbr[];\n turnoverCreatedYear?: turnover[];\n turnoverPastYear?: turnover[];\n turnoverMonthly?: turnover[];\n turnoverYearly?: turnover[];\n employee?: employee[];\n partner?: employee[];\n properties?: propertie[];\n vatRegimeMonthly?: vatRegime[];\n vatRegimeYearly?: vatRegime[];\n taxSystem?: taxSystem[];\n legalForm?: legalForm[];\n employeeByLegalForm?: employeeByLegalForm[];\n};\n\ntype monthlyNbr = {\n minimum: number;\n maximum: number;\n value: number;\n closingType: number[];\n};\n\ntype exerciceNbr = {\n minimum: number;\n maximum: number;\n price: number;\n};\n\ntype turnover = {\n turnoverValue: number;\n price: number;\n};\n\ntype legalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype employee = {\n amountMinimum: number;\n amountMaximum: number;\n price: number;\n};\n\ntype employeeByLegalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype propertie = {\n amount: number;\n price: number;\n};\n\ntype vatRegime = {\n type: number;\n price: number;\n};\n\ntype taxSystem = {\n id: number;\n price: number;\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean =>\n [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL,\n ].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique: boolean, isCatalog: boolean, idPrestationList: number): boolean =>\n idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean =>\n idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden: boolean, isCatalog: boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL),\n ).length;\n\nconst isOnlySocial = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [\n PrestationType.CREATION_SOCIETE,\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ]).length;\n\nconst isFromStatutsExpress = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ].includes(idPL),\n ).length;\n\nconst isExpress = (idPrestationList: number): boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr: any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst isConsultingHour = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.CONSULTING_HOUR]).length;\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter(\n (prestation) => prestation.paid && prestation.signed && prestation.terminationList === null,\n );\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType))\n return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nexport const calculateMonthlyAmount = (params: {\n monthlyPrice: number;\n monthNumber: number;\n monthOffer: number;\n idVatForInternalInvoicing?: number | null;\n returnTaxesIncludedValue?: boolean;\n}): number => {\n const { monthlyPrice, monthNumber, monthOffer, idVatForInternalInvoicing, returnTaxesIncludedValue = true } = params;\n\n if (!idVatForInternalInvoicing && returnTaxesIncludedValue)\n throw new Error('Taux de TVA manquant pour calculer le montant TTC');\n\n if (!idVatForInternalInvoicing || !returnTaxesIncludedValue) return monthlyPrice * (monthNumber - monthOffer);\n\n return (\n monthlyPrice *\n (monthNumber - monthOffer) *\n (1 + Object.values(Vat).find((el) => el.id === idVatForInternalInvoicing).value / 100)\n );\n};\n\nexport const getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine,\n PriceGridPourcentage,\n PriceGridLegalstart,\n PriceGridStatutsExpress,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile)\n currentBrandPriceGrid = currentPriceGridFile.find(\n (priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand,\n );\n if (currentBrandPriceGrid)\n currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) =>\n price.idPrestationList.includes(idPrestationList),\n );\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (\n idPrestationList: number,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n isYearly: boolean /* Prestation annuel ou mensuel */,\n totalMonth: number /* Nbr de moiis offer */,\n idTaxSystem: number,\n idLegalForm: number,\n exerciceNbr: number,\n balanceSheetOffered: number = 0 /* montant du bilan offer */,\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n} => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n\n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find((regime) => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find((regime) => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem)\n taxSystemPrice = currentPriceGrid.taxSystem?.find((tax) => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n /* Récupératioin des prix mensuels */\n if (currentPriceGrid.turnoverMonthly && !isYearly)\n monthlyPrice = currentPriceGrid.turnoverMonthly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties)\n monthlyPrice = currentPriceGrid.properties?.find((property) => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) {\n monthlyPrice = currentPriceGrid.employee?.find(\n (emp) => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber,\n )?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n } else if (currentPriceGrid.employeeByLegalForm) {\n monthlyPrice = currentPriceGrid.employeeByLegalForm?.find((emp) => emp.idLegalForm === idLegalForm)?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n /* Récupération des prix annuels */\n } else if (currentPriceGrid.turnoverYearly && isYearly)\n yearlyPrice = currentPriceGrid.turnoverYearly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear)\n yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear)\n yearlyPrice = currentPriceGrid.turnoverPastYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner)\n yearlyPrice = currentPriceGrid.partner?.find(\n (part) => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber,\n )?.price;\n else if (currentPriceGrid.legalForm)\n yearlyPrice = currentPriceGrid.legalForm?.find((form) => form.idLegalForm === idLegalForm)?.price;\n else if (currentPriceGrid.exerciceNbr)\n yearlyPrice = currentPriceGrid.exerciceNbr?.find(\n (el) => el.minimum <= exerciceNbr && exerciceNbr <= el.maximum,\n )?.price;\n /* Calcul du prix mensuel final */\n finalMonthlyPrice =\n (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n let monthlyNbrList: monthlyNbr[] | undefined;\n let monthlyNbr: monthlyNbr | undefined;\n if (currentPriceGrid.monthlyNbr) {\n monthlyNbrList = currentPriceGrid.monthlyNbr?.filter((el) =>\n el.closingType.includes(cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS),\n );\n if (monthlyNbrList) {\n monthlyNbr = monthlyNbrList.find((el) => el.minimum <= monthNbr && monthNbr <= el.maximum);\n if (monthlyNbr) {\n monthNbr = monthlyNbr.value;\n }\n }\n }\n /* Gestion des offres, mois offer */\n if (totalMonth > 0) {\n if (monthlyNbr && monthNbr - totalMonth < monthlyNbr?.minimum) canBeCreated = false;\n monthNbr = monthNbr - totalMonth;\n recalculateMonthly = true;\n }\n\n /* Calcul du nombre de mois soustraient */\n reduceMonth = monthNbr === NbrMonth - totalMonth ? totalMonth : 0;\n\n /* Gestion des offres, bilan offer */\n if (balanceSheetOffered > 0) {\n yearlyPrice = undefined;\n recalculateMonthly = false;\n finalMonthlyPrice = balanceSheetOffered / monthNbr;\n }\n\n /* Prix Final */\n totalPrestation = yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr;\n }\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr,\n price: yearlyPrice\n ? yearlyPrice\n : recalculateMonthly\n ? totalPrestation / monthNbr\n : finalMonthlyPrice\n ? finalMonthlyPrice\n : 0,\n };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList?.price || 0;\n\n return totalPrestation;\n};\n\n/**\n * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)\n * @param idLegalForm\n * @param idVat\n * @returns amount of application fees, without taxes included\n */\nconst getApplicationFeesAmount = (idLegalForm: number, idVat?: number) => {\n let applicationFeesAmount = 50;\n if (idLegalForm === LegalFormTypeEnum.SCI) applicationFeesAmount = 150;\n\n //Sans tva, on envoie le montant HT\n if (!idVat) return applicationFeesAmount;\n\n //Avec tva, on envoie le montant TTC\n return getTaxesIncludedAmount(applicationFeesAmount, idVat);\n};\n\nconst calculatePrestationPrice = (\n idPrestationList: number,\n prestationList: IPrestationList,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n optionsList: number[],\n totalPercentage: number /* total pourcentage offer (%) */,\n totalAmount: number /* total montant offer (€) */,\n totalMonth: number /* total mois offer (mois) */,\n isWithApplicationFees: boolean /* frais de dossier */,\n idTaxSystem: number,\n idLegalForm: number,\n isYearly: boolean = false /* prestation annuel ou mensuel */,\n isSubPrestation: boolean = false,\n balanceSheetOffered: number = 0,\n exerciceList: IExercice[] = [],\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n calculDetail: string;\n monthlyPrice: string;\n price: number;\n} => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n PrestationType.COMPTA_EI_KLEMS,\n PrestationType.COMPTA_EI_KLEMS_EXPRESS,\n PrestationType.COMPTA_MICRO_KLEMS,\n PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,\n PrestationType.STATUTS_OPTION_2,\n ].includes(idPrestationList)\n ) {\n let exerciceNbr: number = 0;\n if (exerciceList.length) exerciceNbr = exerciceNumber(dayjs(endDate, 'YYYY-MM-DD').toDate(), exerciceList);\n totalWithReduce = calculatePrestationPriceWithPriceGrid(\n idPrestationList,\n endDate,\n NbrMonth,\n turnover,\n rentsNumber,\n employeesNumber,\n associatesNumber,\n idTypeBrand,\n idVatRegime,\n pastBalanceSheet,\n isYearly,\n totalMonth,\n idTaxSystem,\n idLegalForm,\n exerciceNbr,\n balanceSheetOffered,\n );\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n if ([PrestationType.CREATION_SOCIETE].includes(idPrestationList) && !isSubPrestation) totalPrestation += 50;\n }\n /* Gestion des offres */\n /* Offre montant offer */\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n /* Offre pourcentage offer */\n if (totalPercentage > 0) totalPrestation = totalPrestation - totalPrestation * (totalPercentage / 100);\n /* Gesstioin du prix minimum acceptable pour la prestation */\n if (prestationList && prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice)\n totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find(\n (option) => option.id === optionId,\n )?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += OptionTotalPrice ? OptionTotalPrice : 0;\n /* Gestion des frais de dossier */\n if (isWithApplicationFees) {\n const applicationFeesAmount = getApplicationFeesAmount(idLegalForm);\n totalPrestation += applicationFeesAmount;\n }\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n calculDetail,\n monthlyPrice: monthNbr > 0 ? Math.round(price * 100) / 100 + '€/mois' : Math.round(price * 100) / 100 + '€',\n price,\n };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter((option) =>\n option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)),\n );\n return PrestationOptionList.filter((option) => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (\n idTypeBrand: number,\n idPrestationList: number,\n turnover: number,\n pastBalanceSheet: boolean,\n): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n if (\n [\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n ].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n !pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover\n )\n return true;\n else return false;\n }\n return false;\n};\n\nexport {\n isOtherAccountingMissions,\n isOtherJuridicalMissions,\n isAdditionalPresta,\n isOtherSocialMission,\n isOnlyPrevi,\n isOnlySocial,\n isOnlyJuridic,\n isCreation,\n isFromStatutsExpress,\n isExpress,\n isConsultingHour,\n calculateScoringOfPrestation,\n calculatePrestationPrice,\n getPrestationOptions,\n isAbleToUpdatePrice,\n calculatePrestationPriceWithPriceGrid,\n getApplicationFeesAmount,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,oDAAoD,EACpD,gBAAgB,EAChB,cAAc,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAwB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4E5C,MAAM,yBAAyB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CACtE;IACE,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,mBAAmB;IAClC,cAAc,CAAC,wCAAwC;IACvD,cAAc,CAAC,uBAAuB;IACtC,cAAc,CAAC,GAAG;IAClB,cAAc,CAAC,aAAa;IAC5B,cAAc,CAAC,kBAAkB;CAClC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAE/B,MAAM,wBAAwB,GAAG,CAAC,WAAoB,EAAE,SAAkB,EAAE,gBAAwB,EAAW,EAAE,CAC/G,gBAAgB,KAAK,cAAc,CAAC,iBAAiB,IAAI,SAAS,IAAI,WAAW,CAAC;AAEpF,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CACjE,gBAAgB,KAAK,cAAc,CAAC,+BAA+B,CAAC;AAEtE,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,SAAkB,EAAW,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;AAElG,MAAM,WAAW,GAAG,CAAC,gBAA0B,EAAW,EAAE,CAC1D,CAAC,gBAAgB,CAAC,MAAM,CACtB,CAAC,IAAY,EAAE,EAAE,CACf,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzG,CAAC,MAAM,CAAC;AAEX,MAAM,YAAY,GAAG,CAAC,gBAA0B,EAAW,EAAE,CAC3D,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAExH,MAAM,aAAa,GAAG,CAAC,gBAA0B,EAAW,EAAE,CAC5D,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAExG,MAAM,UAAU,GAAG,CAAC,gBAA0B,EAAW,EAAE,CACzD,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE;IAC/B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,iBAAiB;CACjC,CAAC,CAAC,MAAM,CAAC;AAEZ,MAAM,oBAAoB,GAAG,CAAC,gBAA0B,EAAW,EAAE,CACnE,CAAC,gBAAgB,CAAC,MAAM,CACtB,CAAC,IAAY,EAAE,EAAE,CACf,CAAC;IACC,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,iBAAiB;CACjC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnB,CAAC,MAAM,CAAC;AAEX,MAAM,SAAS,GAAG,CAAC,gBAAwB,EAAW,EAAE;IACtD,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAQ,CAAC;IACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACxF,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,gBAA0B,EAAW,EAAE,CAC/D,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;AAE5E,MAAM,4BAA4B,GAAG,CAAC,gBAAgC,EAAE,WAA0B,EAAU,EAAE;IAC5G,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAC9C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,CAC5F,CAAC;IAEF,kDAAkD;IAClD,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7G,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExE,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACnH,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;IAE9C,2HAA2H;IAC3H,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACnG,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAElH,0KAA0K;IAC1K,IAAI,iCAAiC,CAAC,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/F,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;IAEvC,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAMtC,EAAU,EAAE;IACX,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,yBAAyB,EAAE,wBAAwB,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAErH,IAAI,CAAC,yBAAyB,IAAI,wBAAwB;QACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,IAAI,CAAC,yBAAyB,IAAI,CAAC,wBAAwB;QAAE,OAAO,YAAY,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;IAE9G,OAAO,CACL,YAAY;QACZ,CAAC,WAAW,GAAG,UAAU,CAAC;QAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CACvF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,gBAAwB,EAAyB,EAAE;IACnG,IAAI,qBAAiD,CAAC;IACtD,IAAI,gBAAuC,CAAC;IAE5C,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG;QAClB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;KACxB,CAAC;IACF,aAAa;IACb,MAAM,oBAAoB,GAAqB,WAAW,CAAC,YAAY,cAAc,EAAE,CAAC,CAAC;IACzF,IAAI,oBAAoB;QACtB,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAC/C,CAAC,SAAyB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,WAAW,CACrE,CAAC;IACJ,IAAI,qBAAqB;QACvB,gBAAgB,GAAG,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAgB,EAAE,EAAE,CACxE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAClD,CAAC;IACJ,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAC5C,gBAAwB,EACxB,OAAe,EACf,QAAgB,CAAC,iCAAiC,EAClD,QAAgB,EAChB,WAAmB,EACnB,eAAuB,EACvB,gBAAwB,EACxB,WAAmB,EACnB,WAAmB,EACnB,gBAAyB,EACzB,QAAiB,CAAC,kCAAkC,EACpD,UAAkB,CAAC,wBAAwB,EAC3C,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,sBAA8B,CAAC,CAAC,4BAA4B,EAO5D,EAAE;IACF,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAC5B,IAAI,QAAQ,GAAW,QAAQ,CAAC;IAChC,IAAI,WAA+B,CAAC;IACpC,IAAI,iBAAqC,CAAC;IAC1C,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,IAAI,kBAAkB,GAAY,KAAK,CAAC;IAExC,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE5F,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,YAAgC,CAAC;QACrC,IAAI,cAAkC,CAAC;QACvC,IAAI,cAAkC,CAAC;QAEvC,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,QAAQ;YAChD,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACtG,IAAI,gBAAgB,CAAC,eAAe,IAAI,QAAQ;YACnD,cAAc,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;QAE1G,oCAAoC;QACpC,IAAI,gBAAgB,CAAC,SAAS,IAAI,WAAW;YAC3C,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;QAE5F,0BAA0B;QAC1B,qCAAqC;QACrC,IAAI,gBAAgB,CAAC,eAAe,IAAI,CAAC,QAAQ;YAC/C,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnG,IAAI,gBAAgB,CAAC,UAAU;YAClC,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACpG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACnC,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,IAAI,GAAG,CAAC,aAAa,IAAI,eAAe,CACtF,EAAE,KAAK,CAAC;YACT,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAChD,YAAY,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;YAC3G,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,mCAAmC;QACrC,CAAC;aAAM,IAAI,gBAAgB,CAAC,cAAc,IAAI,QAAQ;YACpD,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACjG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,mBAAmB;YAChE,WAAW,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACtG,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,gBAAgB;YAC5D,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnG,IAAI,gBAAgB,CAAC,OAAO;YAC/B,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAC3F,EAAE,KAAK,CAAC;aACN,IAAI,gBAAgB,CAAC,SAAS;YACjC,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aAC/F,IAAI,gBAAgB,CAAC,WAAW;YACnC,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAC9C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,WAAW,IAAI,WAAW,IAAI,EAAE,CAAC,OAAO,CAC/D,EAAE,KAAK,CAAC;QACX,kCAAkC;QAClC,iBAAiB;YACf,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpH,sBAAsB;QACtB,IAAI,YAAY,GAAY,KAAK,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAAE,YAAY,GAAG,IAAI,CAAC;QAC5F,IAAI,cAAwC,CAAC;QAC7C,IAAI,UAAkC,CAAC;QACvC,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAChC,cAAc,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CACvF,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC3F,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,oCAAoC;QACpC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,UAAU,IAAI,QAAQ,GAAG,UAAU,GAAG,UAAU,EAAE,OAAO;gBAAE,YAAY,GAAG,KAAK,CAAC;YACpF,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;YACjC,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,0CAA0C;QAC1C,WAAW,GAAG,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,qCAAqC;QACrC,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,GAAG,SAAS,CAAC;YACxB,kBAAkB,GAAG,KAAK,CAAC;YAC3B,iBAAiB,GAAG,mBAAmB,GAAG,QAAQ,CAAC;QACrD,CAAC;QAED,gBAAgB;QAChB,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IAC7E,CAAC;IACD,OAAO;QACL,eAAe;QACf,WAAW;QACX,YAAY;QACZ,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACpE,KAAK,EAAE,WAAW;YAChB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,kBAAkB;gBAClB,CAAC,CAAC,eAAe,GAAG,QAAQ;gBAC5B,CAAC,CAAC,iBAAiB;oBACjB,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,CAAC;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CAAC,cAA+B,EAAU,EAAE;IAC7F,IAAI,eAAe,GAAW,CAAC,CAAC;IAEhC,eAAe,GAAG,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC;IAE7C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAE,KAAc,EAAE,EAAE;IACvE,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAC/B,IAAI,WAAW,KAAK,iBAAiB,CAAC,GAAG;QAAE,qBAAqB,GAAG,GAAG,CAAC;IAEvE,mCAAmC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,qBAAqB,CAAC;IAEzC,oCAAoC;IACpC,OAAO,sBAAsB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,gBAAwB,EACxB,cAA+B,EAC/B,OAAe,EACf,QAAgB,CAAC,iCAAiC,EAClD,QAAgB,EAChB,WAAmB,EACnB,eAAuB,EACvB,gBAAwB,EACxB,WAAmB,EACnB,WAAmB,EACnB,gBAAyB,EACzB,WAAqB,EACrB,eAAuB,CAAC,iCAAiC,EACzD,WAAmB,CAAC,6BAA6B,EACjD,UAAkB,CAAC,6BAA6B,EAChD,qBAA8B,CAAC,sBAAsB,EACrD,WAAmB,EACnB,WAAmB,EACnB,WAAoB,KAAK,CAAC,kCAAkC,EAC5D,kBAA2B,KAAK,EAChC,sBAA8B,CAAC,EAC/B,eAA4B,EAAE,EAQ9B,EAAE;IACF,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAC5B,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,IAAI,QAAQ,GAAW,CAAC,CAAC;IACzB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,eAAe,GAMf,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAEtF,kDAAkD;IAClD,IACE;QACE,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,yBAAyB;QACxC,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,kCAAkC;QACjD,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,MAAM;QACrB,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,sBAAsB;QACrC,cAAc,CAAC,8BAA8B;QAC7C,cAAc,CAAC,eAAe;QAC9B,cAAc,CAAC,uBAAuB;QACtC,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,kCAAkC;QACjD,cAAc,CAAC,0CAA0C;QACzD,cAAc,CAAC,gBAAgB;QAC/B,cAAc,CAAC,SAAS;QACxB,cAAc,CAAC,OAAO;QACtB,cAAc,CAAC,OAAO;QACtB,cAAc,CAAC,WAAW;KAC3B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5B,CAAC;QACD,IAAI,WAAW,GAAW,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,MAAM;YAAE,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;QAC3G,eAAe,GAAG,qCAAqC,CACrD,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,CACpB,CAAC;QACF,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QAClD,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;QAC1C,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QAC5C,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QACpC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,0CAA0C,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe;YAAE,eAAe,IAAI,EAAE,CAAC;IAC9G,CAAC;IACD,wBAAwB;IACxB,yBAAyB;IACzB,IAAI,WAAW,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC;IACrE,6BAA6B;IAC7B,IAAI,eAAe,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IACvG,6DAA6D;IAC7D,IAAI,cAAc,IAAI,cAAc,CAAC,YAAY,IAAI,eAAe,GAAG,cAAc,CAAC,YAAY;QAChG,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC;IAChD,yBAAyB;IACzB,IAAI,gBAAgB,GAAW,CAAC,CAAC;IACjC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,MAAM,WAAW,GAAuB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC1E,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CACnC,EAAE,KAAK,CAAC;YACT,IAAI,WAAW;gBAAE,gBAAgB,IAAI,WAAW,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,eAAe,IAAI,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,kCAAkC;IAClC,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpE,eAAe,IAAI,qBAAqB,CAAC;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEjS,OAAO;QACL,eAAe;QACf,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;QAC3G,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAA0B,EAAE;IAChF,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACrG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CACnE,CAAC;IACF,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,WAAmB,EACnB,gBAAwB,EACxB,QAAgB,EAChB,gBAAyB,EAChB,EAAE;IACX,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5F,IAAI,gBAAgB,EAAE,CAAC;QACrB,IACE;YACE,cAAc,CAAC,cAAc;YAC7B,cAAc,CAAC,0BAA0B;YACzC,cAAc,CAAC,kCAAkC;SAClD,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC5B,8CAA8C;YAC9C,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAEtG,OAAO,IAAI,CAAC;aACT,IACH,CAAC,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACzG,8CAA8C;YAC9C,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAEtG,OAAO,IAAI,CAAC;aACT,IACH,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC9D,CAAC,gBAAgB;YACjB,8CAA8C;YAC9C,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAE9G,OAAO,IAAI,CAAC;aACT,IACH,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC9D,gBAAgB;YAChB,8CAA8C;YAC9C,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAExG,OAAO,IAAI,CAAC;;YACT,OAAO,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,gBAAwB,EAA4B,EAAE;IACzF,IAAI,oDAAoD,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,UAAU,CAAC;IACvG,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,qCAAqC,EACrC,wBAAwB,EACxB,2BAA2B,GAC5B,CAAC","sourcesContent":["import { IExercice, IPrestation, IPrestationList } from '../types';\nimport { Vat } from '../types/Enum/Vat';\nimport { getTaxesIncludedAmount } from './vat/utils';\nimport { intersection } from './noLodash';\nimport {\n ClementineSubscriptionAccountancySoftwarePrestations,\n PrestationDetail,\n PrestationType,\n} from '../types/Enum/PrestationType';\nimport { LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { PriceGridStatutsExpress } from '../types/Enum/PriceGridStatutsExpress';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\nimport { exerciceNumber } from './exercice';\n\ntype priceGridBrand = {\n idTypeBrand: number;\n price: priceGrid[];\n};\n\ntype priceGrid = {\n idPrestationList: number[];\n priceWithTaxesIncluded: boolean;\n applicationCost: number;\n monthlyNbr?: monthlyNbr[];\n exerciceNbr?: exerciceNbr[];\n turnoverCreatedYear?: turnover[];\n turnoverPastYear?: turnover[];\n turnoverMonthly?: turnover[];\n turnoverYearly?: turnover[];\n employee?: employee[];\n partner?: employee[];\n properties?: propertie[];\n vatRegimeMonthly?: vatRegime[];\n vatRegimeYearly?: vatRegime[];\n taxSystem?: taxSystem[];\n legalForm?: legalForm[];\n employeeByLegalForm?: employeeByLegalForm[];\n};\n\ntype monthlyNbr = {\n minimum: number;\n maximum: number;\n value: number;\n closingType: number[];\n};\n\ntype exerciceNbr = {\n minimum: number;\n maximum: number;\n price: number;\n};\n\ntype turnover = {\n turnoverValue: number;\n price: number;\n};\n\ntype legalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype employee = {\n amountMinimum: number;\n amountMaximum: number;\n price: number;\n};\n\ntype employeeByLegalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype propertie = {\n amount: number;\n price: number;\n};\n\ntype vatRegime = {\n type: number;\n price: number;\n};\n\ntype taxSystem = {\n id: number;\n price: number;\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean =>\n [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL,\n ].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique: boolean, isCatalog: boolean, idPrestationList: number): boolean =>\n idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean =>\n idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden: boolean, isCatalog: boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL),\n ).length;\n\nconst isOnlySocial = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [\n PrestationType.CREATION_SOCIETE,\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ]).length;\n\nconst isFromStatutsExpress = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ].includes(idPL),\n ).length;\n\nconst isExpress = (idPrestationList: number): boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr: any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst isConsultingHour = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.CONSULTING_HOUR]).length;\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter(\n (prestation) => prestation.paid && prestation.signed && prestation.terminationList === null,\n );\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType))\n return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nexport const calculateMonthlyAmount = (params: {\n monthlyPrice: number;\n monthNumber: number;\n monthOffer: number;\n idVatForInternalInvoicing?: number | null;\n returnTaxesIncludedValue?: boolean;\n}): number => {\n const { monthlyPrice, monthNumber, monthOffer, idVatForInternalInvoicing, returnTaxesIncludedValue = true } = params;\n\n if (!idVatForInternalInvoicing && returnTaxesIncludedValue)\n throw new Error('Taux de TVA manquant pour calculer le montant TTC');\n\n if (!idVatForInternalInvoicing || !returnTaxesIncludedValue) return monthlyPrice * (monthNumber - monthOffer);\n\n return (\n monthlyPrice *\n (monthNumber - monthOffer) *\n (1 + Object.values(Vat).find((el) => el.id === idVatForInternalInvoicing).value / 100)\n );\n};\n\nexport const getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine,\n PriceGridPourcentage,\n PriceGridLegalstart,\n PriceGridStatutsExpress,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile)\n currentBrandPriceGrid = currentPriceGridFile.find(\n (priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand,\n );\n if (currentBrandPriceGrid)\n currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) =>\n price.idPrestationList.includes(idPrestationList),\n );\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (\n idPrestationList: number,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n isYearly: boolean /* Prestation annuel ou mensuel */,\n totalMonth: number /* Nbr de moiis offer */,\n idTaxSystem: number,\n idLegalForm: number,\n exerciceNbr: number,\n balanceSheetOffered: number = 0 /* montant du bilan offer */,\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n} => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n\n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find((regime) => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find((regime) => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem)\n taxSystemPrice = currentPriceGrid.taxSystem?.find((tax) => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n /* Récupératioin des prix mensuels */\n if (currentPriceGrid.turnoverMonthly && !isYearly)\n monthlyPrice = currentPriceGrid.turnoverMonthly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties)\n monthlyPrice = currentPriceGrid.properties?.find((property) => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) {\n monthlyPrice = currentPriceGrid.employee?.find(\n (emp) => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber,\n )?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n } else if (currentPriceGrid.employeeByLegalForm) {\n monthlyPrice = currentPriceGrid.employeeByLegalForm?.find((emp) => emp.idLegalForm === idLegalForm)?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n /* Récupération des prix annuels */\n } else if (currentPriceGrid.turnoverYearly && isYearly)\n yearlyPrice = currentPriceGrid.turnoverYearly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear)\n yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear)\n yearlyPrice = currentPriceGrid.turnoverPastYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner)\n yearlyPrice = currentPriceGrid.partner?.find(\n (part) => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber,\n )?.price;\n else if (currentPriceGrid.legalForm)\n yearlyPrice = currentPriceGrid.legalForm?.find((form) => form.idLegalForm === idLegalForm)?.price;\n else if (currentPriceGrid.exerciceNbr)\n yearlyPrice = currentPriceGrid.exerciceNbr?.find(\n (el) => el.minimum <= exerciceNbr && exerciceNbr <= el.maximum,\n )?.price;\n /* Calcul du prix mensuel final */\n finalMonthlyPrice =\n (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n let monthlyNbrList: monthlyNbr[] | undefined;\n let monthlyNbr: monthlyNbr | undefined;\n if (currentPriceGrid.monthlyNbr) {\n monthlyNbrList = currentPriceGrid.monthlyNbr?.filter((el) =>\n el.closingType.includes(cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS),\n );\n if (monthlyNbrList) {\n monthlyNbr = monthlyNbrList.find((el) => el.minimum <= monthNbr && monthNbr <= el.maximum);\n if (monthlyNbr) {\n monthNbr = monthlyNbr.value;\n }\n }\n }\n /* Gestion des offres, mois offer */\n if (totalMonth > 0) {\n if (monthlyNbr && monthNbr - totalMonth < monthlyNbr?.minimum) canBeCreated = false;\n monthNbr = monthNbr - totalMonth;\n recalculateMonthly = true;\n }\n\n /* Calcul du nombre de mois soustraient */\n reduceMonth = monthNbr === NbrMonth - totalMonth ? totalMonth : 0;\n\n /* Gestion des offres, bilan offer */\n if (balanceSheetOffered > 0) {\n yearlyPrice = undefined;\n recalculateMonthly = false;\n finalMonthlyPrice = balanceSheetOffered / monthNbr;\n }\n\n /* Prix Final */\n totalPrestation = yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr;\n }\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr,\n price: yearlyPrice\n ? yearlyPrice\n : recalculateMonthly\n ? totalPrestation / monthNbr\n : finalMonthlyPrice\n ? finalMonthlyPrice\n : 0,\n };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList?.price || 0;\n\n return totalPrestation;\n};\n\n/**\n * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)\n * @param idLegalForm\n * @param idVat\n * @returns amount of application fees, without taxes included\n */\nconst getApplicationFeesAmount = (idLegalForm: number, idVat?: number) => {\n let applicationFeesAmount = 50;\n if (idLegalForm === LegalFormTypeEnum.SCI) applicationFeesAmount = 150;\n\n //Sans tva, on envoie le montant HT\n if (!idVat) return applicationFeesAmount;\n\n //Avec tva, on envoie le montant TTC\n return getTaxesIncludedAmount(applicationFeesAmount, idVat);\n};\n\nconst calculatePrestationPrice = (\n idPrestationList: number,\n prestationList: IPrestationList,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n optionsList: number[],\n totalPercentage: number /* total pourcentage offer (%) */,\n totalAmount: number /* total montant offer (€) */,\n totalMonth: number /* total mois offer (mois) */,\n isWithApplicationFees: boolean /* frais de dossier */,\n idTaxSystem: number,\n idLegalForm: number,\n isYearly: boolean = false /* prestation annuel ou mensuel */,\n isSubPrestation: boolean = false,\n balanceSheetOffered: number = 0,\n exerciceList: IExercice[] = [],\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n calculDetail: string;\n monthlyPrice: string;\n price: number;\n} => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n PrestationType.COMPTA_EI_KLEMS,\n PrestationType.COMPTA_EI_KLEMS_EXPRESS,\n PrestationType.COMPTA_MICRO_KLEMS,\n PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.EXPERTISE,\n PrestationType.SUPPORT,\n PrestationType.PREMIUM,\n PrestationType.CUSTOM_MADE,\n ].includes(idPrestationList)\n ) {\n let exerciceNbr: number = 0;\n if (exerciceList.length) exerciceNbr = exerciceNumber(dayjs(endDate, 'YYYY-MM-DD').toDate(), exerciceList);\n totalWithReduce = calculatePrestationPriceWithPriceGrid(\n idPrestationList,\n endDate,\n NbrMonth,\n turnover,\n rentsNumber,\n employeesNumber,\n associatesNumber,\n idTypeBrand,\n idVatRegime,\n pastBalanceSheet,\n isYearly,\n totalMonth,\n idTaxSystem,\n idLegalForm,\n exerciceNbr,\n balanceSheetOffered,\n );\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n if ([PrestationType.CREATION_SOCIETE].includes(idPrestationList) && !isSubPrestation) totalPrestation += 50;\n }\n /* Gestion des offres */\n /* Offre montant offer */\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n /* Offre pourcentage offer */\n if (totalPercentage > 0) totalPrestation = totalPrestation - totalPrestation * (totalPercentage / 100);\n /* Gesstioin du prix minimum acceptable pour la prestation */\n if (prestationList && prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice)\n totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find(\n (option) => option.id === optionId,\n )?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += OptionTotalPrice ? OptionTotalPrice : 0;\n /* Gestion des frais de dossier */\n if (isWithApplicationFees) {\n const applicationFeesAmount = getApplicationFeesAmount(idLegalForm);\n totalPrestation += applicationFeesAmount;\n }\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n calculDetail,\n monthlyPrice: monthNbr > 0 ? Math.round(price * 100) / 100 + '€/mois' : Math.round(price * 100) / 100 + '€',\n price,\n };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter((option) =>\n option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)),\n );\n return PrestationOptionList.filter((option) => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (\n idTypeBrand: number,\n idPrestationList: number,\n turnover: number,\n pastBalanceSheet: boolean,\n): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n if (\n [\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n ].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n !pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover\n )\n return true;\n else return false;\n }\n return false;\n};\n\nconst idPrestationListToOfferType = (idPrestationList: number): 'software' | 'expertise' => {\n if (ClementineSubscriptionAccountancySoftwarePrestations.includes(idPrestationList)) return 'software';\n return 'expertise';\n};\n\nexport {\n isOtherAccountingMissions,\n isOtherJuridicalMissions,\n isAdditionalPresta,\n isOtherSocialMission,\n isOnlyPrevi,\n isOnlySocial,\n isOnlyJuridic,\n isCreation,\n isFromStatutsExpress,\n isExpress,\n isConsultingHour,\n calculateScoringOfPrestation,\n calculatePrestationPrice,\n getPrestationOptions,\n isAbleToUpdatePrice,\n calculatePrestationPriceWithPriceGrid,\n getApplicationFeesAmount,\n idPrestationListToOfferType,\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.39",
|
|
4
4
|
"description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
|
|
5
5
|
"homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"mailparser": "^3.4.0",
|
|
76
76
|
"rxjs": "^7.0.1",
|
|
77
77
|
"sms-segments-calculator": "^1.2.0",
|
|
78
|
-
"stripe": "^
|
|
78
|
+
"stripe": "^18.1.1",
|
|
79
79
|
"ts-enum-util": "^4.0.2"
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -18,6 +18,13 @@ export class Authenticate extends Resource {
|
|
|
18
18
|
return this.axios.$post('/authenticate', payload);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Rafraichi le token, il est nécessaire d'être connecté et d'avoir un "current society"
|
|
23
|
+
*/
|
|
24
|
+
async refresh(): Promise<{ token: string }> {
|
|
25
|
+
return this.axios.$post('/authenticate/refresh');
|
|
26
|
+
}
|
|
27
|
+
|
|
21
28
|
async connectAsCollaborater(idCollaborater: number): Promise<{ token: string }> {
|
|
22
29
|
return this.axios.$post(`/authenticate/collaborater/${idCollaborater}`);
|
|
23
30
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BasePaginate,
|
|
3
3
|
CreatePaymentExpecation,
|
|
4
|
+
CreatePaymentIntent,
|
|
5
|
+
CreateSubscriptionSessionOff,
|
|
4
6
|
IPaymentExpectation,
|
|
5
7
|
QueryGetPaymentExpectation,
|
|
6
8
|
QueryGetPaymentExpectationPaginated,
|
|
9
|
+
RetrievePaymentMethodsParams,
|
|
7
10
|
} from '../../types';
|
|
8
11
|
import { Resource } from '../Resource';
|
|
12
|
+
import type Stripe from 'stripe';
|
|
9
13
|
|
|
10
14
|
export class PaymentExpectation extends Resource {
|
|
11
15
|
get(params: QueryGetPaymentExpectation): Promise<PaymentExpectation> {
|
|
@@ -40,4 +44,27 @@ export class PaymentExpectation extends Resource {
|
|
|
40
44
|
updateByPrestation(idPrestation: number, payload: Partial<IPaymentExpectation>): Promise<IPaymentExpectation> {
|
|
41
45
|
return this.axios.$patch(`/prestations/${idPrestation}/payment-expectations`, payload);
|
|
42
46
|
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Retourne les type de paiements Stripe
|
|
50
|
+
*/
|
|
51
|
+
getAllPaymentMethods(params: RetrievePaymentMethodsParams): Promise<Stripe.PaymentMethod[]> {
|
|
52
|
+
return this.axios.$get('/stripe/payments/methods', { params });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Créé une session Stripe avec les informations client
|
|
57
|
+
* Attention : les montants sont retournés x100
|
|
58
|
+
*/
|
|
59
|
+
createSessionOff(payload: CreateSubscriptionSessionOff): Promise<Stripe.Response<Stripe.Checkout.Session>> {
|
|
60
|
+
return this.axios.$post('/stripe/payments/sessions-off', payload);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Crée une intention de paiement Stripe avec les informations de notre client
|
|
65
|
+
* Attention : les montants sont retournés x100
|
|
66
|
+
*/
|
|
67
|
+
createStripePaymentIntent(body: CreatePaymentIntent): Promise<Stripe.Response<Stripe.PaymentIntent>> {
|
|
68
|
+
return this.axios.$post('/stripe/payments/intents', body);
|
|
69
|
+
}
|
|
43
70
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Resource } from '../Resource';
|
|
2
2
|
import {
|
|
3
3
|
BasePaginate,
|
|
4
|
-
CreateRating,
|
|
5
4
|
CreateRatingHistory,
|
|
6
5
|
IRating,
|
|
7
6
|
IRatingHistory,
|
|
@@ -10,7 +9,7 @@ import {
|
|
|
10
9
|
} from '../../types';
|
|
11
10
|
|
|
12
11
|
export class Rating extends Resource {
|
|
13
|
-
createRating(payload:
|
|
12
|
+
createRating(payload: IRating): Promise<IRating> {
|
|
14
13
|
return this.axios.$post('/ratings', payload);
|
|
15
14
|
}
|
|
16
15
|
|
|
@@ -130,7 +130,7 @@ export class Revision extends Resource {
|
|
|
130
130
|
return this.axios.$post(`/revisions/third-parties/${id}/approve`, params);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
revise(idAccountingTransaction: number, idUser: number): Promise<IAccountingTransaction> {
|
|
133
|
+
revise(idAccountingTransaction: number, idUser: number): Promise<{ data: IAccountingTransaction }> {
|
|
134
134
|
return this.axios.patch(`/transactions/${idAccountingTransaction}`, { dateVerified: new Date(), idUser });
|
|
135
135
|
}
|
|
136
136
|
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
QueryUnpaidSociety,
|
|
29
29
|
ReadSocietyUnpaidStats,
|
|
30
30
|
DataCustomersCsv,
|
|
31
|
+
ReadCurrentPrestations,
|
|
31
32
|
} from '../../types';
|
|
32
33
|
import { CancelToken } from 'axios';
|
|
33
34
|
|
|
@@ -186,6 +187,10 @@ export class Society extends Resource {
|
|
|
186
187
|
return this.axios.$get(`/societies/${idSociety}/states`);
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
getCurrentPrestations(idSociety: number): Promise<ReadCurrentPrestations> {
|
|
191
|
+
return this.axios.$get(`/societies/${idSociety}/current-prestations`);
|
|
192
|
+
}
|
|
193
|
+
|
|
189
194
|
exportCustomersCSV(params: DataCustomersCsv): Promise<Buffer> {
|
|
190
195
|
return this.axios.$post('/societies/exports', params, {
|
|
191
196
|
responseType: 'arraybuffer',
|
|
@@ -1,29 +1,46 @@
|
|
|
1
1
|
import { Resource } from '../Resource';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
ReadUpcomingInvoice,
|
|
5
|
-
QueryStripeSession,
|
|
6
|
-
CreateStripePortals,
|
|
7
|
-
} from '../../types';
|
|
8
|
-
import Stripe from 'stripe';
|
|
2
|
+
import { QueryStripeSession, CreateSubscriptionSession, CreateStripePortals } from '../../types';
|
|
3
|
+
import type Stripe from 'stripe';
|
|
9
4
|
|
|
10
5
|
export class Subscription extends Resource {
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Retourne les offres Stripe actives
|
|
8
|
+
* Attention : les montants sont retournés x100
|
|
9
|
+
*/
|
|
10
|
+
getAllOffers(): Promise<Stripe.Price[]> {
|
|
11
|
+
return this.axios.$get('/stripe/subscriptions/offers');
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Créé une session Stripe avec les informations client
|
|
16
|
+
* Attention : les montants sont retournés x100
|
|
17
|
+
*/
|
|
18
|
+
createSession(payload: CreateSubscriptionSession): Promise<Stripe.Response<Stripe.Checkout.Session>> {
|
|
19
|
+
return this.axios.$post('/stripe/subscriptions/sessions', payload);
|
|
17
20
|
}
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Créé un portail Stripe permettant de gérer l'abonnement
|
|
24
|
+
* Attention : les montants sont retournés x100
|
|
25
|
+
*/
|
|
26
|
+
createPortal(payload: CreateStripePortals): Promise<string> {
|
|
27
|
+
return this.axios.$post('/stripe/subscriptions/portals', payload);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Retourne l'abonnement Stripe de la société courante
|
|
32
|
+
* Attention : les montants sont retournés x100
|
|
33
|
+
*/
|
|
34
|
+
get(): Promise<Stripe.Response<Stripe.Subscription> | null> {
|
|
35
|
+
return this.axios.$get('/stripe/subscriptions');
|
|
21
36
|
}
|
|
22
37
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
/* -------------- */
|
|
39
|
+
|
|
40
|
+
createComptalibSession(
|
|
41
|
+
idSociety: number,
|
|
42
|
+
body: QueryStripeSession,
|
|
43
|
+
): Promise<Stripe.Response<Stripe.Checkout.Session>> {
|
|
44
|
+
return this.axios.$post(`/societies/${idSociety}/subscriptions/sessions`, body);
|
|
28
45
|
}
|
|
29
46
|
}
|
|
@@ -52,7 +52,7 @@ export class Prestation extends Resource {
|
|
|
52
52
|
params?: QueryPrestation,
|
|
53
53
|
cancelToken?: CancelToken,
|
|
54
54
|
signal?: AbortSignal,
|
|
55
|
-
): Promise<IPrestation
|
|
55
|
+
): Promise<Array<IPrestation & { isActive: boolean }>> {
|
|
56
56
|
return this.axios.$get(`/societies/${id}/prestations`, {
|
|
57
57
|
...(cancelToken ? { cancelToken } : {}),
|
|
58
58
|
...(signal ? { signal } : {}),
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export enum Feature {
|
|
2
|
+
// Tableau de bord
|
|
3
|
+
DASHBOARD = 'dashboard',
|
|
4
|
+
// Relevés bancaires / Espèces
|
|
5
|
+
BANK = 'bank',
|
|
6
|
+
// Liens de paiement
|
|
7
|
+
PAYMENT_LINK = 'payment_link',
|
|
8
|
+
// Recouvrement
|
|
9
|
+
PAYMENT_RECOVERY = 'payment_recovery',
|
|
10
|
+
// Juridique
|
|
11
|
+
JURIDIC = 'juridic',
|
|
12
|
+
|
|
13
|
+
/** ACHATS */
|
|
14
|
+
// Factures d'achat / Notes de frais / Fournisseurs
|
|
15
|
+
PURCHASE = 'purchase_invoice',
|
|
16
|
+
// Grand-Livre d'achat
|
|
17
|
+
PURCHASE_GENERAL_LEDGER = 'purchase_general_ledger',
|
|
18
|
+
|
|
19
|
+
/** Facturation */
|
|
20
|
+
// Factures, devis, brouillons, articles, clients, ticketsZ
|
|
21
|
+
SALE = 'sale',
|
|
22
|
+
// Grand-Livre de vente
|
|
23
|
+
SALE_GENERAL_LEDGER = 'sale_general_ledger',
|
|
24
|
+
|
|
25
|
+
/** Comptabilité */
|
|
26
|
+
// TVA
|
|
27
|
+
VAT = 'vat',
|
|
28
|
+
// DAS2
|
|
29
|
+
DAS2 = 'das2',
|
|
30
|
+
// Documents annexes
|
|
31
|
+
OTHER_REGISTRATION_DOCUMENTS = 'other_registration_documents',
|
|
32
|
+
// Bilan comptable - comptalib - ORI
|
|
33
|
+
BALANCESHEET_ACCOUNTANT = 'balancesheet_accountant',
|
|
34
|
+
// Bilan (version client - certifié par un Expert-Comptable)
|
|
35
|
+
BALANCESHEET_CUSTOMER = 'balancesheet_customer',
|
|
36
|
+
// Bilan (freemium)
|
|
37
|
+
BALANCESHEET_FREEMIUM = 'balancesheet_freemium',
|
|
38
|
+
|
|
39
|
+
/** Salariés */
|
|
40
|
+
// Salariés Freemium
|
|
41
|
+
SOCIAL_FREEMIUM = 'social_freemium',
|
|
42
|
+
// Salariés / Elements de paie
|
|
43
|
+
SOCIAL = 'social',
|
|
44
|
+
|
|
45
|
+
// Bibliothèque
|
|
46
|
+
LIBRARY = 'library',
|
|
47
|
+
// Expert-Comptable
|
|
48
|
+
EXPERT_ACCOUNTANT = 'expert_accountant',
|
|
49
|
+
|
|
50
|
+
// Chat Crisp
|
|
51
|
+
CHAT = 'chat',
|
|
52
|
+
|
|
53
|
+
/** Configuration */
|
|
54
|
+
SETTING = 'setting',
|
|
55
|
+
SETTING_INFORMATION = 'information',
|
|
56
|
+
SETTING_BANK = 'setting_bank',
|
|
57
|
+
SETTING_ANNOTATION = 'setting_annotation',
|
|
58
|
+
SETTING_PURCHASE = 'setting_purchase',
|
|
59
|
+
SETTING_SALE = 'setting_sale',
|
|
60
|
+
SETTING_CONNECTOR = 'setting_connector',
|
|
61
|
+
SETTING_ACCOUNTANCY_ACCOUNT = 'setting_accountancy_account',
|
|
62
|
+
SETTING_SUBSCRIPTION = 'setting_subscription',
|
|
63
|
+
SETTING_ACCESS = 'setting_access',
|
|
64
|
+
CUSTOMISATION = 'customisation',
|
|
65
|
+
|
|
66
|
+
LOG_TO_MOBILE_APP = 'log_to_mobile_app',
|
|
67
|
+
SALE_RECURRENCE = 'sale_recurrence',
|
|
68
|
+
}
|