@silexpert/core 1.1.397 → 1.1.399

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.
Files changed (130) hide show
  1. package/dist/cjs/api/resources/Payment.d.ts +7 -1
  2. package/dist/cjs/api/resources/Payment.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Payment.js +15 -0
  4. package/dist/cjs/api/resources/Payment.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +1 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/types/Enum/BrandClementine.d.ts.map +1 -1
  10. package/dist/cjs/types/Enum/BrandClementine.js +1 -0
  11. package/dist/cjs/types/Enum/BrandClementine.js.map +1 -1
  12. package/dist/cjs/types/Enum/ConnectorType.d.ts +2 -1
  13. package/dist/cjs/types/Enum/ConnectorType.d.ts.map +1 -1
  14. package/dist/cjs/types/Enum/ConnectorType.js +1 -0
  15. package/dist/cjs/types/Enum/ConnectorType.js.map +1 -1
  16. package/dist/cjs/types/Enum/PaymentRecovery.d.ts +51 -0
  17. package/dist/cjs/types/Enum/PaymentRecovery.d.ts.map +1 -0
  18. package/dist/cjs/types/Enum/PaymentRecovery.js +57 -0
  19. package/dist/cjs/types/Enum/PaymentRecovery.js.map +1 -0
  20. package/dist/cjs/types/Interface/api/PaymentRecovery/Caarl.d.ts +140 -0
  21. package/dist/cjs/types/Interface/api/PaymentRecovery/Caarl.d.ts.map +1 -0
  22. package/dist/cjs/types/Interface/api/PaymentRecovery/Caarl.js +3 -0
  23. package/dist/cjs/types/Interface/api/PaymentRecovery/Caarl.js.map +1 -0
  24. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.d.ts +49 -0
  25. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.d.ts.map +1 -0
  26. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.js +161 -0
  27. package/dist/cjs/types/Interface/api/PaymentRecovery/Create.js.map +1 -0
  28. package/dist/cjs/types/Interface/api/PaymentRecovery/Query.d.ts +14 -0
  29. package/dist/cjs/types/Interface/api/PaymentRecovery/Query.d.ts.map +1 -0
  30. package/dist/cjs/types/Interface/api/PaymentRecovery/Query.js +72 -0
  31. package/dist/cjs/types/Interface/api/PaymentRecovery/Query.js.map +1 -0
  32. package/dist/cjs/types/Interface/api/PaymentRecovery/Read.d.ts +50 -0
  33. package/dist/cjs/types/Interface/api/PaymentRecovery/Read.d.ts.map +1 -0
  34. package/dist/cjs/types/Interface/api/PaymentRecovery/Read.js +3 -0
  35. package/dist/cjs/types/Interface/api/PaymentRecovery/Read.js.map +1 -0
  36. package/dist/cjs/types/Interface/models/IApiError.d.ts +1 -0
  37. package/dist/cjs/types/Interface/models/IApiError.d.ts.map +1 -1
  38. package/dist/cjs/types/Interface/models/IApiError.js +1 -0
  39. package/dist/cjs/types/Interface/models/IApiError.js.map +1 -1
  40. package/dist/cjs/types/Interface/models/IFile.d.ts +4 -1
  41. package/dist/cjs/types/Interface/models/IFile.d.ts.map +1 -1
  42. package/dist/cjs/types/Interface/models/IFile.js.map +1 -1
  43. package/dist/cjs/types/Interface/models/IPaymentRecovery.d.ts +17 -0
  44. package/dist/cjs/types/Interface/models/IPaymentRecovery.d.ts.map +1 -0
  45. package/dist/cjs/types/Interface/models/IPaymentRecovery.js +3 -0
  46. package/dist/cjs/types/Interface/models/IPaymentRecovery.js.map +1 -0
  47. package/dist/cjs/types/index.d.ts +5 -0
  48. package/dist/cjs/types/index.d.ts.map +1 -1
  49. package/dist/cjs/types/index.js +5 -0
  50. package/dist/cjs/types/index.js.map +1 -1
  51. package/dist/cjs/utils/brands.d.ts +1 -0
  52. package/dist/cjs/utils/brands.d.ts.map +1 -1
  53. package/dist/cjs/utils/brands.js.map +1 -1
  54. package/dist/cjs/utils/commercialManagement/recovery.d.ts +7 -0
  55. package/dist/cjs/utils/commercialManagement/recovery.d.ts.map +1 -0
  56. package/dist/cjs/utils/commercialManagement/recovery.js +31 -0
  57. package/dist/cjs/utils/commercialManagement/recovery.js.map +1 -0
  58. package/dist/mjs/api/resources/Payment.d.ts +7 -1
  59. package/dist/mjs/api/resources/Payment.d.ts.map +1 -1
  60. package/dist/mjs/api/resources/Payment.js +15 -0
  61. package/dist/mjs/api/resources/Payment.js.map +1 -1
  62. package/dist/mjs/index.d.ts +1 -0
  63. package/dist/mjs/index.d.ts.map +1 -1
  64. package/dist/mjs/index.js +1 -0
  65. package/dist/mjs/index.js.map +1 -1
  66. package/dist/mjs/types/Enum/BrandClementine.d.ts.map +1 -1
  67. package/dist/mjs/types/Enum/BrandClementine.js +1 -0
  68. package/dist/mjs/types/Enum/BrandClementine.js.map +1 -1
  69. package/dist/mjs/types/Enum/ConnectorType.d.ts +2 -1
  70. package/dist/mjs/types/Enum/ConnectorType.d.ts.map +1 -1
  71. package/dist/mjs/types/Enum/ConnectorType.js +1 -0
  72. package/dist/mjs/types/Enum/ConnectorType.js.map +1 -1
  73. package/dist/mjs/types/Enum/PaymentRecovery.d.ts +51 -0
  74. package/dist/mjs/types/Enum/PaymentRecovery.d.ts.map +1 -0
  75. package/dist/mjs/types/Enum/PaymentRecovery.js +54 -0
  76. package/dist/mjs/types/Enum/PaymentRecovery.js.map +1 -0
  77. package/dist/mjs/types/Interface/api/PaymentRecovery/Caarl.d.ts +140 -0
  78. package/dist/mjs/types/Interface/api/PaymentRecovery/Caarl.d.ts.map +1 -0
  79. package/dist/mjs/types/Interface/api/PaymentRecovery/Caarl.js +2 -0
  80. package/dist/mjs/types/Interface/api/PaymentRecovery/Caarl.js.map +1 -0
  81. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.d.ts +49 -0
  82. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.d.ts.map +1 -0
  83. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.js +181 -0
  84. package/dist/mjs/types/Interface/api/PaymentRecovery/Create.js.map +1 -0
  85. package/dist/mjs/types/Interface/api/PaymentRecovery/Query.d.ts +14 -0
  86. package/dist/mjs/types/Interface/api/PaymentRecovery/Query.d.ts.map +1 -0
  87. package/dist/mjs/types/Interface/api/PaymentRecovery/Query.js +75 -0
  88. package/dist/mjs/types/Interface/api/PaymentRecovery/Query.js.map +1 -0
  89. package/dist/mjs/types/Interface/api/PaymentRecovery/Read.d.ts +50 -0
  90. package/dist/mjs/types/Interface/api/PaymentRecovery/Read.d.ts.map +1 -0
  91. package/dist/mjs/types/Interface/api/PaymentRecovery/Read.js +2 -0
  92. package/dist/mjs/types/Interface/api/PaymentRecovery/Read.js.map +1 -0
  93. package/dist/mjs/types/Interface/models/IApiError.d.ts +1 -0
  94. package/dist/mjs/types/Interface/models/IApiError.d.ts.map +1 -1
  95. package/dist/mjs/types/Interface/models/IApiError.js +1 -0
  96. package/dist/mjs/types/Interface/models/IApiError.js.map +1 -1
  97. package/dist/mjs/types/Interface/models/IFile.d.ts +4 -1
  98. package/dist/mjs/types/Interface/models/IFile.d.ts.map +1 -1
  99. package/dist/mjs/types/Interface/models/IFile.js.map +1 -1
  100. package/dist/mjs/types/Interface/models/IPaymentRecovery.d.ts +17 -0
  101. package/dist/mjs/types/Interface/models/IPaymentRecovery.d.ts.map +1 -0
  102. package/dist/mjs/types/Interface/models/IPaymentRecovery.js +2 -0
  103. package/dist/mjs/types/Interface/models/IPaymentRecovery.js.map +1 -0
  104. package/dist/mjs/types/index.d.ts +5 -0
  105. package/dist/mjs/types/index.d.ts.map +1 -1
  106. package/dist/mjs/types/index.js +5 -0
  107. package/dist/mjs/types/index.js.map +1 -1
  108. package/dist/mjs/utils/brands.d.ts +1 -0
  109. package/dist/mjs/utils/brands.d.ts.map +1 -1
  110. package/dist/mjs/utils/brands.js.map +1 -1
  111. package/dist/mjs/utils/commercialManagement/recovery.d.ts +7 -0
  112. package/dist/mjs/utils/commercialManagement/recovery.d.ts.map +1 -0
  113. package/dist/mjs/utils/commercialManagement/recovery.js +26 -0
  114. package/dist/mjs/utils/commercialManagement/recovery.js.map +1 -0
  115. package/package.json +1 -1
  116. package/ts/api/resources/Payment.ts +22 -1
  117. package/ts/index.ts +1 -0
  118. package/ts/types/Enum/BrandClementine.ts +1 -0
  119. package/ts/types/Enum/ConnectorType.ts +1 -0
  120. package/ts/types/Enum/PaymentRecovery.ts +52 -0
  121. package/ts/types/Interface/api/PaymentRecovery/Caarl.ts +144 -0
  122. package/ts/types/Interface/api/PaymentRecovery/Create.ts +135 -0
  123. package/ts/types/Interface/api/PaymentRecovery/Query.ts +49 -0
  124. package/ts/types/Interface/api/PaymentRecovery/Read.ts +52 -0
  125. package/ts/types/Interface/models/IApiError.ts +1 -0
  126. package/ts/types/Interface/models/IFile.ts +4 -1
  127. package/ts/types/Interface/models/IPaymentRecovery.ts +18 -0
  128. package/ts/types/index.ts +5 -0
  129. package/ts/utils/brands.ts +1 -0
  130. package/ts/utils/commercialManagement/recovery.ts +26 -0
