sowhat-types 2.1.21 → 2.1.23

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/index.d.mts CHANGED
@@ -1073,33 +1073,18 @@ interface FullLeadResponse {
1073
1073
  monthlyAmount: number | null;
1074
1074
  need: ProjectNeedEnum | null;
1075
1075
  financialProduct: FinancialProductEnum | null;
1076
- note: string | null;
1077
1076
  birthYear: number | null;
1078
- childrenNumber: number | null;
1079
- childrenBirthYears: number[] | null;
1077
+ hasIndependantChildren: boolean | null;
1080
1078
  maritalStatus: MaritalStatusEnum | null;
1081
- profession: ProfessionEnum | null;
1082
1079
  professionStatus: ProfessionStatusEnum | null;
1083
1080
  personalSalaryRange: PersonalSalaryRangeEnum | null;
1084
- householdSalaryRange: HouseholdSalaryRangeEnum | null;
1085
1081
  personalNetWorthRange: PersonalNetWorthRangeEnum | null;
1086
1082
  postalCode: string | null;
1087
- loanMonthlyPayment: number | null;
1083
+ hasLoan: boolean | null;
1088
1084
  financialProductsOwned: FinancialProductEnum[] | null;
1089
1085
  isMainResidenceOwner: boolean | null;
1090
1086
  lastPersonalSummaryUpdatedAt: Date;
1091
1087
  currency: AvailableCurrencyEnum;
1092
- totalRealEstatesValue: number | null;
1093
- totalMobilitiesValue: number | null;
1094
- totalOtherAssetsValue: number | null;
1095
- totalCryptocurrenciesValue: number | null;
1096
- totalSavingsBankAccounts: number | null;
1097
- totalSavingsBankAccountsBalance: number | null;
1098
- totalCheckingBankAccounts: number | null;
1099
- totalCheckingBankAccountsBalance: number | null;
1100
- totalLoansBankAccounts: number | null;
1101
- totalLoansBankAccountsBalance: number | null;
1102
- lastFinancialSummaryUpdatedAt: Date;
1103
1088
  aiSummary: LeadAiSummaryResponse | null;
1104
1089
  offer: ProCommercialOfferResponse | null;
1105
1090
  totalOffersReceived: number;
@@ -1317,6 +1302,37 @@ declare const HouseholdSalaryRanges: HouseholdSalaryRange[];
1317
1302
  declare function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string;
1318
1303
  declare function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null;
1319
1304
 
1305
+ interface ProjectLocalData {
1306
+ option: ProjectOptionEnum | null;
1307
+ need: ProjectNeedEnum | null;
1308
+ financialProduct: FinancialProductEnum | null;
1309
+ initialAmount: number | null;
1310
+ monthlyAmount: number | null;
1311
+ }
1312
+ declare const calculateProjectCompletedValue: (project: ProjectLocalData | undefined | null) => number;
1313
+ interface UserPersonalLocalData {
1314
+ postalCode: string | null;
1315
+ isMainResidenceOwner: boolean | null;
1316
+ maritalStatus: MaritalStatusEnum | null;
1317
+ haveDependentChildren: boolean | null;
1318
+ }
1319
+ declare const calculateUserPersonalDataCompletedValue: (data: UserPersonalLocalData | undefined | null) => number;
1320
+ interface IdentityLocalData {
1321
+ firstName: string | null;
1322
+ lastName: string | null;
1323
+ birthYear: number | null;
1324
+ email: string | null;
1325
+ }
1326
+ declare const calculateIdentityCompletedValue: (data: IdentityLocalData | undefined | null) => number;
1327
+ interface UserFinancialLocalData {
1328
+ professionStatus: ProfessionStatusEnum | null;
1329
+ salaryRange: string | null;
1330
+ haveLoan: boolean | null;
1331
+ personalNetWorthRange: string | null;
1332
+ financialProductsOwned: FinancialProductEnum[] | null;
1333
+ }
1334
+ declare const calculateFinancialSummaryCompletedValue: (data: UserFinancialLocalData | undefined | null) => number;
1335
+
1320
1336
  interface MaritalStatus {
1321
1337
  key: MaritalStatusEnum;
1322
1338
  label: string;
@@ -1380,4 +1396,4 @@ declare function getProjectNeedKey(label: string): ProjectNeedEnum | null;
1380
1396
 
1381
1397
  type ExactMatch<T, U extends T> = T & Record<keyof T, keyof U>;
1382
1398
 
1383
- export { type AiAdvisorResponse, type AiAdvisorStatusResponse, type AiAdvisorSyntheseResponse, type AnonymousUserResponse, type AnonymousUsersResponse, type ArticlePreviewResponse, type ArticleResponse, AssetTypeEnum, AvailableCryptocurrencySymbolEnum, AvailableCurrencyEnum, type BankAccountBalancesResponse, type BankAccountOriginalTransactionResponse, type BankAccountResponse, type BankAccountTransactionResponse, BankAccountTransactionTypeEnum, type BankAccountTransactionsResponse, BankAccountTypeEnum, type BankAccountsResponse, type BlogCategoryResponse, BudgetTypeEnum, type CreateBlogCategoryInput, type CreateCommercialOfferInput, type CreateMobilityInput, type CreateProLeadsAlertInput, type CreateProSubscriptionSessionInput, type CreateProjectInput, type CreateRealEstateInput, type CryptocurrencyAssetDeletedResponse, type CryptocurrencyAssetResponse, type CryptocurrencyResponse, type Department, DepartmentsList, EMAIL_REGEX, type ExactMatch, FetchPowensConnectionsTypeEnum, type FinancialProduct, FinancialProductEnum, FinancialProducts, type FinancialSummariesFiltersInput, type FullLeadResponse, type GetLeadsQueryInput, type GetProCommercialOffersInput, type HouseholdSalaryRange, HouseholdSalaryRangeEnum, HouseholdSalaryRanges, LIVES_OUTSIDE_FRANCE, type LeadAiSummaryResponse, type LeadResponse, type LeadsResponse, type LegalDocumentResponse, LegalDocumentTypeEnum, type LoanResponse, LoanTypeEnum, type ManualInitializeProInput, type MaritalStatus, MaritalStatusEnum, MartialStatuses, type MobilityDeletedResponse, type MobilityResponse, MobilityTypeEnum, type MonthlyMetricEntry, OfferStatusEnum, type OfferStatusFilterType, type OnboardingDataInput, type OnboardingFinancialInformationInput, type OnboardingPersonalInformationInput, type OnboardingProjectInput, type OtherAssetDeletedResponse, type OtherAssetResponse, type PaginationResponse, type PartnerResponse, type PersonalNetWorthRange, PersonalNetWorthRangeEnum, PersonalNetWorthRanges, type PersonalSalaryRange, PersonalSalaryRangeEnum, PersonalSalaryRanges, PhoneVerificationStatusEnum, type PowensConnectWebviewResponse, type PowensConnectionDeletedResponse, type PowensConnectionResponse, PowensConnectionStateEnum, type PowensManageWebviewResponse, type PowensReconnectWebviewResponse, PowensUserStatusEnum, type ProBillingPortalSessionResponse, type ProCertification, ProCertificationEnum, ProCertifications, type ProCommercialOfferResponse, type ProLeadsAlertResponse, type ProMatchOfferListResponse, type ProMatchOfferResponse, type ProMonitoringResponse, type ProMonthlyQuotaResponse, type ProResponse, ProStatusEnum, type ProSubscriptionSessionResponse, type ProUserLikeLeadResponse, type ProUserLikeResponse, type Profession, ProfessionEnum, type ProfessionStatus, ProfessionStatusEnum, ProfessionStatusList, ProfessionsList, type ProjectNeed, ProjectNeedEnum, ProjectNeeds, ProjectOptionEnum, type ProjectResponse, ProjectStatusEnum, type RealEstateDeletedResponse, type RealEstateResponse, RealEstateTypeEnum, type SendPhoneVerificationInput, type SendPhoneVerificationResponse, SupportedCurrencyExchangesEnum, SupportedCurrencySymbolsEnum, type UpdateArticleInput, type UpdateBankAccountInput, type UpdateBankAccountTransactionInput, type UpdateBlogCategoryInput, type UpdateCommercialOfferAsProInput, type UpdateCommercialOfferAsUserInput, type UpdateCommercialOfferInput, type UpdateCryptocurrencyAssetInput, type UpdateMobilityInput, type UpdateOtherAssetInput, type UpdateProInput, type UpdateProLeadsAlertInput, type UpdateProjectInput, type UpdateRealEstateInput, type UpdateUserInput, type UpdateUserPersonalSummaryInput, type UserAiSummaryResponse, UserAiSummaryStatusEnum, type UserAssetsBalancesResponse, type UserAssetsResponse, type UserAuthenticatedResponse, type UserCommercialOfferResponse, type UserFinancialSummaryResponse, type UserPersonalSummaryResponse, type UserProfileResponse, UserStatusEnum, type VerifyPhoneCodeInput, type VerifyPhoneCodeResponse, getFinancialProductKey, getFinancialProductLabel, getHouseholdSalaryRangeKey, getHouseholdSalaryRangeLabel, getMaritalStatusKey, getMaritalStatusLabel, getPersonalNetWorthRangeKey, getPersonalNetWorthRangeLabel, getPersonalSalaryRangeKey, getPersonalSalaryRangeLabel, getProCertificationByKey, getProCertificationByLabelOrDescription, getProfessionKey, getProfessionLabel, getProfessionStatusKey, getProfessionStatusLabel, getProjectNeedKey, getProjectNeedProLabel, getProjectNeedUserLabel };
1399
+ export { type AiAdvisorResponse, type AiAdvisorStatusResponse, type AiAdvisorSyntheseResponse, type AnonymousUserResponse, type AnonymousUsersResponse, type ArticlePreviewResponse, type ArticleResponse, AssetTypeEnum, AvailableCryptocurrencySymbolEnum, AvailableCurrencyEnum, type BankAccountBalancesResponse, type BankAccountOriginalTransactionResponse, type BankAccountResponse, type BankAccountTransactionResponse, BankAccountTransactionTypeEnum, type BankAccountTransactionsResponse, BankAccountTypeEnum, type BankAccountsResponse, type BlogCategoryResponse, BudgetTypeEnum, type CreateBlogCategoryInput, type CreateCommercialOfferInput, type CreateMobilityInput, type CreateProLeadsAlertInput, type CreateProSubscriptionSessionInput, type CreateProjectInput, type CreateRealEstateInput, type CryptocurrencyAssetDeletedResponse, type CryptocurrencyAssetResponse, type CryptocurrencyResponse, type Department, DepartmentsList, EMAIL_REGEX, type ExactMatch, FetchPowensConnectionsTypeEnum, type FinancialProduct, FinancialProductEnum, FinancialProducts, type FinancialSummariesFiltersInput, type FullLeadResponse, type GetLeadsQueryInput, type GetProCommercialOffersInput, type HouseholdSalaryRange, HouseholdSalaryRangeEnum, HouseholdSalaryRanges, LIVES_OUTSIDE_FRANCE, type LeadAiSummaryResponse, type LeadResponse, type LeadsResponse, type LegalDocumentResponse, LegalDocumentTypeEnum, type LoanResponse, LoanTypeEnum, type ManualInitializeProInput, type MaritalStatus, MaritalStatusEnum, MartialStatuses, type MobilityDeletedResponse, type MobilityResponse, MobilityTypeEnum, type MonthlyMetricEntry, OfferStatusEnum, type OfferStatusFilterType, type OnboardingDataInput, type OnboardingFinancialInformationInput, type OnboardingPersonalInformationInput, type OnboardingProjectInput, type OtherAssetDeletedResponse, type OtherAssetResponse, type PaginationResponse, type PartnerResponse, type PersonalNetWorthRange, PersonalNetWorthRangeEnum, PersonalNetWorthRanges, type PersonalSalaryRange, PersonalSalaryRangeEnum, PersonalSalaryRanges, PhoneVerificationStatusEnum, type PowensConnectWebviewResponse, type PowensConnectionDeletedResponse, type PowensConnectionResponse, PowensConnectionStateEnum, type PowensManageWebviewResponse, type PowensReconnectWebviewResponse, PowensUserStatusEnum, type ProBillingPortalSessionResponse, type ProCertification, ProCertificationEnum, ProCertifications, type ProCommercialOfferResponse, type ProLeadsAlertResponse, type ProMatchOfferListResponse, type ProMatchOfferResponse, type ProMonitoringResponse, type ProMonthlyQuotaResponse, type ProResponse, ProStatusEnum, type ProSubscriptionSessionResponse, type ProUserLikeLeadResponse, type ProUserLikeResponse, type Profession, ProfessionEnum, type ProfessionStatus, ProfessionStatusEnum, ProfessionStatusList, ProfessionsList, type ProjectNeed, ProjectNeedEnum, ProjectNeeds, ProjectOptionEnum, type ProjectResponse, ProjectStatusEnum, type RealEstateDeletedResponse, type RealEstateResponse, RealEstateTypeEnum, type SendPhoneVerificationInput, type SendPhoneVerificationResponse, SupportedCurrencyExchangesEnum, SupportedCurrencySymbolsEnum, type UpdateArticleInput, type UpdateBankAccountInput, type UpdateBankAccountTransactionInput, type UpdateBlogCategoryInput, type UpdateCommercialOfferAsProInput, type UpdateCommercialOfferAsUserInput, type UpdateCommercialOfferInput, type UpdateCryptocurrencyAssetInput, type UpdateMobilityInput, type UpdateOtherAssetInput, type UpdateProInput, type UpdateProLeadsAlertInput, type UpdateProjectInput, type UpdateRealEstateInput, type UpdateUserInput, type UpdateUserPersonalSummaryInput, type UserAiSummaryResponse, UserAiSummaryStatusEnum, type UserAssetsBalancesResponse, type UserAssetsResponse, type UserAuthenticatedResponse, type UserCommercialOfferResponse, type UserFinancialSummaryResponse, type UserPersonalSummaryResponse, type UserProfileResponse, UserStatusEnum, type VerifyPhoneCodeInput, type VerifyPhoneCodeResponse, calculateFinancialSummaryCompletedValue, calculateIdentityCompletedValue, calculateProjectCompletedValue, calculateUserPersonalDataCompletedValue, getFinancialProductKey, getFinancialProductLabel, getHouseholdSalaryRangeKey, getHouseholdSalaryRangeLabel, getMaritalStatusKey, getMaritalStatusLabel, getPersonalNetWorthRangeKey, getPersonalNetWorthRangeLabel, getPersonalSalaryRangeKey, getPersonalSalaryRangeLabel, getProCertificationByKey, getProCertificationByLabelOrDescription, getProfessionKey, getProfessionLabel, getProfessionStatusKey, getProfessionStatusLabel, getProjectNeedKey, getProjectNeedProLabel, getProjectNeedUserLabel };
package/dist/index.d.ts CHANGED
@@ -1073,33 +1073,18 @@ interface FullLeadResponse {
1073
1073
  monthlyAmount: number | null;
1074
1074
  need: ProjectNeedEnum | null;
1075
1075
  financialProduct: FinancialProductEnum | null;
1076
- note: string | null;
1077
1076
  birthYear: number | null;
1078
- childrenNumber: number | null;
1079
- childrenBirthYears: number[] | null;
1077
+ hasIndependantChildren: boolean | null;
1080
1078
  maritalStatus: MaritalStatusEnum | null;
1081
- profession: ProfessionEnum | null;
1082
1079
  professionStatus: ProfessionStatusEnum | null;
1083
1080
  personalSalaryRange: PersonalSalaryRangeEnum | null;
1084
- householdSalaryRange: HouseholdSalaryRangeEnum | null;
1085
1081
  personalNetWorthRange: PersonalNetWorthRangeEnum | null;
1086
1082
  postalCode: string | null;
1087
- loanMonthlyPayment: number | null;
1083
+ hasLoan: boolean | null;
1088
1084
  financialProductsOwned: FinancialProductEnum[] | null;
1089
1085
  isMainResidenceOwner: boolean | null;
1090
1086
  lastPersonalSummaryUpdatedAt: Date;
1091
1087
  currency: AvailableCurrencyEnum;
1092
- totalRealEstatesValue: number | null;
1093
- totalMobilitiesValue: number | null;
1094
- totalOtherAssetsValue: number | null;
1095
- totalCryptocurrenciesValue: number | null;
1096
- totalSavingsBankAccounts: number | null;
1097
- totalSavingsBankAccountsBalance: number | null;
1098
- totalCheckingBankAccounts: number | null;
1099
- totalCheckingBankAccountsBalance: number | null;
1100
- totalLoansBankAccounts: number | null;
1101
- totalLoansBankAccountsBalance: number | null;
1102
- lastFinancialSummaryUpdatedAt: Date;
1103
1088
  aiSummary: LeadAiSummaryResponse | null;
1104
1089
  offer: ProCommercialOfferResponse | null;
1105
1090
  totalOffersReceived: number;
@@ -1317,6 +1302,37 @@ declare const HouseholdSalaryRanges: HouseholdSalaryRange[];
1317
1302
  declare function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string;
1318
1303
  declare function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null;
1319
1304
 
1305
+ interface ProjectLocalData {
1306
+ option: ProjectOptionEnum | null;
1307
+ need: ProjectNeedEnum | null;
1308
+ financialProduct: FinancialProductEnum | null;
1309
+ initialAmount: number | null;
1310
+ monthlyAmount: number | null;
1311
+ }
1312
+ declare const calculateProjectCompletedValue: (project: ProjectLocalData | undefined | null) => number;
1313
+ interface UserPersonalLocalData {
1314
+ postalCode: string | null;
1315
+ isMainResidenceOwner: boolean | null;
1316
+ maritalStatus: MaritalStatusEnum | null;
1317
+ haveDependentChildren: boolean | null;
1318
+ }
1319
+ declare const calculateUserPersonalDataCompletedValue: (data: UserPersonalLocalData | undefined | null) => number;
1320
+ interface IdentityLocalData {
1321
+ firstName: string | null;
1322
+ lastName: string | null;
1323
+ birthYear: number | null;
1324
+ email: string | null;
1325
+ }
1326
+ declare const calculateIdentityCompletedValue: (data: IdentityLocalData | undefined | null) => number;
1327
+ interface UserFinancialLocalData {
1328
+ professionStatus: ProfessionStatusEnum | null;
1329
+ salaryRange: string | null;
1330
+ haveLoan: boolean | null;
1331
+ personalNetWorthRange: string | null;
1332
+ financialProductsOwned: FinancialProductEnum[] | null;
1333
+ }
1334
+ declare const calculateFinancialSummaryCompletedValue: (data: UserFinancialLocalData | undefined | null) => number;
1335
+
1320
1336
  interface MaritalStatus {
1321
1337
  key: MaritalStatusEnum;
1322
1338
  label: string;
@@ -1380,4 +1396,4 @@ declare function getProjectNeedKey(label: string): ProjectNeedEnum | null;
1380
1396
 
1381
1397
  type ExactMatch<T, U extends T> = T & Record<keyof T, keyof U>;
1382
1398
 
1383
- export { type AiAdvisorResponse, type AiAdvisorStatusResponse, type AiAdvisorSyntheseResponse, type AnonymousUserResponse, type AnonymousUsersResponse, type ArticlePreviewResponse, type ArticleResponse, AssetTypeEnum, AvailableCryptocurrencySymbolEnum, AvailableCurrencyEnum, type BankAccountBalancesResponse, type BankAccountOriginalTransactionResponse, type BankAccountResponse, type BankAccountTransactionResponse, BankAccountTransactionTypeEnum, type BankAccountTransactionsResponse, BankAccountTypeEnum, type BankAccountsResponse, type BlogCategoryResponse, BudgetTypeEnum, type CreateBlogCategoryInput, type CreateCommercialOfferInput, type CreateMobilityInput, type CreateProLeadsAlertInput, type CreateProSubscriptionSessionInput, type CreateProjectInput, type CreateRealEstateInput, type CryptocurrencyAssetDeletedResponse, type CryptocurrencyAssetResponse, type CryptocurrencyResponse, type Department, DepartmentsList, EMAIL_REGEX, type ExactMatch, FetchPowensConnectionsTypeEnum, type FinancialProduct, FinancialProductEnum, FinancialProducts, type FinancialSummariesFiltersInput, type FullLeadResponse, type GetLeadsQueryInput, type GetProCommercialOffersInput, type HouseholdSalaryRange, HouseholdSalaryRangeEnum, HouseholdSalaryRanges, LIVES_OUTSIDE_FRANCE, type LeadAiSummaryResponse, type LeadResponse, type LeadsResponse, type LegalDocumentResponse, LegalDocumentTypeEnum, type LoanResponse, LoanTypeEnum, type ManualInitializeProInput, type MaritalStatus, MaritalStatusEnum, MartialStatuses, type MobilityDeletedResponse, type MobilityResponse, MobilityTypeEnum, type MonthlyMetricEntry, OfferStatusEnum, type OfferStatusFilterType, type OnboardingDataInput, type OnboardingFinancialInformationInput, type OnboardingPersonalInformationInput, type OnboardingProjectInput, type OtherAssetDeletedResponse, type OtherAssetResponse, type PaginationResponse, type PartnerResponse, type PersonalNetWorthRange, PersonalNetWorthRangeEnum, PersonalNetWorthRanges, type PersonalSalaryRange, PersonalSalaryRangeEnum, PersonalSalaryRanges, PhoneVerificationStatusEnum, type PowensConnectWebviewResponse, type PowensConnectionDeletedResponse, type PowensConnectionResponse, PowensConnectionStateEnum, type PowensManageWebviewResponse, type PowensReconnectWebviewResponse, PowensUserStatusEnum, type ProBillingPortalSessionResponse, type ProCertification, ProCertificationEnum, ProCertifications, type ProCommercialOfferResponse, type ProLeadsAlertResponse, type ProMatchOfferListResponse, type ProMatchOfferResponse, type ProMonitoringResponse, type ProMonthlyQuotaResponse, type ProResponse, ProStatusEnum, type ProSubscriptionSessionResponse, type ProUserLikeLeadResponse, type ProUserLikeResponse, type Profession, ProfessionEnum, type ProfessionStatus, ProfessionStatusEnum, ProfessionStatusList, ProfessionsList, type ProjectNeed, ProjectNeedEnum, ProjectNeeds, ProjectOptionEnum, type ProjectResponse, ProjectStatusEnum, type RealEstateDeletedResponse, type RealEstateResponse, RealEstateTypeEnum, type SendPhoneVerificationInput, type SendPhoneVerificationResponse, SupportedCurrencyExchangesEnum, SupportedCurrencySymbolsEnum, type UpdateArticleInput, type UpdateBankAccountInput, type UpdateBankAccountTransactionInput, type UpdateBlogCategoryInput, type UpdateCommercialOfferAsProInput, type UpdateCommercialOfferAsUserInput, type UpdateCommercialOfferInput, type UpdateCryptocurrencyAssetInput, type UpdateMobilityInput, type UpdateOtherAssetInput, type UpdateProInput, type UpdateProLeadsAlertInput, type UpdateProjectInput, type UpdateRealEstateInput, type UpdateUserInput, type UpdateUserPersonalSummaryInput, type UserAiSummaryResponse, UserAiSummaryStatusEnum, type UserAssetsBalancesResponse, type UserAssetsResponse, type UserAuthenticatedResponse, type UserCommercialOfferResponse, type UserFinancialSummaryResponse, type UserPersonalSummaryResponse, type UserProfileResponse, UserStatusEnum, type VerifyPhoneCodeInput, type VerifyPhoneCodeResponse, getFinancialProductKey, getFinancialProductLabel, getHouseholdSalaryRangeKey, getHouseholdSalaryRangeLabel, getMaritalStatusKey, getMaritalStatusLabel, getPersonalNetWorthRangeKey, getPersonalNetWorthRangeLabel, getPersonalSalaryRangeKey, getPersonalSalaryRangeLabel, getProCertificationByKey, getProCertificationByLabelOrDescription, getProfessionKey, getProfessionLabel, getProfessionStatusKey, getProfessionStatusLabel, getProjectNeedKey, getProjectNeedProLabel, getProjectNeedUserLabel };
1399
+ export { type AiAdvisorResponse, type AiAdvisorStatusResponse, type AiAdvisorSyntheseResponse, type AnonymousUserResponse, type AnonymousUsersResponse, type ArticlePreviewResponse, type ArticleResponse, AssetTypeEnum, AvailableCryptocurrencySymbolEnum, AvailableCurrencyEnum, type BankAccountBalancesResponse, type BankAccountOriginalTransactionResponse, type BankAccountResponse, type BankAccountTransactionResponse, BankAccountTransactionTypeEnum, type BankAccountTransactionsResponse, BankAccountTypeEnum, type BankAccountsResponse, type BlogCategoryResponse, BudgetTypeEnum, type CreateBlogCategoryInput, type CreateCommercialOfferInput, type CreateMobilityInput, type CreateProLeadsAlertInput, type CreateProSubscriptionSessionInput, type CreateProjectInput, type CreateRealEstateInput, type CryptocurrencyAssetDeletedResponse, type CryptocurrencyAssetResponse, type CryptocurrencyResponse, type Department, DepartmentsList, EMAIL_REGEX, type ExactMatch, FetchPowensConnectionsTypeEnum, type FinancialProduct, FinancialProductEnum, FinancialProducts, type FinancialSummariesFiltersInput, type FullLeadResponse, type GetLeadsQueryInput, type GetProCommercialOffersInput, type HouseholdSalaryRange, HouseholdSalaryRangeEnum, HouseholdSalaryRanges, LIVES_OUTSIDE_FRANCE, type LeadAiSummaryResponse, type LeadResponse, type LeadsResponse, type LegalDocumentResponse, LegalDocumentTypeEnum, type LoanResponse, LoanTypeEnum, type ManualInitializeProInput, type MaritalStatus, MaritalStatusEnum, MartialStatuses, type MobilityDeletedResponse, type MobilityResponse, MobilityTypeEnum, type MonthlyMetricEntry, OfferStatusEnum, type OfferStatusFilterType, type OnboardingDataInput, type OnboardingFinancialInformationInput, type OnboardingPersonalInformationInput, type OnboardingProjectInput, type OtherAssetDeletedResponse, type OtherAssetResponse, type PaginationResponse, type PartnerResponse, type PersonalNetWorthRange, PersonalNetWorthRangeEnum, PersonalNetWorthRanges, type PersonalSalaryRange, PersonalSalaryRangeEnum, PersonalSalaryRanges, PhoneVerificationStatusEnum, type PowensConnectWebviewResponse, type PowensConnectionDeletedResponse, type PowensConnectionResponse, PowensConnectionStateEnum, type PowensManageWebviewResponse, type PowensReconnectWebviewResponse, PowensUserStatusEnum, type ProBillingPortalSessionResponse, type ProCertification, ProCertificationEnum, ProCertifications, type ProCommercialOfferResponse, type ProLeadsAlertResponse, type ProMatchOfferListResponse, type ProMatchOfferResponse, type ProMonitoringResponse, type ProMonthlyQuotaResponse, type ProResponse, ProStatusEnum, type ProSubscriptionSessionResponse, type ProUserLikeLeadResponse, type ProUserLikeResponse, type Profession, ProfessionEnum, type ProfessionStatus, ProfessionStatusEnum, ProfessionStatusList, ProfessionsList, type ProjectNeed, ProjectNeedEnum, ProjectNeeds, ProjectOptionEnum, type ProjectResponse, ProjectStatusEnum, type RealEstateDeletedResponse, type RealEstateResponse, RealEstateTypeEnum, type SendPhoneVerificationInput, type SendPhoneVerificationResponse, SupportedCurrencyExchangesEnum, SupportedCurrencySymbolsEnum, type UpdateArticleInput, type UpdateBankAccountInput, type UpdateBankAccountTransactionInput, type UpdateBlogCategoryInput, type UpdateCommercialOfferAsProInput, type UpdateCommercialOfferAsUserInput, type UpdateCommercialOfferInput, type UpdateCryptocurrencyAssetInput, type UpdateMobilityInput, type UpdateOtherAssetInput, type UpdateProInput, type UpdateProLeadsAlertInput, type UpdateProjectInput, type UpdateRealEstateInput, type UpdateUserInput, type UpdateUserPersonalSummaryInput, type UserAiSummaryResponse, UserAiSummaryStatusEnum, type UserAssetsBalancesResponse, type UserAssetsResponse, type UserAuthenticatedResponse, type UserCommercialOfferResponse, type UserFinancialSummaryResponse, type UserPersonalSummaryResponse, type UserProfileResponse, UserStatusEnum, type VerifyPhoneCodeInput, type VerifyPhoneCodeResponse, calculateFinancialSummaryCompletedValue, calculateIdentityCompletedValue, calculateProjectCompletedValue, calculateUserPersonalDataCompletedValue, getFinancialProductKey, getFinancialProductLabel, getHouseholdSalaryRangeKey, getHouseholdSalaryRangeLabel, getMaritalStatusKey, getMaritalStatusLabel, getPersonalNetWorthRangeKey, getPersonalNetWorthRangeLabel, getPersonalSalaryRangeKey, getPersonalSalaryRangeLabel, getProCertificationByKey, getProCertificationByLabelOrDescription, getProfessionKey, getProfessionLabel, getProfessionStatusKey, getProfessionStatusLabel, getProjectNeedKey, getProjectNeedProLabel, getProjectNeedUserLabel };
package/dist/index.js CHANGED
@@ -63,6 +63,10 @@ __export(src_exports, {
63
63
  SupportedCurrencySymbolsEnum: () => SupportedCurrencySymbolsEnum,
64
64
  UserAiSummaryStatusEnum: () => UserAiSummaryStatusEnum,
65
65
  UserStatusEnum: () => UserStatusEnum,
66
+ calculateFinancialSummaryCompletedValue: () => calculateFinancialSummaryCompletedValue,
67
+ calculateIdentityCompletedValue: () => calculateIdentityCompletedValue,
68
+ calculateProjectCompletedValue: () => calculateProjectCompletedValue,
69
+ calculateUserPersonalDataCompletedValue: () => calculateUserPersonalDataCompletedValue,
66
70
  getFinancialProductKey: () => getFinancialProductKey,
67
71
  getFinancialProductLabel: () => getFinancialProductLabel,
68
72
  getHouseholdSalaryRangeKey: () => getHouseholdSalaryRangeKey,
@@ -195,23 +199,23 @@ var FetchPowensConnectionsTypeEnum = /* @__PURE__ */ ((FetchPowensConnectionsTyp
195
199
  })(FetchPowensConnectionsTypeEnum || {});
196
200
 
197
201
  // src/enums/financial-product.enum.ts
198
- var FinancialProductEnum = /* @__PURE__ */ ((FinancialProductEnum2) => {
199
- FinancialProductEnum2["LIVRET_A"] = "LIVRET_A";
200
- FinancialProductEnum2["LDDS"] = "LDDS";
201
- FinancialProductEnum2["LEP"] = "LEP";
202
- FinancialProductEnum2["COMPTE_SUR_LIVRET"] = "COMPTE_SUR_LIVRET";
203
- FinancialProductEnum2["COMPTE_A_TERME"] = "COMPTE_A_TERME";
204
- FinancialProductEnum2["ASSURANCE_VIE"] = "ASSURANCE_VIE";
205
- FinancialProductEnum2["PEA"] = "PEA";
206
- FinancialProductEnum2["COMPTE_TITRES_ORDINAIRE"] = "COMPTE_TITRES_ORDINAIRE";
207
- FinancialProductEnum2["PER"] = "PER";
208
- FinancialProductEnum2["EPARGNE_SALARIALE"] = "EPARGNE_SALARIALE";
209
- FinancialProductEnum2["SCPI"] = "SCPI";
210
- FinancialProductEnum2["PRIVATE_EQUITY"] = "PRIVATE_EQUITY";
211
- FinancialProductEnum2["LUXEMBOURG_INSURANCE"] = "LUXEMBOURG_INSURANCE";
212
- FinancialProductEnum2["PEL"] = "PEL";
213
- FinancialProductEnum2["OTHER"] = "OTHER";
214
- return FinancialProductEnum2;
202
+ var FinancialProductEnum = /* @__PURE__ */ ((FinancialProductEnum3) => {
203
+ FinancialProductEnum3["LIVRET_A"] = "LIVRET_A";
204
+ FinancialProductEnum3["LDDS"] = "LDDS";
205
+ FinancialProductEnum3["LEP"] = "LEP";
206
+ FinancialProductEnum3["COMPTE_SUR_LIVRET"] = "COMPTE_SUR_LIVRET";
207
+ FinancialProductEnum3["COMPTE_A_TERME"] = "COMPTE_A_TERME";
208
+ FinancialProductEnum3["ASSURANCE_VIE"] = "ASSURANCE_VIE";
209
+ FinancialProductEnum3["PEA"] = "PEA";
210
+ FinancialProductEnum3["COMPTE_TITRES_ORDINAIRE"] = "COMPTE_TITRES_ORDINAIRE";
211
+ FinancialProductEnum3["PER"] = "PER";
212
+ FinancialProductEnum3["EPARGNE_SALARIALE"] = "EPARGNE_SALARIALE";
213
+ FinancialProductEnum3["SCPI"] = "SCPI";
214
+ FinancialProductEnum3["PRIVATE_EQUITY"] = "PRIVATE_EQUITY";
215
+ FinancialProductEnum3["LUXEMBOURG_INSURANCE"] = "LUXEMBOURG_INSURANCE";
216
+ FinancialProductEnum3["PEL"] = "PEL";
217
+ FinancialProductEnum3["OTHER"] = "OTHER";
218
+ return FinancialProductEnum3;
215
219
  })(FinancialProductEnum || {});
216
220
 
217
221
  // src/enums/household-salary-range.enum.ts
@@ -242,15 +246,15 @@ var LoanTypeEnum = /* @__PURE__ */ ((LoanTypeEnum2) => {
242
246
  })(LoanTypeEnum || {});
243
247
 
244
248
  // src/enums/marital-status.enum.ts
245
- var MaritalStatusEnum = /* @__PURE__ */ ((MaritalStatusEnum2) => {
246
- MaritalStatusEnum2["SINGLE"] = "SINGLE";
247
- MaritalStatusEnum2["COUPLE"] = "COUPLE";
248
- MaritalStatusEnum2["PACS"] = "PACS";
249
- MaritalStatusEnum2["MARRIED"] = "MARRIED";
250
- MaritalStatusEnum2["DIVORCED"] = "DIVORCED";
251
- MaritalStatusEnum2["WIDOWED"] = "WIDOWED";
252
- MaritalStatusEnum2["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
253
- return MaritalStatusEnum2;
249
+ var MaritalStatusEnum = /* @__PURE__ */ ((MaritalStatusEnum3) => {
250
+ MaritalStatusEnum3["SINGLE"] = "SINGLE";
251
+ MaritalStatusEnum3["COUPLE"] = "COUPLE";
252
+ MaritalStatusEnum3["PACS"] = "PACS";
253
+ MaritalStatusEnum3["MARRIED"] = "MARRIED";
254
+ MaritalStatusEnum3["DIVORCED"] = "DIVORCED";
255
+ MaritalStatusEnum3["WIDOWED"] = "WIDOWED";
256
+ MaritalStatusEnum3["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
257
+ return MaritalStatusEnum3;
254
258
  })(MaritalStatusEnum || {});
255
259
 
256
260
  // src/enums/mobility-type.enum.ts
@@ -337,20 +341,20 @@ var PowensUserStatusEnum = /* @__PURE__ */ ((PowensUserStatusEnum2) => {
337
341
  })(PowensUserStatusEnum || {});
338
342
 
339
343
  // src/enums/profession-status.enum.ts
340
- var ProfessionStatusEnum = /* @__PURE__ */ ((ProfessionStatusEnum2) => {
341
- ProfessionStatusEnum2["STUDENT"] = "STUDENT";
342
- ProfessionStatusEnum2["INTERIM"] = "INTERIM";
343
- ProfessionStatusEnum2["CIVIL_SERVANT"] = "CIVIL_SERVANT";
344
- ProfessionStatusEnum2["CDD"] = "CDD";
345
- ProfessionStatusEnum2["CDI"] = "CDI";
346
- ProfessionStatusEnum2["INDEPENDANT"] = "INDEPENDANT";
347
- ProfessionStatusEnum2["LIBERAL"] = "LIBERAL";
348
- ProfessionStatusEnum2["COMPANY_DIRECTOR"] = "COMPANY_DIRECTOR";
349
- ProfessionStatusEnum2["RETIRED"] = "RETIRED";
350
- ProfessionStatusEnum2["JOB_SEEKER"] = "JOB_SEEKER";
351
- ProfessionStatusEnum2["INACTIVE"] = "INACTIVE";
352
- ProfessionStatusEnum2["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
353
- return ProfessionStatusEnum2;
344
+ var ProfessionStatusEnum = /* @__PURE__ */ ((ProfessionStatusEnum3) => {
345
+ ProfessionStatusEnum3["STUDENT"] = "STUDENT";
346
+ ProfessionStatusEnum3["INTERIM"] = "INTERIM";
347
+ ProfessionStatusEnum3["CIVIL_SERVANT"] = "CIVIL_SERVANT";
348
+ ProfessionStatusEnum3["CDD"] = "CDD";
349
+ ProfessionStatusEnum3["CDI"] = "CDI";
350
+ ProfessionStatusEnum3["INDEPENDANT"] = "INDEPENDANT";
351
+ ProfessionStatusEnum3["LIBERAL"] = "LIBERAL";
352
+ ProfessionStatusEnum3["COMPANY_DIRECTOR"] = "COMPANY_DIRECTOR";
353
+ ProfessionStatusEnum3["RETIRED"] = "RETIRED";
354
+ ProfessionStatusEnum3["JOB_SEEKER"] = "JOB_SEEKER";
355
+ ProfessionStatusEnum3["INACTIVE"] = "INACTIVE";
356
+ ProfessionStatusEnum3["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
357
+ return ProfessionStatusEnum3;
354
358
  })(ProfessionStatusEnum || {});
355
359
 
356
360
  // src/enums/profession.enum.ts
@@ -391,11 +395,11 @@ var ProjectNeedEnum = /* @__PURE__ */ ((ProjectNeedEnum2) => {
391
395
  })(ProjectNeedEnum || {});
392
396
 
393
397
  // src/enums/project-option.enum.ts
394
- var ProjectOptionEnum = /* @__PURE__ */ ((ProjectOptionEnum2) => {
395
- ProjectOptionEnum2["BEGINNER"] = "BEGINNER";
396
- ProjectOptionEnum2["INTERMEDIATE"] = "INTERMEDIATE";
397
- ProjectOptionEnum2["ADVANCED"] = "ADVANCED";
398
- return ProjectOptionEnum2;
398
+ var ProjectOptionEnum = /* @__PURE__ */ ((ProjectOptionEnum3) => {
399
+ ProjectOptionEnum3["BEGINNER"] = "BEGINNER";
400
+ ProjectOptionEnum3["INTERMEDIATE"] = "INTERMEDIATE";
401
+ ProjectOptionEnum3["ADVANCED"] = "ADVANCED";
402
+ return ProjectOptionEnum3;
399
403
  })(ProjectOptionEnum || {});
400
404
 
401
405
  // src/enums/project-status.enum.ts
@@ -612,6 +616,61 @@ function getHouseholdSalaryRangeKey(label) {
612
616
  return !range ? null : range.key;
613
617
  }
614
618
 
619
+ // src/utils/completed-user-data.utils.ts
620
+ var calculateProjectCompletedValue = (project) => {
621
+ if (!project) return 0;
622
+ let sum = 0;
623
+ if (project.need) {
624
+ sum += 25;
625
+ }
626
+ if (project.option) {
627
+ sum += 25;
628
+ }
629
+ if (project.need === "SPECIFIC_PRODUCT" /* SPECIFIC_PRODUCT */ && project.financialProduct === null) {
630
+ sum -= 15;
631
+ }
632
+ if (project.initialAmount !== null) {
633
+ sum += 25;
634
+ }
635
+ if (project.monthlyAmount !== null) {
636
+ sum += 25;
637
+ }
638
+ return Math.min(100, sum);
639
+ };
640
+ var calculateUserPersonalDataCompletedValue = (data) => {
641
+ if (!data) return 0;
642
+ let sum = 50;
643
+ sum += data.maritalStatus !== null ? 25 : 0;
644
+ sum += data.postalCode !== null ? 25 : 0;
645
+ return Math.min(100, sum);
646
+ };
647
+ var calculateIdentityCompletedValue = (data) => {
648
+ if (!data) return 0;
649
+ let sum = 0;
650
+ if (data.firstName && data.firstName.trim().length > 0) {
651
+ sum += 25;
652
+ }
653
+ if (data.lastName && data.lastName.trim().length > 0) {
654
+ sum += 25;
655
+ }
656
+ if (data.birthYear) {
657
+ sum += 25;
658
+ }
659
+ if (data.email && EMAIL_REGEX.test(data.email)) {
660
+ sum += 25;
661
+ }
662
+ return Math.min(100, sum);
663
+ };
664
+ var calculateFinancialSummaryCompletedValue = (data) => {
665
+ if (!data) return 0;
666
+ let sum = 20;
667
+ sum += data.professionStatus !== null ? 20 : 0;
668
+ sum += data.salaryRange !== null ? 20 : 0;
669
+ sum += data.personalNetWorthRange !== null ? 20 : 0;
670
+ sum += data.financialProductsOwned !== null ? 20 : 0;
671
+ return Math.min(100, sum);
672
+ };
673
+
615
674
  // src/utils/marital-status.ts
616
675
  var MartialStatuses = [
617
676
  { key: "SINGLE" /* SINGLE */, label: "C\xE9libataire" },
@@ -889,6 +948,10 @@ function getProjectNeedKey(label) {
889
948
  SupportedCurrencySymbolsEnum,
890
949
  UserAiSummaryStatusEnum,
891
950
  UserStatusEnum,
951
+ calculateFinancialSummaryCompletedValue,
952
+ calculateIdentityCompletedValue,
953
+ calculateProjectCompletedValue,
954
+ calculateUserPersonalDataCompletedValue,
892
955
  getFinancialProductKey,
893
956
  getFinancialProductLabel,
894
957
  getHouseholdSalaryRangeKey,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/constants/index.ts","../src/enums/pro/pro-status.enum.ts","../src/enums/pro/pro-certification.enum.ts","../src/enums/asset-type.enum.ts","../src/enums/available-cryptocurrency-symbol.enum.ts","../src/enums/available-currency.enum.ts","../src/enums/bank-account-transaction-type.enum.ts","../src/enums/bank-account-type.enum.ts","../src/enums/budget-type.enum.ts","../src/enums/fetch-powens-connections-type.enum.ts","../src/enums/financial-product.enum.ts","../src/enums/household-salary-range.enum.ts","../src/enums/legal-document-type.enum.ts","../src/enums/loan-type.enum.ts","../src/enums/marital-status.enum.ts","../src/enums/mobility-type.enum.ts","../src/enums/offer-status.enum.ts","../src/enums/personal-net-worth-range.enum.ts","../src/enums/personal-salary-range.enum.ts","../src/enums/phone-verification-status.enum.ts","../src/enums/powens-connection-state.enum.ts","../src/enums/powens-user-status.enum.ts","../src/enums/profession-status.enum.ts","../src/enums/profession.enum.ts","../src/enums/project-need.enum.ts","../src/enums/project-option.enum.ts","../src/enums/project-status.enum.ts","../src/enums/real-estate-type.enum.ts","../src/enums/supported-currency-exchanges.enum.ts","../src/enums/supported-currency-symbols.enum.ts","../src/enums/user-ai-summary-status.enum.ts","../src/enums/user-status.enum.ts","../src/utils/departments.ts","../src/utils/financial-product.ts","../src/utils/household-salary-range.ts","../src/utils/marital-status.ts","../src/utils/pro-certification.ts","../src/utils/personal-salary-range.ts","../src/utils/personal-net-worth-range.ts","../src/utils/profession-status.ts","../src/utils/profession.ts","../src/utils/project-need.ts"],"sourcesContent":["export * from \"./constants\";\nexport * from \"./enums\";\nexport * from \"./inputs\";\nexport * from \"./responses\";\nexport * from \"./utils\";\nexport * from \"./exact-match\";\n","export const EMAIL_REGEX =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const LIVES_OUTSIDE_FRANCE = \"LIVES_OUTSIDE_FRANCE\";\n","export enum ProStatusEnum {\n ONBOARDING = \"ONBOARDING\", // Vient de créer son compte -> Redirigé vers onboarding\n KYC_PENDING = \"KYC_PENDING\", // \tOnboarding fait, KYC non rempli -> Profil + formulaire KYC uniquement\n KYC_SUBMITTED = \"KYC_SUBMITTED\", //\tKYC rempli, en attente de validation -> Profil uniquement (message \"en cours de validation\")\n VALIDATED = \"VALIDATED\", //\tValidé manuellement, pas encore abonné\t-> Profil + page de souscription Stripe\n ACTIVE = \"ACTIVE\", //\tAbonné, paiement OK -> Tout le dashboard\n PAUSED = \"PAUSED\", //\tAbonnement en pause -> Profil + gestion abonnement\n CANCELLED = \"CANCELLED\", //\tAbonnement annulé -> Profil + page de réabonnement\n}\n","export enum ProCertificationEnum {\n AMF = \"AMF\",\n CIF = \"CIF\",\n IAS = \"IAS\",\n}","export enum AssetTypeEnum {\n REAL_ESTATE = \"REAL_ESTATE\",\n MOBILITY = \"MOBILITY\",\n STOCK_EXCHANGE = \"STOCK_EXCHANGE\",\n CRYPTOCURRENCY = \"CRYPTOCURRENCY\",\n OTHER = \"OTHER\",\n}\n","export enum AvailableCryptocurrencySymbolEnum {\n BTC = \"BTC\", // Bitcoin\n ETH = \"ETH\", // Ethereum\n USDT = \"USDT\", // Tether\n USDC = \"USDC\", // USD Coin\n BNB = \"BNB\", // BNB\n BUSD = \"BUSD\", // Binance USD\n XRP = \"XRP\", // XRP (Ripple)\n ADA = \"ADA\", // Cardano\n SOL = \"SOL\", // Solana\n DOGE = \"DOGE\", // Dogecoin\n DOT = \"DOT\", // Polkadot\n DAI = \"DAI\", // Dai\n MATIC = \"MATIC\", // Polygon\n SHIB = \"SHIB\", // Shiba Inu\n TRX = \"TRX\", // TRON\n AVAX = \"AVAX\", // Avalanche\n LEO = \"LEO\", // UNUS SED LEO\n LTC = \"LTC\", // Litecoin\n XLM = \"XLM\", // Stellar\n BCH = \"BCH\", // Bitcoin Cash\n}\n","export enum AvailableCurrencyEnum {\n EUR = \"EUR\",\n}\n","export enum BankAccountTransactionTypeEnum {\n TRANSFER = \"TRANSFER\", // Transfer\n ORDER = \"ORDER\", // Order\n CHECK = \"CHECK\", // Check\n DEPOSIT = \"DEPOSIT\", // Mandatory/voluntary deposits, contributions, money transfers\n PAYBACK = \"PAYBACK\", // Payback\n WITHDRAWAL = \"WITHDRAWAL\", // Withdrawal\n LOAN_REPAYMENT = \"LOAN_REPAYMENT\", // Loan payment\n BANK = \"BANK\", // Bank fees\n CARD = \"CARD\", // Card operation\n DEFERRED_CARD = \"DEFERRED_CARD\", // Deferred card operation\n SUMMARY_CARD = \"SUMMARY_CARD\", // Monthly debit of a deferred card\n UNKNOWN = \"UNKNOWN\", //Unknown transaction type\n MARKET_ORDER = \"MARKET_ORDER\", // Market order\n MARKET_FEE = \"MARKET_FEE\", // Fees regarding a market order\n ARBITRAGE = \"ARBITRAGE\", // Arbitrage\n PROFIT = \"PROFIT\", // Positive earnings from interests/coupons/dividends\n}\n","export enum BankAccountTypeEnum {\n CHECKING = \"CHECKING\",\n SAVINGS = \"SAVINGS\",\n LOAN = \"LOAN\",\n OTHER = \"OTHER\",\n}\n","export enum BudgetTypeEnum {\n INCOME = 'INCOME',\n EXPENDITURE = 'EXPENDITURE',\n}\n","export enum FetchPowensConnectionsTypeEnum {\n ALL = \"ALL\",\n USER_ACTION_REQUIRED = \"USER_ACTION_REQUIRED\",\n}\n","export enum FinancialProductEnum {\n LIVRET_A = \"LIVRET_A\",\n LDDS = \"LDDS\",\n LEP = \"LEP\",\n COMPTE_SUR_LIVRET = \"COMPTE_SUR_LIVRET\",\n COMPTE_A_TERME = \"COMPTE_A_TERME\",\n ASSURANCE_VIE = \"ASSURANCE_VIE\",\n PEA = \"PEA\",\n COMPTE_TITRES_ORDINAIRE = \"COMPTE_TITRES_ORDINAIRE\",\n PER = \"PER\",\n EPARGNE_SALARIALE = \"EPARGNE_SALARIALE\",\n SCPI = \"SCPI\",\n PRIVATE_EQUITY = \"PRIVATE_EQUITY\",\n LUXEMBOURG_INSURANCE = \"LUXEMBOURG_INSURANCE\",\n PEL = \"PEL\",\n OTHER = \"OTHER\",\n}\n","export enum HouseholdSalaryRangeEnum {\n LESS_THAN_30K = \"LESS_THAN_30K\",\n BETWEEN_30K_AND_50K = \"BETWEEN_30K_AND_50K\",\n BETWEEN_50K_AND_80K = \"BETWEEN_50K_AND_80K\",\n BETWEEN_80K_AND_120K = \"BETWEEN_80K_AND_120K\",\n BETWEEN_120K_AND_180K = \"BETWEEN_120K_AND_180K\",\n MORE_THAN_180K = \"MORE_THAN_180K\",\n}\n","export enum LegalDocumentTypeEnum {\n TERMS_OF_USAGE = \"TERMS_OF_USAGE\",\n PRIVACY_POLICY = \"PRIVACY_POLICY\",\n}\n","export enum LoanTypeEnum {\n MORTGAGE = \"mortgage\",\n CONSUMER_CREDIT = \"consumercredit\",\n RESOLVING_CREDIT = \"revolvingcredit\",\n UNKNOWN = \"unknown\",\n}\n","export enum MaritalStatusEnum {\n SINGLE = \"SINGLE\",\n COUPLE = \"COUPLE\",\n PACS = \"PACS\",\n MARRIED = \"MARRIED\",\n DIVORCED = \"DIVORCED\",\n WIDOWED = \"WIDOWED\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum MobilityTypeEnum {\n SUV = \"SUV\",\n ELECTRIC_CAR = \"ELECTRIC_CAR\",\n CITY_CAR = \"CITY_CAR\",\n BOAT = \"BOAT\",\n BIKE = \"BIKE\",\n SCOOTER = \"SCOOTER\",\n MOTORCYCLE = \"MOTORCYCLE\",\n}\n","export enum OfferStatusEnum {\n PENDING = \"PENDING\",\n ACCEPTED = \"ACCEPTED\",\n REJECTED = \"REJECTED\",\n /**\n * @deprecated stop using ARCHIVED in the status (since Feb. 2026)\n */\n ARCHIVED_BY_PRO = \"ARCHIVED_BY_PRO\",\n /**\n * @deprecated stop using ACCEPTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n ACCEPTED_THEN_ARCHIVED_BY_USER = \"ACCEPTED_THEN_ARCHIVED_BY_USER\",\n /**\n * @deprecated stop using REJECTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n REJECTED_THEN_ARCHIVED_BY_USER = \"REJECTED_THEN_ARCHIVED_BY_USER\",\n}\n","export enum PersonalNetWorthRangeEnum {\n LESS_THAN_100K = \"LESS_THAN_100K\",\n BETWEEN_100K_AND_200K = \"BETWEEN_100K_AND_200K\",\n BETWEEN_200K_AND_500K = \"BETWEEN_200K_AND_500K\",\n BETWEEN_500K_AND_1M = \"BETWEEN_500K_AND_1M\",\n BETWEEN_1M_AND_2M = \"BETWEEN_1M_AND_2M\",\n MORE_THAN_2M = \"MORE_THAN_2M\",\n}\n","export enum PersonalSalaryRangeEnum {\n LESS_THAN_20K = \"LESS_THAN_20K\",\n BETWEEN_20K_AND_30K = \"BETWEEN_20K_AND_30K\",\n BETWEEN_30K_AND_45K = \"BETWEEN_30K_AND_45K\",\n BETWEEN_45K_AND_65K = \"BETWEEN_45K_AND_65K\",\n BETWEEN_65K_AND_90K = \"BETWEEN_65K_AND_90K\",\n MORE_THAN_90K = \"MORE_THAN_90K\",\n}\n","export enum PhoneVerificationStatusEnum {\n APPROVED = \"APPROVED\",\n PENDING = \"PENDING\",\n MAX_ATTEMPTS_REACHED = \"MAX_ATTEMPTS_REACHED\",\n EXPIRED = \"EXPIRED\",\n CANCELED = \"CANCELED\",\n INVALID_CODE = \"INVALID_CODE\",\n ALREADY_VERIFIED = \"ALREADY_VERIFIED\",\n}","export enum PowensConnectionStateEnum {\n /**\n * An SCA process must be performed to resume the synchronization process.\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n */\n SCA_REQUIRED = \"SCA_REQUIRED\",\n /**\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n * A web-based authentication process is required using the /webauth endpoint.\n * endpoint /webauth: https://docs.powens.com/api-reference/user-connections/connections#webauthurl-object\n */\n WEBAUTH_REQUIRED = \"WEBAUTH_REQUIRED\",\n /**\n * Additional information is needed to resume synchronization, such as an OTP. Connections in this state have a fields property.\n */\n ADDITIONAL_INFORMATION_NEEDED = \"ADDITIONAL_INFORMATION_NEEDED\",\n /**\n * User validation is required on a third-party app or device (ex: digital key).\n */\n DECOUPLED = \"DECOUPLED\",\n /**\n * User validation is being processed on our side. This state is temporary.\n */\n VALIDATING = \"VALIDATING\",\n /**\n * An action is needed on the website by the user, synchronization is blocked.\n * Synchronization failed because the user needs to perform an action directly on the bank website or app (usually, accept new CGUs or similar one-time actions).\n * You should present this error prominently\n */\n ACTION_NEEDED = \"ACTION_NEEDED\",\n /**\n * The password has expired and needs to be changed by the user before the synchronization can be retried.\n * Synchronization failed because the user needs to renew its password on the bank website.\n * You should present this error prominently and prompt the user for his new password afterwards.\n */\n PASSWORD_EXPIRED = \"PASSWORD_EXPIRED\",\n /**\n * The authentication on website has failed and new credentials must be obtained from the user. Connections in this state have a fields property\n * Synchronization failed because the credentials we own are invalid or obsolete.\n * You should present this error prominently\n */\n WRONGPASS = \"WRONGPASS\",\n /**\n * The target website or API is temporarily blocking synchronizations due to rate limiting.\n * Synchronization failed because the target website or API is temporarily blocking synchronizations due to rate limiting.\n * We will retry after a delay and connections in this state will be resumed automatically.\n */\n RATE_LIMITING = \"RATE_LIMITING\",\n /**\n * The connector website or API is unavailable.\n * Synchronization failed because the targeted API or website is temporarily unavailable.\n * We will periodically retry to sync.\n */\n WEBSITE_UNAVAILABLE = \"WEBSITE_UNAVAILABLE\",\n /**\n * An internal error has occurred during the synchronization.\n * Synchronization failed because of an error from our side. We monitor errors and do our best to fix them quickly.\n * Connections in this state will be resumed automatically after the error is fixed.\n */\n BUG = \"BUG\",\n /**\n * The source is not supported on the connector\n */\n NOT_SUPPORTED = \"NOT_SUPPORTED\",\n}\n","export enum PowensUserStatusEnum {\n // User is registered on Powens and got a powens ID and a unique access token\n REGISTERED = 'REGISTERED',\n\n // User is currently trying to make a new connection to their bank account (transition state)\n ATTEMPTING_NEW_CONNECTION = 'ATTEMPTING_NEW_CONNECTION',\n\n // On error in Powens administration console\n ON_ERROR = 'ON_ERROR',\n\n // Powens administration console deleted the user\n DELETED = 'DELETED',\n}\n","export enum ProfessionStatusEnum {\n STUDENT = \"STUDENT\",\n INTERIM = \"INTERIM\",\n CIVIL_SERVANT = \"CIVIL_SERVANT\",\n CDD = \"CDD\",\n CDI = \"CDI\",\n INDEPENDANT = \"INDEPENDANT\",\n LIBERAL = \"LIBERAL\",\n COMPANY_DIRECTOR = \"COMPANY_DIRECTOR\",\n RETIRED = \"RETIRED\",\n JOB_SEEKER = \"JOB_SEEKER\",\n INACTIVE = \"INACTIVE\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum ProfessionEnum {\n AGRICULTURE_ENVIRONMENT = \"AGRICULTURE_ENVIRONMENT\",\n REAL_ESTATE_CONSTRUCTION = \"REAL_ESTATE_CONSTRUCTION\",\n INDUSTRY_ENERGY = \"INDUSTRY_ENERGY\",\n DIGITAL_TELECOM = \"DIGITAL_TELECOM\",\n RETAIL_DISTRIBUTION = \"RETAIL_DISTRIBUTION\",\n TRANSPORT_LOGISTICS = \"TRANSPORT_LOGISTICS\",\n FINANCE_INSURANCE = \"FINANCE_INSURANCE\",\n HEALTH_SOCIAL = \"HEALTH_SOCIAL\",\n EDUCATION_RESEARCH = \"EDUCATION_RESEARCH\",\n PUBLIC_ADMINISTRATION = \"PUBLIC_ADMINISTRATION\",\n MILITARY_SECURITY = \"MILITARY_SECURITY\",\n CATERING_TOURISM = \"CATERING_TOURISM\",\n CULTURE_LEISURE = \"CULTURE_LEISURE\",\n ARTS_MEDIA = \"ARTS_MEDIA\",\n OTHER_SECTOR = \"OTHER_SECTOR\",\n}\n","export enum ProjectNeedEnum {\n WEALTH_ASSESSMENT = \"WEALTH_ASSESSMENT\",\n INVEST_IN_STOCK_EXCHANGE = \"INVEST_IN_STOCK_EXCHANGE\",\n PREPARE_RETIREMENT = \"PREPARE_RETIREMENT\",\n TAX_OPTIMIZATION = \"TAX_OPTIMIZATION\",\n OPTIMIZE_SAVINGS = \"OPTIMIZE_SAVINGS\",\n PASS_ON_TO_DESCENDANTS = \"PASS_ON_TO_DESCENDANTS\",\n DIVERSIFY_ASSETS = \"DIVERSIFY_ASSETS\",\n FUND_REAL_ECONOMY = \"FUND_REAL_ECONOMY\",\n SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS = \"SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS\",\n SAFETY_SAVINGS = \"SAFETY_SAVINGS\",\n INVEST_IN_REAL_ESTATE = \"INVEST_IN_REAL_ESTATE\",\n SPECIFIC_PRODUCT = \"SPECIFIC_PRODUCT\",\n}\n","export enum ProjectOptionEnum {\n BEGINNER = \"BEGINNER\",\n INTERMEDIATE = \"INTERMEDIATE\",\n ADVANCED = \"ADVANCED\",\n}\n","export enum ProjectStatusEnum {\n ACTIVE = \"ACTIVE\",\n PAUSED = \"PAUSED\",\n FULLFILLED = \"FULLFILLED\",\n FULLFILLED_BY_US = \"FULLFILLED_BY_US\",\n}\n","export enum RealEstateTypeEnum {\n HOUSE = \"HOUSE\",\n APARTMENT = \"APARTMENT\",\n VILLA = \"VILLA\",\n CHATEAU = \"CHATEAU\",\n MANSION = \"MANSION\",\n}\n","export enum SupportedCurrencyExchangesEnum {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n JPY = \"JPY\",\n}\n","export enum SupportedCurrencySymbolsEnum {\n EUR = \"€\",\n USD = \"$\",\n GBP = \"£\",\n JPY = \"¥\",\n}\n","export enum UserAiSummaryStatusEnum {\n PROCESSING = \"PROCESSING\",\n READY = \"READY\",\n FAILED = \"FAILED\",\n}\n","export enum UserStatusEnum {\n // Anonymous, does not have a real account on sowhat (= a simple co-owner with no Clerk ID)\n ANONYMOUS = 'ANONYMOUS',\n\n // Real user, got a Clerk account.\n // note: Being registered on clerk first is mandatory to be registered on Powens.\n REGISTERED = 'REGISTERED',\n\n // The user is deleted and can't be used anymore\n DELETED = 'DELETED',\n\n // The user's email and/or phone are black-listed from the sowhat app\n BLACK_LISTED = 'BLACK_LISTED',\n}\n","export interface Department {\n code: string;\n departmentName: string;\n prefectureName: string;\n}\n\nexport const DepartmentsList: Department[] = [\n { code: \"01\", departmentName: \"Ain\", prefectureName: \"Bourg-En-Bresse\" },\n { code: \"02\", departmentName: \"Aisne\", prefectureName: \"Laon\" },\n { code: \"03\", departmentName: \"Allier\", prefectureName: \"Moulins\" },\n { code: \"04\", departmentName: \"Alpes-De-Haute-Provence\", prefectureName: \"Digne-Les-Bains\" },\n { code: \"05\", departmentName: \"Hautes-Alpes\", prefectureName: \"Gap\" },\n { code: \"06\", departmentName: \"Alpes-Maritimes\", prefectureName: \"Nice\" },\n { code: \"07\", departmentName: \"Ardeche\", prefectureName: \"Privas\" },\n { code: \"08\", departmentName: \"Ardennes\", prefectureName: \"Charleville-Mezieres\" },\n { code: \"09\", departmentName: \"Ariege\", prefectureName: \"Foix\" },\n { code: \"10\", departmentName: \"Aube\", prefectureName: \"Troyes\" },\n { code: \"11\", departmentName: \"Aude\", prefectureName: \"Carcassonne\" },\n { code: \"12\", departmentName: \"Aveyron\", prefectureName: \"Rodez\" },\n { code: \"13\", departmentName: \"Bouches-Du-Rhone\", prefectureName: \"Marseille\" },\n { code: \"14\", departmentName: \"Calvados\", prefectureName: \"Caen\" },\n { code: \"15\", departmentName: \"Cantal\", prefectureName: \"Aurillac\" },\n { code: \"16\", departmentName: \"Charente\", prefectureName: \"Angouleme\" },\n { code: \"17\", departmentName: \"Charente-Maritime\", prefectureName: \"La rochelle\" },\n { code: \"18\", departmentName: \"Cher\", prefectureName: \"Bourges\" },\n { code: \"19\", departmentName: \"Correze\", prefectureName: \"Tulle\" },\n { code: \"21\", departmentName: \"Cote-D'Or\", prefectureName: \"Dijon\" },\n { code: \"22\", departmentName: \"Cotes-D'Armor\", prefectureName: \"Saint-Brieuc\" },\n { code: \"23\", departmentName: \"Creuse\", prefectureName: \"Gueret\" },\n { code: \"24\", departmentName: \"Dordogne\", prefectureName: \"Perigueux\" },\n { code: \"25\", departmentName: \"Doubs\", prefectureName: \"Besancon\" },\n { code: \"26\", departmentName: \"Drome\", prefectureName: \"Valence\" },\n { code: \"27\", departmentName: \"Eure\", prefectureName: \"Evreux\" },\n { code: \"28\", departmentName: \"Eure-Et-Loir\", prefectureName: \"Chartres\" },\n { code: \"29\", departmentName: \"Finistere\", prefectureName: \"Quimper\" },\n { code: \"2A\", departmentName: \"Corse-Du-Sud\", prefectureName: \"Ajaccio\" },\n { code: \"2B\", departmentName: \"Haute-Corse\", prefectureName: \"Bastia\" },\n { code: \"30\", departmentName: \"Gard\", prefectureName: \"Nimes\" },\n { code: \"31\", departmentName: \"Haute-Garonne\", prefectureName: \"Toulouse\" },\n { code: \"32\", departmentName: \"Gers\", prefectureName: \"Auch\" },\n { code: \"33\", departmentName: \"Gironde\", prefectureName: \"Bordeaux\" },\n { code: \"34\", departmentName: \"Herault\", prefectureName: \"Montpellier\" },\n { code: \"35\", departmentName: \"Ille-Et-Vilaine\", prefectureName: \"Rennes\" },\n { code: \"36\", departmentName: \"Indre\", prefectureName: \"Chateauroux\" },\n { code: \"37\", departmentName: \"Indre-Et-Loire\", prefectureName: \"Tours\" },\n { code: \"38\", departmentName: \"Isere\", prefectureName: \"Grenoble\" },\n { code: \"39\", departmentName: \"Jura\", prefectureName: \"Lons-Le-Saunier\" },\n { code: \"40\", departmentName: \"Landes\", prefectureName: \"Mont-De-Marsan\" },\n { code: \"41\", departmentName: \"Loir-Et-Cher\", prefectureName: \"Blois\" },\n { code: \"42\", departmentName: \"Loire\", prefectureName: \"Saint-Etienne\" },\n { code: \"43\", departmentName: \"Haute-Loire\", prefectureName: \"Le puy-En-Velay\" },\n { code: \"44\", departmentName: \"Loire-Atlantique\", prefectureName: \"Nantes\" },\n { code: \"45\", departmentName: \"Loiret\", prefectureName: \"Orleans\" },\n { code: \"46\", departmentName: \"Lot\", prefectureName: \"Cahors\" },\n { code: \"47\", departmentName: \"Lot-Et-Garonne\", prefectureName: \"Agen\" },\n { code: \"48\", departmentName: \"Lozere\", prefectureName: \"Mende\" },\n { code: \"49\", departmentName: \"Maine-Et-Loire\", prefectureName: \"Angers\" },\n { code: \"50\", departmentName: \"Manche\", prefectureName: \"Saint-Lo\" },\n { code: \"51\", departmentName: \"Marne\", prefectureName: \"Chalons-En-Champagne\" },\n { code: \"52\", departmentName: \"Haute-Marne\", prefectureName: \"Chaumont\" },\n { code: \"53\", departmentName: \"Mayenne\", prefectureName: \"Laval\" },\n { code: \"54\", departmentName: \"Meurthe-Et-Moselle\", prefectureName: \"Nancy\" },\n { code: \"55\", departmentName: \"Meuse\", prefectureName: \"Bar-Le-Duc\" },\n { code: \"56\", departmentName: \"Morbihan\", prefectureName: \"Vannes\" },\n { code: \"57\", departmentName: \"Moselle\", prefectureName: \"Metz\" },\n { code: \"58\", departmentName: \"Nievre\", prefectureName: \"Nevers\" },\n { code: \"59\", departmentName: \"Nord\", prefectureName: \"Lille\" },\n { code: \"60\", departmentName: \"Oise\", prefectureName: \"Beauvais\" },\n { code: \"61\", departmentName: \"Orne\", prefectureName: \"Alencon\" },\n { code: \"62\", departmentName: \"Pas-De-Calais\", prefectureName: \"Arras\" },\n { code: \"63\", departmentName: \"Puy-De-Dome\", prefectureName: \"Clermont-Ferrand\" },\n { code: \"64\", departmentName: \"Pyrenees-Atlantiques\", prefectureName: \"Pau\" },\n { code: \"65\", departmentName: \"Hautes-Pyrenees\", prefectureName: \"Tarbes\" },\n { code: \"66\", departmentName: \"Pyrenees-Orientales\", prefectureName: \"Perpignan\" },\n { code: \"67\", departmentName: \"Bas-Rhin\", prefectureName: \"Strasbourg\" },\n { code: \"68\", departmentName: \"Haut-Rhin\", prefectureName: \"Colmar\" },\n { code: \"69\", departmentName: \"Rhone\", prefectureName: \"Lyon\" },\n { code: \"70\", departmentName: \"Haute-Saone\", prefectureName: \"Vesoul\" },\n { code: \"71\", departmentName: \"Saone-Et-Loire\", prefectureName: \"Macon\" },\n { code: \"72\", departmentName: \"Sarthe\", prefectureName: \"Le mans\" },\n { code: \"73\", departmentName: \"Savoie\", prefectureName: \"Chambery\" },\n { code: \"74\", departmentName: \"Haute-Savoie\", prefectureName: \"Annecy\" },\n { code: \"75\", departmentName: \"Paris\", prefectureName: \"\" },\n { code: \"76\", departmentName: \"Seine-Maritime\", prefectureName: \"Rouen\" },\n { code: \"77\", departmentName: \"Seine-Et-Marne\", prefectureName: \"Melun\" },\n { code: \"78\", departmentName: \"Yvelines\", prefectureName: \"Versailles\" },\n { code: \"79\", departmentName: \"Deux-Sevres\", prefectureName: \"Niort\" },\n { code: \"80\", departmentName: \"Somme\", prefectureName: \"Amiens\" },\n { code: \"81\", departmentName: \"Tarn\", prefectureName: \"Albi\" },\n { code: \"82\", departmentName: \"Tarn-Et-Garonne\", prefectureName: \"Montauban\" },\n { code: \"83\", departmentName: \"Var\", prefectureName: \"Toulon\" },\n { code: \"84\", departmentName: \"Vaucluse\", prefectureName: \"Avignon\" },\n { code: \"85\", departmentName: \"Vendee\", prefectureName: \"La roche-Sur-Yon\" },\n { code: \"86\", departmentName: \"Vienne\", prefectureName: \"Poitiers\" },\n { code: \"87\", departmentName: \"Haute-Vienne\", prefectureName: \"Limoges\" },\n { code: \"88\", departmentName: \"Vosges\", prefectureName: \"Epinal\" },\n { code: \"89\", departmentName: \"Yonne\", prefectureName: \"Auxerre\" },\n { code: \"90\", departmentName: \"Territoire de belfort\", prefectureName: \"Belfort\" },\n { code: \"91\", departmentName: \"Essonne\", prefectureName: \"Evry\" },\n { code: \"92\", departmentName: \"Hauts-De-Seine\", prefectureName: \"Nanterre\" },\n { code: \"93\", departmentName: \"Seine-Saint-Denis\", prefectureName: \"Bobigny\" },\n { code: \"94\", departmentName: \"Val-De-Marne\", prefectureName: \"Creteil\" },\n { code: \"95\", departmentName: \"Val-D'Oise\", prefectureName: \"Pontoise\" },\n { code: \"97\", departmentName: \"Guadeloupe\", prefectureName: \"Basse-Terre\" },\n { code: \"97\", departmentName: \"Guyane\", prefectureName: \"Cayenne\" },\n { code: \"97\", departmentName: \"Martinique\", prefectureName: \"Fort-De-France\" },\n { code: \"97\", departmentName: \"Mayotte\", prefectureName: \"Dzaoudzi\" },\n { code: \"97\", departmentName: \"Reunion\", prefectureName: \"Saint-Denis\" },\n];\n","import { FinancialProductEnum } from \"../enums/financial-product.enum\";\n\nexport interface FinancialProduct {\n key: FinancialProductEnum;\n label: string;\n}\n\nexport const FinancialProducts: FinancialProduct[] = [\n { key: FinancialProductEnum.LIVRET_A, label: \"Livret A\" },\n { key: FinancialProductEnum.LDDS, label: \"LDDS\" },\n { key: FinancialProductEnum.LEP, label: \"LEP\" },\n { key: FinancialProductEnum.COMPTE_SUR_LIVRET, label: \"Compte sur livret\" },\n { key: FinancialProductEnum.COMPTE_A_TERME, label: \"Compte à terme\" },\n { key: FinancialProductEnum.ASSURANCE_VIE, label: \"Assurance-vie\" },\n { key: FinancialProductEnum.PEA, label: \"PEA\" },\n { key: FinancialProductEnum.COMPTE_TITRES_ORDINAIRE, label: \"CTO\" },\n { key: FinancialProductEnum.PER, label: \"PER\" },\n { key: FinancialProductEnum.EPARGNE_SALARIALE, label: \"Épargne salariale\" },\n { key: FinancialProductEnum.SCPI, label: \"SCPI\" },\n { key: FinancialProductEnum.PRIVATE_EQUITY, label: \"Private equity\" },\n { key: FinancialProductEnum.LUXEMBOURG_INSURANCE, label: \"Assurance Luxembourgeoise\" },\n { key: FinancialProductEnum.PEL, label: \"PEL\" },\n { key: FinancialProductEnum.OTHER, label: \"Autre\" },\n];\n\nexport function getFinancialProductLabel(key: FinancialProductEnum): string {\n const financialProductLabel = FinancialProducts.find(\n (product) => product.key === key.toUpperCase(),\n );\n\n if (!financialProductLabel) {\n return \"Inconnu\";\n }\n\n return financialProductLabel.label;\n}\n\nexport function getFinancialProductKey(label: string): FinancialProductEnum | null {\n const financialProductKey = FinancialProducts.find((product) => product.label === label);\n\n if (!financialProductKey) {\n return null;\n }\n\n return financialProductKey.key;\n}\n","import { HouseholdSalaryRangeEnum } from \"../enums/household-salary-range.enum\";\n\nexport interface HouseholdSalaryRange {\n key: HouseholdSalaryRangeEnum;\n label: string;\n}\n\nexport const HouseholdSalaryRanges: HouseholdSalaryRange[] = [\n { key: HouseholdSalaryRangeEnum.LESS_THAN_30K, label: \"Moins de 30 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_30K_AND_50K, label: \"Entre 30 000€ et 50 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_50K_AND_80K, label: \"Entre 50 000€ et 80 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_80K_AND_120K, label: \"Entre 80 000€ et 120 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_120K_AND_180K, label: \"Entre 120 000€ et 180 000€\" },\n { key: HouseholdSalaryRangeEnum.MORE_THAN_180K, label: \"Plus de 180 000€\" },\n];\n\nexport function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string {\n const range = HouseholdSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as HouseholdSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null {\n const range = HouseholdSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { MaritalStatusEnum } from \"../enums/marital-status.enum\";\n\nexport interface MaritalStatus {\n key: MaritalStatusEnum;\n label: string;\n}\n\nexport const MartialStatuses: MaritalStatus[] = [\n { key: MaritalStatusEnum.SINGLE, label: \"Célibataire\" },\n { key: MaritalStatusEnum.COUPLE, label: \"En couple\" },\n { key: MaritalStatusEnum.PACS, label: \"Pacsé(e)\" },\n { key: MaritalStatusEnum.MARRIED, label: \"Marié(e)\" },\n { key: MaritalStatusEnum.DIVORCED, label: \"Divorcé(e)\" },\n { key: MaritalStatusEnum.WIDOWED, label: \"Veuf(ve)\" },\n { key: MaritalStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getMaritalStatusLabel(maritalStatus: MaritalStatusEnum | string): string {\n const ms = MartialStatuses.find(\n (ms) => ms.key === (maritalStatus as MaritalStatusEnum).toUpperCase(),\n );\n\n return !ms ? \"Inconnu\" : ms.label;\n}\n\nexport function getMaritalStatusKey(label: string): MaritalStatusEnum | null {\n const ms = MartialStatuses.find((ms) => ms.label === label);\n return !ms ? null : ms.key;\n}\n","import { ProCertificationEnum } from \"../enums/pro/pro-certification.enum\";\n\nexport interface ProCertification {\n key: ProCertificationEnum;\n label: string;\n description: string;\n}\n\nexport const ProCertifications: ProCertification[] = [\n {\n key: ProCertificationEnum.AMF,\n label: \"AMF\",\n description:\n \"Autorité des Marchés Financiers. Professionnel autorisé à exercer dans le secteur du conseil financier.\",\n },\n {\n key: ProCertificationEnum.CIF,\n label: \"CIF\",\n description:\n \"Conseiller en Investissements Financiers. Professionnel autorisé à fournir des conseils en investissement et recommandations de produits financiers.\",\n },\n {\n key: ProCertificationEnum.IAS,\n label: \"IAS\",\n description:\n \"Intermédiaire en Assurance. Professionnel autorisé à vendre des produits d'assurance, tels que l'assurance-vie par exemple.\",\n },\n];\n\nexport function getProCertificationByKey(key: ProCertificationEnum): ProCertification | null {\n const proCertification = ProCertifications.find((cert) => cert.key === key.toUpperCase());\n\n return !proCertification ? null : proCertification;\n}\n\nexport function getProCertificationByLabelOrDescription(label: string): ProCertification | null {\n const proCertification = ProCertifications.find(\n (cert) => cert.label === label || cert.description === label,\n );\n\n return !proCertification ? null : proCertification;\n}\n","import { PersonalSalaryRangeEnum } from \"../enums/personal-salary-range.enum\";\n\nexport interface PersonalSalaryRange {\n key: PersonalSalaryRangeEnum;\n label: string;\n}\n\nexport const PersonalSalaryRanges: PersonalSalaryRange[] = [\n { key: PersonalSalaryRangeEnum.LESS_THAN_20K, label: \"Moins de 20 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_20K_AND_30K, label: \"Entre 20 000€ et 30 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_30K_AND_45K, label: \"Entre 30 000€ et 45 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_45K_AND_65K, label: \"Entre 45 000€ et 65 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_65K_AND_90K, label: \"Entre 65 000€ et 90 000€\" },\n { key: PersonalSalaryRangeEnum.MORE_THAN_90K, label: \"Plus de 90 000€\" },\n];\n\nexport const getPersonalSalaryRangeLabel = (key: PersonalSalaryRangeEnum | string): string => {\n const range = PersonalSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n};\n\nexport const getPersonalSalaryRangeKey = (label: string): PersonalSalaryRangeEnum | null => {\n const range = PersonalSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n};\n","import { PersonalNetWorthRangeEnum } from \"../enums/personal-net-worth-range.enum\";\n\nexport interface PersonalNetWorthRange {\n key: PersonalNetWorthRangeEnum;\n label: string;\n}\n\nexport const PersonalNetWorthRanges: PersonalNetWorthRange[] = [\n { key: PersonalNetWorthRangeEnum.LESS_THAN_100K, label: \"Moins de 100 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_100K_AND_200K, label: \"Entre 100 000€ et 200 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_200K_AND_500K, label: \"Entre 200 000€ et 500 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_500K_AND_1M, label: \"Entre 500 000€ et 1 000 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_1M_AND_2M, label: \"Entre 1 000 000€ et 2 000 000€\" },\n { key: PersonalNetWorthRangeEnum.MORE_THAN_2M, label: \"Plus de 2 000 000€\" },\n];\n\nexport function getPersonalNetWorthRangeLabel(key: PersonalNetWorthRangeEnum | string): string {\n const range = PersonalNetWorthRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalNetWorthRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getPersonalNetWorthRangeKey(label: string): PersonalNetWorthRangeEnum | null {\n const range = PersonalNetWorthRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { ProfessionStatusEnum } from \"../enums/profession-status.enum\";\n\nexport interface ProfessionStatus {\n key: ProfessionStatusEnum;\n label: string;\n}\n\nexport const ProfessionStatusList: ProfessionStatus[] = [\n { key: ProfessionStatusEnum.STUDENT, label: \"Étudiant\" },\n { key: ProfessionStatusEnum.INTERIM, label: \"Interim\" },\n { key: ProfessionStatusEnum.CIVIL_SERVANT, label: \"Fonctionnaire\" },\n { key: ProfessionStatusEnum.CDD, label: \"Salarié en CDD\" },\n { key: ProfessionStatusEnum.CDI, label: \"Salarié en CDI\" },\n { key: ProfessionStatusEnum.INDEPENDANT, label: \"Indépendant\" },\n { key: ProfessionStatusEnum.LIBERAL, label: \"Profession libérale\" },\n { key: ProfessionStatusEnum.COMPANY_DIRECTOR, label: \"Chef d'entreprise\" },\n { key: ProfessionStatusEnum.RETIRED, label: \"Retraité\" },\n { key: ProfessionStatusEnum.JOB_SEEKER, label: \"En recherche d'emploi\" },\n { key: ProfessionStatusEnum.INACTIVE, label: \"Sans activité\" },\n { key: ProfessionStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getProfessionStatusLabel(professionStatus: ProfessionStatusEnum | string): string {\n const ps = ProfessionStatusList.find(\n (s) => s.key === (professionStatus as ProfessionStatusEnum).toUpperCase(),\n );\n\n return !ps ? \"Inconnu\" : ps.label;\n}\n\nexport function getProfessionStatusKey(label: string): ProfessionStatusEnum | null {\n const ps = ProfessionStatusList.find((s) => s.label === label);\n return !ps ? null : ps.key;\n}\n","import { ProfessionEnum } from \"../enums/profession.enum\";\n\nexport interface Profession {\n value: ProfessionEnum;\n label: string;\n}\n\nexport const ProfessionsList: Profession[] = [\n { value: ProfessionEnum.AGRICULTURE_ENVIRONMENT, label: \"l'agriculture et l'environnement\" },\n { value: ProfessionEnum.REAL_ESTATE_CONSTRUCTION, label: \"l'immobilier et construction\" },\n { value: ProfessionEnum.INDUSTRY_ENERGY, label: \"l'industrie et les énergies\" },\n { value: ProfessionEnum.DIGITAL_TELECOM, label: \"le numérique et télécoms\" },\n { value: ProfessionEnum.RETAIL_DISTRIBUTION, label: \"le commerce et la distribution\" },\n { value: ProfessionEnum.TRANSPORT_LOGISTICS, label: \"le transport et la logistique\" },\n { value: ProfessionEnum.FINANCE_INSURANCE, label: \"la finance et l'assurance\" },\n { value: ProfessionEnum.HEALTH_SOCIAL, label: \"la santé et le social\" },\n { value: ProfessionEnum.EDUCATION_RESEARCH, label: \"l'éducation et la recherche\" },\n { value: ProfessionEnum.PUBLIC_ADMINISTRATION, label: \"l'administration publique\" },\n { value: ProfessionEnum.MILITARY_SECURITY, label: \"l'armée et la sécurité\" },\n { value: ProfessionEnum.CATERING_TOURISM, label: \"la restauration et le tourisme\" },\n { value: ProfessionEnum.CULTURE_LEISURE, label: \"la culture et les loisirs\" },\n { value: ProfessionEnum.ARTS_MEDIA, label: \"les arts et les médias\" },\n { value: ProfessionEnum.OTHER_SECTOR, label: \"un autre secteur\" },\n];\n\nexport function getProfessionLabel(profession: ProfessionEnum): string {\n const professionDomain = ProfessionsList.find((p) => p.value === profession.toUpperCase());\n\n if (!professionDomain) {\n return \"Inconnu\";\n }\n\n return professionDomain.label;\n}\n\nexport function getProfessionKey(label: string): ProfessionEnum | null {\n const professionKey = ProfessionsList.find((p) => p.label === label);\n\n if (!professionKey) {\n return null;\n }\n\n return professionKey.value;\n}\n","import { ProjectNeedEnum } from \"../enums/project-need.enum\";\n\nexport interface ProjectNeed {\n key: ProjectNeedEnum;\n userLabel: string;\n proLabel: string;\n}\n\nexport const ProjectNeeds: ProjectNeed[] = [\n {\n key: ProjectNeedEnum.WEALTH_ASSESSMENT,\n userLabel:\n \"Je n'ai pas d'idée précise, j'aimerais recevoir des conseils et messages adaptés à ma situation.\",\n proLabel:\n \"Pas d'idée précise, souhaite recevoir des conseils et offres adaptés à sa situation.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_STOCK_EXCHANGE,\n userLabel: \"Je compte me lancer en bourse.\",\n proLabel: \"Souhaite investir dans la bourse.\",\n },\n {\n key: ProjectNeedEnum.PREPARE_RETIREMENT,\n userLabel: \"Je pense à l'avenir et souhaite préparer ma retraite.\",\n proLabel: \"Souhaite préparer sa retraite.\",\n },\n {\n key: ProjectNeedEnum.TAX_OPTIMIZATION,\n userLabel: \"J'ai besoin de payer moins d'impôts, il faut que je défiscalise.\",\n proLabel: \"Souhaite optimiser ses impôts.\",\n },\n {\n key: ProjectNeedEnum.OPTIMIZE_SAVINGS,\n userLabel:\n \"Je suis dynamique et j'aimerais que mon épargne le soit également, qu'elle me rapporte plus.\",\n proLabel: \"Souhaite optimiser son épargne.\",\n },\n {\n key: ProjectNeedEnum.PASS_ON_TO_DESCENDANTS,\n userLabel: \"Je dois protéger mes enfants, il est temps de parler transmission.\",\n proLabel: \"Souhaite protéger ses enfants.\",\n },\n {\n key: ProjectNeedEnum.DIVERSIFY_ASSETS,\n userLabel: \"J'aimerais savoir comment diversifier mon patrimoine pour réduire les risques.\",\n proLabel: \"Souhaite diversifier son patrimoine pour réduire les risques.\",\n },\n {\n key: ProjectNeedEnum.FUND_REAL_ECONOMY,\n userLabel: \"Je veux participer à l'effort collectif par le financement de l'économie réelle.\",\n proLabel: \"Souhaite participer à l'effort collectif par le financement de l'économie réelle.\",\n },\n {\n key: ProjectNeedEnum.SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS,\n userLabel:\n \"J'ai envie de donner du sens à mon argent et voudrais en savoir plus sur l'épargne responsable.\",\n proLabel: \"Souhaite participer à l'épargne responsable.\",\n },\n {\n key: ProjectNeedEnum.SAFETY_SAVINGS,\n userLabel: \"J'ai peur de l'imprévu et envisage de constituer une épargne de sécurité.\",\n proLabel: \"Souhaite constituer une épargne de sécurité.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_REAL_ESTATE,\n userLabel: \"Je souhaite investir dans l'immobilier.\",\n proLabel: \"Souhaite investir dans l'immobilier.\",\n },\n];\n\nexport function getProjectNeedUserLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.userLabel;\n}\n\nexport function getProjectNeedProLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.proLabel;\n}\n\nexport function getProjectNeedKey(label: string): ProjectNeedEnum | null {\n let projectNeedKey = ProjectNeeds.find((need) => need.userLabel === label);\n\n if (projectNeedKey) {\n return projectNeedKey.key;\n }\n\n projectNeedKey = ProjectNeeds.find((need) => need.proLabel === label);\n\n if (!projectNeedKey) {\n return null;\n }\n\n return projectNeedKey.key;\n}\n"],"mappings":"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","names":["ProStatusEnum","ProCertificationEnum","AssetTypeEnum","AvailableCryptocurrencySymbolEnum","AvailableCurrencyEnum","BankAccountTransactionTypeEnum","BankAccountTypeEnum","BudgetTypeEnum","FetchPowensConnectionsTypeEnum","FinancialProductEnum","HouseholdSalaryRangeEnum","LegalDocumentTypeEnum","LoanTypeEnum","MaritalStatusEnum","MobilityTypeEnum","OfferStatusEnum","PersonalNetWorthRangeEnum","PersonalSalaryRangeEnum","PhoneVerificationStatusEnum","PowensConnectionStateEnum","PowensUserStatusEnum","ProfessionStatusEnum","ProfessionEnum","ProjectNeedEnum","ProjectOptionEnum","ProjectStatusEnum","RealEstateTypeEnum","SupportedCurrencyExchangesEnum","SupportedCurrencySymbolsEnum","UserAiSummaryStatusEnum","UserStatusEnum","range","ms","range","range"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/constants/index.ts","../src/enums/pro/pro-status.enum.ts","../src/enums/pro/pro-certification.enum.ts","../src/enums/asset-type.enum.ts","../src/enums/available-cryptocurrency-symbol.enum.ts","../src/enums/available-currency.enum.ts","../src/enums/bank-account-transaction-type.enum.ts","../src/enums/bank-account-type.enum.ts","../src/enums/budget-type.enum.ts","../src/enums/fetch-powens-connections-type.enum.ts","../src/enums/financial-product.enum.ts","../src/enums/household-salary-range.enum.ts","../src/enums/legal-document-type.enum.ts","../src/enums/loan-type.enum.ts","../src/enums/marital-status.enum.ts","../src/enums/mobility-type.enum.ts","../src/enums/offer-status.enum.ts","../src/enums/personal-net-worth-range.enum.ts","../src/enums/personal-salary-range.enum.ts","../src/enums/phone-verification-status.enum.ts","../src/enums/powens-connection-state.enum.ts","../src/enums/powens-user-status.enum.ts","../src/enums/profession-status.enum.ts","../src/enums/profession.enum.ts","../src/enums/project-need.enum.ts","../src/enums/project-option.enum.ts","../src/enums/project-status.enum.ts","../src/enums/real-estate-type.enum.ts","../src/enums/supported-currency-exchanges.enum.ts","../src/enums/supported-currency-symbols.enum.ts","../src/enums/user-ai-summary-status.enum.ts","../src/enums/user-status.enum.ts","../src/utils/departments.ts","../src/utils/financial-product.ts","../src/utils/household-salary-range.ts","../src/utils/completed-user-data.utils.ts","../src/utils/marital-status.ts","../src/utils/pro-certification.ts","../src/utils/personal-salary-range.ts","../src/utils/personal-net-worth-range.ts","../src/utils/profession-status.ts","../src/utils/profession.ts","../src/utils/project-need.ts"],"sourcesContent":["export * from \"./constants\";\nexport * from \"./enums\";\nexport * from \"./inputs\";\nexport * from \"./responses\";\nexport * from \"./utils\";\nexport * from \"./exact-match\";\n","export const EMAIL_REGEX =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const LIVES_OUTSIDE_FRANCE = \"LIVES_OUTSIDE_FRANCE\";\n","export enum ProStatusEnum {\n ONBOARDING = \"ONBOARDING\", // Vient de créer son compte -> Redirigé vers onboarding\n KYC_PENDING = \"KYC_PENDING\", // \tOnboarding fait, KYC non rempli -> Profil + formulaire KYC uniquement\n KYC_SUBMITTED = \"KYC_SUBMITTED\", //\tKYC rempli, en attente de validation -> Profil uniquement (message \"en cours de validation\")\n VALIDATED = \"VALIDATED\", //\tValidé manuellement, pas encore abonné\t-> Profil + page de souscription Stripe\n ACTIVE = \"ACTIVE\", //\tAbonné, paiement OK -> Tout le dashboard\n PAUSED = \"PAUSED\", //\tAbonnement en pause -> Profil + gestion abonnement\n CANCELLED = \"CANCELLED\", //\tAbonnement annulé -> Profil + page de réabonnement\n}\n","export enum ProCertificationEnum {\n AMF = \"AMF\",\n CIF = \"CIF\",\n IAS = \"IAS\",\n}","export enum AssetTypeEnum {\n REAL_ESTATE = \"REAL_ESTATE\",\n MOBILITY = \"MOBILITY\",\n STOCK_EXCHANGE = \"STOCK_EXCHANGE\",\n CRYPTOCURRENCY = \"CRYPTOCURRENCY\",\n OTHER = \"OTHER\",\n}\n","export enum AvailableCryptocurrencySymbolEnum {\n BTC = \"BTC\", // Bitcoin\n ETH = \"ETH\", // Ethereum\n USDT = \"USDT\", // Tether\n USDC = \"USDC\", // USD Coin\n BNB = \"BNB\", // BNB\n BUSD = \"BUSD\", // Binance USD\n XRP = \"XRP\", // XRP (Ripple)\n ADA = \"ADA\", // Cardano\n SOL = \"SOL\", // Solana\n DOGE = \"DOGE\", // Dogecoin\n DOT = \"DOT\", // Polkadot\n DAI = \"DAI\", // Dai\n MATIC = \"MATIC\", // Polygon\n SHIB = \"SHIB\", // Shiba Inu\n TRX = \"TRX\", // TRON\n AVAX = \"AVAX\", // Avalanche\n LEO = \"LEO\", // UNUS SED LEO\n LTC = \"LTC\", // Litecoin\n XLM = \"XLM\", // Stellar\n BCH = \"BCH\", // Bitcoin Cash\n}\n","export enum AvailableCurrencyEnum {\n EUR = \"EUR\",\n}\n","export enum BankAccountTransactionTypeEnum {\n TRANSFER = \"TRANSFER\", // Transfer\n ORDER = \"ORDER\", // Order\n CHECK = \"CHECK\", // Check\n DEPOSIT = \"DEPOSIT\", // Mandatory/voluntary deposits, contributions, money transfers\n PAYBACK = \"PAYBACK\", // Payback\n WITHDRAWAL = \"WITHDRAWAL\", // Withdrawal\n LOAN_REPAYMENT = \"LOAN_REPAYMENT\", // Loan payment\n BANK = \"BANK\", // Bank fees\n CARD = \"CARD\", // Card operation\n DEFERRED_CARD = \"DEFERRED_CARD\", // Deferred card operation\n SUMMARY_CARD = \"SUMMARY_CARD\", // Monthly debit of a deferred card\n UNKNOWN = \"UNKNOWN\", //Unknown transaction type\n MARKET_ORDER = \"MARKET_ORDER\", // Market order\n MARKET_FEE = \"MARKET_FEE\", // Fees regarding a market order\n ARBITRAGE = \"ARBITRAGE\", // Arbitrage\n PROFIT = \"PROFIT\", // Positive earnings from interests/coupons/dividends\n}\n","export enum BankAccountTypeEnum {\n CHECKING = \"CHECKING\",\n SAVINGS = \"SAVINGS\",\n LOAN = \"LOAN\",\n OTHER = \"OTHER\",\n}\n","export enum BudgetTypeEnum {\n INCOME = 'INCOME',\n EXPENDITURE = 'EXPENDITURE',\n}\n","export enum FetchPowensConnectionsTypeEnum {\n ALL = \"ALL\",\n USER_ACTION_REQUIRED = \"USER_ACTION_REQUIRED\",\n}\n","export enum FinancialProductEnum {\n LIVRET_A = \"LIVRET_A\",\n LDDS = \"LDDS\",\n LEP = \"LEP\",\n COMPTE_SUR_LIVRET = \"COMPTE_SUR_LIVRET\",\n COMPTE_A_TERME = \"COMPTE_A_TERME\",\n ASSURANCE_VIE = \"ASSURANCE_VIE\",\n PEA = \"PEA\",\n COMPTE_TITRES_ORDINAIRE = \"COMPTE_TITRES_ORDINAIRE\",\n PER = \"PER\",\n EPARGNE_SALARIALE = \"EPARGNE_SALARIALE\",\n SCPI = \"SCPI\",\n PRIVATE_EQUITY = \"PRIVATE_EQUITY\",\n LUXEMBOURG_INSURANCE = \"LUXEMBOURG_INSURANCE\",\n PEL = \"PEL\",\n OTHER = \"OTHER\",\n}\n","export enum HouseholdSalaryRangeEnum {\n LESS_THAN_30K = \"LESS_THAN_30K\",\n BETWEEN_30K_AND_50K = \"BETWEEN_30K_AND_50K\",\n BETWEEN_50K_AND_80K = \"BETWEEN_50K_AND_80K\",\n BETWEEN_80K_AND_120K = \"BETWEEN_80K_AND_120K\",\n BETWEEN_120K_AND_180K = \"BETWEEN_120K_AND_180K\",\n MORE_THAN_180K = \"MORE_THAN_180K\",\n}\n","export enum LegalDocumentTypeEnum {\n TERMS_OF_USAGE = \"TERMS_OF_USAGE\",\n PRIVACY_POLICY = \"PRIVACY_POLICY\",\n}\n","export enum LoanTypeEnum {\n MORTGAGE = \"mortgage\",\n CONSUMER_CREDIT = \"consumercredit\",\n RESOLVING_CREDIT = \"revolvingcredit\",\n UNKNOWN = \"unknown\",\n}\n","export enum MaritalStatusEnum {\n SINGLE = \"SINGLE\",\n COUPLE = \"COUPLE\",\n PACS = \"PACS\",\n MARRIED = \"MARRIED\",\n DIVORCED = \"DIVORCED\",\n WIDOWED = \"WIDOWED\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum MobilityTypeEnum {\n SUV = \"SUV\",\n ELECTRIC_CAR = \"ELECTRIC_CAR\",\n CITY_CAR = \"CITY_CAR\",\n BOAT = \"BOAT\",\n BIKE = \"BIKE\",\n SCOOTER = \"SCOOTER\",\n MOTORCYCLE = \"MOTORCYCLE\",\n}\n","export enum OfferStatusEnum {\n PENDING = \"PENDING\",\n ACCEPTED = \"ACCEPTED\",\n REJECTED = \"REJECTED\",\n /**\n * @deprecated stop using ARCHIVED in the status (since Feb. 2026)\n */\n ARCHIVED_BY_PRO = \"ARCHIVED_BY_PRO\",\n /**\n * @deprecated stop using ACCEPTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n ACCEPTED_THEN_ARCHIVED_BY_USER = \"ACCEPTED_THEN_ARCHIVED_BY_USER\",\n /**\n * @deprecated stop using REJECTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n REJECTED_THEN_ARCHIVED_BY_USER = \"REJECTED_THEN_ARCHIVED_BY_USER\",\n}\n","export enum PersonalNetWorthRangeEnum {\n LESS_THAN_100K = \"LESS_THAN_100K\",\n BETWEEN_100K_AND_200K = \"BETWEEN_100K_AND_200K\",\n BETWEEN_200K_AND_500K = \"BETWEEN_200K_AND_500K\",\n BETWEEN_500K_AND_1M = \"BETWEEN_500K_AND_1M\",\n BETWEEN_1M_AND_2M = \"BETWEEN_1M_AND_2M\",\n MORE_THAN_2M = \"MORE_THAN_2M\",\n}\n","export enum PersonalSalaryRangeEnum {\n LESS_THAN_20K = \"LESS_THAN_20K\",\n BETWEEN_20K_AND_30K = \"BETWEEN_20K_AND_30K\",\n BETWEEN_30K_AND_45K = \"BETWEEN_30K_AND_45K\",\n BETWEEN_45K_AND_65K = \"BETWEEN_45K_AND_65K\",\n BETWEEN_65K_AND_90K = \"BETWEEN_65K_AND_90K\",\n MORE_THAN_90K = \"MORE_THAN_90K\",\n}\n","export enum PhoneVerificationStatusEnum {\n APPROVED = \"APPROVED\",\n PENDING = \"PENDING\",\n MAX_ATTEMPTS_REACHED = \"MAX_ATTEMPTS_REACHED\",\n EXPIRED = \"EXPIRED\",\n CANCELED = \"CANCELED\",\n INVALID_CODE = \"INVALID_CODE\",\n ALREADY_VERIFIED = \"ALREADY_VERIFIED\",\n}","export enum PowensConnectionStateEnum {\n /**\n * An SCA process must be performed to resume the synchronization process.\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n */\n SCA_REQUIRED = \"SCA_REQUIRED\",\n /**\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n * A web-based authentication process is required using the /webauth endpoint.\n * endpoint /webauth: https://docs.powens.com/api-reference/user-connections/connections#webauthurl-object\n */\n WEBAUTH_REQUIRED = \"WEBAUTH_REQUIRED\",\n /**\n * Additional information is needed to resume synchronization, such as an OTP. Connections in this state have a fields property.\n */\n ADDITIONAL_INFORMATION_NEEDED = \"ADDITIONAL_INFORMATION_NEEDED\",\n /**\n * User validation is required on a third-party app or device (ex: digital key).\n */\n DECOUPLED = \"DECOUPLED\",\n /**\n * User validation is being processed on our side. This state is temporary.\n */\n VALIDATING = \"VALIDATING\",\n /**\n * An action is needed on the website by the user, synchronization is blocked.\n * Synchronization failed because the user needs to perform an action directly on the bank website or app (usually, accept new CGUs or similar one-time actions).\n * You should present this error prominently\n */\n ACTION_NEEDED = \"ACTION_NEEDED\",\n /**\n * The password has expired and needs to be changed by the user before the synchronization can be retried.\n * Synchronization failed because the user needs to renew its password on the bank website.\n * You should present this error prominently and prompt the user for his new password afterwards.\n */\n PASSWORD_EXPIRED = \"PASSWORD_EXPIRED\",\n /**\n * The authentication on website has failed and new credentials must be obtained from the user. Connections in this state have a fields property\n * Synchronization failed because the credentials we own are invalid or obsolete.\n * You should present this error prominently\n */\n WRONGPASS = \"WRONGPASS\",\n /**\n * The target website or API is temporarily blocking synchronizations due to rate limiting.\n * Synchronization failed because the target website or API is temporarily blocking synchronizations due to rate limiting.\n * We will retry after a delay and connections in this state will be resumed automatically.\n */\n RATE_LIMITING = \"RATE_LIMITING\",\n /**\n * The connector website or API is unavailable.\n * Synchronization failed because the targeted API or website is temporarily unavailable.\n * We will periodically retry to sync.\n */\n WEBSITE_UNAVAILABLE = \"WEBSITE_UNAVAILABLE\",\n /**\n * An internal error has occurred during the synchronization.\n * Synchronization failed because of an error from our side. We monitor errors and do our best to fix them quickly.\n * Connections in this state will be resumed automatically after the error is fixed.\n */\n BUG = \"BUG\",\n /**\n * The source is not supported on the connector\n */\n NOT_SUPPORTED = \"NOT_SUPPORTED\",\n}\n","export enum PowensUserStatusEnum {\n // User is registered on Powens and got a powens ID and a unique access token\n REGISTERED = 'REGISTERED',\n\n // User is currently trying to make a new connection to their bank account (transition state)\n ATTEMPTING_NEW_CONNECTION = 'ATTEMPTING_NEW_CONNECTION',\n\n // On error in Powens administration console\n ON_ERROR = 'ON_ERROR',\n\n // Powens administration console deleted the user\n DELETED = 'DELETED',\n}\n","export enum ProfessionStatusEnum {\n STUDENT = \"STUDENT\",\n INTERIM = \"INTERIM\",\n CIVIL_SERVANT = \"CIVIL_SERVANT\",\n CDD = \"CDD\",\n CDI = \"CDI\",\n INDEPENDANT = \"INDEPENDANT\",\n LIBERAL = \"LIBERAL\",\n COMPANY_DIRECTOR = \"COMPANY_DIRECTOR\",\n RETIRED = \"RETIRED\",\n JOB_SEEKER = \"JOB_SEEKER\",\n INACTIVE = \"INACTIVE\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum ProfessionEnum {\n AGRICULTURE_ENVIRONMENT = \"AGRICULTURE_ENVIRONMENT\",\n REAL_ESTATE_CONSTRUCTION = \"REAL_ESTATE_CONSTRUCTION\",\n INDUSTRY_ENERGY = \"INDUSTRY_ENERGY\",\n DIGITAL_TELECOM = \"DIGITAL_TELECOM\",\n RETAIL_DISTRIBUTION = \"RETAIL_DISTRIBUTION\",\n TRANSPORT_LOGISTICS = \"TRANSPORT_LOGISTICS\",\n FINANCE_INSURANCE = \"FINANCE_INSURANCE\",\n HEALTH_SOCIAL = \"HEALTH_SOCIAL\",\n EDUCATION_RESEARCH = \"EDUCATION_RESEARCH\",\n PUBLIC_ADMINISTRATION = \"PUBLIC_ADMINISTRATION\",\n MILITARY_SECURITY = \"MILITARY_SECURITY\",\n CATERING_TOURISM = \"CATERING_TOURISM\",\n CULTURE_LEISURE = \"CULTURE_LEISURE\",\n ARTS_MEDIA = \"ARTS_MEDIA\",\n OTHER_SECTOR = \"OTHER_SECTOR\",\n}\n","export enum ProjectNeedEnum {\n WEALTH_ASSESSMENT = \"WEALTH_ASSESSMENT\",\n INVEST_IN_STOCK_EXCHANGE = \"INVEST_IN_STOCK_EXCHANGE\",\n PREPARE_RETIREMENT = \"PREPARE_RETIREMENT\",\n TAX_OPTIMIZATION = \"TAX_OPTIMIZATION\",\n OPTIMIZE_SAVINGS = \"OPTIMIZE_SAVINGS\",\n PASS_ON_TO_DESCENDANTS = \"PASS_ON_TO_DESCENDANTS\",\n DIVERSIFY_ASSETS = \"DIVERSIFY_ASSETS\",\n FUND_REAL_ECONOMY = \"FUND_REAL_ECONOMY\",\n SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS = \"SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS\",\n SAFETY_SAVINGS = \"SAFETY_SAVINGS\",\n INVEST_IN_REAL_ESTATE = \"INVEST_IN_REAL_ESTATE\",\n SPECIFIC_PRODUCT = \"SPECIFIC_PRODUCT\",\n}\n","export enum ProjectOptionEnum {\n BEGINNER = \"BEGINNER\",\n INTERMEDIATE = \"INTERMEDIATE\",\n ADVANCED = \"ADVANCED\",\n}\n","export enum ProjectStatusEnum {\n ACTIVE = \"ACTIVE\",\n PAUSED = \"PAUSED\",\n FULLFILLED = \"FULLFILLED\",\n FULLFILLED_BY_US = \"FULLFILLED_BY_US\",\n}\n","export enum RealEstateTypeEnum {\n HOUSE = \"HOUSE\",\n APARTMENT = \"APARTMENT\",\n VILLA = \"VILLA\",\n CHATEAU = \"CHATEAU\",\n MANSION = \"MANSION\",\n}\n","export enum SupportedCurrencyExchangesEnum {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n JPY = \"JPY\",\n}\n","export enum SupportedCurrencySymbolsEnum {\n EUR = \"€\",\n USD = \"$\",\n GBP = \"£\",\n JPY = \"¥\",\n}\n","export enum UserAiSummaryStatusEnum {\n PROCESSING = \"PROCESSING\",\n READY = \"READY\",\n FAILED = \"FAILED\",\n}\n","export enum UserStatusEnum {\n // Anonymous, does not have a real account on sowhat (= a simple co-owner with no Clerk ID)\n ANONYMOUS = 'ANONYMOUS',\n\n // Real user, got a Clerk account.\n // note: Being registered on clerk first is mandatory to be registered on Powens.\n REGISTERED = 'REGISTERED',\n\n // The user is deleted and can't be used anymore\n DELETED = 'DELETED',\n\n // The user's email and/or phone are black-listed from the sowhat app\n BLACK_LISTED = 'BLACK_LISTED',\n}\n","export interface Department {\n code: string;\n departmentName: string;\n prefectureName: string;\n}\n\nexport const DepartmentsList: Department[] = [\n { code: \"01\", departmentName: \"Ain\", prefectureName: \"Bourg-En-Bresse\" },\n { code: \"02\", departmentName: \"Aisne\", prefectureName: \"Laon\" },\n { code: \"03\", departmentName: \"Allier\", prefectureName: \"Moulins\" },\n { code: \"04\", departmentName: \"Alpes-De-Haute-Provence\", prefectureName: \"Digne-Les-Bains\" },\n { code: \"05\", departmentName: \"Hautes-Alpes\", prefectureName: \"Gap\" },\n { code: \"06\", departmentName: \"Alpes-Maritimes\", prefectureName: \"Nice\" },\n { code: \"07\", departmentName: \"Ardeche\", prefectureName: \"Privas\" },\n { code: \"08\", departmentName: \"Ardennes\", prefectureName: \"Charleville-Mezieres\" },\n { code: \"09\", departmentName: \"Ariege\", prefectureName: \"Foix\" },\n { code: \"10\", departmentName: \"Aube\", prefectureName: \"Troyes\" },\n { code: \"11\", departmentName: \"Aude\", prefectureName: \"Carcassonne\" },\n { code: \"12\", departmentName: \"Aveyron\", prefectureName: \"Rodez\" },\n { code: \"13\", departmentName: \"Bouches-Du-Rhone\", prefectureName: \"Marseille\" },\n { code: \"14\", departmentName: \"Calvados\", prefectureName: \"Caen\" },\n { code: \"15\", departmentName: \"Cantal\", prefectureName: \"Aurillac\" },\n { code: \"16\", departmentName: \"Charente\", prefectureName: \"Angouleme\" },\n { code: \"17\", departmentName: \"Charente-Maritime\", prefectureName: \"La rochelle\" },\n { code: \"18\", departmentName: \"Cher\", prefectureName: \"Bourges\" },\n { code: \"19\", departmentName: \"Correze\", prefectureName: \"Tulle\" },\n { code: \"21\", departmentName: \"Cote-D'Or\", prefectureName: \"Dijon\" },\n { code: \"22\", departmentName: \"Cotes-D'Armor\", prefectureName: \"Saint-Brieuc\" },\n { code: \"23\", departmentName: \"Creuse\", prefectureName: \"Gueret\" },\n { code: \"24\", departmentName: \"Dordogne\", prefectureName: \"Perigueux\" },\n { code: \"25\", departmentName: \"Doubs\", prefectureName: \"Besancon\" },\n { code: \"26\", departmentName: \"Drome\", prefectureName: \"Valence\" },\n { code: \"27\", departmentName: \"Eure\", prefectureName: \"Evreux\" },\n { code: \"28\", departmentName: \"Eure-Et-Loir\", prefectureName: \"Chartres\" },\n { code: \"29\", departmentName: \"Finistere\", prefectureName: \"Quimper\" },\n { code: \"2A\", departmentName: \"Corse-Du-Sud\", prefectureName: \"Ajaccio\" },\n { code: \"2B\", departmentName: \"Haute-Corse\", prefectureName: \"Bastia\" },\n { code: \"30\", departmentName: \"Gard\", prefectureName: \"Nimes\" },\n { code: \"31\", departmentName: \"Haute-Garonne\", prefectureName: \"Toulouse\" },\n { code: \"32\", departmentName: \"Gers\", prefectureName: \"Auch\" },\n { code: \"33\", departmentName: \"Gironde\", prefectureName: \"Bordeaux\" },\n { code: \"34\", departmentName: \"Herault\", prefectureName: \"Montpellier\" },\n { code: \"35\", departmentName: \"Ille-Et-Vilaine\", prefectureName: \"Rennes\" },\n { code: \"36\", departmentName: \"Indre\", prefectureName: \"Chateauroux\" },\n { code: \"37\", departmentName: \"Indre-Et-Loire\", prefectureName: \"Tours\" },\n { code: \"38\", departmentName: \"Isere\", prefectureName: \"Grenoble\" },\n { code: \"39\", departmentName: \"Jura\", prefectureName: \"Lons-Le-Saunier\" },\n { code: \"40\", departmentName: \"Landes\", prefectureName: \"Mont-De-Marsan\" },\n { code: \"41\", departmentName: \"Loir-Et-Cher\", prefectureName: \"Blois\" },\n { code: \"42\", departmentName: \"Loire\", prefectureName: \"Saint-Etienne\" },\n { code: \"43\", departmentName: \"Haute-Loire\", prefectureName: \"Le puy-En-Velay\" },\n { code: \"44\", departmentName: \"Loire-Atlantique\", prefectureName: \"Nantes\" },\n { code: \"45\", departmentName: \"Loiret\", prefectureName: \"Orleans\" },\n { code: \"46\", departmentName: \"Lot\", prefectureName: \"Cahors\" },\n { code: \"47\", departmentName: \"Lot-Et-Garonne\", prefectureName: \"Agen\" },\n { code: \"48\", departmentName: \"Lozere\", prefectureName: \"Mende\" },\n { code: \"49\", departmentName: \"Maine-Et-Loire\", prefectureName: \"Angers\" },\n { code: \"50\", departmentName: \"Manche\", prefectureName: \"Saint-Lo\" },\n { code: \"51\", departmentName: \"Marne\", prefectureName: \"Chalons-En-Champagne\" },\n { code: \"52\", departmentName: \"Haute-Marne\", prefectureName: \"Chaumont\" },\n { code: \"53\", departmentName: \"Mayenne\", prefectureName: \"Laval\" },\n { code: \"54\", departmentName: \"Meurthe-Et-Moselle\", prefectureName: \"Nancy\" },\n { code: \"55\", departmentName: \"Meuse\", prefectureName: \"Bar-Le-Duc\" },\n { code: \"56\", departmentName: \"Morbihan\", prefectureName: \"Vannes\" },\n { code: \"57\", departmentName: \"Moselle\", prefectureName: \"Metz\" },\n { code: \"58\", departmentName: \"Nievre\", prefectureName: \"Nevers\" },\n { code: \"59\", departmentName: \"Nord\", prefectureName: \"Lille\" },\n { code: \"60\", departmentName: \"Oise\", prefectureName: \"Beauvais\" },\n { code: \"61\", departmentName: \"Orne\", prefectureName: \"Alencon\" },\n { code: \"62\", departmentName: \"Pas-De-Calais\", prefectureName: \"Arras\" },\n { code: \"63\", departmentName: \"Puy-De-Dome\", prefectureName: \"Clermont-Ferrand\" },\n { code: \"64\", departmentName: \"Pyrenees-Atlantiques\", prefectureName: \"Pau\" },\n { code: \"65\", departmentName: \"Hautes-Pyrenees\", prefectureName: \"Tarbes\" },\n { code: \"66\", departmentName: \"Pyrenees-Orientales\", prefectureName: \"Perpignan\" },\n { code: \"67\", departmentName: \"Bas-Rhin\", prefectureName: \"Strasbourg\" },\n { code: \"68\", departmentName: \"Haut-Rhin\", prefectureName: \"Colmar\" },\n { code: \"69\", departmentName: \"Rhone\", prefectureName: \"Lyon\" },\n { code: \"70\", departmentName: \"Haute-Saone\", prefectureName: \"Vesoul\" },\n { code: \"71\", departmentName: \"Saone-Et-Loire\", prefectureName: \"Macon\" },\n { code: \"72\", departmentName: \"Sarthe\", prefectureName: \"Le mans\" },\n { code: \"73\", departmentName: \"Savoie\", prefectureName: \"Chambery\" },\n { code: \"74\", departmentName: \"Haute-Savoie\", prefectureName: \"Annecy\" },\n { code: \"75\", departmentName: \"Paris\", prefectureName: \"\" },\n { code: \"76\", departmentName: \"Seine-Maritime\", prefectureName: \"Rouen\" },\n { code: \"77\", departmentName: \"Seine-Et-Marne\", prefectureName: \"Melun\" },\n { code: \"78\", departmentName: \"Yvelines\", prefectureName: \"Versailles\" },\n { code: \"79\", departmentName: \"Deux-Sevres\", prefectureName: \"Niort\" },\n { code: \"80\", departmentName: \"Somme\", prefectureName: \"Amiens\" },\n { code: \"81\", departmentName: \"Tarn\", prefectureName: \"Albi\" },\n { code: \"82\", departmentName: \"Tarn-Et-Garonne\", prefectureName: \"Montauban\" },\n { code: \"83\", departmentName: \"Var\", prefectureName: \"Toulon\" },\n { code: \"84\", departmentName: \"Vaucluse\", prefectureName: \"Avignon\" },\n { code: \"85\", departmentName: \"Vendee\", prefectureName: \"La roche-Sur-Yon\" },\n { code: \"86\", departmentName: \"Vienne\", prefectureName: \"Poitiers\" },\n { code: \"87\", departmentName: \"Haute-Vienne\", prefectureName: \"Limoges\" },\n { code: \"88\", departmentName: \"Vosges\", prefectureName: \"Epinal\" },\n { code: \"89\", departmentName: \"Yonne\", prefectureName: \"Auxerre\" },\n { code: \"90\", departmentName: \"Territoire de belfort\", prefectureName: \"Belfort\" },\n { code: \"91\", departmentName: \"Essonne\", prefectureName: \"Evry\" },\n { code: \"92\", departmentName: \"Hauts-De-Seine\", prefectureName: \"Nanterre\" },\n { code: \"93\", departmentName: \"Seine-Saint-Denis\", prefectureName: \"Bobigny\" },\n { code: \"94\", departmentName: \"Val-De-Marne\", prefectureName: \"Creteil\" },\n { code: \"95\", departmentName: \"Val-D'Oise\", prefectureName: \"Pontoise\" },\n { code: \"97\", departmentName: \"Guadeloupe\", prefectureName: \"Basse-Terre\" },\n { code: \"97\", departmentName: \"Guyane\", prefectureName: \"Cayenne\" },\n { code: \"97\", departmentName: \"Martinique\", prefectureName: \"Fort-De-France\" },\n { code: \"97\", departmentName: \"Mayotte\", prefectureName: \"Dzaoudzi\" },\n { code: \"97\", departmentName: \"Reunion\", prefectureName: \"Saint-Denis\" },\n];\n","import { FinancialProductEnum } from \"../enums/financial-product.enum\";\n\nexport interface FinancialProduct {\n key: FinancialProductEnum;\n label: string;\n}\n\nexport const FinancialProducts: FinancialProduct[] = [\n { key: FinancialProductEnum.LIVRET_A, label: \"Livret A\" },\n { key: FinancialProductEnum.LDDS, label: \"LDDS\" },\n { key: FinancialProductEnum.LEP, label: \"LEP\" },\n { key: FinancialProductEnum.COMPTE_SUR_LIVRET, label: \"Compte sur livret\" },\n { key: FinancialProductEnum.COMPTE_A_TERME, label: \"Compte à terme\" },\n { key: FinancialProductEnum.ASSURANCE_VIE, label: \"Assurance-vie\" },\n { key: FinancialProductEnum.PEA, label: \"PEA\" },\n { key: FinancialProductEnum.COMPTE_TITRES_ORDINAIRE, label: \"CTO\" },\n { key: FinancialProductEnum.PER, label: \"PER\" },\n { key: FinancialProductEnum.EPARGNE_SALARIALE, label: \"Épargne salariale\" },\n { key: FinancialProductEnum.SCPI, label: \"SCPI\" },\n { key: FinancialProductEnum.PRIVATE_EQUITY, label: \"Private equity\" },\n { key: FinancialProductEnum.LUXEMBOURG_INSURANCE, label: \"Assurance Luxembourgeoise\" },\n { key: FinancialProductEnum.PEL, label: \"PEL\" },\n { key: FinancialProductEnum.OTHER, label: \"Autre\" },\n];\n\nexport function getFinancialProductLabel(key: FinancialProductEnum): string {\n const financialProductLabel = FinancialProducts.find(\n (product) => product.key === key.toUpperCase(),\n );\n\n if (!financialProductLabel) {\n return \"Inconnu\";\n }\n\n return financialProductLabel.label;\n}\n\nexport function getFinancialProductKey(label: string): FinancialProductEnum | null {\n const financialProductKey = FinancialProducts.find((product) => product.label === label);\n\n if (!financialProductKey) {\n return null;\n }\n\n return financialProductKey.key;\n}\n","import { HouseholdSalaryRangeEnum } from \"../enums/household-salary-range.enum\";\n\nexport interface HouseholdSalaryRange {\n key: HouseholdSalaryRangeEnum;\n label: string;\n}\n\nexport const HouseholdSalaryRanges: HouseholdSalaryRange[] = [\n { key: HouseholdSalaryRangeEnum.LESS_THAN_30K, label: \"Moins de 30 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_30K_AND_50K, label: \"Entre 30 000€ et 50 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_50K_AND_80K, label: \"Entre 50 000€ et 80 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_80K_AND_120K, label: \"Entre 80 000€ et 120 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_120K_AND_180K, label: \"Entre 120 000€ et 180 000€\" },\n { key: HouseholdSalaryRangeEnum.MORE_THAN_180K, label: \"Plus de 180 000€\" },\n];\n\nexport function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string {\n const range = HouseholdSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as HouseholdSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null {\n const range = HouseholdSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { EMAIL_REGEX } from \"../constants\";\nimport {\n FinancialProductEnum,\n MaritalStatusEnum,\n ProfessionStatusEnum,\n ProjectNeedEnum,\n ProjectOptionEnum,\n} from \"../enums\";\n\ninterface ProjectLocalData {\n option: ProjectOptionEnum | null;\n need: ProjectNeedEnum | null;\n financialProduct: FinancialProductEnum | null;\n initialAmount: number | null;\n monthlyAmount: number | null;\n}\n\nexport const calculateProjectCompletedValue = (\n project: ProjectLocalData | undefined | null,\n): number => {\n if (!project) return 0;\n\n let sum = 0;\n\n if (project.need) {\n sum += 25;\n }\n\n if (project.option) {\n sum += 25;\n }\n\n if (project.need === ProjectNeedEnum.SPECIFIC_PRODUCT && project.financialProduct === null) {\n sum -= 15;\n }\n\n if (project.initialAmount !== null) {\n sum += 25;\n }\n if (project.monthlyAmount !== null) {\n sum += 25;\n }\n\n return Math.min(100, sum);\n};\n\ninterface UserPersonalLocalData {\n postalCode: string | null;\n isMainResidenceOwner: boolean | null; // switch\n maritalStatus: MaritalStatusEnum | null;\n haveDependentChildren: boolean | null; // switch\n}\n\nexport const calculateUserPersonalDataCompletedValue = (\n data: UserPersonalLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 50;\n\n sum += data.maritalStatus !== null ? 25 : 0;\n sum += data.postalCode !== null ? 25 : 0;\n\n // We must consider the switchs as automatically completed even if it is null\n // not touched by the user\n\n return Math.min(100, sum);\n};\n\ninterface IdentityLocalData {\n firstName: string | null;\n lastName: string | null;\n birthYear: number | null;\n email: string | null;\n}\n\nexport const calculateIdentityCompletedValue = (\n data: IdentityLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 0;\n\n if (data.firstName && data.firstName.trim().length > 0) {\n sum += 25;\n }\n if (data.lastName && data.lastName.trim().length > 0) {\n sum += 25;\n }\n if (data.birthYear) {\n sum += 25;\n }\n if (data.email && EMAIL_REGEX.test(data.email)) {\n sum += 25;\n }\n\n return Math.min(100, sum);\n};\n\ninterface UserFinancialLocalData {\n professionStatus: ProfessionStatusEnum | null;\n salaryRange: string | null;\n haveLoan: boolean | null; // switch\n personalNetWorthRange: string | null;\n financialProductsOwned: FinancialProductEnum[] | null;\n}\n\nexport const calculateFinancialSummaryCompletedValue = (\n data: UserFinancialLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 20;\n\n sum += data.professionStatus !== null ? 20 : 0;\n\n sum += data.salaryRange !== null ? 20 : 0;\n\n sum += data.personalNetWorthRange !== null ? 20 : 0;\n\n sum += data.financialProductsOwned !== null ? 20 : 0;\n // We must consider the switchs as automatically completed even if it is null\n // not touched by the user\n // But not the list of financial products!\n\n return Math.min(100, sum);\n};\n","import { MaritalStatusEnum } from \"../enums/marital-status.enum\";\n\nexport interface MaritalStatus {\n key: MaritalStatusEnum;\n label: string;\n}\n\nexport const MartialStatuses: MaritalStatus[] = [\n { key: MaritalStatusEnum.SINGLE, label: \"Célibataire\" },\n { key: MaritalStatusEnum.COUPLE, label: \"En couple\" },\n { key: MaritalStatusEnum.PACS, label: \"Pacsé(e)\" },\n { key: MaritalStatusEnum.MARRIED, label: \"Marié(e)\" },\n { key: MaritalStatusEnum.DIVORCED, label: \"Divorcé(e)\" },\n { key: MaritalStatusEnum.WIDOWED, label: \"Veuf(ve)\" },\n { key: MaritalStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getMaritalStatusLabel(maritalStatus: MaritalStatusEnum | string): string {\n const ms = MartialStatuses.find(\n (ms) => ms.key === (maritalStatus as MaritalStatusEnum).toUpperCase(),\n );\n\n return !ms ? \"Inconnu\" : ms.label;\n}\n\nexport function getMaritalStatusKey(label: string): MaritalStatusEnum | null {\n const ms = MartialStatuses.find((ms) => ms.label === label);\n return !ms ? null : ms.key;\n}\n","import { ProCertificationEnum } from \"../enums/pro/pro-certification.enum\";\n\nexport interface ProCertification {\n key: ProCertificationEnum;\n label: string;\n description: string;\n}\n\nexport const ProCertifications: ProCertification[] = [\n {\n key: ProCertificationEnum.AMF,\n label: \"AMF\",\n description:\n \"Autorité des Marchés Financiers. Professionnel autorisé à exercer dans le secteur du conseil financier.\",\n },\n {\n key: ProCertificationEnum.CIF,\n label: \"CIF\",\n description:\n \"Conseiller en Investissements Financiers. Professionnel autorisé à fournir des conseils en investissement et recommandations de produits financiers.\",\n },\n {\n key: ProCertificationEnum.IAS,\n label: \"IAS\",\n description:\n \"Intermédiaire en Assurance. Professionnel autorisé à vendre des produits d'assurance, tels que l'assurance-vie par exemple.\",\n },\n];\n\nexport function getProCertificationByKey(key: ProCertificationEnum): ProCertification | null {\n const proCertification = ProCertifications.find((cert) => cert.key === key.toUpperCase());\n\n return !proCertification ? null : proCertification;\n}\n\nexport function getProCertificationByLabelOrDescription(label: string): ProCertification | null {\n const proCertification = ProCertifications.find(\n (cert) => cert.label === label || cert.description === label,\n );\n\n return !proCertification ? null : proCertification;\n}\n","import { PersonalSalaryRangeEnum } from \"../enums/personal-salary-range.enum\";\n\nexport interface PersonalSalaryRange {\n key: PersonalSalaryRangeEnum;\n label: string;\n}\n\nexport const PersonalSalaryRanges: PersonalSalaryRange[] = [\n { key: PersonalSalaryRangeEnum.LESS_THAN_20K, label: \"Moins de 20 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_20K_AND_30K, label: \"Entre 20 000€ et 30 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_30K_AND_45K, label: \"Entre 30 000€ et 45 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_45K_AND_65K, label: \"Entre 45 000€ et 65 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_65K_AND_90K, label: \"Entre 65 000€ et 90 000€\" },\n { key: PersonalSalaryRangeEnum.MORE_THAN_90K, label: \"Plus de 90 000€\" },\n];\n\nexport const getPersonalSalaryRangeLabel = (key: PersonalSalaryRangeEnum | string): string => {\n const range = PersonalSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n};\n\nexport const getPersonalSalaryRangeKey = (label: string): PersonalSalaryRangeEnum | null => {\n const range = PersonalSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n};\n","import { PersonalNetWorthRangeEnum } from \"../enums/personal-net-worth-range.enum\";\n\nexport interface PersonalNetWorthRange {\n key: PersonalNetWorthRangeEnum;\n label: string;\n}\n\nexport const PersonalNetWorthRanges: PersonalNetWorthRange[] = [\n { key: PersonalNetWorthRangeEnum.LESS_THAN_100K, label: \"Moins de 100 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_100K_AND_200K, label: \"Entre 100 000€ et 200 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_200K_AND_500K, label: \"Entre 200 000€ et 500 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_500K_AND_1M, label: \"Entre 500 000€ et 1 000 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_1M_AND_2M, label: \"Entre 1 000 000€ et 2 000 000€\" },\n { key: PersonalNetWorthRangeEnum.MORE_THAN_2M, label: \"Plus de 2 000 000€\" },\n];\n\nexport function getPersonalNetWorthRangeLabel(key: PersonalNetWorthRangeEnum | string): string {\n const range = PersonalNetWorthRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalNetWorthRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getPersonalNetWorthRangeKey(label: string): PersonalNetWorthRangeEnum | null {\n const range = PersonalNetWorthRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { ProfessionStatusEnum } from \"../enums/profession-status.enum\";\n\nexport interface ProfessionStatus {\n key: ProfessionStatusEnum;\n label: string;\n}\n\nexport const ProfessionStatusList: ProfessionStatus[] = [\n { key: ProfessionStatusEnum.STUDENT, label: \"Étudiant\" },\n { key: ProfessionStatusEnum.INTERIM, label: \"Interim\" },\n { key: ProfessionStatusEnum.CIVIL_SERVANT, label: \"Fonctionnaire\" },\n { key: ProfessionStatusEnum.CDD, label: \"Salarié en CDD\" },\n { key: ProfessionStatusEnum.CDI, label: \"Salarié en CDI\" },\n { key: ProfessionStatusEnum.INDEPENDANT, label: \"Indépendant\" },\n { key: ProfessionStatusEnum.LIBERAL, label: \"Profession libérale\" },\n { key: ProfessionStatusEnum.COMPANY_DIRECTOR, label: \"Chef d'entreprise\" },\n { key: ProfessionStatusEnum.RETIRED, label: \"Retraité\" },\n { key: ProfessionStatusEnum.JOB_SEEKER, label: \"En recherche d'emploi\" },\n { key: ProfessionStatusEnum.INACTIVE, label: \"Sans activité\" },\n { key: ProfessionStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getProfessionStatusLabel(professionStatus: ProfessionStatusEnum | string): string {\n const ps = ProfessionStatusList.find(\n (s) => s.key === (professionStatus as ProfessionStatusEnum).toUpperCase(),\n );\n\n return !ps ? \"Inconnu\" : ps.label;\n}\n\nexport function getProfessionStatusKey(label: string): ProfessionStatusEnum | null {\n const ps = ProfessionStatusList.find((s) => s.label === label);\n return !ps ? null : ps.key;\n}\n","import { ProfessionEnum } from \"../enums/profession.enum\";\n\nexport interface Profession {\n value: ProfessionEnum;\n label: string;\n}\n\nexport const ProfessionsList: Profession[] = [\n { value: ProfessionEnum.AGRICULTURE_ENVIRONMENT, label: \"l'agriculture et l'environnement\" },\n { value: ProfessionEnum.REAL_ESTATE_CONSTRUCTION, label: \"l'immobilier et construction\" },\n { value: ProfessionEnum.INDUSTRY_ENERGY, label: \"l'industrie et les énergies\" },\n { value: ProfessionEnum.DIGITAL_TELECOM, label: \"le numérique et télécoms\" },\n { value: ProfessionEnum.RETAIL_DISTRIBUTION, label: \"le commerce et la distribution\" },\n { value: ProfessionEnum.TRANSPORT_LOGISTICS, label: \"le transport et la logistique\" },\n { value: ProfessionEnum.FINANCE_INSURANCE, label: \"la finance et l'assurance\" },\n { value: ProfessionEnum.HEALTH_SOCIAL, label: \"la santé et le social\" },\n { value: ProfessionEnum.EDUCATION_RESEARCH, label: \"l'éducation et la recherche\" },\n { value: ProfessionEnum.PUBLIC_ADMINISTRATION, label: \"l'administration publique\" },\n { value: ProfessionEnum.MILITARY_SECURITY, label: \"l'armée et la sécurité\" },\n { value: ProfessionEnum.CATERING_TOURISM, label: \"la restauration et le tourisme\" },\n { value: ProfessionEnum.CULTURE_LEISURE, label: \"la culture et les loisirs\" },\n { value: ProfessionEnum.ARTS_MEDIA, label: \"les arts et les médias\" },\n { value: ProfessionEnum.OTHER_SECTOR, label: \"un autre secteur\" },\n];\n\nexport function getProfessionLabel(profession: ProfessionEnum): string {\n const professionDomain = ProfessionsList.find((p) => p.value === profession.toUpperCase());\n\n if (!professionDomain) {\n return \"Inconnu\";\n }\n\n return professionDomain.label;\n}\n\nexport function getProfessionKey(label: string): ProfessionEnum | null {\n const professionKey = ProfessionsList.find((p) => p.label === label);\n\n if (!professionKey) {\n return null;\n }\n\n return professionKey.value;\n}\n","import { ProjectNeedEnum } from \"../enums/project-need.enum\";\n\nexport interface ProjectNeed {\n key: ProjectNeedEnum;\n userLabel: string;\n proLabel: string;\n}\n\nexport const ProjectNeeds: ProjectNeed[] = [\n {\n key: ProjectNeedEnum.WEALTH_ASSESSMENT,\n userLabel:\n \"Je n'ai pas d'idée précise, j'aimerais recevoir des conseils et messages adaptés à ma situation.\",\n proLabel:\n \"Pas d'idée précise, souhaite recevoir des conseils et offres adaptés à sa situation.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_STOCK_EXCHANGE,\n userLabel: \"Je compte me lancer en bourse.\",\n proLabel: \"Souhaite investir dans la bourse.\",\n },\n {\n key: ProjectNeedEnum.PREPARE_RETIREMENT,\n userLabel: \"Je pense à l'avenir et souhaite préparer ma retraite.\",\n proLabel: \"Souhaite préparer sa retraite.\",\n },\n {\n key: ProjectNeedEnum.TAX_OPTIMIZATION,\n userLabel: \"J'ai besoin de payer moins d'impôts, il faut que je défiscalise.\",\n proLabel: \"Souhaite optimiser ses impôts.\",\n },\n {\n key: ProjectNeedEnum.OPTIMIZE_SAVINGS,\n userLabel:\n \"Je suis dynamique et j'aimerais que mon épargne le soit également, qu'elle me rapporte plus.\",\n proLabel: \"Souhaite optimiser son épargne.\",\n },\n {\n key: ProjectNeedEnum.PASS_ON_TO_DESCENDANTS,\n userLabel: \"Je dois protéger mes enfants, il est temps de parler transmission.\",\n proLabel: \"Souhaite protéger ses enfants.\",\n },\n {\n key: ProjectNeedEnum.DIVERSIFY_ASSETS,\n userLabel: \"J'aimerais savoir comment diversifier mon patrimoine pour réduire les risques.\",\n proLabel: \"Souhaite diversifier son patrimoine pour réduire les risques.\",\n },\n {\n key: ProjectNeedEnum.FUND_REAL_ECONOMY,\n userLabel: \"Je veux participer à l'effort collectif par le financement de l'économie réelle.\",\n proLabel: \"Souhaite participer à l'effort collectif par le financement de l'économie réelle.\",\n },\n {\n key: ProjectNeedEnum.SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS,\n userLabel:\n \"J'ai envie de donner du sens à mon argent et voudrais en savoir plus sur l'épargne responsable.\",\n proLabel: \"Souhaite participer à l'épargne responsable.\",\n },\n {\n key: ProjectNeedEnum.SAFETY_SAVINGS,\n userLabel: \"J'ai peur de l'imprévu et envisage de constituer une épargne de sécurité.\",\n proLabel: \"Souhaite constituer une épargne de sécurité.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_REAL_ESTATE,\n userLabel: \"Je souhaite investir dans l'immobilier.\",\n proLabel: \"Souhaite investir dans l'immobilier.\",\n },\n];\n\nexport function getProjectNeedUserLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.userLabel;\n}\n\nexport function getProjectNeedProLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.proLabel;\n}\n\nexport function getProjectNeedKey(label: string): ProjectNeedEnum | null {\n let projectNeedKey = ProjectNeeds.find((need) => need.userLabel === label);\n\n if (projectNeedKey) {\n return projectNeedKey.key;\n }\n\n projectNeedKey = ProjectNeeds.find((need) => need.proLabel === label);\n\n if (!projectNeedKey) {\n return null;\n }\n\n return projectNeedKey.key;\n}\n"],"mappings":"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","names":["ProStatusEnum","ProCertificationEnum","AssetTypeEnum","AvailableCryptocurrencySymbolEnum","AvailableCurrencyEnum","BankAccountTransactionTypeEnum","BankAccountTypeEnum","BudgetTypeEnum","FetchPowensConnectionsTypeEnum","FinancialProductEnum","HouseholdSalaryRangeEnum","LegalDocumentTypeEnum","LoanTypeEnum","MaritalStatusEnum","MobilityTypeEnum","OfferStatusEnum","PersonalNetWorthRangeEnum","PersonalSalaryRangeEnum","PhoneVerificationStatusEnum","PowensConnectionStateEnum","PowensUserStatusEnum","ProfessionStatusEnum","ProfessionEnum","ProjectNeedEnum","ProjectOptionEnum","ProjectStatusEnum","RealEstateTypeEnum","SupportedCurrencyExchangesEnum","SupportedCurrencySymbolsEnum","UserAiSummaryStatusEnum","UserStatusEnum","range","ms","range","range"]}
package/dist/index.mjs CHANGED
@@ -108,23 +108,23 @@ var FetchPowensConnectionsTypeEnum = /* @__PURE__ */ ((FetchPowensConnectionsTyp
108
108
  })(FetchPowensConnectionsTypeEnum || {});
109
109
 
110
110
  // src/enums/financial-product.enum.ts
111
- var FinancialProductEnum = /* @__PURE__ */ ((FinancialProductEnum2) => {
112
- FinancialProductEnum2["LIVRET_A"] = "LIVRET_A";
113
- FinancialProductEnum2["LDDS"] = "LDDS";
114
- FinancialProductEnum2["LEP"] = "LEP";
115
- FinancialProductEnum2["COMPTE_SUR_LIVRET"] = "COMPTE_SUR_LIVRET";
116
- FinancialProductEnum2["COMPTE_A_TERME"] = "COMPTE_A_TERME";
117
- FinancialProductEnum2["ASSURANCE_VIE"] = "ASSURANCE_VIE";
118
- FinancialProductEnum2["PEA"] = "PEA";
119
- FinancialProductEnum2["COMPTE_TITRES_ORDINAIRE"] = "COMPTE_TITRES_ORDINAIRE";
120
- FinancialProductEnum2["PER"] = "PER";
121
- FinancialProductEnum2["EPARGNE_SALARIALE"] = "EPARGNE_SALARIALE";
122
- FinancialProductEnum2["SCPI"] = "SCPI";
123
- FinancialProductEnum2["PRIVATE_EQUITY"] = "PRIVATE_EQUITY";
124
- FinancialProductEnum2["LUXEMBOURG_INSURANCE"] = "LUXEMBOURG_INSURANCE";
125
- FinancialProductEnum2["PEL"] = "PEL";
126
- FinancialProductEnum2["OTHER"] = "OTHER";
127
- return FinancialProductEnum2;
111
+ var FinancialProductEnum = /* @__PURE__ */ ((FinancialProductEnum3) => {
112
+ FinancialProductEnum3["LIVRET_A"] = "LIVRET_A";
113
+ FinancialProductEnum3["LDDS"] = "LDDS";
114
+ FinancialProductEnum3["LEP"] = "LEP";
115
+ FinancialProductEnum3["COMPTE_SUR_LIVRET"] = "COMPTE_SUR_LIVRET";
116
+ FinancialProductEnum3["COMPTE_A_TERME"] = "COMPTE_A_TERME";
117
+ FinancialProductEnum3["ASSURANCE_VIE"] = "ASSURANCE_VIE";
118
+ FinancialProductEnum3["PEA"] = "PEA";
119
+ FinancialProductEnum3["COMPTE_TITRES_ORDINAIRE"] = "COMPTE_TITRES_ORDINAIRE";
120
+ FinancialProductEnum3["PER"] = "PER";
121
+ FinancialProductEnum3["EPARGNE_SALARIALE"] = "EPARGNE_SALARIALE";
122
+ FinancialProductEnum3["SCPI"] = "SCPI";
123
+ FinancialProductEnum3["PRIVATE_EQUITY"] = "PRIVATE_EQUITY";
124
+ FinancialProductEnum3["LUXEMBOURG_INSURANCE"] = "LUXEMBOURG_INSURANCE";
125
+ FinancialProductEnum3["PEL"] = "PEL";
126
+ FinancialProductEnum3["OTHER"] = "OTHER";
127
+ return FinancialProductEnum3;
128
128
  })(FinancialProductEnum || {});
129
129
 
130
130
  // src/enums/household-salary-range.enum.ts
@@ -155,15 +155,15 @@ var LoanTypeEnum = /* @__PURE__ */ ((LoanTypeEnum2) => {
155
155
  })(LoanTypeEnum || {});
156
156
 
157
157
  // src/enums/marital-status.enum.ts
158
- var MaritalStatusEnum = /* @__PURE__ */ ((MaritalStatusEnum2) => {
159
- MaritalStatusEnum2["SINGLE"] = "SINGLE";
160
- MaritalStatusEnum2["COUPLE"] = "COUPLE";
161
- MaritalStatusEnum2["PACS"] = "PACS";
162
- MaritalStatusEnum2["MARRIED"] = "MARRIED";
163
- MaritalStatusEnum2["DIVORCED"] = "DIVORCED";
164
- MaritalStatusEnum2["WIDOWED"] = "WIDOWED";
165
- MaritalStatusEnum2["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
166
- return MaritalStatusEnum2;
158
+ var MaritalStatusEnum = /* @__PURE__ */ ((MaritalStatusEnum3) => {
159
+ MaritalStatusEnum3["SINGLE"] = "SINGLE";
160
+ MaritalStatusEnum3["COUPLE"] = "COUPLE";
161
+ MaritalStatusEnum3["PACS"] = "PACS";
162
+ MaritalStatusEnum3["MARRIED"] = "MARRIED";
163
+ MaritalStatusEnum3["DIVORCED"] = "DIVORCED";
164
+ MaritalStatusEnum3["WIDOWED"] = "WIDOWED";
165
+ MaritalStatusEnum3["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
166
+ return MaritalStatusEnum3;
167
167
  })(MaritalStatusEnum || {});
168
168
 
169
169
  // src/enums/mobility-type.enum.ts
@@ -250,20 +250,20 @@ var PowensUserStatusEnum = /* @__PURE__ */ ((PowensUserStatusEnum2) => {
250
250
  })(PowensUserStatusEnum || {});
251
251
 
252
252
  // src/enums/profession-status.enum.ts
253
- var ProfessionStatusEnum = /* @__PURE__ */ ((ProfessionStatusEnum2) => {
254
- ProfessionStatusEnum2["STUDENT"] = "STUDENT";
255
- ProfessionStatusEnum2["INTERIM"] = "INTERIM";
256
- ProfessionStatusEnum2["CIVIL_SERVANT"] = "CIVIL_SERVANT";
257
- ProfessionStatusEnum2["CDD"] = "CDD";
258
- ProfessionStatusEnum2["CDI"] = "CDI";
259
- ProfessionStatusEnum2["INDEPENDANT"] = "INDEPENDANT";
260
- ProfessionStatusEnum2["LIBERAL"] = "LIBERAL";
261
- ProfessionStatusEnum2["COMPANY_DIRECTOR"] = "COMPANY_DIRECTOR";
262
- ProfessionStatusEnum2["RETIRED"] = "RETIRED";
263
- ProfessionStatusEnum2["JOB_SEEKER"] = "JOB_SEEKER";
264
- ProfessionStatusEnum2["INACTIVE"] = "INACTIVE";
265
- ProfessionStatusEnum2["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
266
- return ProfessionStatusEnum2;
253
+ var ProfessionStatusEnum = /* @__PURE__ */ ((ProfessionStatusEnum3) => {
254
+ ProfessionStatusEnum3["STUDENT"] = "STUDENT";
255
+ ProfessionStatusEnum3["INTERIM"] = "INTERIM";
256
+ ProfessionStatusEnum3["CIVIL_SERVANT"] = "CIVIL_SERVANT";
257
+ ProfessionStatusEnum3["CDD"] = "CDD";
258
+ ProfessionStatusEnum3["CDI"] = "CDI";
259
+ ProfessionStatusEnum3["INDEPENDANT"] = "INDEPENDANT";
260
+ ProfessionStatusEnum3["LIBERAL"] = "LIBERAL";
261
+ ProfessionStatusEnum3["COMPANY_DIRECTOR"] = "COMPANY_DIRECTOR";
262
+ ProfessionStatusEnum3["RETIRED"] = "RETIRED";
263
+ ProfessionStatusEnum3["JOB_SEEKER"] = "JOB_SEEKER";
264
+ ProfessionStatusEnum3["INACTIVE"] = "INACTIVE";
265
+ ProfessionStatusEnum3["DONT_WANT_TO_SAY"] = "DONT_WANT_TO_SAY";
266
+ return ProfessionStatusEnum3;
267
267
  })(ProfessionStatusEnum || {});
268
268
 
269
269
  // src/enums/profession.enum.ts
@@ -304,11 +304,11 @@ var ProjectNeedEnum = /* @__PURE__ */ ((ProjectNeedEnum2) => {
304
304
  })(ProjectNeedEnum || {});
305
305
 
306
306
  // src/enums/project-option.enum.ts
307
- var ProjectOptionEnum = /* @__PURE__ */ ((ProjectOptionEnum2) => {
308
- ProjectOptionEnum2["BEGINNER"] = "BEGINNER";
309
- ProjectOptionEnum2["INTERMEDIATE"] = "INTERMEDIATE";
310
- ProjectOptionEnum2["ADVANCED"] = "ADVANCED";
311
- return ProjectOptionEnum2;
307
+ var ProjectOptionEnum = /* @__PURE__ */ ((ProjectOptionEnum3) => {
308
+ ProjectOptionEnum3["BEGINNER"] = "BEGINNER";
309
+ ProjectOptionEnum3["INTERMEDIATE"] = "INTERMEDIATE";
310
+ ProjectOptionEnum3["ADVANCED"] = "ADVANCED";
311
+ return ProjectOptionEnum3;
312
312
  })(ProjectOptionEnum || {});
313
313
 
314
314
  // src/enums/project-status.enum.ts
@@ -525,6 +525,61 @@ function getHouseholdSalaryRangeKey(label) {
525
525
  return !range ? null : range.key;
526
526
  }
527
527
 
528
+ // src/utils/completed-user-data.utils.ts
529
+ var calculateProjectCompletedValue = (project) => {
530
+ if (!project) return 0;
531
+ let sum = 0;
532
+ if (project.need) {
533
+ sum += 25;
534
+ }
535
+ if (project.option) {
536
+ sum += 25;
537
+ }
538
+ if (project.need === "SPECIFIC_PRODUCT" /* SPECIFIC_PRODUCT */ && project.financialProduct === null) {
539
+ sum -= 15;
540
+ }
541
+ if (project.initialAmount !== null) {
542
+ sum += 25;
543
+ }
544
+ if (project.monthlyAmount !== null) {
545
+ sum += 25;
546
+ }
547
+ return Math.min(100, sum);
548
+ };
549
+ var calculateUserPersonalDataCompletedValue = (data) => {
550
+ if (!data) return 0;
551
+ let sum = 50;
552
+ sum += data.maritalStatus !== null ? 25 : 0;
553
+ sum += data.postalCode !== null ? 25 : 0;
554
+ return Math.min(100, sum);
555
+ };
556
+ var calculateIdentityCompletedValue = (data) => {
557
+ if (!data) return 0;
558
+ let sum = 0;
559
+ if (data.firstName && data.firstName.trim().length > 0) {
560
+ sum += 25;
561
+ }
562
+ if (data.lastName && data.lastName.trim().length > 0) {
563
+ sum += 25;
564
+ }
565
+ if (data.birthYear) {
566
+ sum += 25;
567
+ }
568
+ if (data.email && EMAIL_REGEX.test(data.email)) {
569
+ sum += 25;
570
+ }
571
+ return Math.min(100, sum);
572
+ };
573
+ var calculateFinancialSummaryCompletedValue = (data) => {
574
+ if (!data) return 0;
575
+ let sum = 20;
576
+ sum += data.professionStatus !== null ? 20 : 0;
577
+ sum += data.salaryRange !== null ? 20 : 0;
578
+ sum += data.personalNetWorthRange !== null ? 20 : 0;
579
+ sum += data.financialProductsOwned !== null ? 20 : 0;
580
+ return Math.min(100, sum);
581
+ };
582
+
528
583
  // src/utils/marital-status.ts
529
584
  var MartialStatuses = [
530
585
  { key: "SINGLE" /* SINGLE */, label: "C\xE9libataire" },
@@ -801,6 +856,10 @@ export {
801
856
  SupportedCurrencySymbolsEnum,
802
857
  UserAiSummaryStatusEnum,
803
858
  UserStatusEnum,
859
+ calculateFinancialSummaryCompletedValue,
860
+ calculateIdentityCompletedValue,
861
+ calculateProjectCompletedValue,
862
+ calculateUserPersonalDataCompletedValue,
804
863
  getFinancialProductKey,
805
864
  getFinancialProductLabel,
806
865
  getHouseholdSalaryRangeKey,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/index.ts","../src/enums/pro/pro-status.enum.ts","../src/enums/pro/pro-certification.enum.ts","../src/enums/asset-type.enum.ts","../src/enums/available-cryptocurrency-symbol.enum.ts","../src/enums/available-currency.enum.ts","../src/enums/bank-account-transaction-type.enum.ts","../src/enums/bank-account-type.enum.ts","../src/enums/budget-type.enum.ts","../src/enums/fetch-powens-connections-type.enum.ts","../src/enums/financial-product.enum.ts","../src/enums/household-salary-range.enum.ts","../src/enums/legal-document-type.enum.ts","../src/enums/loan-type.enum.ts","../src/enums/marital-status.enum.ts","../src/enums/mobility-type.enum.ts","../src/enums/offer-status.enum.ts","../src/enums/personal-net-worth-range.enum.ts","../src/enums/personal-salary-range.enum.ts","../src/enums/phone-verification-status.enum.ts","../src/enums/powens-connection-state.enum.ts","../src/enums/powens-user-status.enum.ts","../src/enums/profession-status.enum.ts","../src/enums/profession.enum.ts","../src/enums/project-need.enum.ts","../src/enums/project-option.enum.ts","../src/enums/project-status.enum.ts","../src/enums/real-estate-type.enum.ts","../src/enums/supported-currency-exchanges.enum.ts","../src/enums/supported-currency-symbols.enum.ts","../src/enums/user-ai-summary-status.enum.ts","../src/enums/user-status.enum.ts","../src/utils/departments.ts","../src/utils/financial-product.ts","../src/utils/household-salary-range.ts","../src/utils/marital-status.ts","../src/utils/pro-certification.ts","../src/utils/personal-salary-range.ts","../src/utils/personal-net-worth-range.ts","../src/utils/profession-status.ts","../src/utils/profession.ts","../src/utils/project-need.ts"],"sourcesContent":["export const EMAIL_REGEX =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const LIVES_OUTSIDE_FRANCE = \"LIVES_OUTSIDE_FRANCE\";\n","export enum ProStatusEnum {\n ONBOARDING = \"ONBOARDING\", // Vient de créer son compte -> Redirigé vers onboarding\n KYC_PENDING = \"KYC_PENDING\", // \tOnboarding fait, KYC non rempli -> Profil + formulaire KYC uniquement\n KYC_SUBMITTED = \"KYC_SUBMITTED\", //\tKYC rempli, en attente de validation -> Profil uniquement (message \"en cours de validation\")\n VALIDATED = \"VALIDATED\", //\tValidé manuellement, pas encore abonné\t-> Profil + page de souscription Stripe\n ACTIVE = \"ACTIVE\", //\tAbonné, paiement OK -> Tout le dashboard\n PAUSED = \"PAUSED\", //\tAbonnement en pause -> Profil + gestion abonnement\n CANCELLED = \"CANCELLED\", //\tAbonnement annulé -> Profil + page de réabonnement\n}\n","export enum ProCertificationEnum {\n AMF = \"AMF\",\n CIF = \"CIF\",\n IAS = \"IAS\",\n}","export enum AssetTypeEnum {\n REAL_ESTATE = \"REAL_ESTATE\",\n MOBILITY = \"MOBILITY\",\n STOCK_EXCHANGE = \"STOCK_EXCHANGE\",\n CRYPTOCURRENCY = \"CRYPTOCURRENCY\",\n OTHER = \"OTHER\",\n}\n","export enum AvailableCryptocurrencySymbolEnum {\n BTC = \"BTC\", // Bitcoin\n ETH = \"ETH\", // Ethereum\n USDT = \"USDT\", // Tether\n USDC = \"USDC\", // USD Coin\n BNB = \"BNB\", // BNB\n BUSD = \"BUSD\", // Binance USD\n XRP = \"XRP\", // XRP (Ripple)\n ADA = \"ADA\", // Cardano\n SOL = \"SOL\", // Solana\n DOGE = \"DOGE\", // Dogecoin\n DOT = \"DOT\", // Polkadot\n DAI = \"DAI\", // Dai\n MATIC = \"MATIC\", // Polygon\n SHIB = \"SHIB\", // Shiba Inu\n TRX = \"TRX\", // TRON\n AVAX = \"AVAX\", // Avalanche\n LEO = \"LEO\", // UNUS SED LEO\n LTC = \"LTC\", // Litecoin\n XLM = \"XLM\", // Stellar\n BCH = \"BCH\", // Bitcoin Cash\n}\n","export enum AvailableCurrencyEnum {\n EUR = \"EUR\",\n}\n","export enum BankAccountTransactionTypeEnum {\n TRANSFER = \"TRANSFER\", // Transfer\n ORDER = \"ORDER\", // Order\n CHECK = \"CHECK\", // Check\n DEPOSIT = \"DEPOSIT\", // Mandatory/voluntary deposits, contributions, money transfers\n PAYBACK = \"PAYBACK\", // Payback\n WITHDRAWAL = \"WITHDRAWAL\", // Withdrawal\n LOAN_REPAYMENT = \"LOAN_REPAYMENT\", // Loan payment\n BANK = \"BANK\", // Bank fees\n CARD = \"CARD\", // Card operation\n DEFERRED_CARD = \"DEFERRED_CARD\", // Deferred card operation\n SUMMARY_CARD = \"SUMMARY_CARD\", // Monthly debit of a deferred card\n UNKNOWN = \"UNKNOWN\", //Unknown transaction type\n MARKET_ORDER = \"MARKET_ORDER\", // Market order\n MARKET_FEE = \"MARKET_FEE\", // Fees regarding a market order\n ARBITRAGE = \"ARBITRAGE\", // Arbitrage\n PROFIT = \"PROFIT\", // Positive earnings from interests/coupons/dividends\n}\n","export enum BankAccountTypeEnum {\n CHECKING = \"CHECKING\",\n SAVINGS = \"SAVINGS\",\n LOAN = \"LOAN\",\n OTHER = \"OTHER\",\n}\n","export enum BudgetTypeEnum {\n INCOME = 'INCOME',\n EXPENDITURE = 'EXPENDITURE',\n}\n","export enum FetchPowensConnectionsTypeEnum {\n ALL = \"ALL\",\n USER_ACTION_REQUIRED = \"USER_ACTION_REQUIRED\",\n}\n","export enum FinancialProductEnum {\n LIVRET_A = \"LIVRET_A\",\n LDDS = \"LDDS\",\n LEP = \"LEP\",\n COMPTE_SUR_LIVRET = \"COMPTE_SUR_LIVRET\",\n COMPTE_A_TERME = \"COMPTE_A_TERME\",\n ASSURANCE_VIE = \"ASSURANCE_VIE\",\n PEA = \"PEA\",\n COMPTE_TITRES_ORDINAIRE = \"COMPTE_TITRES_ORDINAIRE\",\n PER = \"PER\",\n EPARGNE_SALARIALE = \"EPARGNE_SALARIALE\",\n SCPI = \"SCPI\",\n PRIVATE_EQUITY = \"PRIVATE_EQUITY\",\n LUXEMBOURG_INSURANCE = \"LUXEMBOURG_INSURANCE\",\n PEL = \"PEL\",\n OTHER = \"OTHER\",\n}\n","export enum HouseholdSalaryRangeEnum {\n LESS_THAN_30K = \"LESS_THAN_30K\",\n BETWEEN_30K_AND_50K = \"BETWEEN_30K_AND_50K\",\n BETWEEN_50K_AND_80K = \"BETWEEN_50K_AND_80K\",\n BETWEEN_80K_AND_120K = \"BETWEEN_80K_AND_120K\",\n BETWEEN_120K_AND_180K = \"BETWEEN_120K_AND_180K\",\n MORE_THAN_180K = \"MORE_THAN_180K\",\n}\n","export enum LegalDocumentTypeEnum {\n TERMS_OF_USAGE = \"TERMS_OF_USAGE\",\n PRIVACY_POLICY = \"PRIVACY_POLICY\",\n}\n","export enum LoanTypeEnum {\n MORTGAGE = \"mortgage\",\n CONSUMER_CREDIT = \"consumercredit\",\n RESOLVING_CREDIT = \"revolvingcredit\",\n UNKNOWN = \"unknown\",\n}\n","export enum MaritalStatusEnum {\n SINGLE = \"SINGLE\",\n COUPLE = \"COUPLE\",\n PACS = \"PACS\",\n MARRIED = \"MARRIED\",\n DIVORCED = \"DIVORCED\",\n WIDOWED = \"WIDOWED\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum MobilityTypeEnum {\n SUV = \"SUV\",\n ELECTRIC_CAR = \"ELECTRIC_CAR\",\n CITY_CAR = \"CITY_CAR\",\n BOAT = \"BOAT\",\n BIKE = \"BIKE\",\n SCOOTER = \"SCOOTER\",\n MOTORCYCLE = \"MOTORCYCLE\",\n}\n","export enum OfferStatusEnum {\n PENDING = \"PENDING\",\n ACCEPTED = \"ACCEPTED\",\n REJECTED = \"REJECTED\",\n /**\n * @deprecated stop using ARCHIVED in the status (since Feb. 2026)\n */\n ARCHIVED_BY_PRO = \"ARCHIVED_BY_PRO\",\n /**\n * @deprecated stop using ACCEPTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n ACCEPTED_THEN_ARCHIVED_BY_USER = \"ACCEPTED_THEN_ARCHIVED_BY_USER\",\n /**\n * @deprecated stop using REJECTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n REJECTED_THEN_ARCHIVED_BY_USER = \"REJECTED_THEN_ARCHIVED_BY_USER\",\n}\n","export enum PersonalNetWorthRangeEnum {\n LESS_THAN_100K = \"LESS_THAN_100K\",\n BETWEEN_100K_AND_200K = \"BETWEEN_100K_AND_200K\",\n BETWEEN_200K_AND_500K = \"BETWEEN_200K_AND_500K\",\n BETWEEN_500K_AND_1M = \"BETWEEN_500K_AND_1M\",\n BETWEEN_1M_AND_2M = \"BETWEEN_1M_AND_2M\",\n MORE_THAN_2M = \"MORE_THAN_2M\",\n}\n","export enum PersonalSalaryRangeEnum {\n LESS_THAN_20K = \"LESS_THAN_20K\",\n BETWEEN_20K_AND_30K = \"BETWEEN_20K_AND_30K\",\n BETWEEN_30K_AND_45K = \"BETWEEN_30K_AND_45K\",\n BETWEEN_45K_AND_65K = \"BETWEEN_45K_AND_65K\",\n BETWEEN_65K_AND_90K = \"BETWEEN_65K_AND_90K\",\n MORE_THAN_90K = \"MORE_THAN_90K\",\n}\n","export enum PhoneVerificationStatusEnum {\n APPROVED = \"APPROVED\",\n PENDING = \"PENDING\",\n MAX_ATTEMPTS_REACHED = \"MAX_ATTEMPTS_REACHED\",\n EXPIRED = \"EXPIRED\",\n CANCELED = \"CANCELED\",\n INVALID_CODE = \"INVALID_CODE\",\n ALREADY_VERIFIED = \"ALREADY_VERIFIED\",\n}","export enum PowensConnectionStateEnum {\n /**\n * An SCA process must be performed to resume the synchronization process.\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n */\n SCA_REQUIRED = \"SCA_REQUIRED\",\n /**\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n * A web-based authentication process is required using the /webauth endpoint.\n * endpoint /webauth: https://docs.powens.com/api-reference/user-connections/connections#webauthurl-object\n */\n WEBAUTH_REQUIRED = \"WEBAUTH_REQUIRED\",\n /**\n * Additional information is needed to resume synchronization, such as an OTP. Connections in this state have a fields property.\n */\n ADDITIONAL_INFORMATION_NEEDED = \"ADDITIONAL_INFORMATION_NEEDED\",\n /**\n * User validation is required on a third-party app or device (ex: digital key).\n */\n DECOUPLED = \"DECOUPLED\",\n /**\n * User validation is being processed on our side. This state is temporary.\n */\n VALIDATING = \"VALIDATING\",\n /**\n * An action is needed on the website by the user, synchronization is blocked.\n * Synchronization failed because the user needs to perform an action directly on the bank website or app (usually, accept new CGUs or similar one-time actions).\n * You should present this error prominently\n */\n ACTION_NEEDED = \"ACTION_NEEDED\",\n /**\n * The password has expired and needs to be changed by the user before the synchronization can be retried.\n * Synchronization failed because the user needs to renew its password on the bank website.\n * You should present this error prominently and prompt the user for his new password afterwards.\n */\n PASSWORD_EXPIRED = \"PASSWORD_EXPIRED\",\n /**\n * The authentication on website has failed and new credentials must be obtained from the user. Connections in this state have a fields property\n * Synchronization failed because the credentials we own are invalid or obsolete.\n * You should present this error prominently\n */\n WRONGPASS = \"WRONGPASS\",\n /**\n * The target website or API is temporarily blocking synchronizations due to rate limiting.\n * Synchronization failed because the target website or API is temporarily blocking synchronizations due to rate limiting.\n * We will retry after a delay and connections in this state will be resumed automatically.\n */\n RATE_LIMITING = \"RATE_LIMITING\",\n /**\n * The connector website or API is unavailable.\n * Synchronization failed because the targeted API or website is temporarily unavailable.\n * We will periodically retry to sync.\n */\n WEBSITE_UNAVAILABLE = \"WEBSITE_UNAVAILABLE\",\n /**\n * An internal error has occurred during the synchronization.\n * Synchronization failed because of an error from our side. We monitor errors and do our best to fix them quickly.\n * Connections in this state will be resumed automatically after the error is fixed.\n */\n BUG = \"BUG\",\n /**\n * The source is not supported on the connector\n */\n NOT_SUPPORTED = \"NOT_SUPPORTED\",\n}\n","export enum PowensUserStatusEnum {\n // User is registered on Powens and got a powens ID and a unique access token\n REGISTERED = 'REGISTERED',\n\n // User is currently trying to make a new connection to their bank account (transition state)\n ATTEMPTING_NEW_CONNECTION = 'ATTEMPTING_NEW_CONNECTION',\n\n // On error in Powens administration console\n ON_ERROR = 'ON_ERROR',\n\n // Powens administration console deleted the user\n DELETED = 'DELETED',\n}\n","export enum ProfessionStatusEnum {\n STUDENT = \"STUDENT\",\n INTERIM = \"INTERIM\",\n CIVIL_SERVANT = \"CIVIL_SERVANT\",\n CDD = \"CDD\",\n CDI = \"CDI\",\n INDEPENDANT = \"INDEPENDANT\",\n LIBERAL = \"LIBERAL\",\n COMPANY_DIRECTOR = \"COMPANY_DIRECTOR\",\n RETIRED = \"RETIRED\",\n JOB_SEEKER = \"JOB_SEEKER\",\n INACTIVE = \"INACTIVE\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum ProfessionEnum {\n AGRICULTURE_ENVIRONMENT = \"AGRICULTURE_ENVIRONMENT\",\n REAL_ESTATE_CONSTRUCTION = \"REAL_ESTATE_CONSTRUCTION\",\n INDUSTRY_ENERGY = \"INDUSTRY_ENERGY\",\n DIGITAL_TELECOM = \"DIGITAL_TELECOM\",\n RETAIL_DISTRIBUTION = \"RETAIL_DISTRIBUTION\",\n TRANSPORT_LOGISTICS = \"TRANSPORT_LOGISTICS\",\n FINANCE_INSURANCE = \"FINANCE_INSURANCE\",\n HEALTH_SOCIAL = \"HEALTH_SOCIAL\",\n EDUCATION_RESEARCH = \"EDUCATION_RESEARCH\",\n PUBLIC_ADMINISTRATION = \"PUBLIC_ADMINISTRATION\",\n MILITARY_SECURITY = \"MILITARY_SECURITY\",\n CATERING_TOURISM = \"CATERING_TOURISM\",\n CULTURE_LEISURE = \"CULTURE_LEISURE\",\n ARTS_MEDIA = \"ARTS_MEDIA\",\n OTHER_SECTOR = \"OTHER_SECTOR\",\n}\n","export enum ProjectNeedEnum {\n WEALTH_ASSESSMENT = \"WEALTH_ASSESSMENT\",\n INVEST_IN_STOCK_EXCHANGE = \"INVEST_IN_STOCK_EXCHANGE\",\n PREPARE_RETIREMENT = \"PREPARE_RETIREMENT\",\n TAX_OPTIMIZATION = \"TAX_OPTIMIZATION\",\n OPTIMIZE_SAVINGS = \"OPTIMIZE_SAVINGS\",\n PASS_ON_TO_DESCENDANTS = \"PASS_ON_TO_DESCENDANTS\",\n DIVERSIFY_ASSETS = \"DIVERSIFY_ASSETS\",\n FUND_REAL_ECONOMY = \"FUND_REAL_ECONOMY\",\n SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS = \"SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS\",\n SAFETY_SAVINGS = \"SAFETY_SAVINGS\",\n INVEST_IN_REAL_ESTATE = \"INVEST_IN_REAL_ESTATE\",\n SPECIFIC_PRODUCT = \"SPECIFIC_PRODUCT\",\n}\n","export enum ProjectOptionEnum {\n BEGINNER = \"BEGINNER\",\n INTERMEDIATE = \"INTERMEDIATE\",\n ADVANCED = \"ADVANCED\",\n}\n","export enum ProjectStatusEnum {\n ACTIVE = \"ACTIVE\",\n PAUSED = \"PAUSED\",\n FULLFILLED = \"FULLFILLED\",\n FULLFILLED_BY_US = \"FULLFILLED_BY_US\",\n}\n","export enum RealEstateTypeEnum {\n HOUSE = \"HOUSE\",\n APARTMENT = \"APARTMENT\",\n VILLA = \"VILLA\",\n CHATEAU = \"CHATEAU\",\n MANSION = \"MANSION\",\n}\n","export enum SupportedCurrencyExchangesEnum {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n JPY = \"JPY\",\n}\n","export enum SupportedCurrencySymbolsEnum {\n EUR = \"€\",\n USD = \"$\",\n GBP = \"£\",\n JPY = \"¥\",\n}\n","export enum UserAiSummaryStatusEnum {\n PROCESSING = \"PROCESSING\",\n READY = \"READY\",\n FAILED = \"FAILED\",\n}\n","export enum UserStatusEnum {\n // Anonymous, does not have a real account on sowhat (= a simple co-owner with no Clerk ID)\n ANONYMOUS = 'ANONYMOUS',\n\n // Real user, got a Clerk account.\n // note: Being registered on clerk first is mandatory to be registered on Powens.\n REGISTERED = 'REGISTERED',\n\n // The user is deleted and can't be used anymore\n DELETED = 'DELETED',\n\n // The user's email and/or phone are black-listed from the sowhat app\n BLACK_LISTED = 'BLACK_LISTED',\n}\n","export interface Department {\n code: string;\n departmentName: string;\n prefectureName: string;\n}\n\nexport const DepartmentsList: Department[] = [\n { code: \"01\", departmentName: \"Ain\", prefectureName: \"Bourg-En-Bresse\" },\n { code: \"02\", departmentName: \"Aisne\", prefectureName: \"Laon\" },\n { code: \"03\", departmentName: \"Allier\", prefectureName: \"Moulins\" },\n { code: \"04\", departmentName: \"Alpes-De-Haute-Provence\", prefectureName: \"Digne-Les-Bains\" },\n { code: \"05\", departmentName: \"Hautes-Alpes\", prefectureName: \"Gap\" },\n { code: \"06\", departmentName: \"Alpes-Maritimes\", prefectureName: \"Nice\" },\n { code: \"07\", departmentName: \"Ardeche\", prefectureName: \"Privas\" },\n { code: \"08\", departmentName: \"Ardennes\", prefectureName: \"Charleville-Mezieres\" },\n { code: \"09\", departmentName: \"Ariege\", prefectureName: \"Foix\" },\n { code: \"10\", departmentName: \"Aube\", prefectureName: \"Troyes\" },\n { code: \"11\", departmentName: \"Aude\", prefectureName: \"Carcassonne\" },\n { code: \"12\", departmentName: \"Aveyron\", prefectureName: \"Rodez\" },\n { code: \"13\", departmentName: \"Bouches-Du-Rhone\", prefectureName: \"Marseille\" },\n { code: \"14\", departmentName: \"Calvados\", prefectureName: \"Caen\" },\n { code: \"15\", departmentName: \"Cantal\", prefectureName: \"Aurillac\" },\n { code: \"16\", departmentName: \"Charente\", prefectureName: \"Angouleme\" },\n { code: \"17\", departmentName: \"Charente-Maritime\", prefectureName: \"La rochelle\" },\n { code: \"18\", departmentName: \"Cher\", prefectureName: \"Bourges\" },\n { code: \"19\", departmentName: \"Correze\", prefectureName: \"Tulle\" },\n { code: \"21\", departmentName: \"Cote-D'Or\", prefectureName: \"Dijon\" },\n { code: \"22\", departmentName: \"Cotes-D'Armor\", prefectureName: \"Saint-Brieuc\" },\n { code: \"23\", departmentName: \"Creuse\", prefectureName: \"Gueret\" },\n { code: \"24\", departmentName: \"Dordogne\", prefectureName: \"Perigueux\" },\n { code: \"25\", departmentName: \"Doubs\", prefectureName: \"Besancon\" },\n { code: \"26\", departmentName: \"Drome\", prefectureName: \"Valence\" },\n { code: \"27\", departmentName: \"Eure\", prefectureName: \"Evreux\" },\n { code: \"28\", departmentName: \"Eure-Et-Loir\", prefectureName: \"Chartres\" },\n { code: \"29\", departmentName: \"Finistere\", prefectureName: \"Quimper\" },\n { code: \"2A\", departmentName: \"Corse-Du-Sud\", prefectureName: \"Ajaccio\" },\n { code: \"2B\", departmentName: \"Haute-Corse\", prefectureName: \"Bastia\" },\n { code: \"30\", departmentName: \"Gard\", prefectureName: \"Nimes\" },\n { code: \"31\", departmentName: \"Haute-Garonne\", prefectureName: \"Toulouse\" },\n { code: \"32\", departmentName: \"Gers\", prefectureName: \"Auch\" },\n { code: \"33\", departmentName: \"Gironde\", prefectureName: \"Bordeaux\" },\n { code: \"34\", departmentName: \"Herault\", prefectureName: \"Montpellier\" },\n { code: \"35\", departmentName: \"Ille-Et-Vilaine\", prefectureName: \"Rennes\" },\n { code: \"36\", departmentName: \"Indre\", prefectureName: \"Chateauroux\" },\n { code: \"37\", departmentName: \"Indre-Et-Loire\", prefectureName: \"Tours\" },\n { code: \"38\", departmentName: \"Isere\", prefectureName: \"Grenoble\" },\n { code: \"39\", departmentName: \"Jura\", prefectureName: \"Lons-Le-Saunier\" },\n { code: \"40\", departmentName: \"Landes\", prefectureName: \"Mont-De-Marsan\" },\n { code: \"41\", departmentName: \"Loir-Et-Cher\", prefectureName: \"Blois\" },\n { code: \"42\", departmentName: \"Loire\", prefectureName: \"Saint-Etienne\" },\n { code: \"43\", departmentName: \"Haute-Loire\", prefectureName: \"Le puy-En-Velay\" },\n { code: \"44\", departmentName: \"Loire-Atlantique\", prefectureName: \"Nantes\" },\n { code: \"45\", departmentName: \"Loiret\", prefectureName: \"Orleans\" },\n { code: \"46\", departmentName: \"Lot\", prefectureName: \"Cahors\" },\n { code: \"47\", departmentName: \"Lot-Et-Garonne\", prefectureName: \"Agen\" },\n { code: \"48\", departmentName: \"Lozere\", prefectureName: \"Mende\" },\n { code: \"49\", departmentName: \"Maine-Et-Loire\", prefectureName: \"Angers\" },\n { code: \"50\", departmentName: \"Manche\", prefectureName: \"Saint-Lo\" },\n { code: \"51\", departmentName: \"Marne\", prefectureName: \"Chalons-En-Champagne\" },\n { code: \"52\", departmentName: \"Haute-Marne\", prefectureName: \"Chaumont\" },\n { code: \"53\", departmentName: \"Mayenne\", prefectureName: \"Laval\" },\n { code: \"54\", departmentName: \"Meurthe-Et-Moselle\", prefectureName: \"Nancy\" },\n { code: \"55\", departmentName: \"Meuse\", prefectureName: \"Bar-Le-Duc\" },\n { code: \"56\", departmentName: \"Morbihan\", prefectureName: \"Vannes\" },\n { code: \"57\", departmentName: \"Moselle\", prefectureName: \"Metz\" },\n { code: \"58\", departmentName: \"Nievre\", prefectureName: \"Nevers\" },\n { code: \"59\", departmentName: \"Nord\", prefectureName: \"Lille\" },\n { code: \"60\", departmentName: \"Oise\", prefectureName: \"Beauvais\" },\n { code: \"61\", departmentName: \"Orne\", prefectureName: \"Alencon\" },\n { code: \"62\", departmentName: \"Pas-De-Calais\", prefectureName: \"Arras\" },\n { code: \"63\", departmentName: \"Puy-De-Dome\", prefectureName: \"Clermont-Ferrand\" },\n { code: \"64\", departmentName: \"Pyrenees-Atlantiques\", prefectureName: \"Pau\" },\n { code: \"65\", departmentName: \"Hautes-Pyrenees\", prefectureName: \"Tarbes\" },\n { code: \"66\", departmentName: \"Pyrenees-Orientales\", prefectureName: \"Perpignan\" },\n { code: \"67\", departmentName: \"Bas-Rhin\", prefectureName: \"Strasbourg\" },\n { code: \"68\", departmentName: \"Haut-Rhin\", prefectureName: \"Colmar\" },\n { code: \"69\", departmentName: \"Rhone\", prefectureName: \"Lyon\" },\n { code: \"70\", departmentName: \"Haute-Saone\", prefectureName: \"Vesoul\" },\n { code: \"71\", departmentName: \"Saone-Et-Loire\", prefectureName: \"Macon\" },\n { code: \"72\", departmentName: \"Sarthe\", prefectureName: \"Le mans\" },\n { code: \"73\", departmentName: \"Savoie\", prefectureName: \"Chambery\" },\n { code: \"74\", departmentName: \"Haute-Savoie\", prefectureName: \"Annecy\" },\n { code: \"75\", departmentName: \"Paris\", prefectureName: \"\" },\n { code: \"76\", departmentName: \"Seine-Maritime\", prefectureName: \"Rouen\" },\n { code: \"77\", departmentName: \"Seine-Et-Marne\", prefectureName: \"Melun\" },\n { code: \"78\", departmentName: \"Yvelines\", prefectureName: \"Versailles\" },\n { code: \"79\", departmentName: \"Deux-Sevres\", prefectureName: \"Niort\" },\n { code: \"80\", departmentName: \"Somme\", prefectureName: \"Amiens\" },\n { code: \"81\", departmentName: \"Tarn\", prefectureName: \"Albi\" },\n { code: \"82\", departmentName: \"Tarn-Et-Garonne\", prefectureName: \"Montauban\" },\n { code: \"83\", departmentName: \"Var\", prefectureName: \"Toulon\" },\n { code: \"84\", departmentName: \"Vaucluse\", prefectureName: \"Avignon\" },\n { code: \"85\", departmentName: \"Vendee\", prefectureName: \"La roche-Sur-Yon\" },\n { code: \"86\", departmentName: \"Vienne\", prefectureName: \"Poitiers\" },\n { code: \"87\", departmentName: \"Haute-Vienne\", prefectureName: \"Limoges\" },\n { code: \"88\", departmentName: \"Vosges\", prefectureName: \"Epinal\" },\n { code: \"89\", departmentName: \"Yonne\", prefectureName: \"Auxerre\" },\n { code: \"90\", departmentName: \"Territoire de belfort\", prefectureName: \"Belfort\" },\n { code: \"91\", departmentName: \"Essonne\", prefectureName: \"Evry\" },\n { code: \"92\", departmentName: \"Hauts-De-Seine\", prefectureName: \"Nanterre\" },\n { code: \"93\", departmentName: \"Seine-Saint-Denis\", prefectureName: \"Bobigny\" },\n { code: \"94\", departmentName: \"Val-De-Marne\", prefectureName: \"Creteil\" },\n { code: \"95\", departmentName: \"Val-D'Oise\", prefectureName: \"Pontoise\" },\n { code: \"97\", departmentName: \"Guadeloupe\", prefectureName: \"Basse-Terre\" },\n { code: \"97\", departmentName: \"Guyane\", prefectureName: \"Cayenne\" },\n { code: \"97\", departmentName: \"Martinique\", prefectureName: \"Fort-De-France\" },\n { code: \"97\", departmentName: \"Mayotte\", prefectureName: \"Dzaoudzi\" },\n { code: \"97\", departmentName: \"Reunion\", prefectureName: \"Saint-Denis\" },\n];\n","import { FinancialProductEnum } from \"../enums/financial-product.enum\";\n\nexport interface FinancialProduct {\n key: FinancialProductEnum;\n label: string;\n}\n\nexport const FinancialProducts: FinancialProduct[] = [\n { key: FinancialProductEnum.LIVRET_A, label: \"Livret A\" },\n { key: FinancialProductEnum.LDDS, label: \"LDDS\" },\n { key: FinancialProductEnum.LEP, label: \"LEP\" },\n { key: FinancialProductEnum.COMPTE_SUR_LIVRET, label: \"Compte sur livret\" },\n { key: FinancialProductEnum.COMPTE_A_TERME, label: \"Compte à terme\" },\n { key: FinancialProductEnum.ASSURANCE_VIE, label: \"Assurance-vie\" },\n { key: FinancialProductEnum.PEA, label: \"PEA\" },\n { key: FinancialProductEnum.COMPTE_TITRES_ORDINAIRE, label: \"CTO\" },\n { key: FinancialProductEnum.PER, label: \"PER\" },\n { key: FinancialProductEnum.EPARGNE_SALARIALE, label: \"Épargne salariale\" },\n { key: FinancialProductEnum.SCPI, label: \"SCPI\" },\n { key: FinancialProductEnum.PRIVATE_EQUITY, label: \"Private equity\" },\n { key: FinancialProductEnum.LUXEMBOURG_INSURANCE, label: \"Assurance Luxembourgeoise\" },\n { key: FinancialProductEnum.PEL, label: \"PEL\" },\n { key: FinancialProductEnum.OTHER, label: \"Autre\" },\n];\n\nexport function getFinancialProductLabel(key: FinancialProductEnum): string {\n const financialProductLabel = FinancialProducts.find(\n (product) => product.key === key.toUpperCase(),\n );\n\n if (!financialProductLabel) {\n return \"Inconnu\";\n }\n\n return financialProductLabel.label;\n}\n\nexport function getFinancialProductKey(label: string): FinancialProductEnum | null {\n const financialProductKey = FinancialProducts.find((product) => product.label === label);\n\n if (!financialProductKey) {\n return null;\n }\n\n return financialProductKey.key;\n}\n","import { HouseholdSalaryRangeEnum } from \"../enums/household-salary-range.enum\";\n\nexport interface HouseholdSalaryRange {\n key: HouseholdSalaryRangeEnum;\n label: string;\n}\n\nexport const HouseholdSalaryRanges: HouseholdSalaryRange[] = [\n { key: HouseholdSalaryRangeEnum.LESS_THAN_30K, label: \"Moins de 30 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_30K_AND_50K, label: \"Entre 30 000€ et 50 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_50K_AND_80K, label: \"Entre 50 000€ et 80 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_80K_AND_120K, label: \"Entre 80 000€ et 120 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_120K_AND_180K, label: \"Entre 120 000€ et 180 000€\" },\n { key: HouseholdSalaryRangeEnum.MORE_THAN_180K, label: \"Plus de 180 000€\" },\n];\n\nexport function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string {\n const range = HouseholdSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as HouseholdSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null {\n const range = HouseholdSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { MaritalStatusEnum } from \"../enums/marital-status.enum\";\n\nexport interface MaritalStatus {\n key: MaritalStatusEnum;\n label: string;\n}\n\nexport const MartialStatuses: MaritalStatus[] = [\n { key: MaritalStatusEnum.SINGLE, label: \"Célibataire\" },\n { key: MaritalStatusEnum.COUPLE, label: \"En couple\" },\n { key: MaritalStatusEnum.PACS, label: \"Pacsé(e)\" },\n { key: MaritalStatusEnum.MARRIED, label: \"Marié(e)\" },\n { key: MaritalStatusEnum.DIVORCED, label: \"Divorcé(e)\" },\n { key: MaritalStatusEnum.WIDOWED, label: \"Veuf(ve)\" },\n { key: MaritalStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getMaritalStatusLabel(maritalStatus: MaritalStatusEnum | string): string {\n const ms = MartialStatuses.find(\n (ms) => ms.key === (maritalStatus as MaritalStatusEnum).toUpperCase(),\n );\n\n return !ms ? \"Inconnu\" : ms.label;\n}\n\nexport function getMaritalStatusKey(label: string): MaritalStatusEnum | null {\n const ms = MartialStatuses.find((ms) => ms.label === label);\n return !ms ? null : ms.key;\n}\n","import { ProCertificationEnum } from \"../enums/pro/pro-certification.enum\";\n\nexport interface ProCertification {\n key: ProCertificationEnum;\n label: string;\n description: string;\n}\n\nexport const ProCertifications: ProCertification[] = [\n {\n key: ProCertificationEnum.AMF,\n label: \"AMF\",\n description:\n \"Autorité des Marchés Financiers. Professionnel autorisé à exercer dans le secteur du conseil financier.\",\n },\n {\n key: ProCertificationEnum.CIF,\n label: \"CIF\",\n description:\n \"Conseiller en Investissements Financiers. Professionnel autorisé à fournir des conseils en investissement et recommandations de produits financiers.\",\n },\n {\n key: ProCertificationEnum.IAS,\n label: \"IAS\",\n description:\n \"Intermédiaire en Assurance. Professionnel autorisé à vendre des produits d'assurance, tels que l'assurance-vie par exemple.\",\n },\n];\n\nexport function getProCertificationByKey(key: ProCertificationEnum): ProCertification | null {\n const proCertification = ProCertifications.find((cert) => cert.key === key.toUpperCase());\n\n return !proCertification ? null : proCertification;\n}\n\nexport function getProCertificationByLabelOrDescription(label: string): ProCertification | null {\n const proCertification = ProCertifications.find(\n (cert) => cert.label === label || cert.description === label,\n );\n\n return !proCertification ? null : proCertification;\n}\n","import { PersonalSalaryRangeEnum } from \"../enums/personal-salary-range.enum\";\n\nexport interface PersonalSalaryRange {\n key: PersonalSalaryRangeEnum;\n label: string;\n}\n\nexport const PersonalSalaryRanges: PersonalSalaryRange[] = [\n { key: PersonalSalaryRangeEnum.LESS_THAN_20K, label: \"Moins de 20 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_20K_AND_30K, label: \"Entre 20 000€ et 30 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_30K_AND_45K, label: \"Entre 30 000€ et 45 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_45K_AND_65K, label: \"Entre 45 000€ et 65 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_65K_AND_90K, label: \"Entre 65 000€ et 90 000€\" },\n { key: PersonalSalaryRangeEnum.MORE_THAN_90K, label: \"Plus de 90 000€\" },\n];\n\nexport const getPersonalSalaryRangeLabel = (key: PersonalSalaryRangeEnum | string): string => {\n const range = PersonalSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n};\n\nexport const getPersonalSalaryRangeKey = (label: string): PersonalSalaryRangeEnum | null => {\n const range = PersonalSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n};\n","import { PersonalNetWorthRangeEnum } from \"../enums/personal-net-worth-range.enum\";\n\nexport interface PersonalNetWorthRange {\n key: PersonalNetWorthRangeEnum;\n label: string;\n}\n\nexport const PersonalNetWorthRanges: PersonalNetWorthRange[] = [\n { key: PersonalNetWorthRangeEnum.LESS_THAN_100K, label: \"Moins de 100 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_100K_AND_200K, label: \"Entre 100 000€ et 200 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_200K_AND_500K, label: \"Entre 200 000€ et 500 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_500K_AND_1M, label: \"Entre 500 000€ et 1 000 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_1M_AND_2M, label: \"Entre 1 000 000€ et 2 000 000€\" },\n { key: PersonalNetWorthRangeEnum.MORE_THAN_2M, label: \"Plus de 2 000 000€\" },\n];\n\nexport function getPersonalNetWorthRangeLabel(key: PersonalNetWorthRangeEnum | string): string {\n const range = PersonalNetWorthRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalNetWorthRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getPersonalNetWorthRangeKey(label: string): PersonalNetWorthRangeEnum | null {\n const range = PersonalNetWorthRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { ProfessionStatusEnum } from \"../enums/profession-status.enum\";\n\nexport interface ProfessionStatus {\n key: ProfessionStatusEnum;\n label: string;\n}\n\nexport const ProfessionStatusList: ProfessionStatus[] = [\n { key: ProfessionStatusEnum.STUDENT, label: \"Étudiant\" },\n { key: ProfessionStatusEnum.INTERIM, label: \"Interim\" },\n { key: ProfessionStatusEnum.CIVIL_SERVANT, label: \"Fonctionnaire\" },\n { key: ProfessionStatusEnum.CDD, label: \"Salarié en CDD\" },\n { key: ProfessionStatusEnum.CDI, label: \"Salarié en CDI\" },\n { key: ProfessionStatusEnum.INDEPENDANT, label: \"Indépendant\" },\n { key: ProfessionStatusEnum.LIBERAL, label: \"Profession libérale\" },\n { key: ProfessionStatusEnum.COMPANY_DIRECTOR, label: \"Chef d'entreprise\" },\n { key: ProfessionStatusEnum.RETIRED, label: \"Retraité\" },\n { key: ProfessionStatusEnum.JOB_SEEKER, label: \"En recherche d'emploi\" },\n { key: ProfessionStatusEnum.INACTIVE, label: \"Sans activité\" },\n { key: ProfessionStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getProfessionStatusLabel(professionStatus: ProfessionStatusEnum | string): string {\n const ps = ProfessionStatusList.find(\n (s) => s.key === (professionStatus as ProfessionStatusEnum).toUpperCase(),\n );\n\n return !ps ? \"Inconnu\" : ps.label;\n}\n\nexport function getProfessionStatusKey(label: string): ProfessionStatusEnum | null {\n const ps = ProfessionStatusList.find((s) => s.label === label);\n return !ps ? null : ps.key;\n}\n","import { ProfessionEnum } from \"../enums/profession.enum\";\n\nexport interface Profession {\n value: ProfessionEnum;\n label: string;\n}\n\nexport const ProfessionsList: Profession[] = [\n { value: ProfessionEnum.AGRICULTURE_ENVIRONMENT, label: \"l'agriculture et l'environnement\" },\n { value: ProfessionEnum.REAL_ESTATE_CONSTRUCTION, label: \"l'immobilier et construction\" },\n { value: ProfessionEnum.INDUSTRY_ENERGY, label: \"l'industrie et les énergies\" },\n { value: ProfessionEnum.DIGITAL_TELECOM, label: \"le numérique et télécoms\" },\n { value: ProfessionEnum.RETAIL_DISTRIBUTION, label: \"le commerce et la distribution\" },\n { value: ProfessionEnum.TRANSPORT_LOGISTICS, label: \"le transport et la logistique\" },\n { value: ProfessionEnum.FINANCE_INSURANCE, label: \"la finance et l'assurance\" },\n { value: ProfessionEnum.HEALTH_SOCIAL, label: \"la santé et le social\" },\n { value: ProfessionEnum.EDUCATION_RESEARCH, label: \"l'éducation et la recherche\" },\n { value: ProfessionEnum.PUBLIC_ADMINISTRATION, label: \"l'administration publique\" },\n { value: ProfessionEnum.MILITARY_SECURITY, label: \"l'armée et la sécurité\" },\n { value: ProfessionEnum.CATERING_TOURISM, label: \"la restauration et le tourisme\" },\n { value: ProfessionEnum.CULTURE_LEISURE, label: \"la culture et les loisirs\" },\n { value: ProfessionEnum.ARTS_MEDIA, label: \"les arts et les médias\" },\n { value: ProfessionEnum.OTHER_SECTOR, label: \"un autre secteur\" },\n];\n\nexport function getProfessionLabel(profession: ProfessionEnum): string {\n const professionDomain = ProfessionsList.find((p) => p.value === profession.toUpperCase());\n\n if (!professionDomain) {\n return \"Inconnu\";\n }\n\n return professionDomain.label;\n}\n\nexport function getProfessionKey(label: string): ProfessionEnum | null {\n const professionKey = ProfessionsList.find((p) => p.label === label);\n\n if (!professionKey) {\n return null;\n }\n\n return professionKey.value;\n}\n","import { ProjectNeedEnum } from \"../enums/project-need.enum\";\n\nexport interface ProjectNeed {\n key: ProjectNeedEnum;\n userLabel: string;\n proLabel: string;\n}\n\nexport const ProjectNeeds: ProjectNeed[] = [\n {\n key: ProjectNeedEnum.WEALTH_ASSESSMENT,\n userLabel:\n \"Je n'ai pas d'idée précise, j'aimerais recevoir des conseils et messages adaptés à ma situation.\",\n proLabel:\n \"Pas d'idée précise, souhaite recevoir des conseils et offres adaptés à sa situation.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_STOCK_EXCHANGE,\n userLabel: \"Je compte me lancer en bourse.\",\n proLabel: \"Souhaite investir dans la bourse.\",\n },\n {\n key: ProjectNeedEnum.PREPARE_RETIREMENT,\n userLabel: \"Je pense à l'avenir et souhaite préparer ma retraite.\",\n proLabel: \"Souhaite préparer sa retraite.\",\n },\n {\n key: ProjectNeedEnum.TAX_OPTIMIZATION,\n userLabel: \"J'ai besoin de payer moins d'impôts, il faut que je défiscalise.\",\n proLabel: \"Souhaite optimiser ses impôts.\",\n },\n {\n key: ProjectNeedEnum.OPTIMIZE_SAVINGS,\n userLabel:\n \"Je suis dynamique et j'aimerais que mon épargne le soit également, qu'elle me rapporte plus.\",\n proLabel: \"Souhaite optimiser son épargne.\",\n },\n {\n key: ProjectNeedEnum.PASS_ON_TO_DESCENDANTS,\n userLabel: \"Je dois protéger mes enfants, il est temps de parler transmission.\",\n proLabel: \"Souhaite protéger ses enfants.\",\n },\n {\n key: ProjectNeedEnum.DIVERSIFY_ASSETS,\n userLabel: \"J'aimerais savoir comment diversifier mon patrimoine pour réduire les risques.\",\n proLabel: \"Souhaite diversifier son patrimoine pour réduire les risques.\",\n },\n {\n key: ProjectNeedEnum.FUND_REAL_ECONOMY,\n userLabel: \"Je veux participer à l'effort collectif par le financement de l'économie réelle.\",\n proLabel: \"Souhaite participer à l'effort collectif par le financement de l'économie réelle.\",\n },\n {\n key: ProjectNeedEnum.SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS,\n userLabel:\n \"J'ai envie de donner du sens à mon argent et voudrais en savoir plus sur l'épargne responsable.\",\n proLabel: \"Souhaite participer à l'épargne responsable.\",\n },\n {\n key: ProjectNeedEnum.SAFETY_SAVINGS,\n userLabel: \"J'ai peur de l'imprévu et envisage de constituer une épargne de sécurité.\",\n proLabel: \"Souhaite constituer une épargne de sécurité.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_REAL_ESTATE,\n userLabel: \"Je souhaite investir dans l'immobilier.\",\n proLabel: \"Souhaite investir dans l'immobilier.\",\n },\n];\n\nexport function getProjectNeedUserLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.userLabel;\n}\n\nexport function getProjectNeedProLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.proLabel;\n}\n\nexport function getProjectNeedKey(label: string): ProjectNeedEnum | null {\n let projectNeedKey = ProjectNeeds.find((need) => need.userLabel === label);\n\n if (projectNeedKey) {\n return projectNeedKey.key;\n }\n\n projectNeedKey = ProjectNeeds.find((need) => need.proLabel === label);\n\n if (!projectNeedKey) {\n return null;\n }\n\n return projectNeedKey.key;\n}\n"],"mappings":"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","names":["ProStatusEnum","ProCertificationEnum","AssetTypeEnum","AvailableCryptocurrencySymbolEnum","AvailableCurrencyEnum","BankAccountTransactionTypeEnum","BankAccountTypeEnum","BudgetTypeEnum","FetchPowensConnectionsTypeEnum","FinancialProductEnum","HouseholdSalaryRangeEnum","LegalDocumentTypeEnum","LoanTypeEnum","MaritalStatusEnum","MobilityTypeEnum","OfferStatusEnum","PersonalNetWorthRangeEnum","PersonalSalaryRangeEnum","PhoneVerificationStatusEnum","PowensConnectionStateEnum","PowensUserStatusEnum","ProfessionStatusEnum","ProfessionEnum","ProjectNeedEnum","ProjectOptionEnum","ProjectStatusEnum","RealEstateTypeEnum","SupportedCurrencyExchangesEnum","SupportedCurrencySymbolsEnum","UserAiSummaryStatusEnum","UserStatusEnum","range","ms","range","range"]}
1
+ {"version":3,"sources":["../src/constants/index.ts","../src/enums/pro/pro-status.enum.ts","../src/enums/pro/pro-certification.enum.ts","../src/enums/asset-type.enum.ts","../src/enums/available-cryptocurrency-symbol.enum.ts","../src/enums/available-currency.enum.ts","../src/enums/bank-account-transaction-type.enum.ts","../src/enums/bank-account-type.enum.ts","../src/enums/budget-type.enum.ts","../src/enums/fetch-powens-connections-type.enum.ts","../src/enums/financial-product.enum.ts","../src/enums/household-salary-range.enum.ts","../src/enums/legal-document-type.enum.ts","../src/enums/loan-type.enum.ts","../src/enums/marital-status.enum.ts","../src/enums/mobility-type.enum.ts","../src/enums/offer-status.enum.ts","../src/enums/personal-net-worth-range.enum.ts","../src/enums/personal-salary-range.enum.ts","../src/enums/phone-verification-status.enum.ts","../src/enums/powens-connection-state.enum.ts","../src/enums/powens-user-status.enum.ts","../src/enums/profession-status.enum.ts","../src/enums/profession.enum.ts","../src/enums/project-need.enum.ts","../src/enums/project-option.enum.ts","../src/enums/project-status.enum.ts","../src/enums/real-estate-type.enum.ts","../src/enums/supported-currency-exchanges.enum.ts","../src/enums/supported-currency-symbols.enum.ts","../src/enums/user-ai-summary-status.enum.ts","../src/enums/user-status.enum.ts","../src/utils/departments.ts","../src/utils/financial-product.ts","../src/utils/household-salary-range.ts","../src/utils/completed-user-data.utils.ts","../src/utils/marital-status.ts","../src/utils/pro-certification.ts","../src/utils/personal-salary-range.ts","../src/utils/personal-net-worth-range.ts","../src/utils/profession-status.ts","../src/utils/profession.ts","../src/utils/project-need.ts"],"sourcesContent":["export const EMAIL_REGEX =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const LIVES_OUTSIDE_FRANCE = \"LIVES_OUTSIDE_FRANCE\";\n","export enum ProStatusEnum {\n ONBOARDING = \"ONBOARDING\", // Vient de créer son compte -> Redirigé vers onboarding\n KYC_PENDING = \"KYC_PENDING\", // \tOnboarding fait, KYC non rempli -> Profil + formulaire KYC uniquement\n KYC_SUBMITTED = \"KYC_SUBMITTED\", //\tKYC rempli, en attente de validation -> Profil uniquement (message \"en cours de validation\")\n VALIDATED = \"VALIDATED\", //\tValidé manuellement, pas encore abonné\t-> Profil + page de souscription Stripe\n ACTIVE = \"ACTIVE\", //\tAbonné, paiement OK -> Tout le dashboard\n PAUSED = \"PAUSED\", //\tAbonnement en pause -> Profil + gestion abonnement\n CANCELLED = \"CANCELLED\", //\tAbonnement annulé -> Profil + page de réabonnement\n}\n","export enum ProCertificationEnum {\n AMF = \"AMF\",\n CIF = \"CIF\",\n IAS = \"IAS\",\n}","export enum AssetTypeEnum {\n REAL_ESTATE = \"REAL_ESTATE\",\n MOBILITY = \"MOBILITY\",\n STOCK_EXCHANGE = \"STOCK_EXCHANGE\",\n CRYPTOCURRENCY = \"CRYPTOCURRENCY\",\n OTHER = \"OTHER\",\n}\n","export enum AvailableCryptocurrencySymbolEnum {\n BTC = \"BTC\", // Bitcoin\n ETH = \"ETH\", // Ethereum\n USDT = \"USDT\", // Tether\n USDC = \"USDC\", // USD Coin\n BNB = \"BNB\", // BNB\n BUSD = \"BUSD\", // Binance USD\n XRP = \"XRP\", // XRP (Ripple)\n ADA = \"ADA\", // Cardano\n SOL = \"SOL\", // Solana\n DOGE = \"DOGE\", // Dogecoin\n DOT = \"DOT\", // Polkadot\n DAI = \"DAI\", // Dai\n MATIC = \"MATIC\", // Polygon\n SHIB = \"SHIB\", // Shiba Inu\n TRX = \"TRX\", // TRON\n AVAX = \"AVAX\", // Avalanche\n LEO = \"LEO\", // UNUS SED LEO\n LTC = \"LTC\", // Litecoin\n XLM = \"XLM\", // Stellar\n BCH = \"BCH\", // Bitcoin Cash\n}\n","export enum AvailableCurrencyEnum {\n EUR = \"EUR\",\n}\n","export enum BankAccountTransactionTypeEnum {\n TRANSFER = \"TRANSFER\", // Transfer\n ORDER = \"ORDER\", // Order\n CHECK = \"CHECK\", // Check\n DEPOSIT = \"DEPOSIT\", // Mandatory/voluntary deposits, contributions, money transfers\n PAYBACK = \"PAYBACK\", // Payback\n WITHDRAWAL = \"WITHDRAWAL\", // Withdrawal\n LOAN_REPAYMENT = \"LOAN_REPAYMENT\", // Loan payment\n BANK = \"BANK\", // Bank fees\n CARD = \"CARD\", // Card operation\n DEFERRED_CARD = \"DEFERRED_CARD\", // Deferred card operation\n SUMMARY_CARD = \"SUMMARY_CARD\", // Monthly debit of a deferred card\n UNKNOWN = \"UNKNOWN\", //Unknown transaction type\n MARKET_ORDER = \"MARKET_ORDER\", // Market order\n MARKET_FEE = \"MARKET_FEE\", // Fees regarding a market order\n ARBITRAGE = \"ARBITRAGE\", // Arbitrage\n PROFIT = \"PROFIT\", // Positive earnings from interests/coupons/dividends\n}\n","export enum BankAccountTypeEnum {\n CHECKING = \"CHECKING\",\n SAVINGS = \"SAVINGS\",\n LOAN = \"LOAN\",\n OTHER = \"OTHER\",\n}\n","export enum BudgetTypeEnum {\n INCOME = 'INCOME',\n EXPENDITURE = 'EXPENDITURE',\n}\n","export enum FetchPowensConnectionsTypeEnum {\n ALL = \"ALL\",\n USER_ACTION_REQUIRED = \"USER_ACTION_REQUIRED\",\n}\n","export enum FinancialProductEnum {\n LIVRET_A = \"LIVRET_A\",\n LDDS = \"LDDS\",\n LEP = \"LEP\",\n COMPTE_SUR_LIVRET = \"COMPTE_SUR_LIVRET\",\n COMPTE_A_TERME = \"COMPTE_A_TERME\",\n ASSURANCE_VIE = \"ASSURANCE_VIE\",\n PEA = \"PEA\",\n COMPTE_TITRES_ORDINAIRE = \"COMPTE_TITRES_ORDINAIRE\",\n PER = \"PER\",\n EPARGNE_SALARIALE = \"EPARGNE_SALARIALE\",\n SCPI = \"SCPI\",\n PRIVATE_EQUITY = \"PRIVATE_EQUITY\",\n LUXEMBOURG_INSURANCE = \"LUXEMBOURG_INSURANCE\",\n PEL = \"PEL\",\n OTHER = \"OTHER\",\n}\n","export enum HouseholdSalaryRangeEnum {\n LESS_THAN_30K = \"LESS_THAN_30K\",\n BETWEEN_30K_AND_50K = \"BETWEEN_30K_AND_50K\",\n BETWEEN_50K_AND_80K = \"BETWEEN_50K_AND_80K\",\n BETWEEN_80K_AND_120K = \"BETWEEN_80K_AND_120K\",\n BETWEEN_120K_AND_180K = \"BETWEEN_120K_AND_180K\",\n MORE_THAN_180K = \"MORE_THAN_180K\",\n}\n","export enum LegalDocumentTypeEnum {\n TERMS_OF_USAGE = \"TERMS_OF_USAGE\",\n PRIVACY_POLICY = \"PRIVACY_POLICY\",\n}\n","export enum LoanTypeEnum {\n MORTGAGE = \"mortgage\",\n CONSUMER_CREDIT = \"consumercredit\",\n RESOLVING_CREDIT = \"revolvingcredit\",\n UNKNOWN = \"unknown\",\n}\n","export enum MaritalStatusEnum {\n SINGLE = \"SINGLE\",\n COUPLE = \"COUPLE\",\n PACS = \"PACS\",\n MARRIED = \"MARRIED\",\n DIVORCED = \"DIVORCED\",\n WIDOWED = \"WIDOWED\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum MobilityTypeEnum {\n SUV = \"SUV\",\n ELECTRIC_CAR = \"ELECTRIC_CAR\",\n CITY_CAR = \"CITY_CAR\",\n BOAT = \"BOAT\",\n BIKE = \"BIKE\",\n SCOOTER = \"SCOOTER\",\n MOTORCYCLE = \"MOTORCYCLE\",\n}\n","export enum OfferStatusEnum {\n PENDING = \"PENDING\",\n ACCEPTED = \"ACCEPTED\",\n REJECTED = \"REJECTED\",\n /**\n * @deprecated stop using ARCHIVED in the status (since Feb. 2026)\n */\n ARCHIVED_BY_PRO = \"ARCHIVED_BY_PRO\",\n /**\n * @deprecated stop using ACCEPTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n ACCEPTED_THEN_ARCHIVED_BY_USER = \"ACCEPTED_THEN_ARCHIVED_BY_USER\",\n /**\n * @deprecated stop using REJECTED_THEN_ARCHIVED_BY_USER in the status (since Feb. 2026)\n */\n REJECTED_THEN_ARCHIVED_BY_USER = \"REJECTED_THEN_ARCHIVED_BY_USER\",\n}\n","export enum PersonalNetWorthRangeEnum {\n LESS_THAN_100K = \"LESS_THAN_100K\",\n BETWEEN_100K_AND_200K = \"BETWEEN_100K_AND_200K\",\n BETWEEN_200K_AND_500K = \"BETWEEN_200K_AND_500K\",\n BETWEEN_500K_AND_1M = \"BETWEEN_500K_AND_1M\",\n BETWEEN_1M_AND_2M = \"BETWEEN_1M_AND_2M\",\n MORE_THAN_2M = \"MORE_THAN_2M\",\n}\n","export enum PersonalSalaryRangeEnum {\n LESS_THAN_20K = \"LESS_THAN_20K\",\n BETWEEN_20K_AND_30K = \"BETWEEN_20K_AND_30K\",\n BETWEEN_30K_AND_45K = \"BETWEEN_30K_AND_45K\",\n BETWEEN_45K_AND_65K = \"BETWEEN_45K_AND_65K\",\n BETWEEN_65K_AND_90K = \"BETWEEN_65K_AND_90K\",\n MORE_THAN_90K = \"MORE_THAN_90K\",\n}\n","export enum PhoneVerificationStatusEnum {\n APPROVED = \"APPROVED\",\n PENDING = \"PENDING\",\n MAX_ATTEMPTS_REACHED = \"MAX_ATTEMPTS_REACHED\",\n EXPIRED = \"EXPIRED\",\n CANCELED = \"CANCELED\",\n INVALID_CODE = \"INVALID_CODE\",\n ALREADY_VERIFIED = \"ALREADY_VERIFIED\",\n}","export enum PowensConnectionStateEnum {\n /**\n * An SCA process must be performed to resume the synchronization process.\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n */\n SCA_REQUIRED = \"SCA_REQUIRED\",\n /**\n * Synchronization is suspended because we need user consent or SCA to proceed. You should present this error prominently.\n * A web-based authentication process is required using the /webauth endpoint.\n * endpoint /webauth: https://docs.powens.com/api-reference/user-connections/connections#webauthurl-object\n */\n WEBAUTH_REQUIRED = \"WEBAUTH_REQUIRED\",\n /**\n * Additional information is needed to resume synchronization, such as an OTP. Connections in this state have a fields property.\n */\n ADDITIONAL_INFORMATION_NEEDED = \"ADDITIONAL_INFORMATION_NEEDED\",\n /**\n * User validation is required on a third-party app or device (ex: digital key).\n */\n DECOUPLED = \"DECOUPLED\",\n /**\n * User validation is being processed on our side. This state is temporary.\n */\n VALIDATING = \"VALIDATING\",\n /**\n * An action is needed on the website by the user, synchronization is blocked.\n * Synchronization failed because the user needs to perform an action directly on the bank website or app (usually, accept new CGUs or similar one-time actions).\n * You should present this error prominently\n */\n ACTION_NEEDED = \"ACTION_NEEDED\",\n /**\n * The password has expired and needs to be changed by the user before the synchronization can be retried.\n * Synchronization failed because the user needs to renew its password on the bank website.\n * You should present this error prominently and prompt the user for his new password afterwards.\n */\n PASSWORD_EXPIRED = \"PASSWORD_EXPIRED\",\n /**\n * The authentication on website has failed and new credentials must be obtained from the user. Connections in this state have a fields property\n * Synchronization failed because the credentials we own are invalid or obsolete.\n * You should present this error prominently\n */\n WRONGPASS = \"WRONGPASS\",\n /**\n * The target website or API is temporarily blocking synchronizations due to rate limiting.\n * Synchronization failed because the target website or API is temporarily blocking synchronizations due to rate limiting.\n * We will retry after a delay and connections in this state will be resumed automatically.\n */\n RATE_LIMITING = \"RATE_LIMITING\",\n /**\n * The connector website or API is unavailable.\n * Synchronization failed because the targeted API or website is temporarily unavailable.\n * We will periodically retry to sync.\n */\n WEBSITE_UNAVAILABLE = \"WEBSITE_UNAVAILABLE\",\n /**\n * An internal error has occurred during the synchronization.\n * Synchronization failed because of an error from our side. We monitor errors and do our best to fix them quickly.\n * Connections in this state will be resumed automatically after the error is fixed.\n */\n BUG = \"BUG\",\n /**\n * The source is not supported on the connector\n */\n NOT_SUPPORTED = \"NOT_SUPPORTED\",\n}\n","export enum PowensUserStatusEnum {\n // User is registered on Powens and got a powens ID and a unique access token\n REGISTERED = 'REGISTERED',\n\n // User is currently trying to make a new connection to their bank account (transition state)\n ATTEMPTING_NEW_CONNECTION = 'ATTEMPTING_NEW_CONNECTION',\n\n // On error in Powens administration console\n ON_ERROR = 'ON_ERROR',\n\n // Powens administration console deleted the user\n DELETED = 'DELETED',\n}\n","export enum ProfessionStatusEnum {\n STUDENT = \"STUDENT\",\n INTERIM = \"INTERIM\",\n CIVIL_SERVANT = \"CIVIL_SERVANT\",\n CDD = \"CDD\",\n CDI = \"CDI\",\n INDEPENDANT = \"INDEPENDANT\",\n LIBERAL = \"LIBERAL\",\n COMPANY_DIRECTOR = \"COMPANY_DIRECTOR\",\n RETIRED = \"RETIRED\",\n JOB_SEEKER = \"JOB_SEEKER\",\n INACTIVE = \"INACTIVE\",\n DONT_WANT_TO_SAY = \"DONT_WANT_TO_SAY\",\n}\n","export enum ProfessionEnum {\n AGRICULTURE_ENVIRONMENT = \"AGRICULTURE_ENVIRONMENT\",\n REAL_ESTATE_CONSTRUCTION = \"REAL_ESTATE_CONSTRUCTION\",\n INDUSTRY_ENERGY = \"INDUSTRY_ENERGY\",\n DIGITAL_TELECOM = \"DIGITAL_TELECOM\",\n RETAIL_DISTRIBUTION = \"RETAIL_DISTRIBUTION\",\n TRANSPORT_LOGISTICS = \"TRANSPORT_LOGISTICS\",\n FINANCE_INSURANCE = \"FINANCE_INSURANCE\",\n HEALTH_SOCIAL = \"HEALTH_SOCIAL\",\n EDUCATION_RESEARCH = \"EDUCATION_RESEARCH\",\n PUBLIC_ADMINISTRATION = \"PUBLIC_ADMINISTRATION\",\n MILITARY_SECURITY = \"MILITARY_SECURITY\",\n CATERING_TOURISM = \"CATERING_TOURISM\",\n CULTURE_LEISURE = \"CULTURE_LEISURE\",\n ARTS_MEDIA = \"ARTS_MEDIA\",\n OTHER_SECTOR = \"OTHER_SECTOR\",\n}\n","export enum ProjectNeedEnum {\n WEALTH_ASSESSMENT = \"WEALTH_ASSESSMENT\",\n INVEST_IN_STOCK_EXCHANGE = \"INVEST_IN_STOCK_EXCHANGE\",\n PREPARE_RETIREMENT = \"PREPARE_RETIREMENT\",\n TAX_OPTIMIZATION = \"TAX_OPTIMIZATION\",\n OPTIMIZE_SAVINGS = \"OPTIMIZE_SAVINGS\",\n PASS_ON_TO_DESCENDANTS = \"PASS_ON_TO_DESCENDANTS\",\n DIVERSIFY_ASSETS = \"DIVERSIFY_ASSETS\",\n FUND_REAL_ECONOMY = \"FUND_REAL_ECONOMY\",\n SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS = \"SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS\",\n SAFETY_SAVINGS = \"SAFETY_SAVINGS\",\n INVEST_IN_REAL_ESTATE = \"INVEST_IN_REAL_ESTATE\",\n SPECIFIC_PRODUCT = \"SPECIFIC_PRODUCT\",\n}\n","export enum ProjectOptionEnum {\n BEGINNER = \"BEGINNER\",\n INTERMEDIATE = \"INTERMEDIATE\",\n ADVANCED = \"ADVANCED\",\n}\n","export enum ProjectStatusEnum {\n ACTIVE = \"ACTIVE\",\n PAUSED = \"PAUSED\",\n FULLFILLED = \"FULLFILLED\",\n FULLFILLED_BY_US = \"FULLFILLED_BY_US\",\n}\n","export enum RealEstateTypeEnum {\n HOUSE = \"HOUSE\",\n APARTMENT = \"APARTMENT\",\n VILLA = \"VILLA\",\n CHATEAU = \"CHATEAU\",\n MANSION = \"MANSION\",\n}\n","export enum SupportedCurrencyExchangesEnum {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n JPY = \"JPY\",\n}\n","export enum SupportedCurrencySymbolsEnum {\n EUR = \"€\",\n USD = \"$\",\n GBP = \"£\",\n JPY = \"¥\",\n}\n","export enum UserAiSummaryStatusEnum {\n PROCESSING = \"PROCESSING\",\n READY = \"READY\",\n FAILED = \"FAILED\",\n}\n","export enum UserStatusEnum {\n // Anonymous, does not have a real account on sowhat (= a simple co-owner with no Clerk ID)\n ANONYMOUS = 'ANONYMOUS',\n\n // Real user, got a Clerk account.\n // note: Being registered on clerk first is mandatory to be registered on Powens.\n REGISTERED = 'REGISTERED',\n\n // The user is deleted and can't be used anymore\n DELETED = 'DELETED',\n\n // The user's email and/or phone are black-listed from the sowhat app\n BLACK_LISTED = 'BLACK_LISTED',\n}\n","export interface Department {\n code: string;\n departmentName: string;\n prefectureName: string;\n}\n\nexport const DepartmentsList: Department[] = [\n { code: \"01\", departmentName: \"Ain\", prefectureName: \"Bourg-En-Bresse\" },\n { code: \"02\", departmentName: \"Aisne\", prefectureName: \"Laon\" },\n { code: \"03\", departmentName: \"Allier\", prefectureName: \"Moulins\" },\n { code: \"04\", departmentName: \"Alpes-De-Haute-Provence\", prefectureName: \"Digne-Les-Bains\" },\n { code: \"05\", departmentName: \"Hautes-Alpes\", prefectureName: \"Gap\" },\n { code: \"06\", departmentName: \"Alpes-Maritimes\", prefectureName: \"Nice\" },\n { code: \"07\", departmentName: \"Ardeche\", prefectureName: \"Privas\" },\n { code: \"08\", departmentName: \"Ardennes\", prefectureName: \"Charleville-Mezieres\" },\n { code: \"09\", departmentName: \"Ariege\", prefectureName: \"Foix\" },\n { code: \"10\", departmentName: \"Aube\", prefectureName: \"Troyes\" },\n { code: \"11\", departmentName: \"Aude\", prefectureName: \"Carcassonne\" },\n { code: \"12\", departmentName: \"Aveyron\", prefectureName: \"Rodez\" },\n { code: \"13\", departmentName: \"Bouches-Du-Rhone\", prefectureName: \"Marseille\" },\n { code: \"14\", departmentName: \"Calvados\", prefectureName: \"Caen\" },\n { code: \"15\", departmentName: \"Cantal\", prefectureName: \"Aurillac\" },\n { code: \"16\", departmentName: \"Charente\", prefectureName: \"Angouleme\" },\n { code: \"17\", departmentName: \"Charente-Maritime\", prefectureName: \"La rochelle\" },\n { code: \"18\", departmentName: \"Cher\", prefectureName: \"Bourges\" },\n { code: \"19\", departmentName: \"Correze\", prefectureName: \"Tulle\" },\n { code: \"21\", departmentName: \"Cote-D'Or\", prefectureName: \"Dijon\" },\n { code: \"22\", departmentName: \"Cotes-D'Armor\", prefectureName: \"Saint-Brieuc\" },\n { code: \"23\", departmentName: \"Creuse\", prefectureName: \"Gueret\" },\n { code: \"24\", departmentName: \"Dordogne\", prefectureName: \"Perigueux\" },\n { code: \"25\", departmentName: \"Doubs\", prefectureName: \"Besancon\" },\n { code: \"26\", departmentName: \"Drome\", prefectureName: \"Valence\" },\n { code: \"27\", departmentName: \"Eure\", prefectureName: \"Evreux\" },\n { code: \"28\", departmentName: \"Eure-Et-Loir\", prefectureName: \"Chartres\" },\n { code: \"29\", departmentName: \"Finistere\", prefectureName: \"Quimper\" },\n { code: \"2A\", departmentName: \"Corse-Du-Sud\", prefectureName: \"Ajaccio\" },\n { code: \"2B\", departmentName: \"Haute-Corse\", prefectureName: \"Bastia\" },\n { code: \"30\", departmentName: \"Gard\", prefectureName: \"Nimes\" },\n { code: \"31\", departmentName: \"Haute-Garonne\", prefectureName: \"Toulouse\" },\n { code: \"32\", departmentName: \"Gers\", prefectureName: \"Auch\" },\n { code: \"33\", departmentName: \"Gironde\", prefectureName: \"Bordeaux\" },\n { code: \"34\", departmentName: \"Herault\", prefectureName: \"Montpellier\" },\n { code: \"35\", departmentName: \"Ille-Et-Vilaine\", prefectureName: \"Rennes\" },\n { code: \"36\", departmentName: \"Indre\", prefectureName: \"Chateauroux\" },\n { code: \"37\", departmentName: \"Indre-Et-Loire\", prefectureName: \"Tours\" },\n { code: \"38\", departmentName: \"Isere\", prefectureName: \"Grenoble\" },\n { code: \"39\", departmentName: \"Jura\", prefectureName: \"Lons-Le-Saunier\" },\n { code: \"40\", departmentName: \"Landes\", prefectureName: \"Mont-De-Marsan\" },\n { code: \"41\", departmentName: \"Loir-Et-Cher\", prefectureName: \"Blois\" },\n { code: \"42\", departmentName: \"Loire\", prefectureName: \"Saint-Etienne\" },\n { code: \"43\", departmentName: \"Haute-Loire\", prefectureName: \"Le puy-En-Velay\" },\n { code: \"44\", departmentName: \"Loire-Atlantique\", prefectureName: \"Nantes\" },\n { code: \"45\", departmentName: \"Loiret\", prefectureName: \"Orleans\" },\n { code: \"46\", departmentName: \"Lot\", prefectureName: \"Cahors\" },\n { code: \"47\", departmentName: \"Lot-Et-Garonne\", prefectureName: \"Agen\" },\n { code: \"48\", departmentName: \"Lozere\", prefectureName: \"Mende\" },\n { code: \"49\", departmentName: \"Maine-Et-Loire\", prefectureName: \"Angers\" },\n { code: \"50\", departmentName: \"Manche\", prefectureName: \"Saint-Lo\" },\n { code: \"51\", departmentName: \"Marne\", prefectureName: \"Chalons-En-Champagne\" },\n { code: \"52\", departmentName: \"Haute-Marne\", prefectureName: \"Chaumont\" },\n { code: \"53\", departmentName: \"Mayenne\", prefectureName: \"Laval\" },\n { code: \"54\", departmentName: \"Meurthe-Et-Moselle\", prefectureName: \"Nancy\" },\n { code: \"55\", departmentName: \"Meuse\", prefectureName: \"Bar-Le-Duc\" },\n { code: \"56\", departmentName: \"Morbihan\", prefectureName: \"Vannes\" },\n { code: \"57\", departmentName: \"Moselle\", prefectureName: \"Metz\" },\n { code: \"58\", departmentName: \"Nievre\", prefectureName: \"Nevers\" },\n { code: \"59\", departmentName: \"Nord\", prefectureName: \"Lille\" },\n { code: \"60\", departmentName: \"Oise\", prefectureName: \"Beauvais\" },\n { code: \"61\", departmentName: \"Orne\", prefectureName: \"Alencon\" },\n { code: \"62\", departmentName: \"Pas-De-Calais\", prefectureName: \"Arras\" },\n { code: \"63\", departmentName: \"Puy-De-Dome\", prefectureName: \"Clermont-Ferrand\" },\n { code: \"64\", departmentName: \"Pyrenees-Atlantiques\", prefectureName: \"Pau\" },\n { code: \"65\", departmentName: \"Hautes-Pyrenees\", prefectureName: \"Tarbes\" },\n { code: \"66\", departmentName: \"Pyrenees-Orientales\", prefectureName: \"Perpignan\" },\n { code: \"67\", departmentName: \"Bas-Rhin\", prefectureName: \"Strasbourg\" },\n { code: \"68\", departmentName: \"Haut-Rhin\", prefectureName: \"Colmar\" },\n { code: \"69\", departmentName: \"Rhone\", prefectureName: \"Lyon\" },\n { code: \"70\", departmentName: \"Haute-Saone\", prefectureName: \"Vesoul\" },\n { code: \"71\", departmentName: \"Saone-Et-Loire\", prefectureName: \"Macon\" },\n { code: \"72\", departmentName: \"Sarthe\", prefectureName: \"Le mans\" },\n { code: \"73\", departmentName: \"Savoie\", prefectureName: \"Chambery\" },\n { code: \"74\", departmentName: \"Haute-Savoie\", prefectureName: \"Annecy\" },\n { code: \"75\", departmentName: \"Paris\", prefectureName: \"\" },\n { code: \"76\", departmentName: \"Seine-Maritime\", prefectureName: \"Rouen\" },\n { code: \"77\", departmentName: \"Seine-Et-Marne\", prefectureName: \"Melun\" },\n { code: \"78\", departmentName: \"Yvelines\", prefectureName: \"Versailles\" },\n { code: \"79\", departmentName: \"Deux-Sevres\", prefectureName: \"Niort\" },\n { code: \"80\", departmentName: \"Somme\", prefectureName: \"Amiens\" },\n { code: \"81\", departmentName: \"Tarn\", prefectureName: \"Albi\" },\n { code: \"82\", departmentName: \"Tarn-Et-Garonne\", prefectureName: \"Montauban\" },\n { code: \"83\", departmentName: \"Var\", prefectureName: \"Toulon\" },\n { code: \"84\", departmentName: \"Vaucluse\", prefectureName: \"Avignon\" },\n { code: \"85\", departmentName: \"Vendee\", prefectureName: \"La roche-Sur-Yon\" },\n { code: \"86\", departmentName: \"Vienne\", prefectureName: \"Poitiers\" },\n { code: \"87\", departmentName: \"Haute-Vienne\", prefectureName: \"Limoges\" },\n { code: \"88\", departmentName: \"Vosges\", prefectureName: \"Epinal\" },\n { code: \"89\", departmentName: \"Yonne\", prefectureName: \"Auxerre\" },\n { code: \"90\", departmentName: \"Territoire de belfort\", prefectureName: \"Belfort\" },\n { code: \"91\", departmentName: \"Essonne\", prefectureName: \"Evry\" },\n { code: \"92\", departmentName: \"Hauts-De-Seine\", prefectureName: \"Nanterre\" },\n { code: \"93\", departmentName: \"Seine-Saint-Denis\", prefectureName: \"Bobigny\" },\n { code: \"94\", departmentName: \"Val-De-Marne\", prefectureName: \"Creteil\" },\n { code: \"95\", departmentName: \"Val-D'Oise\", prefectureName: \"Pontoise\" },\n { code: \"97\", departmentName: \"Guadeloupe\", prefectureName: \"Basse-Terre\" },\n { code: \"97\", departmentName: \"Guyane\", prefectureName: \"Cayenne\" },\n { code: \"97\", departmentName: \"Martinique\", prefectureName: \"Fort-De-France\" },\n { code: \"97\", departmentName: \"Mayotte\", prefectureName: \"Dzaoudzi\" },\n { code: \"97\", departmentName: \"Reunion\", prefectureName: \"Saint-Denis\" },\n];\n","import { FinancialProductEnum } from \"../enums/financial-product.enum\";\n\nexport interface FinancialProduct {\n key: FinancialProductEnum;\n label: string;\n}\n\nexport const FinancialProducts: FinancialProduct[] = [\n { key: FinancialProductEnum.LIVRET_A, label: \"Livret A\" },\n { key: FinancialProductEnum.LDDS, label: \"LDDS\" },\n { key: FinancialProductEnum.LEP, label: \"LEP\" },\n { key: FinancialProductEnum.COMPTE_SUR_LIVRET, label: \"Compte sur livret\" },\n { key: FinancialProductEnum.COMPTE_A_TERME, label: \"Compte à terme\" },\n { key: FinancialProductEnum.ASSURANCE_VIE, label: \"Assurance-vie\" },\n { key: FinancialProductEnum.PEA, label: \"PEA\" },\n { key: FinancialProductEnum.COMPTE_TITRES_ORDINAIRE, label: \"CTO\" },\n { key: FinancialProductEnum.PER, label: \"PER\" },\n { key: FinancialProductEnum.EPARGNE_SALARIALE, label: \"Épargne salariale\" },\n { key: FinancialProductEnum.SCPI, label: \"SCPI\" },\n { key: FinancialProductEnum.PRIVATE_EQUITY, label: \"Private equity\" },\n { key: FinancialProductEnum.LUXEMBOURG_INSURANCE, label: \"Assurance Luxembourgeoise\" },\n { key: FinancialProductEnum.PEL, label: \"PEL\" },\n { key: FinancialProductEnum.OTHER, label: \"Autre\" },\n];\n\nexport function getFinancialProductLabel(key: FinancialProductEnum): string {\n const financialProductLabel = FinancialProducts.find(\n (product) => product.key === key.toUpperCase(),\n );\n\n if (!financialProductLabel) {\n return \"Inconnu\";\n }\n\n return financialProductLabel.label;\n}\n\nexport function getFinancialProductKey(label: string): FinancialProductEnum | null {\n const financialProductKey = FinancialProducts.find((product) => product.label === label);\n\n if (!financialProductKey) {\n return null;\n }\n\n return financialProductKey.key;\n}\n","import { HouseholdSalaryRangeEnum } from \"../enums/household-salary-range.enum\";\n\nexport interface HouseholdSalaryRange {\n key: HouseholdSalaryRangeEnum;\n label: string;\n}\n\nexport const HouseholdSalaryRanges: HouseholdSalaryRange[] = [\n { key: HouseholdSalaryRangeEnum.LESS_THAN_30K, label: \"Moins de 30 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_30K_AND_50K, label: \"Entre 30 000€ et 50 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_50K_AND_80K, label: \"Entre 50 000€ et 80 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_80K_AND_120K, label: \"Entre 80 000€ et 120 000€\" },\n { key: HouseholdSalaryRangeEnum.BETWEEN_120K_AND_180K, label: \"Entre 120 000€ et 180 000€\" },\n { key: HouseholdSalaryRangeEnum.MORE_THAN_180K, label: \"Plus de 180 000€\" },\n];\n\nexport function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string {\n const range = HouseholdSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as HouseholdSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null {\n const range = HouseholdSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { EMAIL_REGEX } from \"../constants\";\nimport {\n FinancialProductEnum,\n MaritalStatusEnum,\n ProfessionStatusEnum,\n ProjectNeedEnum,\n ProjectOptionEnum,\n} from \"../enums\";\n\ninterface ProjectLocalData {\n option: ProjectOptionEnum | null;\n need: ProjectNeedEnum | null;\n financialProduct: FinancialProductEnum | null;\n initialAmount: number | null;\n monthlyAmount: number | null;\n}\n\nexport const calculateProjectCompletedValue = (\n project: ProjectLocalData | undefined | null,\n): number => {\n if (!project) return 0;\n\n let sum = 0;\n\n if (project.need) {\n sum += 25;\n }\n\n if (project.option) {\n sum += 25;\n }\n\n if (project.need === ProjectNeedEnum.SPECIFIC_PRODUCT && project.financialProduct === null) {\n sum -= 15;\n }\n\n if (project.initialAmount !== null) {\n sum += 25;\n }\n if (project.monthlyAmount !== null) {\n sum += 25;\n }\n\n return Math.min(100, sum);\n};\n\ninterface UserPersonalLocalData {\n postalCode: string | null;\n isMainResidenceOwner: boolean | null; // switch\n maritalStatus: MaritalStatusEnum | null;\n haveDependentChildren: boolean | null; // switch\n}\n\nexport const calculateUserPersonalDataCompletedValue = (\n data: UserPersonalLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 50;\n\n sum += data.maritalStatus !== null ? 25 : 0;\n sum += data.postalCode !== null ? 25 : 0;\n\n // We must consider the switchs as automatically completed even if it is null\n // not touched by the user\n\n return Math.min(100, sum);\n};\n\ninterface IdentityLocalData {\n firstName: string | null;\n lastName: string | null;\n birthYear: number | null;\n email: string | null;\n}\n\nexport const calculateIdentityCompletedValue = (\n data: IdentityLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 0;\n\n if (data.firstName && data.firstName.trim().length > 0) {\n sum += 25;\n }\n if (data.lastName && data.lastName.trim().length > 0) {\n sum += 25;\n }\n if (data.birthYear) {\n sum += 25;\n }\n if (data.email && EMAIL_REGEX.test(data.email)) {\n sum += 25;\n }\n\n return Math.min(100, sum);\n};\n\ninterface UserFinancialLocalData {\n professionStatus: ProfessionStatusEnum | null;\n salaryRange: string | null;\n haveLoan: boolean | null; // switch\n personalNetWorthRange: string | null;\n financialProductsOwned: FinancialProductEnum[] | null;\n}\n\nexport const calculateFinancialSummaryCompletedValue = (\n data: UserFinancialLocalData | undefined | null,\n): number => {\n if (!data) return 0;\n\n let sum = 20;\n\n sum += data.professionStatus !== null ? 20 : 0;\n\n sum += data.salaryRange !== null ? 20 : 0;\n\n sum += data.personalNetWorthRange !== null ? 20 : 0;\n\n sum += data.financialProductsOwned !== null ? 20 : 0;\n // We must consider the switchs as automatically completed even if it is null\n // not touched by the user\n // But not the list of financial products!\n\n return Math.min(100, sum);\n};\n","import { MaritalStatusEnum } from \"../enums/marital-status.enum\";\n\nexport interface MaritalStatus {\n key: MaritalStatusEnum;\n label: string;\n}\n\nexport const MartialStatuses: MaritalStatus[] = [\n { key: MaritalStatusEnum.SINGLE, label: \"Célibataire\" },\n { key: MaritalStatusEnum.COUPLE, label: \"En couple\" },\n { key: MaritalStatusEnum.PACS, label: \"Pacsé(e)\" },\n { key: MaritalStatusEnum.MARRIED, label: \"Marié(e)\" },\n { key: MaritalStatusEnum.DIVORCED, label: \"Divorcé(e)\" },\n { key: MaritalStatusEnum.WIDOWED, label: \"Veuf(ve)\" },\n { key: MaritalStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getMaritalStatusLabel(maritalStatus: MaritalStatusEnum | string): string {\n const ms = MartialStatuses.find(\n (ms) => ms.key === (maritalStatus as MaritalStatusEnum).toUpperCase(),\n );\n\n return !ms ? \"Inconnu\" : ms.label;\n}\n\nexport function getMaritalStatusKey(label: string): MaritalStatusEnum | null {\n const ms = MartialStatuses.find((ms) => ms.label === label);\n return !ms ? null : ms.key;\n}\n","import { ProCertificationEnum } from \"../enums/pro/pro-certification.enum\";\n\nexport interface ProCertification {\n key: ProCertificationEnum;\n label: string;\n description: string;\n}\n\nexport const ProCertifications: ProCertification[] = [\n {\n key: ProCertificationEnum.AMF,\n label: \"AMF\",\n description:\n \"Autorité des Marchés Financiers. Professionnel autorisé à exercer dans le secteur du conseil financier.\",\n },\n {\n key: ProCertificationEnum.CIF,\n label: \"CIF\",\n description:\n \"Conseiller en Investissements Financiers. Professionnel autorisé à fournir des conseils en investissement et recommandations de produits financiers.\",\n },\n {\n key: ProCertificationEnum.IAS,\n label: \"IAS\",\n description:\n \"Intermédiaire en Assurance. Professionnel autorisé à vendre des produits d'assurance, tels que l'assurance-vie par exemple.\",\n },\n];\n\nexport function getProCertificationByKey(key: ProCertificationEnum): ProCertification | null {\n const proCertification = ProCertifications.find((cert) => cert.key === key.toUpperCase());\n\n return !proCertification ? null : proCertification;\n}\n\nexport function getProCertificationByLabelOrDescription(label: string): ProCertification | null {\n const proCertification = ProCertifications.find(\n (cert) => cert.label === label || cert.description === label,\n );\n\n return !proCertification ? null : proCertification;\n}\n","import { PersonalSalaryRangeEnum } from \"../enums/personal-salary-range.enum\";\n\nexport interface PersonalSalaryRange {\n key: PersonalSalaryRangeEnum;\n label: string;\n}\n\nexport const PersonalSalaryRanges: PersonalSalaryRange[] = [\n { key: PersonalSalaryRangeEnum.LESS_THAN_20K, label: \"Moins de 20 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_20K_AND_30K, label: \"Entre 20 000€ et 30 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_30K_AND_45K, label: \"Entre 30 000€ et 45 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_45K_AND_65K, label: \"Entre 45 000€ et 65 000€\" },\n { key: PersonalSalaryRangeEnum.BETWEEN_65K_AND_90K, label: \"Entre 65 000€ et 90 000€\" },\n { key: PersonalSalaryRangeEnum.MORE_THAN_90K, label: \"Plus de 90 000€\" },\n];\n\nexport const getPersonalSalaryRangeLabel = (key: PersonalSalaryRangeEnum | string): string => {\n const range = PersonalSalaryRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalSalaryRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n};\n\nexport const getPersonalSalaryRangeKey = (label: string): PersonalSalaryRangeEnum | null => {\n const range = PersonalSalaryRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n};\n","import { PersonalNetWorthRangeEnum } from \"../enums/personal-net-worth-range.enum\";\n\nexport interface PersonalNetWorthRange {\n key: PersonalNetWorthRangeEnum;\n label: string;\n}\n\nexport const PersonalNetWorthRanges: PersonalNetWorthRange[] = [\n { key: PersonalNetWorthRangeEnum.LESS_THAN_100K, label: \"Moins de 100 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_100K_AND_200K, label: \"Entre 100 000€ et 200 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_200K_AND_500K, label: \"Entre 200 000€ et 500 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_500K_AND_1M, label: \"Entre 500 000€ et 1 000 000€\" },\n { key: PersonalNetWorthRangeEnum.BETWEEN_1M_AND_2M, label: \"Entre 1 000 000€ et 2 000 000€\" },\n { key: PersonalNetWorthRangeEnum.MORE_THAN_2M, label: \"Plus de 2 000 000€\" },\n];\n\nexport function getPersonalNetWorthRangeLabel(key: PersonalNetWorthRangeEnum | string): string {\n const range = PersonalNetWorthRanges.find(\n (range) => range.key === (key.toUpperCase() as PersonalNetWorthRangeEnum),\n );\n return !range ? \"Inconnu\" : range.label;\n}\n\nexport function getPersonalNetWorthRangeKey(label: string): PersonalNetWorthRangeEnum | null {\n const range = PersonalNetWorthRanges.find((range) => range.label === label);\n return !range ? null : range.key;\n}\n","import { ProfessionStatusEnum } from \"../enums/profession-status.enum\";\n\nexport interface ProfessionStatus {\n key: ProfessionStatusEnum;\n label: string;\n}\n\nexport const ProfessionStatusList: ProfessionStatus[] = [\n { key: ProfessionStatusEnum.STUDENT, label: \"Étudiant\" },\n { key: ProfessionStatusEnum.INTERIM, label: \"Interim\" },\n { key: ProfessionStatusEnum.CIVIL_SERVANT, label: \"Fonctionnaire\" },\n { key: ProfessionStatusEnum.CDD, label: \"Salarié en CDD\" },\n { key: ProfessionStatusEnum.CDI, label: \"Salarié en CDI\" },\n { key: ProfessionStatusEnum.INDEPENDANT, label: \"Indépendant\" },\n { key: ProfessionStatusEnum.LIBERAL, label: \"Profession libérale\" },\n { key: ProfessionStatusEnum.COMPANY_DIRECTOR, label: \"Chef d'entreprise\" },\n { key: ProfessionStatusEnum.RETIRED, label: \"Retraité\" },\n { key: ProfessionStatusEnum.JOB_SEEKER, label: \"En recherche d'emploi\" },\n { key: ProfessionStatusEnum.INACTIVE, label: \"Sans activité\" },\n { key: ProfessionStatusEnum.DONT_WANT_TO_SAY, label: \"Ne souhaite pas répondre\" },\n];\n\nexport function getProfessionStatusLabel(professionStatus: ProfessionStatusEnum | string): string {\n const ps = ProfessionStatusList.find(\n (s) => s.key === (professionStatus as ProfessionStatusEnum).toUpperCase(),\n );\n\n return !ps ? \"Inconnu\" : ps.label;\n}\n\nexport function getProfessionStatusKey(label: string): ProfessionStatusEnum | null {\n const ps = ProfessionStatusList.find((s) => s.label === label);\n return !ps ? null : ps.key;\n}\n","import { ProfessionEnum } from \"../enums/profession.enum\";\n\nexport interface Profession {\n value: ProfessionEnum;\n label: string;\n}\n\nexport const ProfessionsList: Profession[] = [\n { value: ProfessionEnum.AGRICULTURE_ENVIRONMENT, label: \"l'agriculture et l'environnement\" },\n { value: ProfessionEnum.REAL_ESTATE_CONSTRUCTION, label: \"l'immobilier et construction\" },\n { value: ProfessionEnum.INDUSTRY_ENERGY, label: \"l'industrie et les énergies\" },\n { value: ProfessionEnum.DIGITAL_TELECOM, label: \"le numérique et télécoms\" },\n { value: ProfessionEnum.RETAIL_DISTRIBUTION, label: \"le commerce et la distribution\" },\n { value: ProfessionEnum.TRANSPORT_LOGISTICS, label: \"le transport et la logistique\" },\n { value: ProfessionEnum.FINANCE_INSURANCE, label: \"la finance et l'assurance\" },\n { value: ProfessionEnum.HEALTH_SOCIAL, label: \"la santé et le social\" },\n { value: ProfessionEnum.EDUCATION_RESEARCH, label: \"l'éducation et la recherche\" },\n { value: ProfessionEnum.PUBLIC_ADMINISTRATION, label: \"l'administration publique\" },\n { value: ProfessionEnum.MILITARY_SECURITY, label: \"l'armée et la sécurité\" },\n { value: ProfessionEnum.CATERING_TOURISM, label: \"la restauration et le tourisme\" },\n { value: ProfessionEnum.CULTURE_LEISURE, label: \"la culture et les loisirs\" },\n { value: ProfessionEnum.ARTS_MEDIA, label: \"les arts et les médias\" },\n { value: ProfessionEnum.OTHER_SECTOR, label: \"un autre secteur\" },\n];\n\nexport function getProfessionLabel(profession: ProfessionEnum): string {\n const professionDomain = ProfessionsList.find((p) => p.value === profession.toUpperCase());\n\n if (!professionDomain) {\n return \"Inconnu\";\n }\n\n return professionDomain.label;\n}\n\nexport function getProfessionKey(label: string): ProfessionEnum | null {\n const professionKey = ProfessionsList.find((p) => p.label === label);\n\n if (!professionKey) {\n return null;\n }\n\n return professionKey.value;\n}\n","import { ProjectNeedEnum } from \"../enums/project-need.enum\";\n\nexport interface ProjectNeed {\n key: ProjectNeedEnum;\n userLabel: string;\n proLabel: string;\n}\n\nexport const ProjectNeeds: ProjectNeed[] = [\n {\n key: ProjectNeedEnum.WEALTH_ASSESSMENT,\n userLabel:\n \"Je n'ai pas d'idée précise, j'aimerais recevoir des conseils et messages adaptés à ma situation.\",\n proLabel:\n \"Pas d'idée précise, souhaite recevoir des conseils et offres adaptés à sa situation.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_STOCK_EXCHANGE,\n userLabel: \"Je compte me lancer en bourse.\",\n proLabel: \"Souhaite investir dans la bourse.\",\n },\n {\n key: ProjectNeedEnum.PREPARE_RETIREMENT,\n userLabel: \"Je pense à l'avenir et souhaite préparer ma retraite.\",\n proLabel: \"Souhaite préparer sa retraite.\",\n },\n {\n key: ProjectNeedEnum.TAX_OPTIMIZATION,\n userLabel: \"J'ai besoin de payer moins d'impôts, il faut que je défiscalise.\",\n proLabel: \"Souhaite optimiser ses impôts.\",\n },\n {\n key: ProjectNeedEnum.OPTIMIZE_SAVINGS,\n userLabel:\n \"Je suis dynamique et j'aimerais que mon épargne le soit également, qu'elle me rapporte plus.\",\n proLabel: \"Souhaite optimiser son épargne.\",\n },\n {\n key: ProjectNeedEnum.PASS_ON_TO_DESCENDANTS,\n userLabel: \"Je dois protéger mes enfants, il est temps de parler transmission.\",\n proLabel: \"Souhaite protéger ses enfants.\",\n },\n {\n key: ProjectNeedEnum.DIVERSIFY_ASSETS,\n userLabel: \"J'aimerais savoir comment diversifier mon patrimoine pour réduire les risques.\",\n proLabel: \"Souhaite diversifier son patrimoine pour réduire les risques.\",\n },\n {\n key: ProjectNeedEnum.FUND_REAL_ECONOMY,\n userLabel: \"Je veux participer à l'effort collectif par le financement de l'économie réelle.\",\n proLabel: \"Souhaite participer à l'effort collectif par le financement de l'économie réelle.\",\n },\n {\n key: ProjectNeedEnum.SOCIAL_AND_ENVIRONMENTAL_INVESTMENTS,\n userLabel:\n \"J'ai envie de donner du sens à mon argent et voudrais en savoir plus sur l'épargne responsable.\",\n proLabel: \"Souhaite participer à l'épargne responsable.\",\n },\n {\n key: ProjectNeedEnum.SAFETY_SAVINGS,\n userLabel: \"J'ai peur de l'imprévu et envisage de constituer une épargne de sécurité.\",\n proLabel: \"Souhaite constituer une épargne de sécurité.\",\n },\n {\n key: ProjectNeedEnum.INVEST_IN_REAL_ESTATE,\n userLabel: \"Je souhaite investir dans l'immobilier.\",\n proLabel: \"Souhaite investir dans l'immobilier.\",\n },\n];\n\nexport function getProjectNeedUserLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.userLabel;\n}\n\nexport function getProjectNeedProLabel(key: ProjectNeedEnum): string {\n const projectNeedLabel = ProjectNeeds.find((need) => need.key === key.toUpperCase());\n\n if (!projectNeedLabel) {\n return \"Inconnu\";\n }\n\n return projectNeedLabel.proLabel;\n}\n\nexport function getProjectNeedKey(label: string): ProjectNeedEnum | null {\n let projectNeedKey = ProjectNeeds.find((need) => need.userLabel === label);\n\n if (projectNeedKey) {\n return projectNeedKey.key;\n }\n\n projectNeedKey = ProjectNeeds.find((need) => need.proLabel === label);\n\n if (!projectNeedKey) {\n return null;\n }\n\n return projectNeedKey.key;\n}\n"],"mappings":"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","names":["ProStatusEnum","ProCertificationEnum","AssetTypeEnum","AvailableCryptocurrencySymbolEnum","AvailableCurrencyEnum","BankAccountTransactionTypeEnum","BankAccountTypeEnum","BudgetTypeEnum","FetchPowensConnectionsTypeEnum","FinancialProductEnum","HouseholdSalaryRangeEnum","LegalDocumentTypeEnum","LoanTypeEnum","MaritalStatusEnum","MobilityTypeEnum","OfferStatusEnum","PersonalNetWorthRangeEnum","PersonalSalaryRangeEnum","PhoneVerificationStatusEnum","PowensConnectionStateEnum","PowensUserStatusEnum","ProfessionStatusEnum","ProfessionEnum","ProjectNeedEnum","ProjectOptionEnum","ProjectStatusEnum","RealEstateTypeEnum","SupportedCurrencyExchangesEnum","SupportedCurrencySymbolsEnum","UserAiSummaryStatusEnum","UserStatusEnum","range","ms","range","range"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sowhat-types",
3
- "version": "2.1.21",
3
+ "version": "2.1.23",
4
4
  "description": "Sowhat types",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",