@silexpert/core 2.0.59 → 2.0.61

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 (79) hide show
  1. package/dist/api/resources/KycMandate.d.ts +2 -2
  2. package/dist/api/resources/KycMandate.d.ts.map +1 -1
  3. package/dist/api/resources/KycMandate.js.map +1 -1
  4. package/dist/types/Enum/AccountingTransactionTracking.d.ts +2 -1
  5. package/dist/types/Enum/AccountingTransactionTracking.d.ts.map +1 -1
  6. package/dist/types/Enum/AccountingTransactionTracking.js +1 -0
  7. package/dist/types/Enum/AccountingTransactionTracking.js.map +1 -1
  8. package/dist/types/Enum/Role.d.ts +3 -0
  9. package/dist/types/Enum/Role.d.ts.map +1 -1
  10. package/dist/types/Enum/Role.js +3 -3
  11. package/dist/types/Enum/Role.js.map +1 -1
  12. package/dist/types/Enum/RoleDetail.d.ts +24 -0
  13. package/dist/types/Enum/RoleDetail.d.ts.map +1 -1
  14. package/dist/types/Enum/RoleDetail.js +24 -25
  15. package/dist/types/Enum/RoleDetail.js.map +1 -1
  16. package/dist/types/Interface/api/accountingEntry/AnnotateAccountingTransaction.d.ts +1 -0
  17. package/dist/types/Interface/api/accountingEntry/AnnotateAccountingTransaction.d.ts.map +1 -1
  18. package/dist/types/Interface/api/accountingEntry/AnnotateAccountingTransaction.js.map +1 -1
  19. package/dist/types/Interface/api/accountingTransaction/DeleteInvoices.js +1 -1
  20. package/dist/types/Interface/api/accountingTransaction/DeleteInvoices.js.map +1 -1
  21. package/dist/types/Interface/api/docoon/DocoonInvoice.d.ts +2 -1
  22. package/dist/types/Interface/api/docoon/DocoonInvoice.d.ts.map +1 -1
  23. package/dist/types/Interface/api/docoon/DocoonInvoice.js.map +1 -1
  24. package/dist/types/Interface/api/docoon/Read.d.ts +6 -1
  25. package/dist/types/Interface/api/docoon/Read.d.ts.map +1 -1
  26. package/dist/types/Interface/api/docoon/Read.js.map +1 -1
  27. package/dist/types/Interface/api/kyc/Read.d.ts +4 -0
  28. package/dist/types/Interface/api/kyc/Read.d.ts.map +1 -1
  29. package/dist/types/Interface/api/kyc/Read.js.map +1 -1
  30. package/dist/types/Interface/api/library/MergeContentPayload.d.ts +12 -0
  31. package/dist/types/Interface/api/library/MergeContentPayload.d.ts.map +1 -0
  32. package/dist/types/Interface/api/library/MergeContentPayload.js +83 -0
  33. package/dist/types/Interface/api/library/MergeContentPayload.js.map +1 -0
  34. package/dist/types/Interface/api/society/CreateSociety.d.ts +1 -0
  35. package/dist/types/Interface/api/society/CreateSociety.d.ts.map +1 -1
  36. package/dist/types/Interface/api/society/CreateSociety.js +5 -0
  37. package/dist/types/Interface/api/society/CreateSociety.js.map +1 -1
  38. package/dist/types/Interface/api/society/UpdateSociety.d.ts +1 -0
  39. package/dist/types/Interface/api/society/UpdateSociety.d.ts.map +1 -1
  40. package/dist/types/Interface/api/society/UpdateSociety.js +5 -0
  41. package/dist/types/Interface/api/society/UpdateSociety.js.map +1 -1
  42. package/dist/types/Interface/models/IAccountingFile.d.ts +1 -0
  43. package/dist/types/Interface/models/IAccountingFile.d.ts.map +1 -1
  44. package/dist/types/Interface/models/IAccountingFile.js +1 -0
  45. package/dist/types/Interface/models/IAccountingFile.js.map +1 -1
  46. package/dist/types/Interface/models/ISociety.d.ts +1 -0
  47. package/dist/types/Interface/models/ISociety.d.ts.map +1 -1
  48. package/dist/types/Interface/models/ISociety.js +1 -0
  49. package/dist/types/Interface/models/ISociety.js.map +1 -1
  50. package/dist/types/index.d.ts +1 -0
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/index.js +1 -0
  53. package/dist/types/index.js.map +1 -1
  54. package/dist/utils/index.d.ts +1 -0
  55. package/dist/utils/index.d.ts.map +1 -1
  56. package/dist/utils/index.js +1 -0
  57. package/dist/utils/index.js.map +1 -1
  58. package/dist/utils/phone.d.ts +1 -0
  59. package/dist/utils/phone.d.ts.map +1 -1
  60. package/dist/utils/phone.js +22 -0
  61. package/dist/utils/phone.js.map +1 -1
  62. package/package.json +1 -1
  63. package/ts/api/resources/KycMandate.ts +2 -2
  64. package/ts/types/Enum/AccountingTransactionTracking.ts +1 -0
  65. package/ts/types/Enum/Role.ts +3 -3
  66. package/ts/types/Enum/RoleDetail.ts +24 -25
  67. package/ts/types/Interface/api/accountingEntry/AnnotateAccountingTransaction.ts +2 -0
  68. package/ts/types/Interface/api/accountingTransaction/DeleteInvoices.ts +1 -1
  69. package/ts/types/Interface/api/docoon/DocoonInvoice.ts +2 -1
  70. package/ts/types/Interface/api/docoon/Read.ts +6 -1
  71. package/ts/types/Interface/api/kyc/Read.ts +5 -0
  72. package/ts/types/Interface/api/library/MergeContentPayload.ts +55 -0
  73. package/ts/types/Interface/api/society/CreateSociety.ts +3 -0
  74. package/ts/types/Interface/api/society/UpdateSociety.ts +3 -0
  75. package/ts/types/Interface/models/IAccountingFile.ts +2 -0
  76. package/ts/types/Interface/models/ISociety.ts +1 -0
  77. package/ts/types/index.ts +1 -0
  78. package/ts/utils/index.ts +1 -0
  79. package/ts/utils/phone.ts +25 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC"}