@@ -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 rh?: string;\n social?: string;\n support?: string;\n tva?: string;\n wb?: 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 },\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};\n\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 (env.indexOf('legalstart') > -1 || env.indexOf('Legalstart') > -1 || env.indexOf('ComptaStart') > -1 || env.indexOf('comptaStart') > -1 || env.indexOf('Comptastart') > -1 || env.indexOf('comptastart') > -1) {\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 return brand;\n};\n\n\nfunction getBrand(params?: GetBrandParam): Brand {\n\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 \n const {\n idTypeBrand = null, objectWaited = null, nodeEnv,\n } = 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 return objectToReturn;\n }\n\n return brand;\n};\n\nconst getBrandByEmail = (email: string): '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<object> => {\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, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList, getBrand,\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 rh?: 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 },\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};\n\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 (env.indexOf('legalstart') > -1 || env.indexOf('Legalstart') > -1 || env.indexOf('ComptaStart') > -1 || env.indexOf('comptaStart') > -1 || env.indexOf('Comptastart') > -1 || env.indexOf('comptastart') > -1) {\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 return brand;\n};\n\n\nfunction getBrand(params?: GetBrandParam): Brand {\n\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 \n const {\n idTypeBrand = null, objectWaited = null, nodeEnv,\n } = 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 return objectToReturn;\n }\n\n return brand;\n};\n\nconst getBrandByEmail = (email: string): '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<object> => {\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, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList, getBrand,\n};"]}
@@ -0,0 +1,7 @@
1
+ import { PaymentRecoveryStatus, PaymentRecoveryTag } from '../../types';
2
+ export declare const CAARL_WAITING_STATUS: PaymentRecoveryStatus[];
3
+ export declare const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[];
4
+ export declare const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[];
5
+ export declare function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number;
6
+ export declare function getStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag;
7
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAO,MAAM,aAAa,CAAC;AAM7E,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EAA6X,CAAC;AACtb,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAAyC,CAAC;AACpG,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EAAsL,CAAC;AAErP,wBAAgB,yCAAyC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,CAKhF"}
@@ -0,0 +1,26 @@
1
+ import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';
2
+ const CARL_RECOVERY_FEES_PERCENTAGE = 15;
3
+ const CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;
4
+ const CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5001;
5
+ export const CAARL_WAITING_STATUS = [PaymentRecoveryStatus.OPENED, PaymentRecoveryStatus.SENT_TO_AMICABLE, PaymentRecoveryStatus.AMICABLE_SETTLEMENT, PaymentRecoveryStatus.SENT_TO_COURT, PaymentRecoveryStatus.FEES_PAID, PaymentRecoveryStatus.IP_SUBMITTED_TO_COURT, PaymentRecoveryStatus.IP_OK, PaymentRecoveryStatus.IP_SIGNIFIED, PaymentRecoveryStatus.CUSTOM_RECOVERED, PaymentRecoveryStatus.CUSTOM_CANCELLATION];
6
+ export const CAARL_RECOVERED_STATUS = [PaymentRecoveryStatus.CLOSED_PAYED];
7
+ export const CAARL_NOT_RECOVERED_STATUS = [PaymentRecoveryStatus.CLOSED_DISPUTE, PaymentRecoveryStatus.CLOSED_FAILED, PaymentRecoveryStatus.CLOSED_RJ, PaymentRecoveryStatus.CLOSED_LJ, PaymentRecoveryStatus.CLOSED_IP_KO];
8
+ export function getRecoveryFeesFromAmountTotalTaxIncluded(amount) {
9
+ const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;
10
+ const feesTaxExcluded = amount * (rate / 100);
11
+ const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);
12
+ return feesTaxExcluded + feesTax;
13
+ }
14
+ export function getStatusGroup(status) {
15
+ if (CAARL_WAITING_STATUS.includes(status)) {
16
+ return PaymentRecoveryTag.WAITING;
17
+ }
18
+ if (CAARL_RECOVERED_STATUS.includes(status)) {
19
+ return PaymentRecoveryTag.RECOVERED;
20
+ }
21
+ if (CAARL_NOT_RECOVERED_STATUS.includes(status)) {
22
+ return PaymentRecoveryTag.NOT_RECOVERED;
23
+ }
24
+ return PaymentRecoveryTag.WAITING;
25
+ }
26
+ //# sourceMappingURL=recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE7E,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACzC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACjD,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAA4B,CAAC,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,aAAa,EAAE,qBAAqB,CAAC,SAAS,EAAE,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;AACtb,MAAM,CAAC,MAAM,sBAAsB,GAA4B,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,0BAA0B,GAA4B,CAAC,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,CAAC,aAAa,EAAE,qBAAqB,CAAC,SAAS,EAAE,qBAAqB,CAAC,SAAS,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAErP,MAAM,UAAU,yCAAyC,CAAC,MAAc;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,6BAA6B,CAAC;IAErI,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE1D,OAAO,eAAe,GAAG,OAAO,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA6B;IAC1D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC;IAAC,CAAC;IACjF,IAAI,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,kBAAkB,CAAC,SAAS,CAAC;IAAC,CAAC;IACrF,IAAI,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,kBAAkB,CAAC,aAAa,CAAC;IAAC,CAAC;IAC7F,OAAO,kBAAkB,CAAC,OAAO,CAAC;AACpC,CAAC","sourcesContent":["import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';\n\nconst CARL_RECOVERY_FEES_PERCENTAGE = 15;\nconst CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;\nconst CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5001;\n\nexport const CAARL_WAITING_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.OPENED, PaymentRecoveryStatus.SENT_TO_AMICABLE, PaymentRecoveryStatus.AMICABLE_SETTLEMENT, PaymentRecoveryStatus.SENT_TO_COURT, PaymentRecoveryStatus.FEES_PAID, PaymentRecoveryStatus.IP_SUBMITTED_TO_COURT, PaymentRecoveryStatus.IP_OK, PaymentRecoveryStatus.IP_SIGNIFIED, PaymentRecoveryStatus.CUSTOM_RECOVERED, PaymentRecoveryStatus.CUSTOM_CANCELLATION];\nexport const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_PAYED];\nexport const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_DISPUTE, PaymentRecoveryStatus.CLOSED_FAILED, PaymentRecoveryStatus.CLOSED_RJ, PaymentRecoveryStatus.CLOSED_LJ, PaymentRecoveryStatus.CLOSED_IP_KO];\n\nexport function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number {\n\n const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;\n\n const feesTaxExcluded = amount * (rate / 100);\n const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);\n\n return feesTaxExcluded + feesTax;\n}\n\nexport function getStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag {\n if (CAARL_WAITING_STATUS.includes(status)) { return PaymentRecoveryTag.WAITING; }\n if (CAARL_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.RECOVERED; }\n if (CAARL_NOT_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.NOT_RECOVERED; }\n return PaymentRecoveryTag.WAITING;\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.397",
3
+ "version": "1.1.399",
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",
@@ -1,5 +1,6 @@
1
1
  import { Resource } from '../Resource';
