Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d4424afb4 | ||
|
|
d7c3f2282d | ||
|
|
fd75c15db3 | ||
|
|
27db8bbae4 | ||
|
|
84ba7eb8dc | ||
|
|
eafd31c919 | ||
|
|
a3d73740a1 | ||
|
|
d6ea28ba58 | ||
|
|
a21e1420c1 | ||
|
|
0d3c7a47af | ||
|
|
2dbdd72e65 | ||
|
|
f20d04eb6e | ||
|
|
f72898063a | ||
|
|
09d68afeea | ||
|
|
8e56d1d56c | ||
|
|
e0957490dc | ||
|
|
82e8d82848 |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-twenty-app",
|
||||
"version": "2.10.0",
|
||||
"version": "2.11.0",
|
||||
"description": "Command-line interface to create Twenty application",
|
||||
"main": "dist/cli.cjs",
|
||||
"bin": "dist/cli.cjs",
|
||||
|
||||
@@ -2,9 +2,32 @@
|
||||
|
||||
Enriches **Person** and **Company** records with [People Data Labs](https://www.peopledatalabs.com/) (PDL) data.
|
||||
|
||||
> **Status: data-model scaffold.** This package defines the fields, relation, indexes,
|
||||
> views, role, and manifest. The enrichment **logic function (the "mapper") is not yet
|
||||
> implemented** — see [What the mapper must do](#what-the-mapper-must-do).
|
||||
> **Status: data model + enrichment mapper.** This package defines the fields, relation,
|
||||
> indexes, views, role, and manifest, and implements the enrichment **logic functions**
|
||||
> that call the PDL REST API and map the response onto the standard + `pdl*` fields.
|
||||
|
||||
---
|
||||
|
||||
## Enrichment logic functions
|
||||
|
||||
`enrich-person` / `enrich-company` (workflow actions, for the manual record action) plus
|
||||
`enrich-person-tool` / `enrich-company-tool` (AI tools) all delegate to a shared,
|
||||
trigger-agnostic core in `src/logic-functions/handlers/`:
|
||||
|
||||
- Read the record, guard against re-enriching within a TTL (`pdlLastEnrichedAt`), pick a
|
||||
match identifier (person: `pdlId` → LinkedIn → email → name; company: `pdlId` → domain →
|
||||
name), and call the PDL Person/Company Enrichment API (`src/logic-functions/utils/`).
|
||||
- On a match: fill **standard fields only when empty** (never clobber user data), always
|
||||
(re)write `pdl*` fields, and set `pdlEnrichmentStatus = MATCHED`, `pdlLastEnrichedAt`,
|
||||
`pdlRawPayload` (+ `pdlLikelihood` for Person). PDL `404` → `NOT_FOUND`; other errors →
|
||||
`ERROR`. No identifier / fresh TTL → skipped with no writes.
|
||||
- SELECT/MULTI_SELECT values are normalized and dropped if not in the field's option set
|
||||
(`src/logic-functions/utils/`); the option sets are the same `src/constants/*-options.ts`
|
||||
the field definitions use.
|
||||
|
||||
Run locally: `yarn twenty dev:function:exec -n enrich-person -p '{"recordId":"<id>"}'`.
|
||||
|
||||
**Deferred to a later PR:** enrichment metering/billing, and auto-enrichment triggers.
|
||||
|
||||
---
|
||||
|
||||
@@ -25,9 +48,9 @@ PDL schema v34.1**:
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------ |
|
||||
| `pdlSeniority` (`job_title_levels`, array) | MULTI_SELECT | 10 |
|
||||
| `pdlFundingStages` (`funding_stages`, array) | MULTI_SELECT | 29 |
|
||||
| `pdlIndustry` / `pdlJobCompanyIndustry` (`industry`) | SELECT | 147 |
|
||||
| `pdlIndustry` (`industry`) | SELECT | 147 |
|
||||
| `pdlJobTitleSubRole` (`job_title_sub_role`) | SELECT | 106 |
|
||||
| `pdlJobTitleClass`, `pdlInferredSalary`, `pdlSex`, `pdlCompanyType`, `pdlSizeRange`, `pdlJobCompanySize`, `pdlLatestFundingStage`, `pdlLocationContinent`, `pdlLocationMetro`, `pdlMicExchange` | SELECT | 5 / 11 / 2 / 6 / 8 / 8 / 29 / 7 / 384 / 70 |
|
||||
| `pdlJobTitleClass`, `pdlInferredSalary`, `pdlSex`, `pdlCompanyType`, `pdlSizeRange`, `pdlLatestFundingStage`, `pdlLocationContinent`, `pdlLocationMetro`, `pdlMicExchange` | SELECT | 5 / 11 / 2 / 6 / 8 / 29 / 7 / 384 / 70 |
|
||||
|
||||
- Option `value`s are normalized to **GraphQL enum names** (`united states` → `UNITED_STATES`):
|
||||
uppercase, accents stripped, non-alphanumeric → `_`, digit-leading prefixed.
|
||||
@@ -58,11 +81,19 @@ into the standard bags).
|
||||
- `pdlLocationMetro` (both) and `pdlLocationContinent` (company) stay SELECT — ADDRESS has no slot.
|
||||
_Trade-off:_ ADDRESS `country` is free text, so the country SELECT was dropped.
|
||||
|
||||
### Relation
|
||||
### Current company → standard `company`
|
||||
|
||||
Dedicated **`pdlCurrentCompany`** (Person `MANY_TO_ONE` → Company) ↔ inverse
|
||||
**`pdlCurrentEmployees`** (Company `ONE_TO_MANY` → Person). Deliberately **not** the standard
|
||||
`company` relation, so PDL's detected employer can't overwrite the user's CRM account link.
|
||||
PDL's detected current employer (`job_company_*`) is resolved to a Company record
|
||||
(**find-or-create**, matched by `pdlId` → domain → LinkedIn → name; created with
|
||||
`name` / `domainName` / `linkedinLink` + `pdlId` / `pdlIndustry` / `pdlSizeRange` when none
|
||||
matches) and linked via the **standard `company`** relation, **fill-only-if-empty** — it never
|
||||
overwrites a company the user already set, and the lookup is skipped entirely when the person
|
||||
already has one (no orphan companies).
|
||||
|
||||
Company attributes live on the **Company** record, not denormalized on the Person. The earlier
|
||||
`pdlCurrentCompany` / `pdlCurrentEmployees` relation and the six `pdlJobCompany*` scalar fields
|
||||
were **removed** as duplicates of the standard `company` relation and the linked Company's own
|
||||
fields.
|
||||
|
||||
### Enrichment metadata
|
||||
|
||||
@@ -108,7 +139,8 @@ The logic function (to be built) must:
|
||||
10. **CURRENCY**: `total_funding_raised` (USD float) → `{ amountMicros: value × 1_000_000, currencyCode: 'USD' }`.
|
||||
11. **ADDRESS**: split PDL `location.*` into the composite — Company → standard `address`,
|
||||
Person → `pdlLocation`.
|
||||
12. **Relation**: resolve `job_company_id` → find/upsert a Company record → link `pdlCurrentCompany`.
|
||||
12. **Company**: resolve `job_company_*` → find-or-create a Company record → link the standard
|
||||
`company` relation (fill-only-if-empty).
|
||||
13. **Dates**: handle partial PDL dates (`YYYY`, `YYYY-MM`) for `job_start_date`,
|
||||
`last_funding_date`, `birth_date`.
|
||||
14. Always set `pdlId`, `pdlLastEnrichedAt`, `pdlRawPayload`, `pdlLikelihood` (person).
|
||||
|
||||
@@ -16,12 +16,13 @@
|
||||
"twenty": "twenty",
|
||||
"lint": "oxlint -c .oxlintrc.json .",
|
||||
"lint:fix": "oxlint --fix -c .oxlintrc.json .",
|
||||
"test": "vitest run --passWithNoTests",
|
||||
"test:watch": "vitest"
|
||||
"test": "vitest run --config vitest.unit.config.ts --passWithNoTests",
|
||||
"test:watch": "vitest --config vitest.unit.config.ts",
|
||||
"test:integration": "vitest run --passWithNoTests"
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-client-sdk": "2.4.0",
|
||||
"twenty-sdk": "2.4.0"
|
||||
"twenty-client-sdk": "2.9.1",
|
||||
"twenty-sdk": "2.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.7.2",
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { COMPANY_TYPE_OPTIONS } from 'src/constants/company-type-options';
|
||||
import { INFERRED_SALARY_OPTIONS } from 'src/constants/inferred-salary-options';
|
||||
import { JOB_ROLE_OPTIONS } from 'src/constants/job-role-options';
|
||||
import { JOB_TITLE_CLASS_OPTIONS } from 'src/constants/job-title-class-options';
|
||||
import { JOB_TITLE_SUB_ROLE_OPTIONS } from 'src/constants/job-title-sub-role-options';
|
||||
import { LOCATION_CONTINENT_OPTIONS } from 'src/constants/location-continent-options';
|
||||
import { MIC_EXCHANGE_OPTIONS } from 'src/constants/mic-exchange-options';
|
||||
import { SENIORITY_OPTIONS } from 'src/constants/seniority-options';
|
||||
import { SEX_OPTIONS } from 'src/constants/sex-options';
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
import companyTypeField from 'src/fields/company/pdl-company-type.field';
|
||||
import locationContinentField from 'src/fields/company/pdl-location-continent.field';
|
||||
import micExchangeField from 'src/fields/company/pdl-mic-exchange.field';
|
||||
import inferredSalaryField from 'src/fields/person/pdl-inferred-salary.field';
|
||||
import jobRoleField from 'src/fields/person/pdl-job-role.field';
|
||||
import jobTitleClassField from 'src/fields/person/pdl-job-title-class.field';
|
||||
import jobTitleSubRoleField from 'src/fields/person/pdl-job-title-sub-role.field';
|
||||
import seniorityField from 'src/fields/person/pdl-seniority.field';
|
||||
import sexField from 'src/fields/person/pdl-sex.field';
|
||||
|
||||
type FieldOption = { id?: string; value: string };
|
||||
|
||||
const fieldOptions = (field: unknown): FieldOption[] => {
|
||||
const options = (field as { config?: { options?: FieldOption[] } }).config
|
||||
?.options;
|
||||
return options ?? [];
|
||||
};
|
||||
|
||||
const cases: {
|
||||
name: string;
|
||||
field: unknown;
|
||||
options: readonly SelectOptionMeta[];
|
||||
}[] = [
|
||||
{ name: 'pdlSeniority', field: seniorityField, options: SENIORITY_OPTIONS },
|
||||
{ name: 'pdlJobRole', field: jobRoleField, options: JOB_ROLE_OPTIONS },
|
||||
{
|
||||
name: 'pdlJobTitleClass',
|
||||
field: jobTitleClassField,
|
||||
options: JOB_TITLE_CLASS_OPTIONS,
|
||||
},
|
||||
{
|
||||
name: 'pdlJobTitleSubRole',
|
||||
field: jobTitleSubRoleField,
|
||||
options: JOB_TITLE_SUB_ROLE_OPTIONS,
|
||||
},
|
||||
{ name: 'pdlSex', field: sexField, options: SEX_OPTIONS },
|
||||
{
|
||||
name: 'pdlInferredSalary',
|
||||
field: inferredSalaryField,
|
||||
options: INFERRED_SALARY_OPTIONS,
|
||||
},
|
||||
{
|
||||
name: 'pdlCompanyType',
|
||||
field: companyTypeField,
|
||||
options: COMPANY_TYPE_OPTIONS,
|
||||
},
|
||||
{
|
||||
name: 'pdlLocationContinent',
|
||||
field: locationContinentField,
|
||||
options: LOCATION_CONTINENT_OPTIONS,
|
||||
},
|
||||
{
|
||||
name: 'pdlMicExchange',
|
||||
field: micExchangeField,
|
||||
options: MIC_EXCHANGE_OPTIONS,
|
||||
},
|
||||
];
|
||||
|
||||
describe.each(cases)('$name options', ({ field, options }) => {
|
||||
it('resolves a universalIdentifier for every option', () => {
|
||||
expect(fieldOptions(field).every((option) => Boolean(option.id))).toBe(true);
|
||||
});
|
||||
|
||||
it('exposes exactly the values from its source constant', () => {
|
||||
expect(fieldOptions(field).map((option) => option.value)).toEqual(
|
||||
options.map((option) => option.value),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,46 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const COMPANY_TYPE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'public',
|
||||
value: 'PUBLIC',
|
||||
label: 'Public',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'private',
|
||||
value: 'PRIVATE',
|
||||
label: 'Private',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'publicSubsidiary',
|
||||
value: 'PUBLIC_SUBSIDIARY',
|
||||
label: 'Public Subsidiary',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'educational',
|
||||
value: 'EDUCATIONAL',
|
||||
label: 'Educational',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'government',
|
||||
value: 'GOVERNMENT',
|
||||
label: 'Government',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'nonprofit',
|
||||
value: 'NONPROFIT',
|
||||
label: 'Nonprofit',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
];
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const INFERRED_SALARY_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'under20000',
|
||||
value: 'UNDER_20000',
|
||||
label: '<20K',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'from20000To25000',
|
||||
value: 'FROM_20000_TO_25000',
|
||||
label: '20K-25K',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'from25000To35000',
|
||||
value: 'FROM_25000_TO_35000',
|
||||
label: '25K-35K',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'from35000To45000',
|
||||
value: 'FROM_35000_TO_45000',
|
||||
label: '35K-45K',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'from45000To55000',
|
||||
value: 'FROM_45000_TO_55000',
|
||||
label: '45K-55K',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'from55000To70000',
|
||||
value: 'FROM_55000_TO_70000',
|
||||
label: '55K-70K',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'from70000To85000',
|
||||
value: 'FROM_70000_TO_85000',
|
||||
label: '70K-85K',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'from85000To100000',
|
||||
value: 'FROM_85000_TO_100000',
|
||||
label: '85K-100K',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'from100000To150000',
|
||||
value: 'FROM_100000_TO_150000',
|
||||
label: '100K-150K',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'from150000To250000',
|
||||
value: 'FROM_150000_TO_250000',
|
||||
label: '150K-250K',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
key: 'over250000',
|
||||
value: 'OVER_250000',
|
||||
label: '>250K',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,172 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const JOB_ROLE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'advisory',
|
||||
value: 'ADVISORY',
|
||||
label: 'Advisory',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'analyst',
|
||||
value: 'ANALYST',
|
||||
label: 'Analyst',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'creative',
|
||||
value: 'CREATIVE',
|
||||
label: 'Creative',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'education',
|
||||
value: 'EDUCATION',
|
||||
label: 'Education',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'engineering',
|
||||
value: 'ENGINEERING',
|
||||
label: 'Engineering',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'finance',
|
||||
value: 'FINANCE',
|
||||
label: 'Finance',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'fulfillment',
|
||||
value: 'FULFILLMENT',
|
||||
label: 'Fulfillment',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'health',
|
||||
value: 'HEALTH',
|
||||
label: 'Health',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'hospitality',
|
||||
value: 'HOSPITALITY',
|
||||
label: 'Hospitality',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'humanResources',
|
||||
value: 'HUMAN_RESOURCES',
|
||||
label: 'Human Resources',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
key: 'legal',
|
||||
value: 'LEGAL',
|
||||
label: 'Legal',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
key: 'manufacturing',
|
||||
value: 'MANUFACTURING',
|
||||
label: 'Manufacturing',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
key: 'marketing',
|
||||
value: 'MARKETING',
|
||||
label: 'Marketing',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
key: 'operations',
|
||||
value: 'OPERATIONS',
|
||||
label: 'Operations',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
key: 'partnerships',
|
||||
value: 'PARTNERSHIPS',
|
||||
label: 'Partnerships',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
key: 'product',
|
||||
value: 'PRODUCT',
|
||||
label: 'Product',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
key: 'professionalService',
|
||||
value: 'PROFESSIONAL_SERVICE',
|
||||
label: 'Professional Service',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
key: 'publicService',
|
||||
value: 'PUBLIC_SERVICE',
|
||||
label: 'Public Service',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
key: 'research',
|
||||
value: 'RESEARCH',
|
||||
label: 'Research',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
key: 'sales',
|
||||
value: 'SALES',
|
||||
label: 'Sales',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
key: 'salesEngineering',
|
||||
value: 'SALES_ENGINEERING',
|
||||
label: 'Sales Engineering',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
key: 'support',
|
||||
value: 'SUPPORT',
|
||||
label: 'Support',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
key: 'trade',
|
||||
value: 'TRADE',
|
||||
label: 'Trade',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
key: 'unemployed',
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
];
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const JOB_TITLE_CLASS_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'generalAndAdministrative',
|
||||
value: 'GENERAL_AND_ADMINISTRATIVE',
|
||||
label: 'General and Administrative',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'researchAndDevelopment',
|
||||
value: 'RESEARCH_AND_DEVELOPMENT',
|
||||
label: 'Research and Development',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'salesAndMarketing',
|
||||
value: 'SALES_AND_MARKETING',
|
||||
label: 'Sales and Marketing',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'services',
|
||||
value: 'SERVICES',
|
||||
label: 'Services',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'unemployed',
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
];
|
||||
+746
@@ -0,0 +1,746 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const JOB_TITLE_SUB_ROLE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'academic',
|
||||
value: 'ACADEMIC',
|
||||
label: 'Academic',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'accountExecutive',
|
||||
value: 'ACCOUNT_EXECUTIVE',
|
||||
label: 'Account Executive',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'accountManagement',
|
||||
value: 'ACCOUNT_MANAGEMENT',
|
||||
label: 'Account Management',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'accounting',
|
||||
value: 'ACCOUNTING',
|
||||
label: 'Accounting',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'accountingServices',
|
||||
value: 'ACCOUNTING_SERVICES',
|
||||
label: 'Accounting Services',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'administrative',
|
||||
value: 'ADMINISTRATIVE',
|
||||
label: 'Administrative',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'advisor',
|
||||
value: 'ADVISOR',
|
||||
label: 'Advisor',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'agriculture',
|
||||
value: 'AGRICULTURE',
|
||||
label: 'Agriculture',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'aides',
|
||||
value: 'AIDES',
|
||||
label: 'Aides',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'architecture',
|
||||
value: 'ARCHITECTURE',
|
||||
label: 'Architecture',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
key: 'artist',
|
||||
value: 'ARTIST',
|
||||
label: 'Artist',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
key: 'boardMember',
|
||||
value: 'BOARD_MEMBER',
|
||||
label: 'Board Member',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
key: 'bookkeeping',
|
||||
value: 'BOOKKEEPING',
|
||||
label: 'Bookkeeping',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
key: 'brand',
|
||||
value: 'BRAND',
|
||||
label: 'Brand',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
key: 'buildingAndGrounds',
|
||||
value: 'BUILDING_AND_GROUNDS',
|
||||
label: 'Building and Grounds',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
key: 'businessAnalyst',
|
||||
value: 'BUSINESS_ANALYST',
|
||||
label: 'Business Analyst',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
key: 'businessDevelopment',
|
||||
value: 'BUSINESS_DEVELOPMENT',
|
||||
label: 'Business Development',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
key: 'chemical',
|
||||
value: 'CHEMICAL',
|
||||
label: 'Chemical',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
key: 'compliance',
|
||||
value: 'COMPLIANCE',
|
||||
label: 'Compliance',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
key: 'construction',
|
||||
value: 'CONSTRUCTION',
|
||||
label: 'Construction',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
key: 'consulting',
|
||||
value: 'CONSULTING',
|
||||
label: 'Consulting',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
key: 'content',
|
||||
value: 'CONTENT',
|
||||
label: 'Content',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
key: 'corporateDevelopment',
|
||||
value: 'CORPORATE_DEVELOPMENT',
|
||||
label: 'Corporate Development',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
key: 'curation',
|
||||
value: 'CURATION',
|
||||
label: 'Curation',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
{
|
||||
key: 'customerSuccess',
|
||||
value: 'CUSTOMER_SUCCESS',
|
||||
label: 'Customer Success',
|
||||
color: 'gray',
|
||||
position: 24,
|
||||
},
|
||||
{
|
||||
key: 'customerSupport',
|
||||
value: 'CUSTOMER_SUPPORT',
|
||||
label: 'Customer Support',
|
||||
color: 'blue',
|
||||
position: 25,
|
||||
},
|
||||
{
|
||||
key: 'dataAnalyst',
|
||||
value: 'DATA_ANALYST',
|
||||
label: 'Data Analyst',
|
||||
color: 'red',
|
||||
position: 26,
|
||||
},
|
||||
{
|
||||
key: 'dataEngineering',
|
||||
value: 'DATA_ENGINEERING',
|
||||
label: 'Data Engineering',
|
||||
color: 'green',
|
||||
position: 27,
|
||||
},
|
||||
{
|
||||
key: 'dataScience',
|
||||
value: 'DATA_SCIENCE',
|
||||
label: 'Data Science',
|
||||
color: 'orange',
|
||||
position: 28,
|
||||
},
|
||||
{
|
||||
key: 'dental',
|
||||
value: 'DENTAL',
|
||||
label: 'Dental',
|
||||
color: 'purple',
|
||||
position: 29,
|
||||
},
|
||||
{
|
||||
key: 'devops',
|
||||
value: 'DEVOPS',
|
||||
label: 'DevOps',
|
||||
color: 'yellow',
|
||||
position: 30,
|
||||
},
|
||||
{
|
||||
key: 'doctor',
|
||||
value: 'DOCTOR',
|
||||
label: 'Doctor',
|
||||
color: 'pink',
|
||||
position: 31,
|
||||
},
|
||||
{
|
||||
key: 'electric',
|
||||
value: 'ELECTRIC',
|
||||
label: 'Electric',
|
||||
color: 'cyan',
|
||||
position: 32,
|
||||
},
|
||||
{
|
||||
key: 'electrical',
|
||||
value: 'ELECTRICAL',
|
||||
label: 'Electrical',
|
||||
color: 'brown',
|
||||
position: 33,
|
||||
},
|
||||
{
|
||||
key: 'emergencyServices',
|
||||
value: 'EMERGENCY_SERVICES',
|
||||
label: 'Emergency Services',
|
||||
color: 'lime',
|
||||
position: 34,
|
||||
},
|
||||
{
|
||||
key: 'entertainment',
|
||||
value: 'ENTERTAINMENT',
|
||||
label: 'Entertainment',
|
||||
color: 'violet',
|
||||
position: 35,
|
||||
},
|
||||
{
|
||||
key: 'executive',
|
||||
value: 'EXECUTIVE',
|
||||
label: 'Executive',
|
||||
color: 'gold',
|
||||
position: 36,
|
||||
},
|
||||
{
|
||||
key: 'fashion',
|
||||
value: 'FASHION',
|
||||
label: 'Fashion',
|
||||
color: 'turquoise',
|
||||
position: 37,
|
||||
},
|
||||
{
|
||||
key: 'financial',
|
||||
value: 'FINANCIAL',
|
||||
label: 'Financial',
|
||||
color: 'crimson',
|
||||
position: 38,
|
||||
},
|
||||
{
|
||||
key: 'fitness',
|
||||
value: 'FITNESS',
|
||||
label: 'Fitness',
|
||||
color: 'sky',
|
||||
position: 39,
|
||||
},
|
||||
{
|
||||
key: 'fraud',
|
||||
value: 'FRAUD',
|
||||
label: 'Fraud',
|
||||
color: 'amber',
|
||||
position: 40,
|
||||
},
|
||||
{
|
||||
key: 'graphicDesign',
|
||||
value: 'GRAPHIC_DESIGN',
|
||||
label: 'Graphic Design',
|
||||
color: 'plum',
|
||||
position: 41,
|
||||
},
|
||||
{
|
||||
key: 'growth',
|
||||
value: 'GROWTH',
|
||||
label: 'Growth',
|
||||
color: 'grass',
|
||||
position: 42,
|
||||
},
|
||||
{
|
||||
key: 'hairStylist',
|
||||
value: 'HAIR_STYLIST',
|
||||
label: 'Hair Stylist',
|
||||
color: 'tomato',
|
||||
position: 43,
|
||||
},
|
||||
{
|
||||
key: 'hardware',
|
||||
value: 'HARDWARE',
|
||||
label: 'Hardware',
|
||||
color: 'iris',
|
||||
position: 44,
|
||||
},
|
||||
{
|
||||
key: 'healthAndSafety',
|
||||
value: 'HEALTH_AND_SAFETY',
|
||||
label: 'Health and Safety',
|
||||
color: 'mint',
|
||||
position: 45,
|
||||
},
|
||||
{
|
||||
key: 'humanResources',
|
||||
value: 'HUMAN_RESOURCES',
|
||||
label: 'Human Resources',
|
||||
color: 'ruby',
|
||||
position: 46,
|
||||
},
|
||||
{
|
||||
key: 'implementation',
|
||||
value: 'IMPLEMENTATION',
|
||||
label: 'Implementation',
|
||||
color: 'bronze',
|
||||
position: 47,
|
||||
},
|
||||
{
|
||||
key: 'industrial',
|
||||
value: 'INDUSTRIAL',
|
||||
label: 'Industrial',
|
||||
color: 'jade',
|
||||
position: 48,
|
||||
},
|
||||
{
|
||||
key: 'informationTechnology',
|
||||
value: 'INFORMATION_TECHNOLOGY',
|
||||
label: 'Information Technology',
|
||||
color: 'gray',
|
||||
position: 49,
|
||||
},
|
||||
{
|
||||
key: 'insurance',
|
||||
value: 'INSURANCE',
|
||||
label: 'Insurance',
|
||||
color: 'blue',
|
||||
position: 50,
|
||||
},
|
||||
{
|
||||
key: 'investmentBanking',
|
||||
value: 'INVESTMENT_BANKING',
|
||||
label: 'Investment Banking',
|
||||
color: 'red',
|
||||
position: 51,
|
||||
},
|
||||
{
|
||||
key: 'investor',
|
||||
value: 'INVESTOR',
|
||||
label: 'Investor',
|
||||
color: 'green',
|
||||
position: 52,
|
||||
},
|
||||
{
|
||||
key: 'investorRelations',
|
||||
value: 'INVESTOR_RELATIONS',
|
||||
label: 'Investor Relations',
|
||||
color: 'orange',
|
||||
position: 53,
|
||||
},
|
||||
{
|
||||
key: 'journalism',
|
||||
value: 'JOURNALISM',
|
||||
label: 'Journalism',
|
||||
color: 'purple',
|
||||
position: 54,
|
||||
},
|
||||
{
|
||||
key: 'judicial',
|
||||
value: 'JUDICIAL',
|
||||
label: 'Judicial',
|
||||
color: 'yellow',
|
||||
position: 55,
|
||||
},
|
||||
{
|
||||
key: 'legal',
|
||||
value: 'LEGAL',
|
||||
label: 'Legal',
|
||||
color: 'pink',
|
||||
position: 56,
|
||||
},
|
||||
{
|
||||
key: 'legalServices',
|
||||
value: 'LEGAL_SERVICES',
|
||||
label: 'Legal Services',
|
||||
color: 'cyan',
|
||||
position: 57,
|
||||
},
|
||||
{
|
||||
key: 'logistics',
|
||||
value: 'LOGISTICS',
|
||||
label: 'Logistics',
|
||||
color: 'brown',
|
||||
position: 58,
|
||||
},
|
||||
{
|
||||
key: 'machinist',
|
||||
value: 'MACHINIST',
|
||||
label: 'Machinist',
|
||||
color: 'lime',
|
||||
position: 59,
|
||||
},
|
||||
{
|
||||
key: 'marketingDesign',
|
||||
value: 'MARKETING_DESIGN',
|
||||
label: 'Marketing Design',
|
||||
color: 'violet',
|
||||
position: 60,
|
||||
},
|
||||
{
|
||||
key: 'marketingServices',
|
||||
value: 'MARKETING_SERVICES',
|
||||
label: 'Marketing Services',
|
||||
color: 'gold',
|
||||
position: 61,
|
||||
},
|
||||
{
|
||||
key: 'mechanic',
|
||||
value: 'MECHANIC',
|
||||
label: 'Mechanic',
|
||||
color: 'turquoise',
|
||||
position: 62,
|
||||
},
|
||||
{
|
||||
key: 'mechanical',
|
||||
value: 'MECHANICAL',
|
||||
label: 'Mechanical',
|
||||
color: 'crimson',
|
||||
position: 63,
|
||||
},
|
||||
{
|
||||
key: 'military',
|
||||
value: 'MILITARY',
|
||||
label: 'Military',
|
||||
color: 'sky',
|
||||
position: 64,
|
||||
},
|
||||
{
|
||||
key: 'network',
|
||||
value: 'NETWORK',
|
||||
label: 'Network',
|
||||
color: 'amber',
|
||||
position: 65,
|
||||
},
|
||||
{
|
||||
key: 'nursing',
|
||||
value: 'NURSING',
|
||||
label: 'Nursing',
|
||||
color: 'plum',
|
||||
position: 66,
|
||||
},
|
||||
{
|
||||
key: 'partnerships',
|
||||
value: 'PARTNERSHIPS',
|
||||
label: 'Partnerships',
|
||||
color: 'grass',
|
||||
position: 67,
|
||||
},
|
||||
{
|
||||
key: 'pharmacy',
|
||||
value: 'PHARMACY',
|
||||
label: 'Pharmacy',
|
||||
color: 'tomato',
|
||||
position: 68,
|
||||
},
|
||||
{
|
||||
key: 'planningAndAnalysis',
|
||||
value: 'PLANNING_AND_ANALYSIS',
|
||||
label: 'Planning and Analysis',
|
||||
color: 'iris',
|
||||
position: 69,
|
||||
},
|
||||
{
|
||||
key: 'plumbing',
|
||||
value: 'PLUMBING',
|
||||
label: 'Plumbing',
|
||||
color: 'mint',
|
||||
position: 70,
|
||||
},
|
||||
{
|
||||
key: 'political',
|
||||
value: 'POLITICAL',
|
||||
label: 'Political',
|
||||
color: 'ruby',
|
||||
position: 71,
|
||||
},
|
||||
{
|
||||
key: 'primaryAndSecondary',
|
||||
value: 'PRIMARY_AND_SECONDARY',
|
||||
label: 'Primary and Secondary',
|
||||
color: 'bronze',
|
||||
position: 72,
|
||||
},
|
||||
{
|
||||
key: 'procurement',
|
||||
value: 'PROCUREMENT',
|
||||
label: 'Procurement',
|
||||
color: 'jade',
|
||||
position: 73,
|
||||
},
|
||||
{
|
||||
key: 'productDesign',
|
||||
value: 'PRODUCT_DESIGN',
|
||||
label: 'Product Design',
|
||||
color: 'gray',
|
||||
position: 74,
|
||||
},
|
||||
{
|
||||
key: 'productManagement',
|
||||
value: 'PRODUCT_MANAGEMENT',
|
||||
label: 'Product Management',
|
||||
color: 'blue',
|
||||
position: 75,
|
||||
},
|
||||
{
|
||||
key: 'professor',
|
||||
value: 'PROFESSOR',
|
||||
label: 'Professor',
|
||||
color: 'red',
|
||||
position: 76,
|
||||
},
|
||||
{
|
||||
key: 'projectManagement',
|
||||
value: 'PROJECT_MANAGEMENT',
|
||||
label: 'Project Management',
|
||||
color: 'green',
|
||||
position: 77,
|
||||
},
|
||||
{
|
||||
key: 'protectiveService',
|
||||
value: 'PROTECTIVE_SERVICE',
|
||||
label: 'Protective Service',
|
||||
color: 'orange',
|
||||
position: 78,
|
||||
},
|
||||
{
|
||||
key: 'qaEngineering',
|
||||
value: 'QA_ENGINEERING',
|
||||
label: 'QA Engineering',
|
||||
color: 'purple',
|
||||
position: 79,
|
||||
},
|
||||
{
|
||||
key: 'qualityAssurance',
|
||||
value: 'QUALITY_ASSURANCE',
|
||||
label: 'Quality Assurance',
|
||||
color: 'yellow',
|
||||
position: 80,
|
||||
},
|
||||
{
|
||||
key: 'realtor',
|
||||
value: 'REALTOR',
|
||||
label: 'Realtor',
|
||||
color: 'pink',
|
||||
position: 81,
|
||||
},
|
||||
{
|
||||
key: 'recruiting',
|
||||
value: 'RECRUITING',
|
||||
label: 'Recruiting',
|
||||
color: 'cyan',
|
||||
position: 82,
|
||||
},
|
||||
{
|
||||
key: 'restaurants',
|
||||
value: 'RESTAURANTS',
|
||||
label: 'Restaurants',
|
||||
color: 'brown',
|
||||
position: 83,
|
||||
},
|
||||
{
|
||||
key: 'retail',
|
||||
value: 'RETAIL',
|
||||
label: 'Retail',
|
||||
color: 'lime',
|
||||
position: 84,
|
||||
},
|
||||
{
|
||||
key: 'revenueOperations',
|
||||
value: 'REVENUE_OPERATIONS',
|
||||
label: 'Revenue Operations',
|
||||
color: 'violet',
|
||||
position: 85,
|
||||
},
|
||||
{
|
||||
key: 'risk',
|
||||
value: 'RISK',
|
||||
label: 'Risk',
|
||||
color: 'gold',
|
||||
position: 86,
|
||||
},
|
||||
{
|
||||
key: 'salesDevelopment',
|
||||
value: 'SALES_DEVELOPMENT',
|
||||
label: 'Sales Development',
|
||||
color: 'turquoise',
|
||||
position: 87,
|
||||
},
|
||||
{
|
||||
key: 'scientific',
|
||||
value: 'SCIENTIFIC',
|
||||
label: 'Scientific',
|
||||
color: 'crimson',
|
||||
position: 88,
|
||||
},
|
||||
{
|
||||
key: 'security',
|
||||
value: 'SECURITY',
|
||||
label: 'Security',
|
||||
color: 'sky',
|
||||
position: 89,
|
||||
},
|
||||
{
|
||||
key: 'socialService',
|
||||
value: 'SOCIAL_SERVICE',
|
||||
label: 'Social Service',
|
||||
color: 'amber',
|
||||
position: 90,
|
||||
},
|
||||
{
|
||||
key: 'software',
|
||||
value: 'SOFTWARE',
|
||||
label: 'Software',
|
||||
color: 'plum',
|
||||
position: 91,
|
||||
},
|
||||
{
|
||||
key: 'solutionsEngineer',
|
||||
value: 'SOLUTIONS_ENGINEER',
|
||||
label: 'Solutions Engineer',
|
||||
color: 'grass',
|
||||
position: 92,
|
||||
},
|
||||
{
|
||||
key: 'strategy',
|
||||
value: 'STRATEGY',
|
||||
label: 'Strategy',
|
||||
color: 'tomato',
|
||||
position: 93,
|
||||
},
|
||||
{
|
||||
key: 'student',
|
||||
value: 'STUDENT',
|
||||
label: 'Student',
|
||||
color: 'iris',
|
||||
position: 94,
|
||||
},
|
||||
{
|
||||
key: 'talentAnalytics',
|
||||
value: 'TALENT_ANALYTICS',
|
||||
label: 'Talent Analytics',
|
||||
color: 'mint',
|
||||
position: 95,
|
||||
},
|
||||
{
|
||||
key: 'therapy',
|
||||
value: 'THERAPY',
|
||||
label: 'Therapy',
|
||||
color: 'ruby',
|
||||
position: 96,
|
||||
},
|
||||
{
|
||||
key: 'tourAndTravel',
|
||||
value: 'TOUR_AND_TRAVEL',
|
||||
label: 'Tour and Travel',
|
||||
color: 'bronze',
|
||||
position: 97,
|
||||
},
|
||||
{
|
||||
key: 'training',
|
||||
value: 'TRAINING',
|
||||
label: 'Training',
|
||||
color: 'jade',
|
||||
position: 98,
|
||||
},
|
||||
{
|
||||
key: 'translation',
|
||||
value: 'TRANSLATION',
|
||||
label: 'Translation',
|
||||
color: 'gray',
|
||||
position: 99,
|
||||
},
|
||||
{
|
||||
key: 'transport',
|
||||
value: 'TRANSPORT',
|
||||
label: 'Transport',
|
||||
color: 'blue',
|
||||
position: 100,
|
||||
},
|
||||
{
|
||||
key: 'unemployed',
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'red',
|
||||
position: 101,
|
||||
},
|
||||
{
|
||||
key: 'veterinarian',
|
||||
value: 'VETERINARIAN',
|
||||
label: 'Veterinarian',
|
||||
color: 'green',
|
||||
position: 102,
|
||||
},
|
||||
{
|
||||
key: 'warehouse',
|
||||
value: 'WAREHOUSE',
|
||||
label: 'Warehouse',
|
||||
color: 'orange',
|
||||
position: 103,
|
||||
},
|
||||
{
|
||||
key: 'web',
|
||||
value: 'WEB',
|
||||
label: 'Web',
|
||||
color: 'purple',
|
||||
position: 104,
|
||||
},
|
||||
{
|
||||
key: 'wellness',
|
||||
value: 'WELLNESS',
|
||||
label: 'Wellness',
|
||||
color: 'yellow',
|
||||
position: 105,
|
||||
},
|
||||
];
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const LOCATION_CONTINENT_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'africa',
|
||||
value: 'AFRICA',
|
||||
label: 'Africa',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'antarctica',
|
||||
value: 'ANTARCTICA',
|
||||
label: 'Antarctica',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'asia',
|
||||
value: 'ASIA',
|
||||
label: 'Asia',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'europe',
|
||||
value: 'EUROPE',
|
||||
label: 'Europe',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'northAmerica',
|
||||
value: 'NORTH_AMERICA',
|
||||
label: 'North America',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'oceania',
|
||||
value: 'OCEANIA',
|
||||
label: 'Oceania',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'southAmerica',
|
||||
value: 'SOUTH_AMERICA',
|
||||
label: 'South America',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
];
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,494 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const MIC_EXCHANGE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'aqse',
|
||||
value: 'AQSE',
|
||||
label: 'AQSE',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'arcx',
|
||||
value: 'ARCX',
|
||||
label: 'ARCX',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'asex',
|
||||
value: 'ASEX',
|
||||
label: 'ASEX',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'bcxe',
|
||||
value: 'BCXE',
|
||||
label: 'BCXE',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'bvmf',
|
||||
value: 'BVMF',
|
||||
label: 'BVMF',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'dsmd',
|
||||
value: 'DSMD',
|
||||
label: 'DSMD',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'misx',
|
||||
value: 'MISX',
|
||||
label: 'MISX',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'neoe',
|
||||
value: 'NEOE',
|
||||
label: 'NEOE',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'xams',
|
||||
value: 'XAMS',
|
||||
label: 'XAMS',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'xase',
|
||||
value: 'XASE',
|
||||
label: 'XASE',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
key: 'xasx',
|
||||
value: 'XASX',
|
||||
label: 'XASX',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
key: 'xber',
|
||||
value: 'XBER',
|
||||
label: 'XBER',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
key: 'xbkk',
|
||||
value: 'XBKK',
|
||||
label: 'XBKK',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
key: 'xbog',
|
||||
value: 'XBOG',
|
||||
label: 'XBOG',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
key: 'xbom',
|
||||
value: 'XBOM',
|
||||
label: 'XBOM',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
key: 'xbru',
|
||||
value: 'XBRU',
|
||||
label: 'XBRU',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
key: 'xbsp',
|
||||
value: 'XBSP',
|
||||
label: 'XBSP',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
key: 'xbud',
|
||||
value: 'XBUD',
|
||||
label: 'XBUD',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
key: 'xbue',
|
||||
value: 'XBUE',
|
||||
label: 'XBUE',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
key: 'xcai',
|
||||
value: 'XCAI',
|
||||
label: 'XCAI',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
key: 'xcbo',
|
||||
value: 'XCBO',
|
||||
label: 'XCBO',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
key: 'xcnq',
|
||||
value: 'XCNQ',
|
||||
label: 'XCNQ',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
key: 'xcse',
|
||||
value: 'XCSE',
|
||||
label: 'XCSE',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
key: 'xdfm',
|
||||
value: 'XDFM',
|
||||
label: 'XDFM',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
{
|
||||
key: 'xdub',
|
||||
value: 'XDUB',
|
||||
label: 'XDUB',
|
||||
color: 'gray',
|
||||
position: 24,
|
||||
},
|
||||
{
|
||||
key: 'xdus',
|
||||
value: 'XDUS',
|
||||
label: 'XDUS',
|
||||
color: 'blue',
|
||||
position: 25,
|
||||
},
|
||||
{
|
||||
key: 'xeqy',
|
||||
value: 'XEQY',
|
||||
label: 'XEQY',
|
||||
color: 'red',
|
||||
position: 26,
|
||||
},
|
||||
{
|
||||
key: 'xfra',
|
||||
value: 'XFRA',
|
||||
label: 'XFRA',
|
||||
color: 'green',
|
||||
position: 27,
|
||||
},
|
||||
{
|
||||
key: 'xham',
|
||||
value: 'XHAM',
|
||||
label: 'XHAM',
|
||||
color: 'orange',
|
||||
position: 28,
|
||||
},
|
||||
{
|
||||
key: 'xhel',
|
||||
value: 'XHEL',
|
||||
label: 'XHEL',
|
||||
color: 'purple',
|
||||
position: 29,
|
||||
},
|
||||
{
|
||||
key: 'xhkg',
|
||||
value: 'XHKG',
|
||||
label: 'XHKG',
|
||||
color: 'yellow',
|
||||
position: 30,
|
||||
},
|
||||
{
|
||||
key: 'xice',
|
||||
value: 'XICE',
|
||||
label: 'XICE',
|
||||
color: 'pink',
|
||||
position: 31,
|
||||
},
|
||||
{
|
||||
key: 'xidx',
|
||||
value: 'XIDX',
|
||||
label: 'XIDX',
|
||||
color: 'cyan',
|
||||
position: 32,
|
||||
},
|
||||
{
|
||||
key: 'xjpx',
|
||||
value: 'XJPX',
|
||||
label: 'XJPX',
|
||||
color: 'brown',
|
||||
position: 33,
|
||||
},
|
||||
{
|
||||
key: 'xjse',
|
||||
value: 'XJSE',
|
||||
label: 'XJSE',
|
||||
color: 'lime',
|
||||
position: 34,
|
||||
},
|
||||
{
|
||||
key: 'xkls',
|
||||
value: 'XKLS',
|
||||
label: 'XKLS',
|
||||
color: 'violet',
|
||||
position: 35,
|
||||
},
|
||||
{
|
||||
key: 'xkos',
|
||||
value: 'XKOS',
|
||||
label: 'XKOS',
|
||||
color: 'gold',
|
||||
position: 36,
|
||||
},
|
||||
{
|
||||
key: 'xkrx',
|
||||
value: 'XKRX',
|
||||
label: 'XKRX',
|
||||
color: 'turquoise',
|
||||
position: 37,
|
||||
},
|
||||
{
|
||||
key: 'xkuw',
|
||||
value: 'XKUW',
|
||||
label: 'XKUW',
|
||||
color: 'crimson',
|
||||
position: 38,
|
||||
},
|
||||
{
|
||||
key: 'xlis',
|
||||
value: 'XLIS',
|
||||
label: 'XLIS',
|
||||
color: 'sky',
|
||||
position: 39,
|
||||
},
|
||||
{
|
||||
key: 'xlon',
|
||||
value: 'XLON',
|
||||
label: 'XLON',
|
||||
color: 'amber',
|
||||
position: 40,
|
||||
},
|
||||
{
|
||||
key: 'xmad',
|
||||
value: 'XMAD',
|
||||
label: 'XMAD',
|
||||
color: 'plum',
|
||||
position: 41,
|
||||
},
|
||||
{
|
||||
key: 'xmex',
|
||||
value: 'XMEX',
|
||||
label: 'XMEX',
|
||||
color: 'grass',
|
||||
position: 42,
|
||||
},
|
||||
{
|
||||
key: 'xmil',
|
||||
value: 'XMIL',
|
||||
label: 'XMIL',
|
||||
color: 'tomato',
|
||||
position: 43,
|
||||
},
|
||||
{
|
||||
key: 'xmun',
|
||||
value: 'XMUN',
|
||||
label: 'XMUN',
|
||||
color: 'iris',
|
||||
position: 44,
|
||||
},
|
||||
{
|
||||
key: 'xnas',
|
||||
value: 'XNAS',
|
||||
label: 'XNAS',
|
||||
color: 'mint',
|
||||
position: 45,
|
||||
},
|
||||
{
|
||||
key: 'xnse',
|
||||
value: 'XNSE',
|
||||
label: 'XNSE',
|
||||
color: 'ruby',
|
||||
position: 46,
|
||||
},
|
||||
{
|
||||
key: 'xnys',
|
||||
value: 'XNYS',
|
||||
label: 'XNYS',
|
||||
color: 'bronze',
|
||||
position: 47,
|
||||
},
|
||||
{
|
||||
key: 'xnze',
|
||||
value: 'XNZE',
|
||||
label: 'XNZE',
|
||||
color: 'jade',
|
||||
position: 48,
|
||||
},
|
||||
{
|
||||
key: 'xosl',
|
||||
value: 'XOSL',
|
||||
label: 'XOSL',
|
||||
color: 'gray',
|
||||
position: 49,
|
||||
},
|
||||
{
|
||||
key: 'xotc',
|
||||
value: 'XOTC',
|
||||
label: 'XOTC',
|
||||
color: 'blue',
|
||||
position: 50,
|
||||
},
|
||||
{
|
||||
key: 'xpar',
|
||||
value: 'XPAR',
|
||||
label: 'XPAR',
|
||||
color: 'red',
|
||||
position: 51,
|
||||
},
|
||||
{
|
||||
key: 'xpra',
|
||||
value: 'XPRA',
|
||||
label: 'XPRA',
|
||||
color: 'green',
|
||||
position: 52,
|
||||
},
|
||||
{
|
||||
key: 'xris',
|
||||
value: 'XRIS',
|
||||
label: 'XRIS',
|
||||
color: 'orange',
|
||||
position: 53,
|
||||
},
|
||||
{
|
||||
key: 'xsau',
|
||||
value: 'XSAU',
|
||||
label: 'XSAU',
|
||||
color: 'purple',
|
||||
position: 54,
|
||||
},
|
||||
{
|
||||
key: 'xses',
|
||||
value: 'XSES',
|
||||
label: 'XSES',
|
||||
color: 'yellow',
|
||||
position: 55,
|
||||
},
|
||||
{
|
||||
key: 'xsgo',
|
||||
value: 'XSGO',
|
||||
label: 'XSGO',
|
||||
color: 'pink',
|
||||
position: 56,
|
||||
},
|
||||
{
|
||||
key: 'xshe',
|
||||
value: 'XSHE',
|
||||
label: 'XSHE',
|
||||
color: 'cyan',
|
||||
position: 57,
|
||||
},
|
||||
{
|
||||
key: 'xshg',
|
||||
value: 'XSHG',
|
||||
label: 'XSHG',
|
||||
color: 'brown',
|
||||
position: 58,
|
||||
},
|
||||
{
|
||||
key: 'xstc',
|
||||
value: 'XSTC',
|
||||
label: 'XSTC',
|
||||
color: 'lime',
|
||||
position: 59,
|
||||
},
|
||||
{
|
||||
key: 'xsto',
|
||||
value: 'XSTO',
|
||||
label: 'XSTO',
|
||||
color: 'violet',
|
||||
position: 60,
|
||||
},
|
||||
{
|
||||
key: 'xstu',
|
||||
value: 'XSTU',
|
||||
label: 'XSTU',
|
||||
color: 'gold',
|
||||
position: 61,
|
||||
},
|
||||
{
|
||||
key: 'xswx',
|
||||
value: 'XSWX',
|
||||
label: 'XSWX',
|
||||
color: 'turquoise',
|
||||
position: 62,
|
||||
},
|
||||
{
|
||||
key: 'xtae',
|
||||
value: 'XTAE',
|
||||
label: 'XTAE',
|
||||
color: 'crimson',
|
||||
position: 63,
|
||||
},
|
||||
{
|
||||
key: 'xtai',
|
||||
value: 'XTAI',
|
||||
label: 'XTAI',
|
||||
color: 'sky',
|
||||
position: 64,
|
||||
},
|
||||
{
|
||||
key: 'xtal',
|
||||
value: 'XTAL',
|
||||
label: 'XTAL',
|
||||
color: 'amber',
|
||||
position: 65,
|
||||
},
|
||||
{
|
||||
key: 'xtse',
|
||||
value: 'XTSE',
|
||||
label: 'XTSE',
|
||||
color: 'plum',
|
||||
position: 66,
|
||||
},
|
||||
{
|
||||
key: 'xtsx',
|
||||
value: 'XTSX',
|
||||
label: 'XTSX',
|
||||
color: 'grass',
|
||||
position: 67,
|
||||
},
|
||||
{
|
||||
key: 'xwar',
|
||||
value: 'XWAR',
|
||||
label: 'XWAR',
|
||||
color: 'tomato',
|
||||
position: 68,
|
||||
},
|
||||
{
|
||||
key: 'xwbo',
|
||||
value: 'XWBO',
|
||||
label: 'XWBO',
|
||||
color: 'iris',
|
||||
position: 69,
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,74 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const SENIORITY_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'cxo',
|
||||
value: 'CXO',
|
||||
label: 'CXO',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'owner',
|
||||
value: 'OWNER',
|
||||
label: 'Owner',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'vp',
|
||||
value: 'VP',
|
||||
label: 'VP',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'director',
|
||||
value: 'DIRECTOR',
|
||||
label: 'Director',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'partner',
|
||||
value: 'PARTNER',
|
||||
label: 'Partner',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'senior',
|
||||
value: 'SENIOR',
|
||||
label: 'Senior',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'manager',
|
||||
value: 'MANAGER',
|
||||
label: 'Manager',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'entry',
|
||||
value: 'ENTRY',
|
||||
label: 'Entry',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'training',
|
||||
value: 'TRAINING',
|
||||
label: 'Training',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'unpaid',
|
||||
value: 'UNPAID',
|
||||
label: 'Unpaid',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,18 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const SEX_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'male',
|
||||
value: 'MALE',
|
||||
label: 'Male',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'female',
|
||||
value: 'FEMALE',
|
||||
label: 'Female',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
];
|
||||
+7
-167
@@ -4,6 +4,13 @@ export const APPLICATION_UNIVERSAL_IDENTIFIER =
|
||||
export const DEFAULT_ROLE_UNIVERSAL_IDENTIFIER =
|
||||
'abb2aa9f-8e9c-4e8b-a336-f864ee78b7cd';
|
||||
|
||||
export const PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS = {
|
||||
enrichPerson: '65356a82-6734-4fc9-8172-7d30ed1b7859',
|
||||
enrichPersonTool: 'c1539ca9-6f57-4036-a2a7-621ec23a66e6',
|
||||
enrichCompany: 'c769fb49-d495-469f-a58f-1a69ab90ec24',
|
||||
enrichCompanyTool: '88d126e1-a8f4-49f2-883f-39a7fa69cede',
|
||||
} as const;
|
||||
|
||||
export const PDL_FIELD_UNIVERSAL_IDENTIFIERS = {
|
||||
person: {
|
||||
pdlId: 'f6c45913-4ad7-4889-8b70-6e49fbae72cf',
|
||||
@@ -21,7 +28,6 @@ export const PDL_FIELD_UNIVERSAL_IDENTIFIERS = {
|
||||
pdlRawPayload: '91153108-0576-4da8-a58d-bf8bfc693af1',
|
||||
pdlLastEnrichedAt: '437e08e7-4a94-45af-9def-f202d54ea910',
|
||||
pdlLocation: 'e25302a6-72ed-41e9-a089-1789a1e7ff3c',
|
||||
pdlCurrentCompany: '0ed142f6-f4b9-4517-a4ad-4c09da25ef21',
|
||||
pdlLinkedinUsername: 'b897abde-d051-459e-8761-1f8cdc2a93a5',
|
||||
pdlFacebookUrl: '733a1f4e-43d7-4450-aaee-03436c6f3df8',
|
||||
pdlProfiles: '63fd9ead-07a0-42b0-b230-17fb5c1b2666',
|
||||
@@ -40,12 +46,6 @@ export const PDL_FIELD_UNIVERSAL_IDENTIFIERS = {
|
||||
pdlCertifications: '02006f53-8c32-48a0-9738-73c38ad9412d',
|
||||
pdlSummary: '243d13f9-74e7-4638-9f9a-33fe76d584dd',
|
||||
pdlJobOnetCode: '48f70f1b-cad8-44e4-a27e-5dc26edfd391',
|
||||
pdlJobCompanyName: '1426a17d-09c2-48aa-bd49-3adffeb2ec59',
|
||||
pdlJobCompanyId: '3c8cd41b-1974-4da0-975c-1b3c18c436d9',
|
||||
pdlJobCompanyWebsite: '7e44f20d-2443-4e33-999d-9c3b575112e1',
|
||||
pdlJobCompanyLinkedinUrl: '3035757a-c93a-4d1f-9fb2-e4b581ea6cfa',
|
||||
pdlJobCompanyIndustry: '4c37d4f1-3bf9-4881-afce-bbbc1e113832',
|
||||
pdlJobCompanySize: '1c7c4e5a-fafa-4c7b-b4a7-3bf0b0ca07c5',
|
||||
pdlLocationMetro: 'f5e7434d-c8f5-4eab-866b-59693c9e7111',
|
||||
pdlLikelihood: '50583b08-f422-4964-a9ff-a4e4d6f7a6f0',
|
||||
pdlEnrichmentStatus: 'f03774c1-2b8b-4c62-89af-6add78efc4df',
|
||||
@@ -66,7 +66,6 @@ export const PDL_FIELD_UNIVERSAL_IDENTIFIERS = {
|
||||
pdlFundingStages: 'ced2c9d6-93ea-40de-9636-c0e719b9dc0b',
|
||||
pdlRawPayload: 'cc5bb8e5-c60d-4791-b838-3526942d6548',
|
||||
pdlLastEnrichedAt: '4fd64027-0ba9-4d2c-85eb-26ff90b7c721',
|
||||
pdlCurrentEmployees: 'e654855f-1f10-462b-9721-cdf953c9b1bb',
|
||||
pdlLinkedinId: 'dd57bf00-e5b5-414d-a811-5480dac3b537',
|
||||
pdlFacebookUrl: '4f7fe9ad-5c4f-451c-9dc0-d368e669879f',
|
||||
pdlAlternativeNames: 'c53914e4-58b3-4fc2-b04b-94305675e130',
|
||||
@@ -1090,155 +1089,6 @@ export const PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS = {
|
||||
wireless: '3702d3db-f99b-44a3-b7ff-4bea043050db',
|
||||
writingAndEditing: 'e25ffec5-db05-4488-85a6-4578c9ce1c9c',
|
||||
},
|
||||
personJobCompanyIndustry: {
|
||||
accounting: 'c7646bb3-309c-4f7e-bd92-1145cd8fc53e',
|
||||
airlinesAviation: 'ce4b50c2-81ce-473f-832c-d03dad5eb15c',
|
||||
alternativeDisputeResolution: 'f3adb3b8-6d55-44f9-83d2-8c314f9e1b7f',
|
||||
alternativeMedicine: 'e50695b4-e961-424c-ba35-f1552afb2972',
|
||||
animation: '3025feb7-36ef-4c7c-94f3-0e6d8c198b12',
|
||||
apparelFashion: '25f1bcec-3c54-48e7-8f27-5d1c905fc8b9',
|
||||
architecturePlanning: 'ab4dee7a-3b6c-4494-b9c1-bd6cece38372',
|
||||
artsAndCrafts: 'c61baa2c-3fba-444b-ab7d-a057b15a86d0',
|
||||
automotive: 'dbc0cb0b-4d91-4ed9-be79-51bbf07e0ad2',
|
||||
aviationAerospace: '73bf83ab-7ae0-438e-8c16-aff98d7a1bf5',
|
||||
banking: 'b8358792-323c-4d65-af43-a550fba41896',
|
||||
biotechnology: 'caa1993b-b5bc-4a38-bb35-461e9ac64cd9',
|
||||
broadcastMedia: 'ebce7aa1-6d24-48f4-afa9-1ce469496447',
|
||||
buildingMaterials: 'd0b16ab4-690a-4676-b88d-69b1879e5d6e',
|
||||
businessSuppliesAndEquipment: '98c3aa81-d777-4b09-b94d-bf3a64214917',
|
||||
capitalMarkets: 'af0ce50f-8d50-489e-962a-cf360bdb4b69',
|
||||
chemicals: '11a423de-7ddd-466e-8914-bd8cd54e8a14',
|
||||
civicSocialOrganization: 'e81d39f0-5411-49ab-90ab-d6fc1341d7f5',
|
||||
civilEngineering: '30d1ce66-d5f9-4839-af59-0beca8b77bc4',
|
||||
commercialRealEstate: '907f9a17-4090-4ff7-ad92-1fb1f2e14d7d',
|
||||
computerNetworkSecurity: '6bd9dfae-fa74-48f1-83c9-59005daaa95a',
|
||||
computerGames: '6587be1f-4d50-4155-846f-ea26da225f40',
|
||||
computerHardware: 'fff38d7e-a166-4c6a-96b7-f28209b73136',
|
||||
computerNetworking: 'f172e9f0-4217-4f59-ba31-0d6eaac5939f',
|
||||
computerSoftware: '40092912-7856-4a92-b39f-8f17c7d477a7',
|
||||
construction: '847712c3-37e8-4030-9735-5a04fccef373',
|
||||
consumerElectronics: 'b76caec2-ce78-4aec-a1a5-d8a1b7a5b337',
|
||||
consumerGoods: '3e59570f-4791-4545-aea8-1992cdc7af08',
|
||||
consumerServices: '53ddcc27-a1d1-426e-9950-172ad4ac53f5',
|
||||
cosmetics: '27740b0f-76a5-477d-a7e3-6335e5d1886f',
|
||||
dairy: 'fdccb7e6-033f-460a-a237-e1b3ff8eeeb3',
|
||||
defenseSpace: 'd87f7ba9-4f64-4b1c-a3cb-e4b26ffe9b28',
|
||||
design: 'c58ea607-1436-42c6-b49b-01bede5d65be',
|
||||
eLearning: '4dd2bbef-04f5-41a1-852c-a9066e9b56f4',
|
||||
educationManagement: '5f99d759-6789-4e32-967b-53de2d247e65',
|
||||
electricalElectronicManufacturing: '8ba94c6e-3d42-45d1-8a37-abfe0c916b09',
|
||||
entertainment: '2534f3b2-2efd-4399-9189-ae0e80dea0b8',
|
||||
environmentalServices: '4899a93c-912c-4969-a86d-481a9976cf7b',
|
||||
eventsServices: '7a3af453-5241-4dd4-9962-4355a1569d26',
|
||||
executiveOffice: 'e5563e78-6ebf-4ab4-a094-83f67b110c2a',
|
||||
facilitiesServices: '4794543b-ade7-4975-a723-85d0c3c25e1f',
|
||||
farming: '8ebd9eab-4fa9-45e4-8763-2386aa704729',
|
||||
financialServices: '352126e6-b731-4531-bb55-45ed262b8790',
|
||||
fineArt: 'e797e22f-f467-4e02-9678-6895183b12af',
|
||||
fishery: 'f20950cd-5338-48b2-a368-19e3c5f54090',
|
||||
foodBeverages: '0d25b31f-9715-4ef9-bb08-9332cd111a49',
|
||||
foodProduction: '3509b838-e3e4-4b85-a2f7-c9350197a14e',
|
||||
fundRaising: 'fd0d42aa-0b4e-46ef-b319-389bd77968d0',
|
||||
furniture: '3e4a3b44-edeb-4266-aad7-64524e3db97b',
|
||||
gamblingCasinos: '5e7bd38d-f0e1-4b8a-9085-d62bbbe5210d',
|
||||
glassCeramicsConcrete: 'c0e67757-aaf3-40b3-833b-80c76f37c51c',
|
||||
governmentAdministration: '930f7ae7-063a-429a-8130-6e4aed9b8f41',
|
||||
governmentRelations: '26fe8ba1-c71a-4ad3-8026-ec3c147effe1',
|
||||
graphicDesign: '124ba3b2-2557-4e63-9090-62ec0963f8d3',
|
||||
healthWellnessAndFitness: 'a40465be-5a7a-44e3-a823-f5b9419c5be0',
|
||||
higherEducation: 'cf1b074d-8cf5-484f-828e-2d2f9d037ad2',
|
||||
hospitalHealthCare: '059bd3c7-88e6-468b-9842-81d33556ac17',
|
||||
hospitality: '4df1f2ea-82a3-4ff4-890b-1cbe1f3203e7',
|
||||
humanResources: '123531cc-7f88-4c0b-bd98-74c7fbe4ccbb',
|
||||
importAndExport: '2053fa78-d93a-461d-8e84-695099a5e0b7',
|
||||
individualFamilyServices: '48ecdf2b-faab-4979-904a-0d082bfcc83e',
|
||||
industrialAutomation: 'be305ba6-fab3-4952-9fa0-2b4dc682b145',
|
||||
informationServices: '40ae4e28-2c3a-416d-9f66-214808ec0cbf',
|
||||
informationTechnologyAndServices: '58fc2d7c-a2e0-4284-b263-ff34f5a37d1b',
|
||||
insurance: 'f3c59c70-6ad4-446e-97e1-27c5ea251c82',
|
||||
internationalAffairs: '88b3db39-344c-4df7-a21b-9841d6d5e3c9',
|
||||
internationalTradeAndDevelopment: 'f0b3eca1-3e03-402c-8398-ffcbd8148880',
|
||||
internet: '26c060e8-e8bc-4ac6-a25a-e547cafd0050',
|
||||
investmentBanking: '5ee3fbdc-2965-46f8-9b40-e748ce9cbe17',
|
||||
investmentManagement: '76ffc3b2-6228-44fb-9cb9-9cf8cfff35ed',
|
||||
judiciary: '373db33d-eae8-4946-a6b7-377a78bfc210',
|
||||
lawEnforcement: 'cdaff85b-db82-4ef2-9493-51ab9523076b',
|
||||
lawPractice: 'b26a48d2-1fec-444a-a39c-64b476588899',
|
||||
legalServices: 'a7d8ff6a-a754-4a05-9830-d9b20e34160c',
|
||||
legislativeOffice: '3f80fd4c-d564-468e-9808-9b43cb3167d0',
|
||||
leisureTravelTourism: '3e7560d7-77af-4181-9f7e-38bb8d17a8b4',
|
||||
libraries: '988b13ae-7bb1-472b-a991-bf040d079b11',
|
||||
logisticsAndSupplyChain: 'c6cb1c2c-53d0-46f0-8004-0d9962d6106d',
|
||||
luxuryGoodsJewelry: '15ac9e52-adb5-48e3-893d-87789511a966',
|
||||
machinery: '509fbd7a-0a44-4f94-aa5c-685cce3faba4',
|
||||
managementConsulting: '3a3d9a9b-f72c-4cde-bb76-ef9458bdc516',
|
||||
maritime: '028d0304-43ba-48f6-aac9-33971bd5aac2',
|
||||
marketResearch: '32f05431-ca91-456f-a1cf-8e45f64be5d2',
|
||||
marketingAndAdvertising: '6e0c1593-b08a-4fe2-a985-186706777c13',
|
||||
mechanicalOrIndustrialEngineering: '72a8c609-7ed2-454d-ae28-5ed7c10932ab',
|
||||
mediaProduction: 'd82defb2-294b-4552-af09-0d0b3e3f87e4',
|
||||
medicalDevices: 'efe813c7-5d54-4a8a-b97e-4290f670d1da',
|
||||
medicalPractice: '58bad1fd-667f-40ca-ba18-aac0396a02b4',
|
||||
mentalHealthCare: 'f03985f0-5cc7-4850-b97c-a7ea425cbee0',
|
||||
military: '4a410e16-54ef-4312-bd3f-36c2ee36943e',
|
||||
miningMetals: 'cd00c312-130f-49c8-9942-00ea24553ba5',
|
||||
motionPicturesAndFilm: '5d935c3c-c8a3-4e51-a593-da3dbbab5783',
|
||||
museumsAndInstitutions: 'd4c2a66f-88ae-4e2a-b3fd-855951d0376c',
|
||||
music: '74cebb0e-dfa6-4fe4-9e10-2055d7265078',
|
||||
nanotechnology: '1f02fa05-1464-4e32-9090-230ad2d0557b',
|
||||
newspapers: 'b62a3423-075c-4bf9-a78c-528754df2841',
|
||||
nonProfitOrganizationManagement: '92ae1c10-12c5-423d-bb73-6f7730c5d282',
|
||||
oilEnergy: '3bea7331-2355-4a37-8604-3e83a363ef1b',
|
||||
onlineMedia: '2f893d39-9975-44cf-a607-072be812d9a4',
|
||||
outsourcingOffshoring: '29f227ec-2a83-418a-8bde-7627dd25add3',
|
||||
packageFreightDelivery: '652bfc40-a5be-4191-a9ed-10db3f5ba059',
|
||||
packagingAndContainers: '223e7263-2e3a-4a39-bef0-5a5c95759d7d',
|
||||
paperForestProducts: '083402a8-f06d-4b0f-9654-2d4e0c51d4ae',
|
||||
performingArts: 'd74ee411-6486-47ba-b0e2-56e606249a91',
|
||||
pharmaceuticals: '99a8dae3-60a3-4cd5-80e6-a83651a28146',
|
||||
philanthropy: '1744e009-9330-42e4-98ad-23da6d1cc898',
|
||||
photography: 'a93a38e3-847e-4280-bb9a-cf7269115e13',
|
||||
plastics: '8b06307f-df3b-45e2-adf6-f01b6c9a44a2',
|
||||
politicalOrganization: '1a40650c-ed34-4d3e-97b9-70bfd48b1606',
|
||||
primarySecondaryEducation: 'aeaa7034-3847-4e2b-83c6-5ad3c2c7370b',
|
||||
printing: '29c4dd98-5f87-436f-8a9a-846daf36e648',
|
||||
professionalTrainingCoaching: 'ddc493cb-208f-4c8f-b122-23cbe45c0ffe',
|
||||
programDevelopment: 'e83e628a-9f57-4727-925f-37114ce125c1',
|
||||
publicPolicy: '58c6e64d-e5a9-495d-b3ed-87987f976c4f',
|
||||
publicRelationsAndCommunications: '19bc1020-8038-4be4-a4b5-be85e54c7535',
|
||||
publicSafety: '69f06a55-17d5-4c4c-94ba-44625ec8e1f5',
|
||||
publishing: '95e47f5e-d02b-4707-8510-c1310158260b',
|
||||
railroadManufacture: '1eff24a9-db0f-463a-a9c6-2bdebd760ec6',
|
||||
ranching: 'd3f2e4ad-d933-4cc0-ae2d-65f925bee53d',
|
||||
realEstate: '9b81a975-c52e-46d2-b853-334a484f24e5',
|
||||
recreationalFacilitiesAndServices: 'a2b4ba9b-65b7-4f06-8f99-78b4b03a5a8b',
|
||||
religiousInstitutions: '9dc283bc-dfb2-4a7f-bce7-433ce0e4c22d',
|
||||
renewablesEnvironment: 'dffe3cc0-13d3-48f4-8a72-f8f5509d97e5',
|
||||
research: 'f3a47e4f-30c4-4b02-8cb0-8d493518ce57',
|
||||
restaurants: 'ec0efd93-dffe-465d-9dfe-d23e91c3aa71',
|
||||
retail: '143fdd79-0167-4701-b910-0640b69e6909',
|
||||
securityAndInvestigations: '4072f339-ee30-465a-af76-0f58d8469e25',
|
||||
semiconductors: 'c1103955-5e09-4f78-bfc2-9366c18bf22e',
|
||||
shipbuilding: '2d6481c3-d46b-4e67-9328-dd2e22eacc02',
|
||||
sportingGoods: 'ed197d67-bf55-4e50-a1ca-264c93a62961',
|
||||
sports: '5183468a-5b8d-4442-9ea3-9a45de9a7630',
|
||||
staffingAndRecruiting: '5e610095-5d70-4816-a56d-b9fc0705e0b0',
|
||||
supermarkets: '4531f90a-d45a-4f84-8066-da2987fc46e6',
|
||||
telecommunications: '94c7b837-0f22-4fca-a7a2-8951cf869c81',
|
||||
textiles: 'a09422a2-e181-4faa-b904-3816b52bb7ee',
|
||||
thinkTanks: 'c434dbe6-fa9a-4af1-8b40-9165b6a34530',
|
||||
tobacco: '16ebae0f-59fc-4b8d-932f-840d54ae8b5c',
|
||||
translationAndLocalization: 'b94949a2-bf18-4cd3-943a-c381540d088e',
|
||||
transportationTruckingRailroad: '19882453-428c-4179-8614-a5e43dd40e5a',
|
||||
utilities: '911dfaf3-d735-4fdb-92c0-d038dc993144',
|
||||
ventureCapitalPrivateEquity: '478e405c-b780-45a9-9979-0910a9d10a40',
|
||||
veterinary: '2ed603fb-0491-4386-82ca-d5e43bbcdd51',
|
||||
warehousing: 'e0758679-11f6-45cf-af21-da21e297edbc',
|
||||
wholesale: '14d5d2c2-cd70-4436-9e42-2cb913f942e8',
|
||||
wineAndSpirits: 'd470d512-1736-4fe2-8c96-af30d8f03e60',
|
||||
wireless: 'dcf165e4-c123-436f-bd52-b6ddafcb3d74',
|
||||
writingAndEditing: 'a78d7014-682e-4455-a3d1-9f0c4bb21b01',
|
||||
},
|
||||
companyIndustry: {
|
||||
accounting: '67406afe-dd7e-4a39-a86b-394e1f3b7428',
|
||||
airlinesAviation: '6e5ea79c-fc34-4fd1-aaf0-67d94585ad84',
|
||||
@@ -1516,16 +1366,6 @@ export const PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS = {
|
||||
from150000To250000: '063ce36e-51ff-4dc2-86eb-3a4b2f823297',
|
||||
over250000: 'fc3658bf-dec7-443b-84f3-0770f3aae62f',
|
||||
},
|
||||
personJobCompanySize: {
|
||||
oneToTen: '9a958c46-b3e3-4e36-ba2f-08b5e0dd1ee7',
|
||||
elevenToFifty: 'b383e032-cf52-4082-ba2e-67b02228e283',
|
||||
fiftyOneToTwoHundred: '32fb12cb-49aa-4fbf-b683-365cea2f8d30',
|
||||
twoHundredOneToFiveHundred: '333ec4cb-e922-4b80-8830-13bf89d600a0',
|
||||
fiveHundredOneToOneThousand: '8d1612c8-5991-4d98-8901-f86effd8bd79',
|
||||
oneThousandOneToFiveThousand: '77383346-4ec3-4c45-9473-4687ee8d58af',
|
||||
fiveThousandOneToTenThousand: '9d654179-01b3-4694-ac24-f03f14023d4a',
|
||||
tenThousandOnePlus: '2ff37073-c0ca-4893-ac0c-d0f52cce1ee2',
|
||||
},
|
||||
companyLocationContinent: {
|
||||
africa: '0efd52cc-6ee3-4890-81ab-0a12a6c56d81',
|
||||
antarctica: '68bdf16c-bf40-445f-86b6-093c51ed6416',
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlAffiliatedProfiles',
|
||||
label: 'Affiliated Profiles',
|
||||
description: 'Affiliated company profiles returned by People Data Labs.',
|
||||
icon: 'IconAffiliate',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlAlternativeDomains',
|
||||
label: 'Alternative Domains',
|
||||
description: 'Alternative domains returned by People Data Labs.',
|
||||
icon: 'IconWorldWww',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlAlternativeNames',
|
||||
label: 'Alternative Names',
|
||||
description: 'Alternative names returned by People Data Labs.',
|
||||
icon: 'IconSignature',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+7
-44
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { COMPANY_TYPE_OPTIONS } from 'src/constants/company-type-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlCompanyType,
|
||||
@@ -17,49 +19,10 @@ export default defineField({
|
||||
name: 'pdlCompanyType',
|
||||
label: 'Company Type',
|
||||
description: 'People Data Labs canonical company type.',
|
||||
icon: 'IconBuildingCommunity',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.public,
|
||||
value: 'PUBLIC',
|
||||
label: 'Public',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.private,
|
||||
value: 'PRIVATE',
|
||||
label: 'Private',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.publicSubsidiary,
|
||||
value: 'PUBLIC_SUBSIDIARY',
|
||||
label: 'Public Subsidiary',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.educational,
|
||||
value: 'EDUCATIONAL',
|
||||
label: 'Educational',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.government,
|
||||
value: 'GOVERNMENT',
|
||||
label: 'Government',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType.nonprofit,
|
||||
value: 'NONPROFIT',
|
||||
label: 'Nonprofit',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
COMPANY_TYPE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyType,
|
||||
),
|
||||
});
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
RelationType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlCurrentEmployees,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.RELATION,
|
||||
name: 'pdlCurrentEmployees',
|
||||
label: 'PDL Current Employees',
|
||||
description:
|
||||
'People whose current employer is this company, per People Data Labs.',
|
||||
relationTargetObjectMetadataUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
relationTargetFieldMetadataUniversalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlCurrentCompany,
|
||||
universalSettings: {
|
||||
relationType: RelationType.ONE_TO_MANY,
|
||||
},
|
||||
icon: 'IconUsers',
|
||||
});
|
||||
+1
@@ -16,5 +16,6 @@ export default defineField({
|
||||
label: 'Employee Count by Country',
|
||||
description:
|
||||
'Employee count broken down by country returned by People Data Labs.',
|
||||
icon: 'IconMapPins',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlEmployeeCount',
|
||||
label: 'Employees',
|
||||
description: 'Exact employee count returned by People Data Labs.',
|
||||
icon: 'IconUsersGroup',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ export default defineField({
|
||||
name: 'pdlEnrichmentStatus',
|
||||
label: 'Enrichment Status',
|
||||
description: 'Outcome of the latest People Data Labs enrichment attempt.',
|
||||
icon: 'IconProgressCheck',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
ENRICHMENT_STATUS_OPTIONS,
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlFacebookUrl',
|
||||
label: 'Facebook',
|
||||
description: 'Facebook page returned by People Data Labs.',
|
||||
icon: 'IconBrandFacebook',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlFoundedYear',
|
||||
label: 'Founded Year',
|
||||
description: 'Founding year returned by People Data Labs.',
|
||||
icon: 'IconFlag',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlFundingStages',
|
||||
label: 'Funding Stages',
|
||||
description: 'People Data Labs canonical funding stages.',
|
||||
icon: 'IconChartArrowsVertical',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
FUNDING_STAGE_OPTIONS,
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlHeadline',
|
||||
label: 'Headline',
|
||||
description: 'People Data Labs company headline or summary.',
|
||||
icon: 'IconQuote',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlId',
|
||||
label: 'PDL ID',
|
||||
description: 'People Data Labs company identifier.',
|
||||
icon: 'IconId',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlIndustryDetail',
|
||||
label: 'Industry (detailed)',
|
||||
description: 'Detailed People Data Labs industry v2 value.',
|
||||
icon: 'IconBuildingFactory',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlIndustry',
|
||||
label: 'Industry',
|
||||
description: 'People Data Labs canonical industry.',
|
||||
icon: 'IconBuildingFactory2',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
INDUSTRY_OPTIONS,
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlLastEnrichedAt',
|
||||
label: 'Last Enriched At',
|
||||
description: 'Timestamp of the latest People Data Labs enrichment.',
|
||||
icon: 'IconClock',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlLastFundingDate',
|
||||
label: 'Last Funding Date',
|
||||
description: 'Date of the latest funding round returned by People Data Labs.',
|
||||
icon: 'IconCalendar',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ export default defineField({
|
||||
name: 'pdlLatestFundingStage',
|
||||
label: 'Latest Funding Stage',
|
||||
description: 'People Data Labs canonical latest funding stage.',
|
||||
icon: 'IconTrendingUp',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
FUNDING_STAGE_OPTIONS,
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlLinkedinId',
|
||||
label: 'LinkedIn ID',
|
||||
description: 'LinkedIn identifier returned by People Data Labs.',
|
||||
icon: 'IconBrandLinkedin',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+7
-57
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { LOCATION_CONTINENT_OPTIONS } from 'src/constants/location-continent-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
@@ -18,62 +20,10 @@ export default defineField({
|
||||
name: 'pdlLocationContinent',
|
||||
label: 'Continent',
|
||||
description: 'People Data Labs canonical continent.',
|
||||
icon: 'IconGlobe',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.africa,
|
||||
value: 'AFRICA',
|
||||
label: 'Africa',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.antarctica,
|
||||
value: 'ANTARCTICA',
|
||||
label: 'Antarctica',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent.asia,
|
||||
value: 'ASIA',
|
||||
label: 'Asia',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.europe,
|
||||
value: 'EUROPE',
|
||||
label: 'Europe',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.northAmerica,
|
||||
value: 'NORTH_AMERICA',
|
||||
label: 'North America',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.oceania,
|
||||
value: 'OCEANIA',
|
||||
label: 'Oceania',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent
|
||||
.southAmerica,
|
||||
value: 'SOUTH_AMERICA',
|
||||
label: 'South America',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
LOCATION_CONTINENT_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationContinent,
|
||||
),
|
||||
});
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlLocationMetro',
|
||||
label: 'Metro Area',
|
||||
description: 'People Data Labs canonical metro area.',
|
||||
icon: 'IconMap2',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
METRO_OPTIONS,
|
||||
|
||||
+7
-492
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { MIC_EXCHANGE_OPTIONS } from 'src/constants/mic-exchange-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlMicExchange,
|
||||
@@ -17,497 +19,10 @@ export default defineField({
|
||||
name: 'pdlMicExchange',
|
||||
label: 'Stock Exchange (MIC)',
|
||||
description: 'People Data Labs canonical market identifier code.',
|
||||
icon: 'IconBuildingBank',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.aqse,
|
||||
value: 'AQSE',
|
||||
label: 'AQSE',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.arcx,
|
||||
value: 'ARCX',
|
||||
label: 'ARCX',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.asex,
|
||||
value: 'ASEX',
|
||||
label: 'ASEX',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.bcxe,
|
||||
value: 'BCXE',
|
||||
label: 'BCXE',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.bvmf,
|
||||
value: 'BVMF',
|
||||
label: 'BVMF',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.dsmd,
|
||||
value: 'DSMD',
|
||||
label: 'DSMD',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.misx,
|
||||
value: 'MISX',
|
||||
label: 'MISX',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.neoe,
|
||||
value: 'NEOE',
|
||||
label: 'NEOE',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xams,
|
||||
value: 'XAMS',
|
||||
label: 'XAMS',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xase,
|
||||
value: 'XASE',
|
||||
label: 'XASE',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xasx,
|
||||
value: 'XASX',
|
||||
label: 'XASX',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xber,
|
||||
value: 'XBER',
|
||||
label: 'XBER',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbkk,
|
||||
value: 'XBKK',
|
||||
label: 'XBKK',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbog,
|
||||
value: 'XBOG',
|
||||
label: 'XBOG',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbom,
|
||||
value: 'XBOM',
|
||||
label: 'XBOM',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbru,
|
||||
value: 'XBRU',
|
||||
label: 'XBRU',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbsp,
|
||||
value: 'XBSP',
|
||||
label: 'XBSP',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbud,
|
||||
value: 'XBUD',
|
||||
label: 'XBUD',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xbue,
|
||||
value: 'XBUE',
|
||||
label: 'XBUE',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xcai,
|
||||
value: 'XCAI',
|
||||
label: 'XCAI',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xcbo,
|
||||
value: 'XCBO',
|
||||
label: 'XCBO',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xcnq,
|
||||
value: 'XCNQ',
|
||||
label: 'XCNQ',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xcse,
|
||||
value: 'XCSE',
|
||||
label: 'XCSE',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xdfm,
|
||||
value: 'XDFM',
|
||||
label: 'XDFM',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xdub,
|
||||
value: 'XDUB',
|
||||
label: 'XDUB',
|
||||
color: 'gray',
|
||||
position: 24,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xdus,
|
||||
value: 'XDUS',
|
||||
label: 'XDUS',
|
||||
color: 'blue',
|
||||
position: 25,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xeqy,
|
||||
value: 'XEQY',
|
||||
label: 'XEQY',
|
||||
color: 'red',
|
||||
position: 26,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xfra,
|
||||
value: 'XFRA',
|
||||
label: 'XFRA',
|
||||
color: 'green',
|
||||
position: 27,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xham,
|
||||
value: 'XHAM',
|
||||
label: 'XHAM',
|
||||
color: 'orange',
|
||||
position: 28,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xhel,
|
||||
value: 'XHEL',
|
||||
label: 'XHEL',
|
||||
color: 'purple',
|
||||
position: 29,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xhkg,
|
||||
value: 'XHKG',
|
||||
label: 'XHKG',
|
||||
color: 'yellow',
|
||||
position: 30,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xice,
|
||||
value: 'XICE',
|
||||
label: 'XICE',
|
||||
color: 'pink',
|
||||
position: 31,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xidx,
|
||||
value: 'XIDX',
|
||||
label: 'XIDX',
|
||||
color: 'cyan',
|
||||
position: 32,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xjpx,
|
||||
value: 'XJPX',
|
||||
label: 'XJPX',
|
||||
color: 'brown',
|
||||
position: 33,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xjse,
|
||||
value: 'XJSE',
|
||||
label: 'XJSE',
|
||||
color: 'lime',
|
||||
position: 34,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xkls,
|
||||
value: 'XKLS',
|
||||
label: 'XKLS',
|
||||
color: 'violet',
|
||||
position: 35,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xkos,
|
||||
value: 'XKOS',
|
||||
label: 'XKOS',
|
||||
color: 'gold',
|
||||
position: 36,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xkrx,
|
||||
value: 'XKRX',
|
||||
label: 'XKRX',
|
||||
color: 'turquoise',
|
||||
position: 37,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xkuw,
|
||||
value: 'XKUW',
|
||||
label: 'XKUW',
|
||||
color: 'crimson',
|
||||
position: 38,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xlis,
|
||||
value: 'XLIS',
|
||||
label: 'XLIS',
|
||||
color: 'sky',
|
||||
position: 39,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xlon,
|
||||
value: 'XLON',
|
||||
label: 'XLON',
|
||||
color: 'amber',
|
||||
position: 40,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xmad,
|
||||
value: 'XMAD',
|
||||
label: 'XMAD',
|
||||
color: 'plum',
|
||||
position: 41,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xmex,
|
||||
value: 'XMEX',
|
||||
label: 'XMEX',
|
||||
color: 'grass',
|
||||
position: 42,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xmil,
|
||||
value: 'XMIL',
|
||||
label: 'XMIL',
|
||||
color: 'tomato',
|
||||
position: 43,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xmun,
|
||||
value: 'XMUN',
|
||||
label: 'XMUN',
|
||||
color: 'iris',
|
||||
position: 44,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xnas,
|
||||
value: 'XNAS',
|
||||
label: 'XNAS',
|
||||
color: 'mint',
|
||||
position: 45,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xnse,
|
||||
value: 'XNSE',
|
||||
label: 'XNSE',
|
||||
color: 'ruby',
|
||||
position: 46,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xnys,
|
||||
value: 'XNYS',
|
||||
label: 'XNYS',
|
||||
color: 'bronze',
|
||||
position: 47,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xnze,
|
||||
value: 'XNZE',
|
||||
label: 'XNZE',
|
||||
color: 'jade',
|
||||
position: 48,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xosl,
|
||||
value: 'XOSL',
|
||||
label: 'XOSL',
|
||||
color: 'gray',
|
||||
position: 49,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xotc,
|
||||
value: 'XOTC',
|
||||
label: 'XOTC',
|
||||
color: 'blue',
|
||||
position: 50,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xpar,
|
||||
value: 'XPAR',
|
||||
label: 'XPAR',
|
||||
color: 'red',
|
||||
position: 51,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xpra,
|
||||
value: 'XPRA',
|
||||
label: 'XPRA',
|
||||
color: 'green',
|
||||
position: 52,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xris,
|
||||
value: 'XRIS',
|
||||
label: 'XRIS',
|
||||
color: 'orange',
|
||||
position: 53,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xsau,
|
||||
value: 'XSAU',
|
||||
label: 'XSAU',
|
||||
color: 'purple',
|
||||
position: 54,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xses,
|
||||
value: 'XSES',
|
||||
label: 'XSES',
|
||||
color: 'yellow',
|
||||
position: 55,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xsgo,
|
||||
value: 'XSGO',
|
||||
label: 'XSGO',
|
||||
color: 'pink',
|
||||
position: 56,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xshe,
|
||||
value: 'XSHE',
|
||||
label: 'XSHE',
|
||||
color: 'cyan',
|
||||
position: 57,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xshg,
|
||||
value: 'XSHG',
|
||||
label: 'XSHG',
|
||||
color: 'brown',
|
||||
position: 58,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xstc,
|
||||
value: 'XSTC',
|
||||
label: 'XSTC',
|
||||
color: 'lime',
|
||||
position: 59,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xsto,
|
||||
value: 'XSTO',
|
||||
label: 'XSTO',
|
||||
color: 'violet',
|
||||
position: 60,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xstu,
|
||||
value: 'XSTU',
|
||||
label: 'XSTU',
|
||||
color: 'gold',
|
||||
position: 61,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xswx,
|
||||
value: 'XSWX',
|
||||
label: 'XSWX',
|
||||
color: 'turquoise',
|
||||
position: 62,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xtae,
|
||||
value: 'XTAE',
|
||||
label: 'XTAE',
|
||||
color: 'crimson',
|
||||
position: 63,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xtai,
|
||||
value: 'XTAI',
|
||||
label: 'XTAI',
|
||||
color: 'sky',
|
||||
position: 64,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xtal,
|
||||
value: 'XTAL',
|
||||
label: 'XTAL',
|
||||
color: 'amber',
|
||||
position: 65,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xtse,
|
||||
value: 'XTSE',
|
||||
label: 'XTSE',
|
||||
color: 'plum',
|
||||
position: 66,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xtsx,
|
||||
value: 'XTSX',
|
||||
label: 'XTSX',
|
||||
color: 'grass',
|
||||
position: 67,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xwar,
|
||||
value: 'XWAR',
|
||||
label: 'XWAR',
|
||||
color: 'tomato',
|
||||
position: 68,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange.xwbo,
|
||||
value: 'XWBO',
|
||||
label: 'XWBO',
|
||||
color: 'iris',
|
||||
position: 69,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
MIC_EXCHANGE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyMicExchange,
|
||||
),
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlNaics',
|
||||
label: 'NAICS Codes',
|
||||
description: 'NAICS classification codes returned by People Data Labs.',
|
||||
icon: 'IconNumbers',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlNumberFundingRounds',
|
||||
label: 'Number of Funding Rounds',
|
||||
description: 'Number of funding rounds returned by People Data Labs.',
|
||||
icon: 'IconCoins',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlRawPayload',
|
||||
label: 'PDL Raw Payload',
|
||||
description: 'Full People Data Labs company enrichment response.',
|
||||
icon: 'IconBraces',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlSic',
|
||||
label: 'SIC Codes',
|
||||
description: 'SIC classification codes returned by People Data Labs.',
|
||||
icon: 'IconHash',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlSizeRange',
|
||||
label: 'Employee Range',
|
||||
description: 'People Data Labs canonical self-reported employee range.',
|
||||
icon: 'IconChartBar',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
SIZE_OPTIONS,
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlSummary',
|
||||
label: 'Summary',
|
||||
description: 'Company summary returned by People Data Labs.',
|
||||
icon: 'IconFileText',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlTags',
|
||||
label: 'Tags',
|
||||
description: 'Tags returned by People Data Labs.',
|
||||
icon: 'IconTags',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlTicker',
|
||||
label: 'Ticker',
|
||||
description: 'Company ticker returned by People Data Labs.',
|
||||
icon: 'IconChartCandle',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlTotalFunding',
|
||||
label: 'Total Funding Raised',
|
||||
description: 'Total funding raised in USD returned by People Data Labs.',
|
||||
icon: 'IconReportMoney',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlTwitterUrl',
|
||||
label: 'X / Twitter',
|
||||
description: 'X or Twitter company profile returned by People Data Labs.',
|
||||
icon: 'IconBrandX',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlBirthDate',
|
||||
label: 'Birth Date',
|
||||
description: 'Birth date returned by People Data Labs.',
|
||||
icon: 'IconCake',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlBirthYear',
|
||||
label: 'Birth Year',
|
||||
description: 'Birth year returned by People Data Labs.',
|
||||
icon: 'IconCalendar',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlCertifications',
|
||||
label: 'Certifications',
|
||||
description: 'Certifications returned by People Data Labs.',
|
||||
icon: 'IconCertificate',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
RelationType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlCurrentCompany,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RELATION,
|
||||
name: 'pdlCurrentCompany',
|
||||
label: 'PDL Current Company',
|
||||
description: 'Current employer detected by People Data Labs.',
|
||||
relationTargetObjectMetadataUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
relationTargetFieldMetadataUniversalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlCurrentEmployees,
|
||||
universalSettings: {
|
||||
relationType: RelationType.MANY_TO_ONE,
|
||||
},
|
||||
icon: 'IconBuilding',
|
||||
});
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlEducation',
|
||||
label: 'Education History',
|
||||
description: 'Education history returned by People Data Labs.',
|
||||
icon: 'IconSchool',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ export default defineField({
|
||||
name: 'pdlEnrichmentStatus',
|
||||
label: 'Enrichment Status',
|
||||
description: 'Outcome of the latest People Data Labs enrichment attempt.',
|
||||
icon: 'IconProgressCheck',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
ENRICHMENT_STATUS_OPTIONS,
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlExperience',
|
||||
label: 'Experience History',
|
||||
description: 'Experience history returned by People Data Labs.',
|
||||
icon: 'IconTimeline',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlFacebookUrl',
|
||||
label: 'Facebook',
|
||||
description: 'Facebook profile returned by People Data Labs.',
|
||||
icon: 'IconBrandFacebook',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlGithubUrl',
|
||||
label: 'GitHub',
|
||||
description: 'GitHub profile returned by People Data Labs.',
|
||||
icon: 'IconBrandGithub',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlHeadline',
|
||||
label: 'Headline',
|
||||
description: 'People Data Labs person headline or job summary.',
|
||||
icon: 'IconQuote',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlId',
|
||||
label: 'PDL ID',
|
||||
description: 'People Data Labs person identifier.',
|
||||
icon: 'IconId',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlIndustry',
|
||||
label: 'Industry',
|
||||
description: 'People Data Labs canonical industry.',
|
||||
icon: 'IconBuildingFactory2',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
INDUSTRY_OPTIONS,
|
||||
|
||||
+7
-90
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { INFERRED_SALARY_OPTIONS } from 'src/constants/inferred-salary-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlInferredSalary,
|
||||
@@ -17,95 +19,10 @@ export default defineField({
|
||||
name: 'pdlInferredSalary',
|
||||
label: 'Inferred Salary (range)',
|
||||
description: 'People Data Labs canonical inferred salary range.',
|
||||
icon: 'IconCurrencyDollar',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.under20000,
|
||||
value: 'UNDER_20000',
|
||||
label: '<20,000',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from20000To25000,
|
||||
value: 'FROM_20000_TO_25000',
|
||||
label: '20,000-25,000',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from25000To35000,
|
||||
value: 'FROM_25000_TO_35000',
|
||||
label: '25,000-35,000',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from35000To45000,
|
||||
value: 'FROM_35000_TO_45000',
|
||||
label: '35,000-45,000',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from45000To55000,
|
||||
value: 'FROM_45000_TO_55000',
|
||||
label: '45,000-55,000',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from55000To70000,
|
||||
value: 'FROM_55000_TO_70000',
|
||||
label: '55,000-70,000',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from70000To85000,
|
||||
value: 'FROM_70000_TO_85000',
|
||||
label: '70,000-85,000',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from85000To100000,
|
||||
value: 'FROM_85000_TO_100000',
|
||||
label: '85,000-100,000',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from100000To150000,
|
||||
value: 'FROM_100000_TO_150000',
|
||||
label: '100,000-150,000',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.from150000To250000,
|
||||
value: 'FROM_150000_TO_250000',
|
||||
label: '150,000-250,000',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary
|
||||
.over250000,
|
||||
value: 'OVER_250000',
|
||||
label: '>250,000',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
INFERRED_SALARY_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personInferredSalary,
|
||||
),
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlInterests',
|
||||
label: 'Interests',
|
||||
description: 'Interests returned by People Data Labs.',
|
||||
icon: 'IconHeart',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanyId,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlJobCompanyId',
|
||||
label: 'Current Company PDL ID',
|
||||
description: 'Current company PDL identifier returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { INDUSTRY_OPTIONS } from 'src/constants/industry-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanyIndustry,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlJobCompanyIndustry',
|
||||
label: 'Current Company Industry',
|
||||
description:
|
||||
'Current company canonical industry returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
INDUSTRY_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobCompanyIndustry,
|
||||
),
|
||||
});
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanyLinkedinUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlJobCompanyLinkedinUrl',
|
||||
label: 'Current Company LinkedIn',
|
||||
description: 'Current company LinkedIn returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanyName,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlJobCompanyName',
|
||||
label: 'Current Company',
|
||||
description: 'Current company name returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { SIZE_OPTIONS } from 'src/constants/size-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanySize,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlJobCompanySize',
|
||||
label: 'Current Company Size',
|
||||
description: 'Current company size range returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
SIZE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobCompanySize,
|
||||
),
|
||||
});
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobCompanyWebsite,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlJobCompanyWebsite',
|
||||
label: 'Current Company Website',
|
||||
description: 'Current company website returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlJobHistory',
|
||||
label: 'Job History',
|
||||
description: 'Job history returned by People Data Labs.',
|
||||
icon: 'IconHistory',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlJobOnetCode',
|
||||
label: 'O*NET Code',
|
||||
description: 'O*NET occupation code returned by People Data Labs.',
|
||||
icon: 'IconBarcode',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+7
-170
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { JOB_ROLE_OPTIONS } from 'src/constants/job-role-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobRole,
|
||||
@@ -17,175 +19,10 @@ export default defineField({
|
||||
name: 'pdlJobRole',
|
||||
label: 'Job Role',
|
||||
description: 'People Data Labs canonical job title role.',
|
||||
icon: 'IconBriefcase',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.advisory,
|
||||
value: 'ADVISORY',
|
||||
label: 'Advisory',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.analyst,
|
||||
value: 'ANALYST',
|
||||
label: 'Analyst',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.creative,
|
||||
value: 'CREATIVE',
|
||||
label: 'Creative',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.education,
|
||||
value: 'EDUCATION',
|
||||
label: 'Education',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.engineering,
|
||||
value: 'ENGINEERING',
|
||||
label: 'Engineering',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.finance,
|
||||
value: 'FINANCE',
|
||||
label: 'Finance',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.fulfillment,
|
||||
value: 'FULFILLMENT',
|
||||
label: 'Fulfillment',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.health,
|
||||
value: 'HEALTH',
|
||||
label: 'Health',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.hospitality,
|
||||
value: 'HOSPITALITY',
|
||||
label: 'Hospitality',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.humanResources,
|
||||
value: 'HUMAN_RESOURCES',
|
||||
label: 'Human Resources',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.legal,
|
||||
value: 'LEGAL',
|
||||
label: 'Legal',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.manufacturing,
|
||||
value: 'MANUFACTURING',
|
||||
label: 'Manufacturing',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.marketing,
|
||||
value: 'MARKETING',
|
||||
label: 'Marketing',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.operations,
|
||||
value: 'OPERATIONS',
|
||||
label: 'Operations',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.partnerships,
|
||||
value: 'PARTNERSHIPS',
|
||||
label: 'Partnerships',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.product,
|
||||
value: 'PRODUCT',
|
||||
label: 'Product',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.professionalService,
|
||||
value: 'PROFESSIONAL_SERVICE',
|
||||
label: 'Professional Service',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.publicService,
|
||||
value: 'PUBLIC_SERVICE',
|
||||
label: 'Public Service',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.research,
|
||||
value: 'RESEARCH',
|
||||
label: 'Research',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.sales,
|
||||
value: 'SALES',
|
||||
label: 'Sales',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.salesEngineering,
|
||||
value: 'SALES_ENGINEERING',
|
||||
label: 'Sales Engineering',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.support,
|
||||
value: 'SUPPORT',
|
||||
label: 'Support',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.trade,
|
||||
value: 'TRADE',
|
||||
label: 'Trade',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole.unemployed,
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
JOB_ROLE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.jobRole,
|
||||
),
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlJobStartDate',
|
||||
label: 'Job Start Date',
|
||||
description: 'Current job start date returned by People Data Labs.',
|
||||
icon: 'IconCalendarTime',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlJobSummary',
|
||||
label: 'Job Summary',
|
||||
description: 'Current job summary returned by People Data Labs.',
|
||||
icon: 'IconFileDescription',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+7
-40
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { JOB_TITLE_CLASS_OPTIONS } from 'src/constants/job-title-class-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobTitleClass,
|
||||
@@ -17,45 +19,10 @@ export default defineField({
|
||||
name: 'pdlJobTitleClass',
|
||||
label: 'Job Class',
|
||||
description: 'People Data Labs canonical job class.',
|
||||
icon: 'IconCategory',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass
|
||||
.generalAndAdministrative,
|
||||
value: 'GENERAL_AND_ADMINISTRATIVE',
|
||||
label: 'General and Administrative',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass
|
||||
.researchAndDevelopment,
|
||||
value: 'RESEARCH_AND_DEVELOPMENT',
|
||||
label: 'Research and Development',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass
|
||||
.salesAndMarketing,
|
||||
value: 'SALES_AND_MARKETING',
|
||||
label: 'Sales and Marketing',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass.services,
|
||||
value: 'SERVICES',
|
||||
label: 'Services',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass.unemployed,
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
JOB_TITLE_CLASS_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobClass,
|
||||
),
|
||||
});
|
||||
|
||||
+7
-781
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { JOB_TITLE_SUB_ROLE_OPTIONS } from 'src/constants/job-title-sub-role-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
@@ -18,786 +20,10 @@ export default defineField({
|
||||
name: 'pdlJobTitleSubRole',
|
||||
label: 'Job Sub-Role',
|
||||
description: 'People Data Labs canonical job sub-role.',
|
||||
icon: 'IconSubtask',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.academic,
|
||||
value: 'ACADEMIC',
|
||||
label: 'Academic',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.accountExecutive,
|
||||
value: 'ACCOUNT_EXECUTIVE',
|
||||
label: 'Account Executive',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.accountManagement,
|
||||
value: 'ACCOUNT_MANAGEMENT',
|
||||
label: 'Account Management',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.accounting,
|
||||
value: 'ACCOUNTING',
|
||||
label: 'Accounting',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.accountingServices,
|
||||
value: 'ACCOUNTING_SERVICES',
|
||||
label: 'Accounting Services',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.administrative,
|
||||
value: 'ADMINISTRATIVE',
|
||||
label: 'Administrative',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.advisor,
|
||||
value: 'ADVISOR',
|
||||
label: 'Advisor',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.agriculture,
|
||||
value: 'AGRICULTURE',
|
||||
label: 'Agriculture',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.aides,
|
||||
value: 'AIDES',
|
||||
label: 'Aides',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.architecture,
|
||||
value: 'ARCHITECTURE',
|
||||
label: 'Architecture',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.artist,
|
||||
value: 'ARTIST',
|
||||
label: 'Artist',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.boardMember,
|
||||
value: 'BOARD_MEMBER',
|
||||
label: 'Board Member',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.bookkeeping,
|
||||
value: 'BOOKKEEPING',
|
||||
label: 'Bookkeeping',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.brand,
|
||||
value: 'BRAND',
|
||||
label: 'Brand',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.buildingAndGrounds,
|
||||
value: 'BUILDING_AND_GROUNDS',
|
||||
label: 'Building and Grounds',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.businessAnalyst,
|
||||
value: 'BUSINESS_ANALYST',
|
||||
label: 'Business Analyst',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.businessDevelopment,
|
||||
value: 'BUSINESS_DEVELOPMENT',
|
||||
label: 'Business Development',
|
||||
color: 'plum',
|
||||
position: 16,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.chemical,
|
||||
value: 'CHEMICAL',
|
||||
label: 'Chemical',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.compliance,
|
||||
value: 'COMPLIANCE',
|
||||
label: 'Compliance',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.construction,
|
||||
value: 'CONSTRUCTION',
|
||||
label: 'Construction',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.consulting,
|
||||
value: 'CONSULTING',
|
||||
label: 'Consulting',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.content,
|
||||
value: 'CONTENT',
|
||||
label: 'Content',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.corporateDevelopment,
|
||||
value: 'CORPORATE_DEVELOPMENT',
|
||||
label: 'Corporate Development',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.curation,
|
||||
value: 'CURATION',
|
||||
label: 'Curation',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.customerSuccess,
|
||||
value: 'CUSTOMER_SUCCESS',
|
||||
label: 'Customer Success',
|
||||
color: 'gray',
|
||||
position: 24,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.customerSupport,
|
||||
value: 'CUSTOMER_SUPPORT',
|
||||
label: 'Customer Support',
|
||||
color: 'blue',
|
||||
position: 25,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.dataAnalyst,
|
||||
value: 'DATA_ANALYST',
|
||||
label: 'Data Analyst',
|
||||
color: 'red',
|
||||
position: 26,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.dataEngineering,
|
||||
value: 'DATA_ENGINEERING',
|
||||
label: 'Data Engineering',
|
||||
color: 'green',
|
||||
position: 27,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.dataScience,
|
||||
value: 'DATA_SCIENCE',
|
||||
label: 'Data Science',
|
||||
color: 'orange',
|
||||
position: 28,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.dental,
|
||||
value: 'DENTAL',
|
||||
label: 'Dental',
|
||||
color: 'purple',
|
||||
position: 29,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.devops,
|
||||
value: 'DEVOPS',
|
||||
label: 'DevOps',
|
||||
color: 'yellow',
|
||||
position: 30,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.doctor,
|
||||
value: 'DOCTOR',
|
||||
label: 'Doctor',
|
||||
color: 'pink',
|
||||
position: 31,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.electric,
|
||||
value: 'ELECTRIC',
|
||||
label: 'Electric',
|
||||
color: 'cyan',
|
||||
position: 32,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.electrical,
|
||||
value: 'ELECTRICAL',
|
||||
label: 'Electrical',
|
||||
color: 'brown',
|
||||
position: 33,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.emergencyServices,
|
||||
value: 'EMERGENCY_SERVICES',
|
||||
label: 'Emergency Services',
|
||||
color: 'lime',
|
||||
position: 34,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.entertainment,
|
||||
value: 'ENTERTAINMENT',
|
||||
label: 'Entertainment',
|
||||
color: 'violet',
|
||||
position: 35,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.executive,
|
||||
value: 'EXECUTIVE',
|
||||
label: 'Executive',
|
||||
color: 'gold',
|
||||
position: 36,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.fashion,
|
||||
value: 'FASHION',
|
||||
label: 'Fashion',
|
||||
color: 'turquoise',
|
||||
position: 37,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.financial,
|
||||
value: 'FINANCIAL',
|
||||
label: 'Financial',
|
||||
color: 'crimson',
|
||||
position: 38,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.fitness,
|
||||
value: 'FITNESS',
|
||||
label: 'Fitness',
|
||||
color: 'sky',
|
||||
position: 39,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.fraud,
|
||||
value: 'FRAUD',
|
||||
label: 'Fraud',
|
||||
color: 'amber',
|
||||
position: 40,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.graphicDesign,
|
||||
value: 'GRAPHIC_DESIGN',
|
||||
label: 'Graphic Design',
|
||||
color: 'plum',
|
||||
position: 41,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.growth,
|
||||
value: 'GROWTH',
|
||||
label: 'Growth',
|
||||
color: 'grass',
|
||||
position: 42,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.hairStylist,
|
||||
value: 'HAIR_STYLIST',
|
||||
label: 'Hair Stylist',
|
||||
color: 'tomato',
|
||||
position: 43,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.hardware,
|
||||
value: 'HARDWARE',
|
||||
label: 'Hardware',
|
||||
color: 'iris',
|
||||
position: 44,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.healthAndSafety,
|
||||
value: 'HEALTH_AND_SAFETY',
|
||||
label: 'Health and Safety',
|
||||
color: 'mint',
|
||||
position: 45,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.humanResources,
|
||||
value: 'HUMAN_RESOURCES',
|
||||
label: 'Human Resources',
|
||||
color: 'ruby',
|
||||
position: 46,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.implementation,
|
||||
value: 'IMPLEMENTATION',
|
||||
label: 'Implementation',
|
||||
color: 'bronze',
|
||||
position: 47,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.industrial,
|
||||
value: 'INDUSTRIAL',
|
||||
label: 'Industrial',
|
||||
color: 'jade',
|
||||
position: 48,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.informationTechnology,
|
||||
value: 'INFORMATION_TECHNOLOGY',
|
||||
label: 'Information Technology',
|
||||
color: 'gray',
|
||||
position: 49,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.insurance,
|
||||
value: 'INSURANCE',
|
||||
label: 'Insurance',
|
||||
color: 'blue',
|
||||
position: 50,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.investmentBanking,
|
||||
value: 'INVESTMENT_BANKING',
|
||||
label: 'Investment Banking',
|
||||
color: 'red',
|
||||
position: 51,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.investor,
|
||||
value: 'INVESTOR',
|
||||
label: 'Investor',
|
||||
color: 'green',
|
||||
position: 52,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.investorRelations,
|
||||
value: 'INVESTOR_RELATIONS',
|
||||
label: 'Investor Relations',
|
||||
color: 'orange',
|
||||
position: 53,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.journalism,
|
||||
value: 'JOURNALISM',
|
||||
label: 'Journalism',
|
||||
color: 'purple',
|
||||
position: 54,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.judicial,
|
||||
value: 'JUDICIAL',
|
||||
label: 'Judicial',
|
||||
color: 'yellow',
|
||||
position: 55,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.legal,
|
||||
value: 'LEGAL',
|
||||
label: 'Legal',
|
||||
color: 'pink',
|
||||
position: 56,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.legalServices,
|
||||
value: 'LEGAL_SERVICES',
|
||||
label: 'Legal Services',
|
||||
color: 'cyan',
|
||||
position: 57,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.logistics,
|
||||
value: 'LOGISTICS',
|
||||
label: 'Logistics',
|
||||
color: 'brown',
|
||||
position: 58,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.machinist,
|
||||
value: 'MACHINIST',
|
||||
label: 'Machinist',
|
||||
color: 'lime',
|
||||
position: 59,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.marketingDesign,
|
||||
value: 'MARKETING_DESIGN',
|
||||
label: 'Marketing Design',
|
||||
color: 'violet',
|
||||
position: 60,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.marketingServices,
|
||||
value: 'MARKETING_SERVICES',
|
||||
label: 'Marketing Services',
|
||||
color: 'gold',
|
||||
position: 61,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.mechanic,
|
||||
value: 'MECHANIC',
|
||||
label: 'Mechanic',
|
||||
color: 'turquoise',
|
||||
position: 62,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.mechanical,
|
||||
value: 'MECHANICAL',
|
||||
label: 'Mechanical',
|
||||
color: 'crimson',
|
||||
position: 63,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.military,
|
||||
value: 'MILITARY',
|
||||
label: 'Military',
|
||||
color: 'sky',
|
||||
position: 64,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.network,
|
||||
value: 'NETWORK',
|
||||
label: 'Network',
|
||||
color: 'amber',
|
||||
position: 65,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.nursing,
|
||||
value: 'NURSING',
|
||||
label: 'Nursing',
|
||||
color: 'plum',
|
||||
position: 66,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.partnerships,
|
||||
value: 'PARTNERSHIPS',
|
||||
label: 'Partnerships',
|
||||
color: 'grass',
|
||||
position: 67,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.pharmacy,
|
||||
value: 'PHARMACY',
|
||||
label: 'Pharmacy',
|
||||
color: 'tomato',
|
||||
position: 68,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.planningAndAnalysis,
|
||||
value: 'PLANNING_AND_ANALYSIS',
|
||||
label: 'Planning and Analysis',
|
||||
color: 'iris',
|
||||
position: 69,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.plumbing,
|
||||
value: 'PLUMBING',
|
||||
label: 'Plumbing',
|
||||
color: 'mint',
|
||||
position: 70,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.political,
|
||||
value: 'POLITICAL',
|
||||
label: 'Political',
|
||||
color: 'ruby',
|
||||
position: 71,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.primaryAndSecondary,
|
||||
value: 'PRIMARY_AND_SECONDARY',
|
||||
label: 'Primary and Secondary',
|
||||
color: 'bronze',
|
||||
position: 72,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.procurement,
|
||||
value: 'PROCUREMENT',
|
||||
label: 'Procurement',
|
||||
color: 'jade',
|
||||
position: 73,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.productDesign,
|
||||
value: 'PRODUCT_DESIGN',
|
||||
label: 'Product Design',
|
||||
color: 'gray',
|
||||
position: 74,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.productManagement,
|
||||
value: 'PRODUCT_MANAGEMENT',
|
||||
label: 'Product Management',
|
||||
color: 'blue',
|
||||
position: 75,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.professor,
|
||||
value: 'PROFESSOR',
|
||||
label: 'Professor',
|
||||
color: 'red',
|
||||
position: 76,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.projectManagement,
|
||||
value: 'PROJECT_MANAGEMENT',
|
||||
label: 'Project Management',
|
||||
color: 'green',
|
||||
position: 77,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.protectiveService,
|
||||
value: 'PROTECTIVE_SERVICE',
|
||||
label: 'Protective Service',
|
||||
color: 'orange',
|
||||
position: 78,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.qaEngineering,
|
||||
value: 'QA_ENGINEERING',
|
||||
label: 'QA Engineering',
|
||||
color: 'purple',
|
||||
position: 79,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.qualityAssurance,
|
||||
value: 'QUALITY_ASSURANCE',
|
||||
label: 'Quality Assurance',
|
||||
color: 'yellow',
|
||||
position: 80,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.realtor,
|
||||
value: 'REALTOR',
|
||||
label: 'Realtor',
|
||||
color: 'pink',
|
||||
position: 81,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.recruiting,
|
||||
value: 'RECRUITING',
|
||||
label: 'Recruiting',
|
||||
color: 'cyan',
|
||||
position: 82,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.restaurants,
|
||||
value: 'RESTAURANTS',
|
||||
label: 'Restaurants',
|
||||
color: 'brown',
|
||||
position: 83,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.retail,
|
||||
value: 'RETAIL',
|
||||
label: 'Retail',
|
||||
color: 'lime',
|
||||
position: 84,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.revenueOperations,
|
||||
value: 'REVENUE_OPERATIONS',
|
||||
label: 'Revenue Operations',
|
||||
color: 'violet',
|
||||
position: 85,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.risk,
|
||||
value: 'RISK',
|
||||
label: 'Risk',
|
||||
color: 'gold',
|
||||
position: 86,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.salesDevelopment,
|
||||
value: 'SALES_DEVELOPMENT',
|
||||
label: 'Sales Development',
|
||||
color: 'turquoise',
|
||||
position: 87,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.scientific,
|
||||
value: 'SCIENTIFIC',
|
||||
label: 'Scientific',
|
||||
color: 'crimson',
|
||||
position: 88,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.security,
|
||||
value: 'SECURITY',
|
||||
label: 'Security',
|
||||
color: 'sky',
|
||||
position: 89,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.socialService,
|
||||
value: 'SOCIAL_SERVICE',
|
||||
label: 'Social Service',
|
||||
color: 'amber',
|
||||
position: 90,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.software,
|
||||
value: 'SOFTWARE',
|
||||
label: 'Software',
|
||||
color: 'plum',
|
||||
position: 91,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.solutionsEngineer,
|
||||
value: 'SOLUTIONS_ENGINEER',
|
||||
label: 'Solutions Engineer',
|
||||
color: 'grass',
|
||||
position: 92,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.strategy,
|
||||
value: 'STRATEGY',
|
||||
label: 'Strategy',
|
||||
color: 'tomato',
|
||||
position: 93,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.student,
|
||||
value: 'STUDENT',
|
||||
label: 'Student',
|
||||
color: 'iris',
|
||||
position: 94,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.talentAnalytics,
|
||||
value: 'TALENT_ANALYTICS',
|
||||
label: 'Talent Analytics',
|
||||
color: 'mint',
|
||||
position: 95,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.therapy,
|
||||
value: 'THERAPY',
|
||||
label: 'Therapy',
|
||||
color: 'ruby',
|
||||
position: 96,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole
|
||||
.tourAndTravel,
|
||||
value: 'TOUR_AND_TRAVEL',
|
||||
label: 'Tour and Travel',
|
||||
color: 'bronze',
|
||||
position: 97,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.training,
|
||||
value: 'TRAINING',
|
||||
label: 'Training',
|
||||
color: 'jade',
|
||||
position: 98,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.translation,
|
||||
value: 'TRANSLATION',
|
||||
label: 'Translation',
|
||||
color: 'gray',
|
||||
position: 99,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.transport,
|
||||
value: 'TRANSPORT',
|
||||
label: 'Transport',
|
||||
color: 'blue',
|
||||
position: 100,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.unemployed,
|
||||
value: 'UNEMPLOYED',
|
||||
label: 'Unemployed',
|
||||
color: 'red',
|
||||
position: 101,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.veterinarian,
|
||||
value: 'VETERINARIAN',
|
||||
label: 'Veterinarian',
|
||||
color: 'green',
|
||||
position: 102,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.warehouse,
|
||||
value: 'WAREHOUSE',
|
||||
label: 'Warehouse',
|
||||
color: 'orange',
|
||||
position: 103,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.web,
|
||||
value: 'WEB',
|
||||
label: 'Web',
|
||||
color: 'purple',
|
||||
position: 104,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole.wellness,
|
||||
value: 'WELLNESS',
|
||||
label: 'Wellness',
|
||||
color: 'yellow',
|
||||
position: 105,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
JOB_TITLE_SUB_ROLE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personJobSubRole,
|
||||
),
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlLanguages',
|
||||
label: 'Languages',
|
||||
description: 'Languages returned by People Data Labs.',
|
||||
icon: 'IconLanguage',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlLastEnrichedAt',
|
||||
label: 'Last Enriched At',
|
||||
description: 'Timestamp of the latest People Data Labs enrichment.',
|
||||
icon: 'IconClock',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlLikelihood',
|
||||
label: 'Match Likelihood',
|
||||
description: 'People Data Labs match confidence score (1-10).',
|
||||
icon: 'IconGauge',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlLinkedinConnections',
|
||||
label: 'LinkedIn Connections',
|
||||
description: 'LinkedIn connection count returned by People Data Labs.',
|
||||
icon: 'IconAffiliate',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -15,5 +15,6 @@ export default defineField({
|
||||
name: 'pdlLinkedinUsername',
|
||||
label: 'LinkedIn Username',
|
||||
description: 'LinkedIn username returned by People Data Labs.',
|
||||
icon: 'IconBrandLinkedin',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export default defineField({
|
||||
name: 'pdlLocationMetro',
|
||||
label: 'Metro Area',
|
||||
description: 'People Data Labs canonical metro area.',
|
||||
icon: 'IconMap2',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
METRO_OPTIONS,
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlLocation',
|
||||
label: 'Location',
|
||||
description: 'Location returned by People Data Labs.',
|
||||
icon: 'IconMapPin',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlNameAliases',
|
||||
label: 'Name Aliases',
|
||||
description: 'Name aliases returned by People Data Labs.',
|
||||
icon: 'IconSignature',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlProfiles',
|
||||
label: 'Social Profiles',
|
||||
description: 'All social profiles returned by People Data Labs.',
|
||||
icon: 'IconUserCircle',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlRawPayload',
|
||||
label: 'PDL Raw Payload',
|
||||
description: 'Full People Data Labs person enrichment response.',
|
||||
icon: 'IconBraces',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+7
-72
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { SENIORITY_OPTIONS } from 'src/constants/seniority-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlSeniority,
|
||||
@@ -17,77 +19,10 @@ export default defineField({
|
||||
name: 'pdlSeniority',
|
||||
label: 'Seniority',
|
||||
description: 'People Data Labs canonical job title levels.',
|
||||
icon: 'IconStairsUp',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.cxo,
|
||||
value: 'CXO',
|
||||
label: 'CXO',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.owner,
|
||||
value: 'OWNER',
|
||||
label: 'Owner',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.vp,
|
||||
value: 'VP',
|
||||
label: 'VP',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.director,
|
||||
value: 'DIRECTOR',
|
||||
label: 'Director',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.partner,
|
||||
value: 'PARTNER',
|
||||
label: 'Partner',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.senior,
|
||||
value: 'SENIOR',
|
||||
label: 'Senior',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.manager,
|
||||
value: 'MANAGER',
|
||||
label: 'Manager',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.entry,
|
||||
value: 'ENTRY',
|
||||
label: 'Entry',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.training,
|
||||
value: 'TRAINING',
|
||||
label: 'Training',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority.unpaid,
|
||||
value: 'UNPAID',
|
||||
label: 'Unpaid',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
SENIORITY_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.seniority,
|
||||
),
|
||||
});
|
||||
|
||||
@@ -4,10 +4,12 @@ import {
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { SEX_OPTIONS } from 'src/constants/sex-options';
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
import { buildSelectOptions } from 'src/utils/build-select-options';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlSex,
|
||||
@@ -17,21 +19,10 @@ export default defineField({
|
||||
name: 'pdlSex',
|
||||
label: 'Sex',
|
||||
description: 'Sex returned by People Data Labs.',
|
||||
icon: 'IconGenderBigender',
|
||||
isNullable: true,
|
||||
options: [
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.sex.male,
|
||||
value: 'MALE',
|
||||
label: 'Male',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
id: PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.sex.female,
|
||||
value: 'FEMALE',
|
||||
label: 'Female',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
],
|
||||
options: buildSelectOptions(
|
||||
SEX_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.sex,
|
||||
),
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlSkills',
|
||||
label: 'Skills',
|
||||
description: 'Skills returned by People Data Labs.',
|
||||
icon: 'IconBulb',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlSummary',
|
||||
label: 'Summary',
|
||||
description: 'Profile summary returned by People Data Labs.',
|
||||
icon: 'IconFileText',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -14,5 +14,6 @@ export default defineField({
|
||||
name: 'pdlTwitterUrl',
|
||||
label: 'X / Twitter',
|
||||
description: 'X or Twitter profile returned by People Data Labs.',
|
||||
icon: 'IconBrandX',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+1
@@ -16,5 +16,6 @@ export default defineField({
|
||||
label: 'Years of Experience',
|
||||
description:
|
||||
'Inferred years of professional experience from People Data Labs.',
|
||||
icon: 'IconHourglass',
|
||||
isNullable: true,
|
||||
});
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
import { type CompanyNode } from 'src/types/company-node.type';
|
||||
|
||||
export const COMPANY_NODE_MOCK: CompanyNode = {
|
||||
id: 'c1',
|
||||
name: '',
|
||||
domainName: { primaryLinkUrl: 'acme.com' },
|
||||
linkedinLink: null,
|
||||
address: null,
|
||||
pdlId: null,
|
||||
pdlLastEnrichedAt: null,
|
||||
};
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
import { type CoreApiClient } from 'twenty-client-sdk/core';
|
||||
import { vi } from 'vitest';
|
||||
|
||||
type Resolver<TResult> = TResult | ((request: unknown) => TResult);
|
||||
|
||||
type CoreApiClientMockOptions = {
|
||||
queryResult?: Resolver<unknown>;
|
||||
mutationResult?: Resolver<unknown>;
|
||||
onMutation?: (request: unknown) => void;
|
||||
};
|
||||
|
||||
const resolve = <TResult>(
|
||||
resolver: Resolver<TResult> | undefined,
|
||||
request: unknown,
|
||||
): TResult | undefined =>
|
||||
typeof resolver === 'function'
|
||||
? (resolver as (request: unknown) => TResult)(request)
|
||||
: resolver;
|
||||
|
||||
export const createCoreApiClientMock = ({
|
||||
queryResult,
|
||||
mutationResult,
|
||||
onMutation,
|
||||
}: CoreApiClientMockOptions = {}): CoreApiClient => {
|
||||
const query = vi.fn((request: unknown) =>
|
||||
Promise.resolve(resolve(queryResult, request)),
|
||||
);
|
||||
const mutation = vi.fn((request: unknown) => {
|
||||
onMutation?.(request);
|
||||
|
||||
return Promise.resolve(resolve(mutationResult, request) ?? {});
|
||||
});
|
||||
|
||||
return { query, mutation } as unknown as CoreApiClient;
|
||||
};
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
import { type PdlCompanyData } from 'src/types/pdl-company-data.type';
|
||||
|
||||
export const PDL_COMPANY_DATA_MOCK: PdlCompanyData = {
|
||||
id: 'pdl-company-1',
|
||||
display_name: 'Acme Corp',
|
||||
website: 'acme.com',
|
||||
linkedin_url: 'https://linkedin.com/company/acme',
|
||||
industry: 'accounting',
|
||||
type: 'private',
|
||||
size: '51-200',
|
||||
employee_count: 120,
|
||||
founded: 2001,
|
||||
total_funding_raised: 1234.5,
|
||||
latest_funding_stage: 'series_a',
|
||||
funding_stages: ['seed', 'series_a', 'not-a-stage'],
|
||||
last_funding_date: '2020-05',
|
||||
number_funding_rounds: 3,
|
||||
tags: ['saas', 'b2b'],
|
||||
naics: [{ naics_code: '541511' }],
|
||||
location: {
|
||||
locality: 'San Francisco',
|
||||
region: 'California',
|
||||
postal_code: '94107',
|
||||
country: 'United States',
|
||||
continent: 'north america',
|
||||
},
|
||||
};
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
import { type PdlPersonData } from 'src/types/pdl-person-data.type';
|
||||
|
||||
export const PDL_PERSON_DATA_MOCK: PdlPersonData = {
|
||||
id: 'pdl-person-1',
|
||||
first_name: 'Jane',
|
||||
last_name: 'Doe',
|
||||
work_email: 'jane.doe@acme.com',
|
||||
personal_emails: ['jane@personal.com'],
|
||||
job_title: 'Chief Executive Officer',
|
||||
linkedin_url: 'https://linkedin.com/in/janedoe',
|
||||
industry: 'accounting',
|
||||
job_title_role: 'engineering',
|
||||
job_title_levels: ['cxo', 'not-a-level'],
|
||||
inferred_salary: '45,000-55,000',
|
||||
job_company_size: '11-50',
|
||||
skills: ['leadership', 'strategy', 'leadership'],
|
||||
experience: [{ company: { name: 'Acme' } }],
|
||||
birth_date: '1990',
|
||||
location_locality: 'San Francisco',
|
||||
location_region: 'California',
|
||||
location_postal_code: '94107',
|
||||
location_country: 'United States',
|
||||
};
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
import { type PersonNode } from 'src/types/person-node.type';
|
||||
|
||||
export const PERSON_NODE_MOCK: PersonNode = {
|
||||
id: 'p1',
|
||||
name: { firstName: '', lastName: '' },
|
||||
emails: null,
|
||||
phones: null,
|
||||
jobTitle: '',
|
||||
linkedinLink: { primaryLinkUrl: 'https://linkedin.com/in/existing' },
|
||||
pdlId: null,
|
||||
pdlLastEnrichedAt: null,
|
||||
};
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
import { defineLogicFunction } from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
import { enrichCompanyCore } from 'src/logic-functions/handlers/enrich-company.core';
|
||||
import { type EnrichInput } from 'src/types/enrich-input.type';
|
||||
|
||||
const handler = (input: EnrichInput) => enrichCompanyCore(input);
|
||||
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier:
|
||||
PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS.enrichCompanyTool,
|
||||
name: 'enrich-company-tool',
|
||||
description:
|
||||
'Enrich a Company record with People Data Labs data (industry, size, funding, location, etc.) given its record id.',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
toolTriggerSettings: {
|
||||
inputSchema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
recordId: {
|
||||
type: 'string',
|
||||
description: 'The id of the Company record to enrich.',
|
||||
},
|
||||
force: {
|
||||
type: 'boolean',
|
||||
description:
|
||||
'Re-enrich even if the record was enriched recently (bypasses the freshness guard).',
|
||||
},
|
||||
},
|
||||
required: ['recordId'],
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
});
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
import { defineLogicFunction } from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
import { enrichCompanyCore } from 'src/logic-functions/handlers/enrich-company.core';
|
||||
import { type EnrichInput } from 'src/types/enrich-input.type';
|
||||
|
||||
const handler = (input: EnrichInput) => enrichCompanyCore(input);
|
||||
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS.enrichCompany,
|
||||
name: 'enrich-company',
|
||||
description: 'Enrich a Company with People Data Labs data',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
workflowActionTriggerSettings: {
|
||||
label: 'Enrich with People Data Labs',
|
||||
icon: 'IconSparkles',
|
||||
inputSchema: [
|
||||
{
|
||||
type: 'object',
|
||||
properties: {
|
||||
recordId: { type: 'string' },
|
||||
force: { type: 'boolean' },
|
||||
},
|
||||
},
|
||||
],
|
||||
outputSchema: [
|
||||
{
|
||||
type: 'object',
|
||||
properties: {
|
||||
success: { type: 'boolean' },
|
||||
status: { type: 'string' },
|
||||
updatedFields: { type: 'array', items: { type: 'string' } },
|
||||
message: { type: 'string' },
|
||||
error: { type: 'string' },
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
import { defineLogicFunction } from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
import { enrichPersonCore } from 'src/logic-functions/handlers/enrich-person.core';
|
||||
import { type EnrichInput } from 'src/types/enrich-input.type';
|
||||
|
||||
const handler = (input: EnrichInput) => enrichPersonCore(input);
|
||||
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS.enrichPersonTool,
|
||||
name: 'enrich-person-tool',
|
||||
description:
|
||||
'Enrich a Person record with People Data Labs data (job, location, social profiles, etc.) given its record id.',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
toolTriggerSettings: {
|
||||
inputSchema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
recordId: {
|
||||
type: 'string',
|
||||
description: 'The id of the Person record to enrich.',
|
||||
},
|
||||
force: {
|
||||
type: 'boolean',
|
||||
description:
|
||||
'Re-enrich even if the record was enriched recently (bypasses the freshness guard).',
|
||||
},
|
||||
},
|
||||
required: ['recordId'],
|
||||
additionalProperties: false,
|
||||
},
|
||||
},
|
||||
});
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
import { defineLogicFunction } from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
import { enrichPersonCore } from 'src/logic-functions/handlers/enrich-person.core';
|
||||
import { type EnrichInput } from 'src/types/enrich-input.type';
|
||||
|
||||
const handler = (input: EnrichInput) => enrichPersonCore(input);
|
||||
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: PDL_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIERS.enrichPerson,
|
||||
name: 'enrich-person',
|
||||
description: 'Enrich a Person with People Data Labs data',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
workflowActionTriggerSettings: {
|
||||
label: 'Enrich with People Data Labs',
|
||||
icon: 'IconSparkles',
|
||||
inputSchema: [
|
||||
{
|
||||
type: 'object',
|
||||
properties: {
|
||||
recordId: { type: 'string' },
|
||||
force: { type: 'boolean' },
|
||||
},
|
||||
},
|
||||
],
|
||||
outputSchema: [
|
||||
{
|
||||
type: 'object',
|
||||
properties: {
|
||||
success: { type: 'boolean' },
|
||||
status: { type: 'string' },
|
||||
updatedFields: { type: 'array', items: { type: 'string' } },
|
||||
message: { type: 'string' },
|
||||
error: { type: 'string' },
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { PdlConfigError } from 'src/logic-functions/errors/pdl-config-error';
|
||||
import { PdlError } from 'src/logic-functions/errors/pdl-error';
|
||||
|
||||
describe('PdlConfigError', () => {
|
||||
it('is a PdlError with a dedicated name, code, and the given message', () => {
|
||||
const error = new PdlConfigError('missing key');
|
||||
|
||||
expect(error).toBeInstanceOf(Error);
|
||||
expect(error).toBeInstanceOf(PdlError);
|
||||
expect(error.name).toBe('PdlConfigError');
|
||||
expect(error.code).toBe('CONFIGURATION');
|
||||
expect(error.message).toBe('missing key');
|
||||
});
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user