Closes #9151 ## Description This PR automatically sets a workspace's logo based on the user's work email domain during signup. When a user creates a new workspace using their work email (e.g., @airbnb.com), the system will fetch and set their company logo from twenty-icons.com as the default workspace logo. ## Implementation Details - Added a new `CompanyEnrichmentService` to handle company-related data enrichment - Created a modular architecture that supports future enrichment features (e.g., company name, details) - Integrated with existing work email detection - Maintains user ability to override the logo later ## Testing https://github.com/user-attachments/assets/f7855c99-462a-4053-9e52-29649e954275 I tested the following scenarios: - Signing up with a work email (e.g., @company.com) → Logo is automatically set - Signing up with a personal email (e.g., @gmail.com) → No logo is set - User can still upload a custom logo after automatic setting ## Technical Notes - Uses existing `isWorkEmail` utility - Structured for future extensibility (additional company data enrichment) - No breaking changes to existing functionality --------- Co-authored-by: Félix Malfait <felix@twenty.com>
40 lines
1.1 KiB
JSON
40 lines
1.1 KiB
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"jsx": "react-jsx",
|
|
"module": "commonjs",
|
|
"declaration": true,
|
|
"removeComments": true,
|
|
"emitDecoratorMetadata": true,
|
|
"experimentalDecorators": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"allowUnreachableCode": false,
|
|
"esModuleInterop": true,
|
|
"target": "es2017",
|
|
"sourceMap": true,
|
|
"inlineSources": true,
|
|
"outDir": "./dist",
|
|
"incremental": true,
|
|
"skipLibCheck": true,
|
|
"strictNullChecks": true,
|
|
"alwaysStrict": true,
|
|
"noImplicitAny": false,
|
|
"strictBindCallApply": false,
|
|
"forceConsistentCasingInFileNames": false,
|
|
"noFallthroughCasesInSwitch": false,
|
|
"resolveJsonModule": true,
|
|
"types": ["jest", "node"],
|
|
"paths": {
|
|
"src/*": ["packages/twenty-server/src/*"],
|
|
"test/*": ["packages/twenty-server/test/*"],
|
|
"twenty-emails": ["packages/twenty-emails/dist"],
|
|
"twenty-shared": ["packages/twenty-shared/dist"]
|
|
}
|
|
},
|
|
"ts-node": {
|
|
"files": true,
|
|
"require": ["tsconfig-paths/register"]
|
|
},
|
|
"exclude": ["dist"]
|
|
}
|