@@ -20,4 +20,5 @@ export * from './bankAccount.js';
20
20
  export * from './commercialOffer.js';
21
21
  export * from './societyApproval.js';
22
22
  export * from './commercialManagement/saleEmail.js';
23
+ export * from './transforms/boolean.transform.js';
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC","sourcesContent":["export * from './objectUtils/index.js';\nexport * from './stringUtils/index.js';\nexport * from './brands.js';\nexport * from './webmail.js';\nexport * from './decorators/isE164PhoneNumber.decorator.js';\nexport * from './documents.js';\nexport * from './balanceSheetModule.js';\nexport * from './siretValidation.js';\nexport * from './statutsGeneration.js';\nexport * from './exercice.js';\nexport * from './prestation.js';\nexport * from './task.js';\nexport * from './social.js';\nexport * from './commercialManagement/recurrence.js';\nexport * from './amount.js';\nexport * from './quotation.js';\nexport * from './isHtml.js';\nexport * from './isUrl.js';\nexport * from './bankAccount.js';\nexport * from './commercialOffer.js';\nexport * from './societyApproval.js';\nexport * from './commercialManagement/saleEmail.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,sCAAsC,CAAC;AACrD,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC","sourcesContent":["export * from './objectUtils/index.js';\nexport * from './stringUtils/index.js';\nexport * from './brands.js';\nexport * from './webmail.js';\nexport * from './decorators/isE164PhoneNumber.decorator.js';\nexport * from './documents.js';\nexport * from './balanceSheetModule.js';\nexport * from './siretValidation.js';\nexport * from './statutsGeneration.js';\nexport * from './exercice.js';\nexport * from './prestation.js';\nexport * from './task.js';\nexport * from './social.js';\nexport * from './commercialManagement/recurrence.js';\nexport * from './amount.js';\nexport * from './quotation.js';\nexport * from './isHtml.js';\nexport * from './isUrl.js';\nexport * from './bankAccount.js';\nexport * from './commercialOffer.js';\nexport * from './societyApproval.js';\nexport * from './commercialManagement/saleEmail.js';\nexport * from './transforms/boolean.transform.js';\n"]}
@@ -3,4 +3,5 @@ export declare function getPhoneNumberWithoutPrefix(phoneNumber: string): string
3
3
  export declare function countSegmentsFromMessage(message: string): number;
