Basic data enrichment (#3023)

* Add Enrich to frontend

* Naive backend implementation

* Add work email check

* Rename Enrich to Quick Action

* Refactor logic to a separate service

* Refacto to separate IntelligenceService

* Small fixes

* Missing Break statement

* Address PR comments

* Create company interface

* Improve edge case handling

* Use httpService instead of Axios

* Fix server tests
This commit is contained in:
Félix Malfait
2023-12-18 15:45:30 +01:00
committed by GitHub
parent 576492f3c0
commit fff51a2d91
38 changed files with 16928 additions and 27 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
import axios from 'axios';
import { Axios } from 'axios';
const cropRegex = /([w|h])([0-9]+)/;
@ -22,8 +22,11 @@ export const getCropSize = (value: ShortCropSize): CropSize | null => {
};
};
export const getImageBufferFromUrl = async (url: string): Promise<Buffer> => {
const response = await axios.get(url, {
export const getImageBufferFromUrl = async (
url: string,
axiosInstance: Axios,
): Promise<Buffer> => {
const response = await axiosInstance.get(url, {
responseType: 'arraybuffer',
});

View File

@ -0,0 +1,21 @@
import { emailProvidersSet } from 'src/utils/email-providers';
export const isWorkEmail = (email: string) => {
if (!email) {
return false;
}
const fields = email.split('@');
if (fields.length !== 2) {
return false;
}
const domain = fields[1];
if (!domain) {
return false;
}
return !emailProvidersSet.has(domain);
};