sowhat-types 2.1.20 → 2.1.22
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 +33 -1
- package/dist/index.d.ts +33 -1
- package/dist/index.js +108 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +104 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1022,6 +1022,7 @@ interface UserPersonalSummaryResponse {
|
|
|
1022
1022
|
haveDependentChildren: boolean | null;
|
|
1023
1023
|
personalNetWorthRange: string | null;
|
|
1024
1024
|
grossAnnualHouseholdIncomeRange: string | null;
|
|
1025
|
+
updatedAt: Date | null;
|
|
1025
1026
|
}
|
|
1026
1027
|
|
|
1027
1028
|
interface UserProfileResponse {
|
|
@@ -1316,6 +1317,37 @@ declare const HouseholdSalaryRanges: HouseholdSalaryRange[];
|
|
|
1316
1317
|
declare function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string;
|
|
1317
1318
|
declare function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null;
|
|
1318
1319
|
|
|
1320
|
+
interface ProjectLocalData {
|
|
1321
|
+
option: ProjectOptionEnum | null;
|
|
1322
|
+
need: ProjectNeedEnum | null;
|
|
1323
|
+
financialProduct: FinancialProductEnum | null;
|
|
1324
|
+
initialAmount: number | null;
|
|
1325
|
+
monthlyAmount: number | null;
|
|
1326
|
+
}
|
|
1327
|
+
declare const calculateProjectCompletedValue: (project: ProjectLocalData | undefined | null) => number;
|
|
1328
|
+
interface UserPersonalLocalData {
|
|
1329
|
+
postalCode: string | null;
|
|
1330
|
+
isMainResidenceOwner: boolean | null;
|
|
1331
|
+
maritalStatus: MaritalStatusEnum | null;
|
|
1332
|
+
haveDependentChildren: boolean | null;
|
|
1333
|
+
}
|
|
1334
|
+
declare const calculateUserPersonalDataCompletedValue: (data: UserPersonalLocalData | undefined | null) => number;
|
|
1335
|
+
interface IdentityLocalData {
|
|
1336
|
+
firstName: string | null;
|
|
1337
|
+
lastName: string | null;
|
|
1338
|
+
birthYear: number | null;
|
|
1339
|
+
email: string | null;
|
|
1340
|
+
}
|
|
1341
|
+
declare const calculateIdentityCompletedValue: (data: IdentityLocalData | undefined | null) => number;
|
|
1342
|
+
interface UserFinancialLocalData {
|
|
1343
|
+
professionStatus: ProfessionStatusEnum | null;
|
|
1344
|
+
salaryRange: string | null;
|
|
1345
|
+
haveLoan: boolean | null;
|
|
1346
|
+
personalNetWorthRange: string | null;
|
|
1347
|
+
financialProductsOwned: FinancialProductEnum[] | null;
|
|
1348
|
+
}
|
|
1349
|
+
declare const calculateFinancialSummaryCompletedValue: (data: UserFinancialLocalData | undefined | null) => number;
|
|
1350
|
+
|
|
1319
1351
|
interface MaritalStatus {
|
|
1320
1352
|
key: MaritalStatusEnum;
|
|
1321
1353
|
label: string;
|
|
@@ -1379,4 +1411,4 @@ declare function getProjectNeedKey(label: string): ProjectNeedEnum | null;
|
|
|
1379
1411
|
|
|
1380
1412
|
type ExactMatch<T, U extends T> = T & Record<keyof T, keyof U>;
|
|
1381
1413
|
|
|
1382
|
-
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 };
|
|
1414
|
+
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
|
@@ -1022,6 +1022,7 @@ interface UserPersonalSummaryResponse {
|
|
|
1022
1022
|
haveDependentChildren: boolean | null;
|
|
1023
1023
|
personalNetWorthRange: string | null;
|
|
1024
1024
|
grossAnnualHouseholdIncomeRange: string | null;
|
|
1025
|
+
updatedAt: Date | null;
|
|
1025
1026
|
}
|
|
1026
1027
|
|
|
1027
1028
|
interface UserProfileResponse {
|
|
@@ -1316,6 +1317,37 @@ declare const HouseholdSalaryRanges: HouseholdSalaryRange[];
|
|
|
1316
1317
|
declare function getHouseholdSalaryRangeLabel(key: HouseholdSalaryRangeEnum | string): string;
|
|
1317
1318
|
declare function getHouseholdSalaryRangeKey(label: string): HouseholdSalaryRangeEnum | null;
|
|
1318
1319
|
|
|
1320
|
+
interface ProjectLocalData {
|
|
1321
|
+
option: ProjectOptionEnum | null;
|
|
1322
|
+
need: ProjectNeedEnum | null;
|
|
1323
|
+
financialProduct: FinancialProductEnum | null;
|
|
1324
|
+
initialAmount: number | null;
|
|
1325
|
+
monthlyAmount: number | null;
|
|
1326
|
+
}
|
|
1327
|
+
declare const calculateProjectCompletedValue: (project: ProjectLocalData | undefined | null) => number;
|
|
1328
|
+
interface UserPersonalLocalData {
|
|
1329
|
+
postalCode: string | null;
|
|
1330
|
+
isMainResidenceOwner: boolean | null;
|
|
1331
|
+
maritalStatus: MaritalStatusEnum | null;
|
|
1332
|
+
haveDependentChildren: boolean | null;
|
|
1333
|
+
}
|
|
1334
|
+
declare const calculateUserPersonalDataCompletedValue: (data: UserPersonalLocalData | undefined | null) => number;
|
|
1335
|
+
interface IdentityLocalData {
|
|
1336
|
+
firstName: string | null;
|
|
1337
|
+
lastName: string | null;
|
|
1338
|
+
birthYear: number | null;
|
|
1339
|
+
email: string | null;
|
|
1340
|
+
}
|
|
1341
|
+
declare const calculateIdentityCompletedValue: (data: IdentityLocalData | undefined | null) => number;
|
|
1342
|
+
interface UserFinancialLocalData {
|
|
1343
|
+
professionStatus: ProfessionStatusEnum | null;
|
|
1344
|
+
salaryRange: string | null;
|
|
1345
|
+
haveLoan: boolean | null;
|
|
1346
|
+
personalNetWorthRange: string | null;
|
|
1347
|
+
financialProductsOwned: FinancialProductEnum[] | null;
|
|
1348
|
+
}
|
|
1349
|
+
declare const calculateFinancialSummaryCompletedValue: (data: UserFinancialLocalData | undefined | null) => number;
|
|
1350
|
+
|
|
1319
1351
|
interface MaritalStatus {
|
|
1320
1352
|
key: MaritalStatusEnum;
|
|
1321
1353
|
label: string;
|
|
@@ -1379,4 +1411,4 @@ declare function getProjectNeedKey(label: string): ProjectNeedEnum | null;
|
|
|
1379
1411
|
|
|
1380
1412
|
type ExactMatch<T, U extends T> = T & Record<keyof T, keyof U>;
|
|
1381
1413
|
|
|
1382
|
-
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 };
|
|
1414
|
+
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__ */ ((
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return
|
|
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__ */ ((
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
return
|
|
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__ */ ((
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
return
|
|
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__ */ ((
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
return
|
|
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__ */ ((
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return
|
|
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__ */ ((
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return
|
|
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__ */ ((
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
return
|
|
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__ */ ((
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
return
|
|
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,
|
package/dist/index.mjs.map
CHANGED
|
@@ -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"]}
|