4
4
  export declare function getPhoneNumberFromRoles(roles: number[], attribute?: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress'): string | null;
5
5
  export declare function formatPhoneNumberToNational(phoneNumber: string): string;
6
+ export declare function isMobileNumber(phone: string | null | undefined, prefix?: string): boolean;
6
7
  //# sourceMappingURL=phone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,SAAQ,GAAG,MAAM,GAAG,IAAI,CAcjG;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,GAAE,aAAa,GAAG,wBAAwB,GAAG,2BAA2C,GAChG,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvE"}
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,SAAQ,GAAG,MAAM,GAAG,IAAI,CAcjG;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,GAAE,aAAa,GAAG,wBAAwB,GAAG,2BAA2C,GAChG,MAAM,GAAG,IAAI,CAkCf;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,SAA4B,GAAG,OAAO,CAuB5G"}
@@ -69,4 +69,26 @@ export function formatPhoneNumberToNational(phoneNumber) {
69
69
  // Fonction à mettre à jour en fonction des cas de notre bdd
70
70
  return phoneWithoutSpace;
71
71
  }
72
+ export function isMobileNumber(phone, prefix = PhonePrefix.FRANCE.prefix) {
73
+ if (!phone)
74
+ return false;
75
+ let cleaned = phone.replace(/\s/g, '');
76
+ if (cleaned.startsWith('+33')) {
77
+ cleaned = cleaned.substring(3);
78
+ }
79
+ else if (cleaned.startsWith('0033')) {
80
+ cleaned = cleaned.substring(4);
81
+ }
82
+ const digits = cleaned.replace(/\D/g, '');
83
+ if (prefix === '+33' || phone.startsWith('+33') || phone.startsWith('0033')) {
84
+ if (digits.startsWith('06') || digits.startsWith('07')) {
85
+ return digits.length === 10;
86
+ }
87
+ if (digits.startsWith('6') || digits.startsWith('7')) {
88
+ return digits.length === 9;
89
+ }
90
+ return false;
91
+ }
92
+ return digits.startsWith('6') || digits.startsWith('7') || digits.startsWith('06') || digits.startsWith('07');
93
+ }
72
94
  //# sourceMappingURL=phone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"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","sourcesContent":["import { count } from 'sms-length';\nimport { PhonePrefix } from '../types/Enum/Phone.js';\nimport { Role } from '../types/Enum/Role.js';\nimport { RoleDetail } from '../types/Enum/RoleDetail.js';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix)\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((index) => PhonePrefix[index].prefix)\n .forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return count(message).messages;\n}\n\nexport function getPhoneNumberFromRoles(\n roles: number[],\n attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber',\n): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.SDR].includes(role))) {\n return RoleDetail.SDR[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n const phoneWithoutSpace = phoneNumber.replace(/[. ]/g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}\n"]}
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"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","sourcesContent":["import { count } from 'sms-length';\nimport { PhonePrefix } from '../types/Enum/Phone.js';\nimport { Role } from '../types/Enum/Role.js';\nimport { RoleDetail } from '../types/Enum/RoleDetail.js';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix)\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((index) => PhonePrefix[index].prefix)\n .forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return count(message).messages;\n}\n\nexport function getPhoneNumberFromRoles(\n roles: number[],\n attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber',\n): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.SDR].includes(role))) {\n return RoleDetail.SDR[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n const phoneWithoutSpace = phoneNumber.replace(/[. ]/g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}\n\nexport function isMobileNumber(phone: string | null | undefined, prefix = PhonePrefix.FRANCE.prefix): boolean {\n if (!phone) return false;\n let cleaned = phone.replace(/\\s/g, '');\n\n if (cleaned.startsWith('+33')) {\n cleaned = cleaned.substring(3);\n } else if (cleaned.startsWith('0033')) {\n cleaned = cleaned.substring(4);\n }\n\n const digits = cleaned.replace(/\\D/g, '');\n\n if (prefix === '+33' || phone.startsWith('+33') || phone.startsWith('0033')) {\n if (digits.startsWith('06') || digits.startsWith('07')) {\n return digits.length === 10;\n }\n if (digits.startsWith('6') || digits.startsWith('7')) {\n return digits.length === 9;\n }\n return false;\n }\n\n return digits.startsWith('6') || digits.startsWith('7') || digits.startsWith('06') || digits.startsWith('07');\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "2.0.59",
3
+ "version": "2.0.61",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "keywords": [
6
6
  "accounting",
@@ -1,8 +1,8 @@
1
- import { IEInvoicingKycAndMandate } from '#types/index.js';
1
+ import { _InvoicingKycMAndateWithDirectoryLineInfo } from '#types/index.js';
2
2
  import { Resource } from '../Resource.js';
3
3
 
4
4
  export class KycMandate extends Resource {
5
- public getAllBySociety(idSociety: number): Promise<IEInvoicingKycAndMandate[]> {
5
+ public getAllBySociety(idSociety: number): Promise<_InvoicingKycMAndateWithDirectoryLineInfo[]> {
6
6
  return this.axios.$get(`/societies/${idSociety}/mandates`);
7
7
  }
8
8
 
@@ -1,3 +1,4 @@
1
1
  export enum AccountingTransactionTrackingType {
2
2
  ACD = 'ACD',
3
+ E_INVOICING_EMISSION = 'E_INVOICING_EMISSION',
3
4
  }
@@ -21,9 +21,9 @@ export enum Role {
21
21
  CANDIDAT = 24,
22
22
  DEVELOPER = 25,
23
23
  API = 26,
24
- // BACK_OFFICE = 27,
25
- // BACK_OFFICE_EXPRESS = 28,
26
- // BACK_MANAGER = 30,
24
+ ATTRIB_COMPTABLE = 27,
25
+ ATTRIB_INDIV = 28,
26
+ ATTRIB_PREMIUM = 30,
27
27
  // FRONT_MANAGER = 31,
28
28
  // CUSTOMER_SUCCESS_MANAGER = 32,
29
29
  // COMMERCIAL_MANAGER = 33,
@@ -217,31 +217,30 @@ export const RoleDetail = {
217
217
  subRole: false,
218
218
  isGrade: false,
219
219
  },
220
- // BACK_OFFICE: {
221
- // id: 27,
222
- // name: 'Back office',
223
- // colorPrimary: '#8765D0',
224
- // colorSecondary: '#DED7F6',
225
- // subRole: false,
226
- // isGrade: false,
227
- // },
228
- // BACK_OFFICE_EXPRESS: {
229
- // id: 28,
230
- // name: 'Back office express',
231
- // colorPrimary: '#8765D0',
232
- // colorSecondary: '#DED7F6',
233
- // subRole: false,
234
- // isGrade: false,
235
- // },
236
- // BACK_MANAGER: {
237
- // id: 30,
238
- // name: 'Manager back',
239
- // colorPrimary: '#8765D0',
240
- // colorSecondary: '#DED7F6',
241
- // subRole: false,
242
- // handledInUserSocietyPermissionTable: false,
243
- // isGrade: false,
244
- // },
220
+ ATTRIB_COMPTABLE: {
221
+ id: Role.ATTRIB_COMPTABLE,
222
+ name: 'Attribution comptable',
223
+ colorPrimary: '#8765D0',
224
+ colorSecondary: '#DED7F6',
225
+ subRole: false,
226
+ isGrade: false,
227
+ },
228
+ ATTRIB_PREMIUM: {
229
+ id: Role.ATTRIB_PREMIUM,
230
+ name: 'Attribution premium',
231
+ colorPrimary: '#8765D0',
232
+ colorSecondary: '#DED7F6',
233
+ subRole: false,
234
+ isGrade: false,
235
+ },
236
+ ATTRIB_INDIV: {
237
+ id: Role.ATTRIB_INDIV,
238
+ name: 'Attribution individuel',
239
+ colorPrimary: '#8765D0',
240
+ colorSecondary: '#DED7F6',
241
+ subRole: false,
242
+ isGrade: false,
243
+ },
245
244
  // FRONT_MANAGER: {
246
245
  // id: 31,
247
246
  // name: 'Manager front',
@@ -95,4 +95,6 @@ export interface ReadFormattedAccountingTransaction extends IAccountingTransacti
95
95
  entries?: AnnotateAccountingTransaction;
96
96
  thirdPartySuggestions?: IThirdParty[];
97
97
  isVerified?: boolean;
98
+ toVerify?: boolean;
99
+
98
100
  }
@@ -1,5 +1,5 @@
1
1
  import { IsBoolean, IsDateString, IsIn, IsNumber, IsOptional } from 'class-validator';
2
- import { AccountingJournal } from '../../../index.js';
2
+ import { AccountingJournal } from '../../../Enum/AccountingJournal.js';
3
3
  import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
4
4
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform.js';
5
5
 
@@ -180,7 +180,8 @@ export type ReadDocoonResultSearch = {
180
180
  documentTypeCode: string;
181
181
  documentStatus: string;
182
182
  name: string;
183
- acknowledgement: DocoonFlowAcknowledgement;
183
+ acknowledgment?: DocoonFlowAcknowledgement;
184
+ acknowledgement?: DocoonFlowAcknowledgement;
184
185
  };
185
186
 
186
187
  export type DocoonFlowAcknowledgement = {
@@ -211,9 +211,14 @@ export interface ReadDocoonDirectoryLineAdded {
211
211
  message: string;
212
212
  dateFrom: string;
213
213
  dateTo: string | null;
214
- flowError: string | null;
214
+ flowError: ReadDocoonDirectoryLineFlowError;
215
215
  }
216
216
 
217
+ export interface ReadDocoonDirectoryLineFlowError {
218
+ details: string[];
219
+ errorCode: string;
220
+ errorMessage: string;
221
+ }
217
222
  export interface ReadDocoonTenantDirectoryLines {
218
223
  tenantId: string;
219
224
  directoryLines: ReadDocoonDirectoryLineAdded[];
@@ -1,3 +1,8 @@
1
+ import { IEInvoicingKycAndMandate, ReadDocoonDirectoryLineAdded } from '../../../../index.js';
2
+
3
+ export type _InvoicingKycMAndateWithDirectoryLineInfo = IEInvoicingKycAndMandate & {
4
+ directoryLineInfo?: ReadDocoonDirectoryLineAdded;
5
+ };
1
6
  export interface LegalRepresentative {
2
7
  type: 'INDIVIDU' | 'ENTREPRISE';
3
8
  siren?: string;
@@ -0,0 +1,55 @@
1
+ import { IsBoolean, IsIn, IsInt, IsNumber, IsOptional, IsString } from 'class-validator';
2
+ import { ApiPropertyOptional } from '@nestjs/swagger';
3
+
4
+ export class MergeContentPayload {
5
+ @ApiPropertyOptional({ default: '', example: '' })
6
+ @IsInt()
7
+ @IsOptional()
8
+ idSociety?: number;
9
+
10
+ @ApiPropertyOptional({ enum: ['download', 'overwrite'], default: 'download', example: 'download' })
11
+ @IsString()
12
+ @IsIn(['download', 'overwrite'])
13
+ @IsOptional()
14
+ outputMode?: 'download' | 'overwrite' = 'download';
15
+
16
+ @ApiPropertyOptional({
17
+ description: 'Fallback base64 si pas de fichier envoye',
18
+ nullable: true,
19
+ default: '',
20
+ example: '',
21
+ type: String,
22
+ })
23
+ @IsString()
24
+ @IsOptional()
25
+ overlayImageBase64?: string | null;
26
+
27
+ @ApiPropertyOptional({ type: 'string', format: 'binary' })
28
+ @IsOptional()
29
+ overlayImage?: unknown;
30
+
31
+ @ApiPropertyOptional({ default: true, example: true })
32
+ @IsBoolean()
33
+ @IsOptional()
34
+ onlyTwoPages?: boolean = true;
35
+
36
+ @ApiPropertyOptional({ default: 10, example: 10 })
37
+ @IsInt()
38
+ @IsOptional()
39
+ maxFiles?: number = 10;
40
+
41
+ @ApiPropertyOptional({ default: 360, example: 360 })
42
+ @IsNumber()
43
+ @IsOptional()
44
+ x?: number = 360;
45
+
46
+ @ApiPropertyOptional({ default: 475, example: 475 })
47
+ @IsNumber()
48
+ @IsOptional()
49
+ y?: number = 475;
50
+
51
+ @ApiPropertyOptional({ default: 100, example: 100 })
52
+ @IsNumber()
53
+ @IsOptional()
54
+ imageWidth?: number = 100;
55
+ }
@@ -21,6 +21,9 @@ export class CreateSociety {
21
21
  @ApiPropertyOptional()
22
22
  address?: string;
23
23
 
24
+ @ApiPropertyOptional()
25
+ addressComplement?: string;
26
+
24
27
  @ApiPropertyOptional()
25
28
  city?: string;
26
29
 
@@ -17,6 +17,9 @@ export class UpdateSociety {
17
17
  @ApiPropertyOptional()
18
18
  address?: string | null;
19
19
 
20
+ @ApiPropertyOptional()
21
+ addressComplement?: string | null;
22
+
20
23
  @ApiPropertyOptional()
21
24
  city?: string | null;
22
25
 
@@ -31,6 +31,8 @@ export class IAccountingFile {
31
31
  deletedAt?: Date | null;
32
32
  idFileType?: number | null;
33
33
  isVerified?: boolean;
34
+ toVerify?: boolean;
35
+
34
36
 
35
37
  // Associations
36
38
  accountingTransaction?: IAccountingTransaction;
@@ -84,6 +84,7 @@ export class ISociety {
84
84
  city?: string | null;
85
85
  zipCode?: string | null;
86
86
  address?: string | null;
87
+ addressComplement?: string | null;
87
88
  idCityOfGreffe?: CityOfGreffe | null;
88
89
  siret?: string | null;
89
90
  diaCode?: string | null;
package/ts/types/index.ts CHANGED
@@ -863,6 +863,7 @@ export * from './Interface/api/humanResourceLibrary/CreateUserHumanResourceLibra
863
863
  export * from './Interface/api/report/ExternalReport.js';
864
864
  export * from './Interface/api/collaboraterDetail/CreateCollaboraterDetail.js';
865
865
  export * from './Interface/api/library/QueryLibrary.js';
866
+ export * from './Interface/api/library/MergeContentPayload.js';
866
867
  export * from './Interface/api/library/ReadLibraryFile.js';
867
868
  export * from './Interface/api/taxDeadline/QueryTaxDeadline.js';
868
869
  export * from './Interface/api/taxDeadline/ReadTaxDeadline.js';
package/ts/utils/index.ts CHANGED
@@ -20,3 +20,4 @@ export * from './bankAccount.js';
20
20
  export * from './commercialOffer.js';
21
21
  export * from './societyApproval.js';
22
22
  export * from './commercialManagement/saleEmail.js';
23
+ export * from './transforms/boolean.transform.js';
package/ts/utils/phone.ts CHANGED
@@ -85,3 +85,28 @@ export function formatPhoneNumberToNational(phoneNumber: string): string {
85
85
  // Fonction à mettre à jour en fonction des cas de notre bdd
86
86
  return phoneWithoutSpace;
87
87
  }
88
+
89
+ export function isMobileNumber(phone: string | null | undefined, prefix = PhonePrefix.FRANCE.prefix): boolean {
90
+ if (!phone) return false;
91
+ let cleaned = phone.replace(/\s/g, '');
92
+
93
+ if (cleaned.startsWith('+33')) {
94
+ cleaned = cleaned.substring(3);
95
+ } else if (cleaned.startsWith('0033')) {
96
+ cleaned = cleaned.substring(4);
97
+ }
98
+
99
+ const digits = cleaned.replace(/\D/g, '');
100
+
101
+ if (prefix === '+33' || phone.startsWith('+33') || phone.startsWith('0033')) {
102
+ if (digits.startsWith('06') || digits.startsWith('07')) {
103
+ return digits.length === 10;
104
+ }
105
+ if (digits.startsWith('6') || digits.startsWith('7')) {
106
+ return digits.length === 9;
107
+ }
108
+ return false;
109
+ }
110
+
111
+ return digits.startsWith('6') || digits.startsWith('7') || digits.startsWith('06') || digits.startsWith('07');
112
+ }