2
- import { CreateNotifyCustomer, CreatePaymentsAutoBilling, IPayment, QueryMonthlyPayment, QueryPayment, QueryPaymentCsv, QueryPaymentInvoice, QuerySocietyUnpaid, ReadPaid, ReadPaymentInvoice, ReadStatPrestation, ReadStatsSocietyUnpaid } from '../../types';
2
+ import { AskProcessPaymentRecovery, BasePaginate, CreateNotifyCustomer, CreatePaymentRecovery, CreatePaymentsAutoBilling, IPayment, QueryMonthlyPayment, QueryPayment, QueryPaymentCsv, QueryPaymentInvoice, QueryPaymentRecoveryPaginated, QueryPaymentRecoveryStatistic, QuerySocietyUnpaid, ReadPaid, ReadPaymentInvoice, ReadPaymentRecovery, ReadPaymentRecoveryClaim, ReadPaymentRecoveryStatistic, ReadStatPrestation, ReadStatsSocietyUnpaid } from '../../types';
3
+ import { IPaymentRecovery } from '../../types/Interface/models/IPaymentRecovery';
3
4
 
4
5
  export class Payment extends Resource {
5
6
  getMonthlyCsv(query: QueryMonthlyPayment): Promise<void> {
@@ -61,4 +62,24 @@ export class Payment extends Resource {
61
62
  getAllInvoices(idExercice: number, query: QueryPaymentInvoice): Promise<ReadPaymentInvoice[]> {
62
63
  return this.axios.$get(`/exercices/${idExercice}/invoices`, { params: query });
63
64
  }
65
+
66
+ createRecovery(idFile: number, payload: CreatePaymentRecovery): Promise<IPaymentRecovery> {
67
+ return this.axios.$post(`/invoices/${idFile}/payments-recovery`, payload);
68
+ }
69
+
70
+ getRecovery(idPaymentRecovery: number): Promise<ReadPaymentRecoveryClaim> {
71
+ return this.axios.$get(`/payments-recovery/${idPaymentRecovery}`);
72
+ }
73
+
74
+ getPaginatedRecovery(query: QueryPaymentRecoveryPaginated, signal: AbortSignal): Promise<BasePaginate<ReadPaymentRecovery>> {
75
+ return this.axios.$get('/payments-recovery', { params: query, signal });
76
+ }
77
+
78
+ getRecoveryStatistics(query: QueryPaymentRecoveryStatistic, signal: AbortSignal): Promise<ReadPaymentRecoveryStatistic> {
79
+ return this.axios.$get('/payments-recovery/statistics', { params: query, signal });
80
+ }
81
+
82
+ askProcess(idPaymentRecovery: number, payload: AskProcessPaymentRecovery): Promise<IPaymentRecovery> {
83
+ return this.axios.$post(`/payments-recovery/${idPaymentRecovery}/contact`, payload);
84
+ }
64
85
  }
package/ts/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './utils';
2
2
  export * from './utils/commercialManagement/product';
3
3
  export * from './utils/commercialManagement/vat';
4
+ export * from './utils/commercialManagement/recovery';
4
5
  // eslint-disable-next-line
5
6
  export * from './types';
6
7
  export * from './api';
@@ -29,6 +29,7 @@ export const BrandClementine: Brand[] = [
29
29
  juridique: '03 83 93 16 22',
30
30
  },
31
31
  listMails: {
32
+ recovery: 'recouvrement@clementine.fr',
32
33
  administratif: 'administratif@clementine.fr',
33
34
  app: 'app@clementine.fr',
34
35
  bonjour: 'bonjour@clementine.fr',
@@ -12,4 +12,5 @@ export enum ConnectorType {
12
12
  ACTIVATION = 11,
13
13
  BRED = 12,
14
14
  STRIPE_BANK = 13,
15
+ CAARL = 14,
15
16
  }
@@ -0,0 +1,52 @@
1
+ export enum PaymentRecoveryEvent {
2
+ SUBMITTED = 'submitted',
3
+ SENT_TO_AMICABLE_SETTLEMENT = 'sentToAmicableSettlement',
4
+ AROK = 'AROK',
5
+ NEW_PAYMENT = 'newPayment',
6
+ CLAIM_ENDED = 'claimEnded',
7
+ CLAIM_ENDED_PAYED = 'claimEndedPayed',
8
+ CLAIM_ENDED_DISPUTE = 'claimEndedDispute',
9
+ CLAIM_ENDED_NOANSWER = 'claimEndedNoanswer',
10
+ CLAIM_ENDED_RJ = 'claimEndedRJ',
11
+ CLAIM_ENDED_LJ = 'claimEndedLJ',
12
+ PAY_SCHEDULE_SETUP = 'payScheduleSetup',
13
+ PAY_SCHEDULE_ERROR = 'payScheduleError',
14
+ NEW_ACTION = 'newAction',
15
+ NEW_PAYMENT_CLIENT = 'newPaymentClient',
16
+ SENT_TO_COURT_SETTLEMENT = 'sentToCourtSettlement',
17
+ COURT_SETTLEMENT_PAID = 'CourtSettlementPaid',
18
+ FILED_IP = 'filedIP',
19
+ IP_OK = 'IPOK',
20
+ IP_PARTIEL = 'IPpartiel',
21
+ IP_KO = 'IPKO',
22
+ SIGNIFIED_IP = 'signifiedIP',
23
+ RECORDED_IP = 'recordedIP',
24
+ CLAIM_ENDED_JUD = 'claimEndedJud',
25
+ }
26
+
27
+ export enum PaymentRecoveryStatus {
28
+ OPENED = 'opened',
29
+ SENT_TO_AMICABLE = 'sent_to_amicable',
30
+ AMICABLE_SETTLEMENT = 'amicable_settlement',
31
+ CLOSED = 'closed',
32
+ CLOSED_PAYED = 'closed_payed',
33
+ CLOSED_DISPUTE = 'closed_dispute',
34
+ CLOSED_FAILED = 'closed_failed',
35
+ CLOSED_RJ = 'closed_rj',
36
+ CLOSED_LJ = 'closed_lj',
37
+ SENT_TO_COURT = 'sent_to_court',
38
+ FEES_PAID = 'fees_paid',
39
+ IP_SUBMITTED_TO_COURT = 'IP_submitted_to_court',
40
+ IP_OK = 'IPOK',
41
+ CLOSED_IP_KO = 'closed_IPKO',
42
+ IP_SIGNIFIED = 'IP_signified',
43
+ CLOSED_JUD = 'closed_jud',
44
+ CUSTOM_CANCELLATION = 'custom_cancellation',
45
+ CUSTOM_RECOVERED = 'custom_recovered',
46
+ }
47
+
48
+ export enum PaymentRecoveryTag {
49
+ RECOVERED = 'recovered',
50
+ WAITING = 'waiting',
51
+ NOT_RECOVERED = 'not_recovered',
52
+ }
@@ -0,0 +1,144 @@
1
+ import { PaymentRecoveryStatus, PaymentRecoveryEvent } from '../../../Enum/PaymentRecovery';
2
+
3
+ export type CaarlServiceType = 'protectionJuridique' | 'litigeCommercial' | 'recouvrementFacture' | 'recouvrementFacture2';
4
+ export type CaarlLanguage = 'fr' | 'en' | 'es' | 'de' | 'it';
5
+ export type CaarlLegalCountry = 'FR' | 'ES' | 'DE' | 'IT';
6
+ export type CaarlGender = 'M' | 'F' | 'Other';
7
+
8
+ export interface CaarlCreateSubscriptionResponse {
9
+ subscription: {
10
+ number: string;
11
+ startDate: string;
12
+ endDate?: string;
13
+ externalId?: string;
14
+ firstName: string;
15
+ lastName: string;
16
+ email: string;
17
+ birthdate?: string;
18
+ gender: string;
19
+ address?: string;
20
+ postalCode?: string;
21
+ city?: string;
22
+ language: CaarlLanguage;
23
+ legalCountry: string;
24
+ bundle: {
25
+ name: string;
26
+ reference: string;
27
+ services: Array<CaarlServiceType>
28
+ },
29
+ distributor: {
30
+ reference: string;
31
+ name: string;
32
+ updatedAt: string;
33
+ createdAt?: string;
34
+ },
35
+ metadata: object,
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ };
39
+ }
40
+
41
+ export interface CaarlCreateSubscriptionPayload {
42
+ externalId: string;
43
+ firstName: string;
44
+ lastName: string;
45
+ email: string;
46
+ gender?: CaarlGender;
47
+ company?: string;
48
+ siren?: string;
49
+ birthdate?: string;
50
+ address?: string;
51
+ city?: string;
52
+ postalCode?: string;
53
+ telephone?: string;
54
+ language?: CaarlLanguage;
55
+ legalCountry?: CaarlLegalCountry;
56
+ metadata?: object;
57
+ startDate: string;
58
+ endDate?: string;
59
+ bundleId: string;
60
+ distributor?: string;
61
+ }
62
+
63
+ export interface CaarlUploadFileResponse {
64
+ ribFile: { id?: string; error?: string; };
65
+ invoiceFile: { id?: string; error?: string; };
66
+ }
67
+
68
+ export interface CaarlCreateClaimPayload {
69
+ subscriptionId: string;
70
+ invoiceDate: string;
71
+ invoiceAmount: number;
72
+ invoiceInitialRemainder: number;
73
+ invoiceNumber: string;
74
+ invoiceFile: string;
75
+ iban: string;
76
+ ribFile: string;
77
+ // Debtor
78
+ debtorCiv: 'M.' | 'Mme';
79
+ debtorFirstName: string;
80
+ debtorLastName: string;
81
+ debtorEmail: string;
82
+ debtorTelephone: string;
83
+ debtorAddress: string;
84
+ debtorAddressPlus?: string;
85
+ debtorPostalCode: string;
86
+ debtorCity: string;
87
+ // Debtor legal entity
88
+ debtorCompanyType?: string;
89
+ debtorCompanyName?: string;
90
+ debtorCompanySIREN?: string;
91
+ creditorCompanySIREN?: string;
92
+ creditorTelephone?: string;
93
+ }
94
+
95
+ export type CaarlClaim = {
96
+ number: string;
97
+ externalId?: string;
98
+ status: PaymentRecoveryStatus;
99
+ type: string;
100
+ data: {
101
+ invoiceFile: string;
102
+ invoiceDate: string;
103
+ invoiceNumber: string;
104
+ invoiceAmount: number;
105
+ invoiceInitialRemainder: number;
106
+ debtorFirstName: string;
107
+ debtorLastName: string;
108
+ debtorEmail: string;
109
+ debtorTelephone: string;
110
+ debtorAddress: string;
111
+ debtorPostalCode: string;
112
+ debtorCity: string;
113
+ iban: string;
114
+ ribFile: string;
115
+ events: Array<CaarlEvent>
116
+ },
117
+ purchase: {
118
+ number: string;
119
+ externalId: string;
120
+ firstName: string;
121
+ lastName: string;
122
+ email: string;
123
+ postalCode?: string;
124
+ createdAt: string;
125
+ },
126
+ createdAt: string;
127
+ updatedAt: string;
128
+ };
129
+
130
+ export type CaarlEvent = {
131
+ createdAt: string;
132
+ date: string;
133
+ type: PaymentRecoveryEvent;
134
+ message: string;
135
+ label: string;
136
+ };
137
+
138
+ export interface CaarlCreateClaimResponse {
139
+ claim: CaarlClaim;
140
+ }
141
+
142
+ export interface CaarlClaimResponse {
143
+ claim: CaarlClaim;
144
+ }
@@ -0,0 +1,135 @@
1
+ import { IsDateString, IsEmail, IsIBAN, IsIn, IsInt, IsOptional, IsPhoneNumber, IsPositive, IsPostalCode, IsString, MinLength, ValidateNested } from 'class-validator';
2
+ import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
3
+ import { PaymentRecoveryStatus } from '../../../Enum/PaymentRecovery';
4
+
5
+ type CaarlFilePayload = {
6
+ bufferString: string;
7
+ name: string;
8
+ };
9
+
10
+ export interface UploadRecoveryDocuments {
11
+ subscriptionId: string;
12
+ files: {
13
+ rib: CaarlFilePayload;
14
+ invoice: CaarlFilePayload;
15
+ };
16
+ }
17
+
18
+ class DebtorPayload {
19
+ @ApiProperty()
20
+ @IsIn(['M.', 'Mme'])
21
+ civility: 'M.' | 'Mme';
22
+
23
+ @ApiProperty()
24
+ @IsString()
25
+ @MinLength(2)
26
+ firstname: string;
27
+
28
+ @ApiProperty()
29
+ @IsString()
30
+ @MinLength(2)
31
+ lastname: string;
32
+
33
+ @ApiProperty()
34
+ @IsEmail()
35
+ email: string;
36
+
37
+ @ApiProperty()
38
+ @IsPhoneNumber()
39
+ phone: string;
40
+
41
+ @ApiProperty()
42
+ @IsString()
43
+ @MinLength(2)
44
+ address: string;
45
+
46
+ @ApiProperty()
47
+ @IsPostalCode('any')
48
+ zipCode: string;
49
+
50
+ @ApiProperty()
51
+ @IsString()
52
+ @MinLength(2)
53
+ city: string;
54
+
55
+ @ApiPropertyOptional()
56
+ @IsString()
57
+ @IsOptional()
58
+ legalForm?: string;
59
+
60
+ @ApiPropertyOptional()
61
+ @IsString()
62
+ @IsOptional()
63
+ siren?: string;
64
+
65
+ @ApiPropertyOptional()
66
+ @IsString()
67
+ @IsOptional()
68
+ companyName?: string;
69
+ }
70
+
71
+ class InvoicePayload {
72
+ @ApiProperty()
73
+ @IsDateString()
74
+ emissionDate: string;
75
+
76
+ @ApiProperty({ comment: 'Amount in cents' })
77
+ @IsInt()
78
+ @IsPositive()
79
+ amountTotalTaxIncluded: number;
80
+
81
+ @ApiProperty({ comment: 'Amount in cents' })
82
+ @IsInt()
83
+ @IsPositive()
84
+ unpaidAmountTaxIncluded: number;
85
+
86
+ @ApiProperty()
87
+ @IsString()
88
+ reference: string;
89
+ }
90
+
91
+ class CreditorPayload {
92
+ @ApiProperty()
93
+ @IsIBAN()
94
+ iban: string;
95
+
96
+ @ApiProperty()
97
+ @IsInt()
98
+ idRibFile: number;
99
+
100
+ @ApiPropertyOptional({ comment: 'Required if subscription doesn\'t have siren field' })
101
+ @IsString()
102
+ @IsOptional()
103
+ siren?: string | null;
104
+
105
+ @ApiProperty({ comment: 'Required if subscription doesn\'t have telephone field' })
106
+ @IsPhoneNumber()
107
+ phone?: string | null;
108
+ }
109
+
110
+ export class CreatePaymentRecovery {
111
+ @ValidateNested()
112
+ invoice: InvoicePayload;
113
+
114
+ @ValidateNested()
115
+ debtor: DebtorPayload;
116
+
117
+ @ValidateNested()
118
+ creditor: CreditorPayload;
119
+ }
120
+
121
+ export class AskProcessPaymentRecovery {
122
+ @ApiProperty()
123
+ @IsString()
124
+ @MinLength(2)
125
+ subject: string;
126
+
127
+ @ApiProperty()
128
+ @IsString()
129
+ @MinLength(2)
130
+ content: string;
131
+
132
+ @ApiProperty()
133
+ @IsString()
134
+ type: PaymentRecoveryStatus.CUSTOM_CANCELLATION | PaymentRecoveryStatus.CUSTOM_RECOVERED | 'askCertificate';
135
+ }
@@ -0,0 +1,49 @@
1
+ import { IsBoolean, IsDateString, IsOptional, IsString } from 'class-validator';
2
+ import { ApiPropertyOptional } from '../../../../utils';
3
+ import { RequiredQueryPaginate } from '../BasePaginate';
4
+ import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
5
+
6
+ export class QueryPaymentRecoveryPaginated extends RequiredQueryPaginate {
7
+ @ApiPropertyOptional()
8
+ @IsBoolean()
9
+ @ToBoolean()
10
+ @IsOptional()
11
+ isDescending?: boolean;
12
+
13
+ @ApiPropertyOptional()
14
+ @IsDateString()
15
+ @IsOptional()
16
+ startDate?: string;
17
+
18
+ @ApiPropertyOptional()
19
+ @IsDateString()
20
+ @IsOptional()
21
+ endDate?: string;
22
+
23
+ @ApiPropertyOptional()
24
+ @IsString()
25
+ @IsOptional()
26
+ search?: string;
27
+
28
+ @ApiPropertyOptional()
29
+ @IsOptional()
30
+ @IsString()
31
+ status?: 'recovered' | 'notRecovered' | 'waiting';
32
+ }
33
+
34
+ export class QueryPaymentRecoveryStatistic {
35
+ @ApiPropertyOptional()
36
+ @IsDateString()
37
+ @IsOptional()
38
+ startDate?: string;
39
+
40
+ @ApiPropertyOptional()
41
+ @IsDateString()
42
+ @IsOptional()
43
+ endDate?: string;
44
+
45
+ @ApiPropertyOptional()
46
+ @IsString()
47
+ @IsOptional()
48
+ search?: string;
49
+ }
@@ -0,0 +1,52 @@
1
+ import { PaymentRecoveryStatus } from '../../../Enum/PaymentRecovery';
2
+ import { IFile } from '../../models/IFile';
3
+ import { IThirdParty } from '../../models/IThirdParty';
4
+ import { CaarlEvent } from './Caarl';
5
+
6
+ export interface ReadPaymentRecoveryClaim {
7
+ status: PaymentRecoveryStatus;
8
+ type: string;
9
+ events: CaarlEvent[];
10
+ iban: string;
11
+ debtor: {
12
+ firstname: string;
13
+ lastname: string;
14
+ email: string;
15
+ phone: string;
16
+ address: string;
17
+ zipCode: string;
18
+ city: string;
19
+ };
20
+ }
21
+
22
+ export interface ReadPaymentRecovery {
23
+ id: number;
24
+ status: PaymentRecoveryStatus;
25
+ externalId: string;
26
+ thirdParty: IThirdParty;
27
+ invoice: {
28
+ file: IFile;
29
+ amountTotalTaxIncluded: number;
30
+ amountTotalTaxExcluded: number;
31
+ title: string;
32
+ reference: string;
33
+ };
34
+ lastSync: Date | null;
35
+ createdAt: Date;
36
+ updatedAt: Date;
37
+ }
38
+
39
+ export interface ReadPaymentRecoveryStatistic {
40
+ recovered: {
41
+ count: number;
42
+ amount: number;
43
+ };
44
+ waiting: {
45
+ count: number;
46
+ amount: number;
47
+ };
48
+ notRecovered: {
49
+ count: number;
50
+ amount: number;
51
+ };
52
+ }
@@ -9,6 +9,7 @@ export enum Code {
9
9
  tokenFailure = 'token_authentication_failure',
10
10
  authenticationFailure = 'authentication_credentials_failure',
11
11
  notFound = 'resource_not_found',
12
+ forbidden = 'forbidden',
12
13
  fileNotFound = 'file_not_found',
13
14
  validationError = 'resource_validation_error',
14
15
  constraintError = 'resource_constraint_error',
@@ -1,7 +1,8 @@
1
1
  import { IAttachmentFile } from './IAttachmentFile';
2
2
  import { IFolderFile } from './IFolderFile';
3
3
  import { IFileType } from './IFileType';
4
- import { ICommercialMail, IMail, IMailAttachment } from '../..';
4
+ import { ICommercialMail, IEstimateInvoice, IMail, IMailAttachment } from '../..';
5
+ import { IPaymentRecovery } from './IPaymentRecovery';
5
6
 
6
7
  // files
7
8
  export interface IFile {
@@ -21,4 +22,6 @@ export interface IFile {
21
22
  commercialMails?: ICommercialMail[];
22
23
  mails?: IMail[];
23
24
  mailAttachment?: IMailAttachment | null;
25
+ paymentRecovery?: IPaymentRecovery | null;
26
+ estimateInvoice?: IEstimateInvoice | null;
24
27
  }
@@ -0,0 +1,18 @@
1
+ import { PaymentRecoveryStatus } from '../../Enum/PaymentRecovery';
2
+ import { IFile } from './IFile';
3
+ import { IPayment } from './IPayment';
4
+
5
+ export interface IPaymentRecovery {
6
+ id?: number;
7
+ externalId: string;
8
+ status: PaymentRecoveryStatus;
9
+ lastSync: Date | null;
10
+ metadata: any | null;
11
+ idFile: number;
12
+ idPayment: number | null;
13
+ createdAt?: Date;
14
+ updatedAt?: Date;
15
+
16
+ file?: IFile;
17
+ payment?: IPayment | null;
18
+ }