Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b59b67ae03 | |||
| a2fa941ce3 | |||
| 898713bd49 | |||
| 4658d44d8b | |||
| a596e7d904 | |||
| 91f2f08995 | |||
| 6c65d26ced | |||
| bfb83e93b2 | |||
| 20d9244639 | |||
| 51e3eddb29 | |||
| 27db8bbae4 | |||
| 84ba7eb8dc | |||
| a3d73740a1 | |||
| 0d3c7a47af | |||
| 2dbdd72e65 | |||
| f20d04eb6e | |||
| f72898063a | |||
| e485b679ea | |||
| a78b319877 | |||
| c3dd6b25a6 | |||
| 6f9b59b224 | |||
| b60a91a075 | |||
| cd540098f1 | |||
| 1b30983307 | |||
| 128d2d394d | |||
| ff9b5a5cad | |||
| 979047d004 | |||
| 8bd4cbc3fd | |||
| f899660a40 | |||
| 0877ba2ffd | |||
| 4e1cc2d831 | |||
| c2ca90c255 | |||
| 36b654bab3 | |||
| 41d5d80a65 | |||
| e0d42323af | |||
| d3a1781a59 | |||
| 70066cdcf4 | |||
| a7fed47932 |
@@ -6,18 +6,43 @@ permissions:
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
- 'twenty/v*'
|
||||
- 'sdk/v*'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -euo pipefail {0}
|
||||
|
||||
jobs:
|
||||
deploy-tag:
|
||||
dispatch-tag:
|
||||
timeout-minutes: 3
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Resolve dispatch event from tag family
|
||||
id: target
|
||||
env:
|
||||
REF_NAME: ${{ github.ref_name }}
|
||||
run: |
|
||||
case "$REF_NAME" in
|
||||
twenty/v*)
|
||||
event_type=auto-deploy-twenty
|
||||
;;
|
||||
sdk/v*)
|
||||
event_type=auto-publish-npm
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported tag '$REF_NAME', expected 'twenty/v*' or 'sdk/v*'." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
printf 'event_type=%s\n' "$event_type" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Repository Dispatch
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.TWENTY_INFRA_TOKEN }}
|
||||
EVENT_TYPE: ${{ steps.target.outputs.event_type }}
|
||||
REF_NAME: ${{ github.ref_name }}
|
||||
run: |
|
||||
gh api repos/twentyhq/twenty-infra/dispatches \
|
||||
-f event_type=auto-deploy-tag \
|
||||
-f "event_type=$EVENT_TYPE" \
|
||||
-f "client_payload[github][ref_name]=$REF_NAME"
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
name: "Release: on merge"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -euo pipefail {0}
|
||||
|
||||
jobs:
|
||||
tag_and_release:
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')
|
||||
steps:
|
||||
- name: Check PR Author
|
||||
id: check_author
|
||||
env:
|
||||
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [[ "$PR_AUTHOR" != "github-actions[bot]" ]]; then
|
||||
echo "PR author ($PR_AUTHOR) is not trusted. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
|
||||
with:
|
||||
ref: main
|
||||
|
||||
- name: Get version from PR title
|
||||
id: extract_version
|
||||
env:
|
||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
VERSION=$(printf '%s' "$PR_TITLE" | sed -n 's/.*Release v\([0-9][0-9.]*\).*/\1/p')
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "No valid version found in PR title. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
printf 'VERSION=%s\n' "$VERSION" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Push new tag
|
||||
run: |
|
||||
set -euo pipefail
|
||||
git config --global user.name 'Github Action Deploy'
|
||||
git config --global user.email 'github-action-deploy@twenty.com'
|
||||
git tag "v${{ env.VERSION }}"
|
||||
git push origin "v${{ env.VERSION }}"
|
||||
|
||||
- uses: release-drafter/release-drafter@09c613e259eb8d4e7c81c2cb00618eb5fc4575a7 # v5
|
||||
if: contains(github.event.pull_request.labels.*.name, 'create_release')
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag: v${{ env.VERSION }}
|
||||
@@ -11,6 +11,7 @@ on:
|
||||
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
@@ -83,6 +84,33 @@ jobs:
|
||||
core.setOutput('has_pr', 'true');
|
||||
core.info(`PR #${prNumber}`);
|
||||
|
||||
- name: Compute merge-base for Argos reference
|
||||
if: steps.check-artifact.outputs.exists == 'true' && steps.pr-info.outputs.has_pr == 'true'
|
||||
id: merge-base
|
||||
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
|
||||
with:
|
||||
script: |
|
||||
const headSha = context.payload.workflow_run.head_sha;
|
||||
|
||||
try {
|
||||
const { data: comparison } = await github.rest.repos.compareCommitsWithBasehead({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
basehead: `main...${headSha}`,
|
||||
});
|
||||
|
||||
if (comparison.merge_base_commit?.sha) {
|
||||
core.setOutput('sha', comparison.merge_base_commit.sha);
|
||||
core.info(`Merge base: ${comparison.merge_base_commit.sha}`);
|
||||
} else {
|
||||
core.info('Could not determine merge base — will skip reference_commit');
|
||||
core.setOutput('sha', '');
|
||||
}
|
||||
} catch (error) {
|
||||
core.warning(`Failed to compute merge base: ${error instanceof Error ? error.message : String(error)}`);
|
||||
core.setOutput('sha', '');
|
||||
}
|
||||
|
||||
- name: Dispatch to ci-privileged
|
||||
if: steps.check-artifact.outputs.exists == 'true' && steps.pr-info.outputs.has_pr == 'true'
|
||||
env:
|
||||
@@ -92,15 +120,23 @@ jobs:
|
||||
REPOSITORY: ${{ github.repository }}
|
||||
BRANCH: ${{ github.event.workflow_run.head_branch }}
|
||||
COMMIT: ${{ github.event.workflow_run.head_sha }}
|
||||
REFERENCE_COMMIT: ${{ steps.merge-base.outputs.sha }}
|
||||
run: |
|
||||
gh api repos/twentyhq/ci-privileged/dispatches \
|
||||
--method POST \
|
||||
-f event_type=visual-regression \
|
||||
-f "client_payload[pr_number]=$PR_NUMBER" \
|
||||
-f "client_payload[run_id]=$WORKFLOW_RUN_ID" \
|
||||
-f "client_payload[repo]=$REPOSITORY" \
|
||||
-f "client_payload[branch]=$BRANCH" \
|
||||
ARGS=(
|
||||
--method POST
|
||||
-f event_type=visual-regression
|
||||
-f "client_payload[pr_number]=$PR_NUMBER"
|
||||
-f "client_payload[run_id]=$WORKFLOW_RUN_ID"
|
||||
-f "client_payload[repo]=$REPOSITORY"
|
||||
-f "client_payload[branch]=$BRANCH"
|
||||
-f "client_payload[commit]=$COMMIT"
|
||||
)
|
||||
|
||||
if [ -n "$REFERENCE_COMMIT" ]; then
|
||||
ARGS+=(-f "client_payload[reference_commit]=$REFERENCE_COMMIT")
|
||||
fi
|
||||
|
||||
gh api repos/twentyhq/ci-privileged/dispatches "${ARGS[@]}"
|
||||
|
||||
dispatch-main:
|
||||
if: >-
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h2 align="center" >The #1 Open-Source CRM</h2>
|
||||
<h2 align="center">The #1 Open-Source CRM</h2>
|
||||
|
||||
<p align="center"><a href="https://twenty.com"><img src="./packages/twenty-website/public/images/readme/globe-icon.svg" width="12" height="12"/> Website</a> · <a href="https://docs.twenty.com"><img src="./packages/twenty-website/public/images/readme/book-icon.svg" width="12" height="12"/> Documentation</a> · <a href="https://github.com/orgs/twentyhq/projects/1"><img src="./packages/twenty-website/public/images/readme/map-icon.svg" width="12" height="12"/> Roadmap </a> · <a href="https://discord.gg/cx5n4Jzs57"><img src="./packages/twenty-website/public/images/readme/discord-icon.svg" width="12" height="12"/> Discord</a> · <a href="https://www.figma.com/file/xt8O9mFeLl46C5InWwoMrN/Twenty"><img src="./packages/twenty-website/public/images/readme/figma-icon.webp" width="12" height="12"/> Figma</a></p>
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
"packages/twenty-server",
|
||||
"packages/twenty-emails",
|
||||
"packages/twenty-ui",
|
||||
"packages/twenty-new-ui",
|
||||
"packages/twenty-utils",
|
||||
"packages/twenty-zapier",
|
||||
"packages/twenty-website",
|
||||
|
||||
@@ -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",
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import { NavigationMenuItemType } from 'twenty-shared/types';
|
||||
import { POST_CARD_UNIVERSAL_IDENTIFIER } from '../objects/post-card.object';
|
||||
|
||||
export default defineNavigationMenuItem({
|
||||
universalIdentifier: 'c1a2b3c4-0001-4a7b-8c9d-0e1f2a3b4c5d',
|
||||
universalIdentifier: 'e8031eca-d6ea-4a4b-b828-38227dba896a',
|
||||
position: 0,
|
||||
type: NavigationMenuItemType.OBJECT,
|
||||
targetObjectUniversalIdentifier: POST_CARD_UNIVERSAL_IDENTIFIER,
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import { defineViewField } from 'twenty-sdk/define';
|
||||
import { ALL_POST_CARDS_VIEW_ID } from '../views/all-post-cards.view';
|
||||
|
||||
export default defineViewField({
|
||||
fieldMetadataUniversalIdentifier: '7b57bd63-5a4c-46ca-9d52-42c8f02d1df6',
|
||||
position: 5,
|
||||
universalIdentifier: 'cd582d11-ea21-4dc3-b9c1-0298ce3b6b54',
|
||||
viewUniversalIdentifier: ALL_POST_CARDS_VIEW_ID,
|
||||
isVisible: true,
|
||||
});
|
||||
@@ -0,0 +1,32 @@
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.*
|
||||
.yarn
|
||||
|
||||
# codegen
|
||||
generated
|
||||
|
||||
# dev
|
||||
/dist/
|
||||
.twenty
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# env files
|
||||
.env*
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
*.d.ts
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
||||
"plugins": ["typescript", "import", "unicorn"],
|
||||
"categories": {
|
||||
"correctness": "off"
|
||||
},
|
||||
"ignorePatterns": ["node_modules", "dist"],
|
||||
"rules": {
|
||||
"func-style": ["error", "declaration", { "allowArrowFunctions": true }],
|
||||
"no-console": [
|
||||
"warn",
|
||||
{ "allow": ["group", "groupCollapsed", "groupEnd"] }
|
||||
],
|
||||
"no-control-regex": "off",
|
||||
"no-debugger": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-undef": "off",
|
||||
"no-unused-vars": "off",
|
||||
"no-redeclare": "off",
|
||||
|
||||
"import/no-duplicates": "error",
|
||||
|
||||
"typescript/no-redeclare": "error",
|
||||
"typescript/ban-ts-comment": "error",
|
||||
"typescript/consistent-type-imports": [
|
||||
"error",
|
||||
{
|
||||
"prefer": "type-imports",
|
||||
"fixStyle": "inline-type-imports"
|
||||
}
|
||||
],
|
||||
"typescript/explicit-function-return-type": "off",
|
||||
"typescript/explicit-module-boundary-types": "off",
|
||||
"typescript/no-empty-object-type": [
|
||||
"error",
|
||||
{
|
||||
"allowInterfaces": "with-single-extends"
|
||||
}
|
||||
],
|
||||
"typescript/no-empty-function": "off",
|
||||
"typescript/no-unused-vars": [
|
||||
"warn",
|
||||
{
|
||||
"vars": "all",
|
||||
"varsIgnorePattern": "^_",
|
||||
"args": "after-used",
|
||||
"argsIgnorePattern": "^_"
|
||||
}
|
||||
],
|
||||
"typescript/no-explicit-any": "off"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["**/*.logic-function.ts", "**/logic-functions/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"patterns": [
|
||||
{
|
||||
"group": ["twenty-shared", "twenty-shared/*"],
|
||||
"message": "Logic functions must not import from twenty-shared directly. Import runtime types and helpers from `twenty-sdk/logic-function` instead so the logic-function bundle stays minimal."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
nodeLinker: node-modules
|
||||
@@ -0,0 +1,114 @@
|
||||
# People Data Labs enrichment app
|
||||
|
||||
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).
|
||||
|
||||
---
|
||||
|
||||
## Data-model decisions
|
||||
|
||||
### Bundle scope
|
||||
|
||||
Only the core PDL company fields are defined. Premium / Comprehensive / specialized fields
|
||||
(`inferred_revenue`, `linkedin_follower_count`, employee growth/churn/tenure, parent /
|
||||
subsidiary, exec movement, top employers, `funding_details`, …) are **out of scope** for this app.
|
||||
|
||||
### Enums → SELECT / MULTI_SELECT
|
||||
|
||||
Every PDL enum that has a canonical file is a SELECT, **validated 0-missing/0-extra against
|
||||
PDL schema v34.1**:
|
||||
|
||||
| Field | Type | Options |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------ |
|
||||
| `pdlSeniority` (`job_title_levels`, array) | MULTI_SELECT | 10 |
|
||||
| `pdlFundingStages` (`funding_stages`, array) | MULTI_SELECT | 29 |
|
||||
| `pdlIndustry` / `pdlJobCompanyIndustry` (`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 |
|
||||
|
||||
- Option `value`s are normalized to **GraphQL enum names** (`united states` → `UNITED_STATES`):
|
||||
uppercase, accents stripped, non-alphanumeric → `_`, digit-leading prefixed.
|
||||
- Option `universalIdentifier`s are **unique per field** (shared enums like industry get a
|
||||
separate id-set per field).
|
||||
- **Stays `TEXT`** (no canonical PDL enum file exists): `pdlIndustryDetail` (`industry_v2`),
|
||||
`pdlJobOnetCode`, `pdlLocationRegion`.
|
||||
|
||||
### Standard-field mapping
|
||||
|
||||
`pdl*` shadows are **removed** where an equivalent standard field exists; the mapper writes
|
||||
the standard field instead:
|
||||
|
||||
| Object | Removed shadow → standard target |
|
||||
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Person | `pdlLinkedinUrl`→`linkedinLink`, `pdlJobTitle`→`jobTitle`, `pdlFullName`→`name`, `pdlWorkEmail`/`pdlPersonalEmails`→`emails`, `pdlMobilePhone`/`pdlPhoneNumbers`→`phones` |
|
||||
| Company | `pdlLinkedinUrl`→`linkedinLink`, `pdlWebsite`→`domainName`, `pdlDisplayName`→`name` |
|
||||
|
||||
Shadows are **kept** where no reliable standard field is available: `pdlEmployeeCount`,
|
||||
`pdlTwitterUrl`.
|
||||
_Trade-off:_ PDL's work/personal-email and mobile/other-phone distinction is dropped (folded
|
||||
into the standard bags).
|
||||
|
||||
### Location → ADDRESS composite
|
||||
|
||||
- **Company** location → the **standard `address`** composite (street/city/state/postcode/country/geo).
|
||||
- **Person** has no standard address field → dedicated **`pdlLocation` (ADDRESS)**.
|
||||
- `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
|
||||
|
||||
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.
|
||||
|
||||
### Enrichment metadata
|
||||
|
||||
- `pdlId` — PDL record id (re-enrich by id: more precise than by email).
|
||||
- `pdlLikelihood` (Person, NUMBER) — PDL match confidence 1–10.
|
||||
- `pdlEnrichmentStatus` (SELECT: `MATCHED` / `NOT_FOUND` / `ERROR`) — distinguishes
|
||||
"no match" from "never tried" (drives re-enrichment scheduling).
|
||||
- `pdlLastEnrichedAt` (DATE_TIME), `pdlRawPayload` (RAW_JSON, full response).
|
||||
|
||||
### Other
|
||||
|
||||
- `pdlTotalFunding` is `CURRENCY` (mapper must convert the bare USD float → micros).
|
||||
- **Indexes**: `pdlId` and `pdlLastEnrichedAt` on both objects.
|
||||
- **Views**: a curated "People Data Labs" TABLE view per object.
|
||||
- **Role**: read/update on Person & Company (object-level; tighten to field-scoped later).
|
||||
|
||||
---
|
||||
|
||||
## What the mapper must do
|
||||
|
||||
The logic function (to be built) must:
|
||||
|
||||
**Orchestration**
|
||||
|
||||
1. Trigger via manual command-menu action / record create / batch (TBD).
|
||||
2. Call PDL Person and/or Company Enrichment with `PDL_API_KEY`; pass `min_likelihood` /
|
||||
`required_fields` to control match quality.
|
||||
3. On `200` → write fields + set `pdlEnrichmentStatus = MATCHED`; on `404` →
|
||||
`NOT_FOUND`; on error → `ERROR`.
|
||||
4. Respect PDL rate limits (queue / throttle on `429`).
|
||||
5. **TTL guard**: skip re-enrichment if `pdlLastEnrichedAt` is recent; prefer re-enriching by `pdlId`.
|
||||
|
||||
**Field writing**
|
||||
|
||||
6. Write **standard fields** (fill-only-if-empty to avoid overwriting user data):
|
||||
Person `name`, `emails`, `phones`, `linkedinLink`, `jobTitle`; Company `name`,
|
||||
`domainName`, `linkedinLink`, `address`.
|
||||
7. Write `pdl*` fields for everything else.
|
||||
8. **SELECT guard**: only write a SELECT/MULTI_SELECT value if the normalized value exists in
|
||||
the field's option set; otherwise skip and keep it in `pdlRawPayload` (handles PDL schema
|
||||
versions newer than v34.1). Use the same normalization as the option `value`s.
|
||||
9. **MULTI_SELECT** arrays: `job_title_levels` → `pdlSeniority`; `funding_stages` → `pdlFundingStages`.
|
||||
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`.
|
||||
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).
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "people-data-labs",
|
||||
"version": "0.1.0",
|
||||
"description": "People Data Labs enrichment app for Twenty",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^24.5.0",
|
||||
"npm": "please-use-yarn",
|
||||
"yarn": ">=4.0.2"
|
||||
},
|
||||
"keywords": [
|
||||
"twenty-app"
|
||||
],
|
||||
"packageManager": "yarn@4.9.2",
|
||||
"scripts": {
|
||||
"twenty": "twenty",
|
||||
"lint": "oxlint -c .oxlintrc.json .",
|
||||
"lint:fix": "oxlint --fix -c .oxlintrc.json .",
|
||||
"test": "vitest run --passWithNoTests",
|
||||
"test:watch": "vitest"
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-client-sdk": "2.4.0",
|
||||
"twenty-sdk": "2.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.7.2",
|
||||
"@types/react": "^19.0.0",
|
||||
"oxlint": "^0.16.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"typescript": "^5.9.3",
|
||||
"vite-tsconfig-paths": "^4.2.1",
|
||||
"vitest": "^3.1.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { defineApplication } from 'twenty-sdk/define';
|
||||
|
||||
import { APPLICATION_UNIVERSAL_IDENTIFIER } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineApplication({
|
||||
universalIdentifier: APPLICATION_UNIVERSAL_IDENTIFIER,
|
||||
displayName: 'People Data Labs',
|
||||
description: 'Enrich People and Companies with People Data Labs data.',
|
||||
serverVariables: {
|
||||
PDL_API_KEY: {
|
||||
description: 'People Data Labs API key',
|
||||
isSecret: true,
|
||||
isRequired: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const ENRICHMENT_STATUS_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'matched',
|
||||
value: 'MATCHED',
|
||||
label: 'Matched',
|
||||
color: 'green',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'notFound',
|
||||
value: 'NOT_FOUND',
|
||||
label: 'No Match',
|
||||
color: 'gray',
|
||||
position: 1,
|
||||
},
|
||||
{ key: 'error', value: 'ERROR', label: 'Error', color: 'red', position: 2 },
|
||||
];
|
||||
+195
@@ -0,0 +1,195 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const FUNDING_STAGE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'angel',
|
||||
value: 'ANGEL',
|
||||
label: 'Angel',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'convertibleNote',
|
||||
value: 'CONVERTIBLE_NOTE',
|
||||
label: 'Convertible Note',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'corporateRound',
|
||||
value: 'CORPORATE_ROUND',
|
||||
label: 'Corporate Round',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'debtFinancing',
|
||||
value: 'DEBT_FINANCING',
|
||||
label: 'Debt Financing',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'equityCrowdfunding',
|
||||
value: 'EQUITY_CROWDFUNDING',
|
||||
label: 'Equity Crowdfunding',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'fundingRound',
|
||||
value: 'FUNDING_ROUND',
|
||||
label: 'Funding Round',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{ key: 'grant', value: 'GRANT', label: 'Grant', color: 'pink', position: 6 },
|
||||
{
|
||||
key: 'initialCoinOffering',
|
||||
value: 'INITIAL_COIN_OFFERING',
|
||||
label: 'Initial Coin Offering',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
{
|
||||
key: 'nonEquityAssistance',
|
||||
value: 'NON_EQUITY_ASSISTANCE',
|
||||
label: 'Non-Equity Assistance',
|
||||
color: 'brown',
|
||||
position: 8,
|
||||
},
|
||||
{
|
||||
key: 'postIpoDebt',
|
||||
value: 'POST_IPO_DEBT',
|
||||
label: 'Post-IPO Debt',
|
||||
color: 'lime',
|
||||
position: 9,
|
||||
},
|
||||
{
|
||||
key: 'postIpoEquity',
|
||||
value: 'POST_IPO_EQUITY',
|
||||
label: 'Post-IPO Equity',
|
||||
color: 'violet',
|
||||
position: 10,
|
||||
},
|
||||
{
|
||||
key: 'postIpoSecondary',
|
||||
value: 'POST_IPO_SECONDARY',
|
||||
label: 'Post-IPO Secondary',
|
||||
color: 'gold',
|
||||
position: 11,
|
||||
},
|
||||
{
|
||||
key: 'preSeed',
|
||||
value: 'PRE_SEED',
|
||||
label: 'Pre-Seed',
|
||||
color: 'turquoise',
|
||||
position: 12,
|
||||
},
|
||||
{
|
||||
key: 'privateEquity',
|
||||
value: 'PRIVATE_EQUITY',
|
||||
label: 'Private Equity',
|
||||
color: 'crimson',
|
||||
position: 13,
|
||||
},
|
||||
{
|
||||
key: 'productCrowdfunding',
|
||||
value: 'PRODUCT_CROWDFUNDING',
|
||||
label: 'Product Crowdfunding',
|
||||
color: 'sky',
|
||||
position: 14,
|
||||
},
|
||||
{
|
||||
key: 'secondaryMarket',
|
||||
value: 'SECONDARY_MARKET',
|
||||
label: 'Secondary Market',
|
||||
color: 'amber',
|
||||
position: 15,
|
||||
},
|
||||
{ key: 'seed', value: 'SEED', label: 'Seed', color: 'plum', position: 16 },
|
||||
{
|
||||
key: 'seriesA',
|
||||
value: 'SERIES_A',
|
||||
label: 'Series A',
|
||||
color: 'grass',
|
||||
position: 17,
|
||||
},
|
||||
{
|
||||
key: 'seriesB',
|
||||
value: 'SERIES_B',
|
||||
label: 'Series B',
|
||||
color: 'tomato',
|
||||
position: 18,
|
||||
},
|
||||
{
|
||||
key: 'seriesC',
|
||||
value: 'SERIES_C',
|
||||
label: 'Series C',
|
||||
color: 'iris',
|
||||
position: 19,
|
||||
},
|
||||
{
|
||||
key: 'seriesD',
|
||||
value: 'SERIES_D',
|
||||
label: 'Series D',
|
||||
color: 'mint',
|
||||
position: 20,
|
||||
},
|
||||
{
|
||||
key: 'seriesE',
|
||||
value: 'SERIES_E',
|
||||
label: 'Series E',
|
||||
color: 'ruby',
|
||||
position: 21,
|
||||
},
|
||||
{
|
||||
key: 'seriesF',
|
||||
value: 'SERIES_F',
|
||||
label: 'Series F',
|
||||
color: 'bronze',
|
||||
position: 22,
|
||||
},
|
||||
{
|
||||
key: 'seriesG',
|
||||
value: 'SERIES_G',
|
||||
label: 'Series G',
|
||||
color: 'jade',
|
||||
position: 23,
|
||||
},
|
||||
{
|
||||
key: 'seriesH',
|
||||
value: 'SERIES_H',
|
||||
label: 'Series H',
|
||||
color: 'gray',
|
||||
position: 24,
|
||||
},
|
||||
{
|
||||
key: 'seriesI',
|
||||
value: 'SERIES_I',
|
||||
label: 'Series I',
|
||||
color: 'blue',
|
||||
position: 25,
|
||||
},
|
||||
{
|
||||
key: 'seriesJ',
|
||||
value: 'SERIES_J',
|
||||
label: 'Series J',
|
||||
color: 'red',
|
||||
position: 26,
|
||||
},
|
||||
{
|
||||
key: 'seriesUnknown',
|
||||
value: 'SERIES_UNKNOWN',
|
||||
label: 'Series Unknown',
|
||||
color: 'green',
|
||||
position: 27,
|
||||
},
|
||||
{
|
||||
key: 'undisclosed',
|
||||
value: 'UNDISCLOSED',
|
||||
label: 'Undisclosed',
|
||||
color: 'orange',
|
||||
position: 28,
|
||||
},
|
||||
];
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,60 @@
|
||||
import { type SelectOptionMeta } from 'src/types/select-option-meta.type';
|
||||
|
||||
export const SIZE_OPTIONS: readonly SelectOptionMeta[] = [
|
||||
{
|
||||
key: 'oneToTen',
|
||||
value: 'ONE_TO_TEN',
|
||||
label: '1-10',
|
||||
color: 'blue',
|
||||
position: 0,
|
||||
},
|
||||
{
|
||||
key: 'elevenToFifty',
|
||||
value: 'ELEVEN_TO_FIFTY',
|
||||
label: '11-50',
|
||||
color: 'red',
|
||||
position: 1,
|
||||
},
|
||||
{
|
||||
key: 'fiftyOneToTwoHundred',
|
||||
value: 'FIFTY_ONE_TO_TWO_HUNDRED',
|
||||
label: '51-200',
|
||||
color: 'green',
|
||||
position: 2,
|
||||
},
|
||||
{
|
||||
key: 'twoHundredOneToFiveHundred',
|
||||
value: 'TWO_HUNDRED_ONE_TO_FIVE_HUNDRED',
|
||||
label: '201-500',
|
||||
color: 'orange',
|
||||
position: 3,
|
||||
},
|
||||
{
|
||||
key: 'fiveHundredOneToOneThousand',
|
||||
value: 'FIVE_HUNDRED_ONE_TO_ONE_THOUSAND',
|
||||
label: '501-1000',
|
||||
color: 'purple',
|
||||
position: 4,
|
||||
},
|
||||
{
|
||||
key: 'oneThousandOneToFiveThousand',
|
||||
value: 'ONE_THOUSAND_ONE_TO_FIVE_THOUSAND',
|
||||
label: '1001-5000',
|
||||
color: 'yellow',
|
||||
position: 5,
|
||||
},
|
||||
{
|
||||
key: 'fiveThousandOneToTenThousand',
|
||||
value: 'FIVE_THOUSAND_ONE_TO_TEN_THOUSAND',
|
||||
label: '5001-10000',
|
||||
color: 'pink',
|
||||
position: 6,
|
||||
},
|
||||
{
|
||||
key: 'tenThousandOnePlus',
|
||||
value: 'TEN_THOUSAND_ONE_PLUS',
|
||||
label: '10001+',
|
||||
color: 'cyan',
|
||||
position: 7,
|
||||
},
|
||||
];
|
||||
+1629
File diff suppressed because it is too large
Load Diff
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlAffiliatedProfiles,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlAffiliatedProfiles',
|
||||
label: 'Affiliated Profiles',
|
||||
description: 'Affiliated company profiles returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlAlternativeDomains,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlAlternativeDomains',
|
||||
label: 'Alternative Domains',
|
||||
description: 'Alternative domains returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlAlternativeNames,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlAlternativeNames',
|
||||
label: 'Alternative Names',
|
||||
description: 'Alternative names returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlCompanyType,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlCompanyType',
|
||||
label: 'Company Type',
|
||||
description: 'People Data Labs canonical company type.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
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',
|
||||
});
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
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.company.pdlEmployeeCountByCountry,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlEmployeeCountByCountry',
|
||||
label: 'Employee Count by Country',
|
||||
description:
|
||||
'Employee count broken down by country returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlEmployeeCount,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlEmployeeCount',
|
||||
label: 'Employees',
|
||||
description: 'Exact employee count returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { ENRICHMENT_STATUS_OPTIONS } from 'src/constants/enrichment-status-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.pdlEnrichmentStatus,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlEnrichmentStatus',
|
||||
label: 'Enrichment Status',
|
||||
description: 'Outcome of the latest People Data Labs enrichment attempt.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
ENRICHMENT_STATUS_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyEnrichmentStatus,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlFacebookUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlFacebookUrl',
|
||||
label: 'Facebook',
|
||||
description: 'Facebook page returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlFoundedYear,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlFoundedYear',
|
||||
label: 'Founded Year',
|
||||
description: 'Founding year returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { FUNDING_STAGE_OPTIONS } from 'src/constants/funding-stage-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.pdlFundingStages,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.MULTI_SELECT,
|
||||
name: 'pdlFundingStages',
|
||||
label: 'Funding Stages',
|
||||
description: 'People Data Labs canonical funding stages.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
FUNDING_STAGE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.fundingStage,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlHeadline,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlHeadline',
|
||||
label: 'Headline',
|
||||
description: 'People Data Labs company headline or summary.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.company.pdlId,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlId',
|
||||
label: 'PDL ID',
|
||||
description: 'People Data Labs company identifier.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlIndustryDetail,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlIndustryDetail',
|
||||
label: 'Industry (detailed)',
|
||||
description: 'Detailed People Data Labs industry v2 value.',
|
||||
isNullable: true,
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
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.company.pdlIndustry,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlIndustry',
|
||||
label: 'Industry',
|
||||
description: 'People Data Labs canonical industry.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
INDUSTRY_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyIndustry,
|
||||
),
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlLastEnrichedAt,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.DATE_TIME,
|
||||
name: 'pdlLastEnrichedAt',
|
||||
label: 'Last Enriched At',
|
||||
description: 'Timestamp of the latest People Data Labs enrichment.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlLastFundingDate,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.DATE,
|
||||
name: 'pdlLastFundingDate',
|
||||
label: 'Last Funding Date',
|
||||
description: 'Date of the latest funding round returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { FUNDING_STAGE_OPTIONS } from 'src/constants/funding-stage-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.pdlLatestFundingStage,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlLatestFundingStage',
|
||||
label: 'Latest Funding Stage',
|
||||
description: 'People Data Labs canonical latest funding stage.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
FUNDING_STAGE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.fundingStage,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlLinkedinId,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlLinkedinId',
|
||||
label: 'LinkedIn ID',
|
||||
description: 'LinkedIn identifier returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlLocationContinent,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlLocationContinent',
|
||||
label: 'Continent',
|
||||
description: 'People Data Labs canonical continent.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { METRO_OPTIONS } from 'src/constants/metro-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.pdlLocationMetro,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlLocationMetro',
|
||||
label: 'Metro Area',
|
||||
description: 'People Data Labs canonical metro area.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
METRO_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.companyLocationMetro,
|
||||
),
|
||||
});
|
||||
+513
@@ -0,0 +1,513 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlMicExchange,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlMicExchange',
|
||||
label: 'Stock Exchange (MIC)',
|
||||
description: 'People Data Labs canonical market identifier code.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.company.pdlNaics,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlNaics',
|
||||
label: 'NAICS Codes',
|
||||
description: 'NAICS classification codes returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.company.pdlNumberFundingRounds,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlNumberFundingRounds',
|
||||
label: 'Number of Funding Rounds',
|
||||
description: 'Number of funding rounds returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlRawPayload,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlRawPayload',
|
||||
label: 'PDL Raw Payload',
|
||||
description: 'Full People Data Labs company enrichment response.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.company.pdlSic,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlSic',
|
||||
label: 'SIC Codes',
|
||||
description: 'SIC classification codes returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
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.company.pdlSizeRange,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlSizeRange',
|
||||
label: 'Employee Range',
|
||||
description: 'People Data Labs canonical self-reported employee range.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
SIZE_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.sizeRange,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlSummary,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlSummary',
|
||||
label: 'Summary',
|
||||
description: 'Company summary returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.company.pdlTags,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlTags',
|
||||
label: 'Tags',
|
||||
description: 'Tags returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.company.pdlTicker,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlTicker',
|
||||
label: 'Ticker',
|
||||
description: 'Company ticker returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlTotalFunding,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.CURRENCY,
|
||||
name: 'pdlTotalFunding',
|
||||
label: 'Total Funding Raised',
|
||||
description: 'Total funding raised in USD returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.company.pdlTwitterUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlTwitterUrl',
|
||||
label: 'X / Twitter',
|
||||
description: 'X or Twitter company profile returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlBirthDate,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.DATE,
|
||||
name: 'pdlBirthDate',
|
||||
label: 'Birth Date',
|
||||
description: 'Birth date returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlBirthYear,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlBirthYear',
|
||||
label: 'Birth Year',
|
||||
description: 'Birth year returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlCertifications,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlCertifications',
|
||||
label: 'Certifications',
|
||||
description: 'Certifications returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
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',
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlEducation,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlEducation',
|
||||
label: 'Education History',
|
||||
description: 'Education history returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { ENRICHMENT_STATUS_OPTIONS } from 'src/constants/enrichment-status-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.pdlEnrichmentStatus,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlEnrichmentStatus',
|
||||
label: 'Enrichment Status',
|
||||
description: 'Outcome of the latest People Data Labs enrichment attempt.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
ENRICHMENT_STATUS_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personEnrichmentStatus,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlExperience,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlExperience',
|
||||
label: 'Experience History',
|
||||
description: 'Experience history returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlFacebookUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlFacebookUrl',
|
||||
label: 'Facebook',
|
||||
description: 'Facebook profile returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlGithubUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlGithubUrl',
|
||||
label: 'GitHub',
|
||||
description: 'GitHub profile returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlHeadline,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlHeadline',
|
||||
label: 'Headline',
|
||||
description: 'People Data Labs person headline or job summary.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.pdlId,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlId',
|
||||
label: 'PDL ID',
|
||||
description: 'People Data Labs person identifier.',
|
||||
isNullable: true,
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
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.pdlIndustry,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlIndustry',
|
||||
label: 'Industry',
|
||||
description: 'People Data Labs canonical industry.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
INDUSTRY_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personIndustry,
|
||||
),
|
||||
});
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlInferredSalary,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlInferredSalary',
|
||||
label: 'Inferred Salary (range)',
|
||||
description: 'People Data Labs canonical inferred salary range.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlInterests,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlInterests',
|
||||
label: 'Interests',
|
||||
description: 'Interests returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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
@@ -0,0 +1,29 @@
|
||||
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
@@ -0,0 +1,19 @@
|
||||
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
@@ -0,0 +1,18 @@
|
||||
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
@@ -0,0 +1,27 @@
|
||||
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
@@ -0,0 +1,19 @@
|
||||
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,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlJobHistory,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlJobHistory',
|
||||
label: 'Job History',
|
||||
description: 'Job history returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlJobOnetCode,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlJobOnetCode',
|
||||
label: 'O*NET Code',
|
||||
description: 'O*NET occupation code returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+191
@@ -0,0 +1,191 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobRole,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlJobRole',
|
||||
label: 'Job Role',
|
||||
description: 'People Data Labs canonical job title role.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlJobStartDate,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.DATE,
|
||||
name: 'pdlJobStartDate',
|
||||
label: 'Job Start Date',
|
||||
description: 'Current job start date returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlJobSummary,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlJobSummary',
|
||||
label: 'Job Summary',
|
||||
description: 'Current job summary returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobTitleClass,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlJobTitleClass',
|
||||
label: 'Job Class',
|
||||
description: 'People Data Labs canonical job class.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+803
@@ -0,0 +1,803 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlJobTitleSubRole,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlJobTitleSubRole',
|
||||
label: 'Job Sub-Role',
|
||||
description: 'People Data Labs canonical job sub-role.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlLanguages,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlLanguages',
|
||||
label: 'Languages',
|
||||
description: 'Languages returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlLastEnrichedAt,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.DATE_TIME,
|
||||
name: 'pdlLastEnrichedAt',
|
||||
label: 'Last Enriched At',
|
||||
description: 'Timestamp of the latest People Data Labs enrichment.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlLikelihood,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlLikelihood',
|
||||
label: 'Match Likelihood',
|
||||
description: 'People Data Labs match confidence score (1-10).',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.pdlLinkedinConnections,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlLinkedinConnections',
|
||||
label: 'LinkedIn Connections',
|
||||
description: 'LinkedIn connection count returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
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.pdlLinkedinUsername,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlLinkedinUsername',
|
||||
label: 'LinkedIn Username',
|
||||
description: 'LinkedIn username returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { METRO_OPTIONS } from 'src/constants/metro-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.pdlLocationMetro,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlLocationMetro',
|
||||
label: 'Metro Area',
|
||||
description: 'People Data Labs canonical metro area.',
|
||||
isNullable: true,
|
||||
options: buildSelectOptions(
|
||||
METRO_OPTIONS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS.personLocationMetro,
|
||||
),
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlLocation,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.ADDRESS,
|
||||
name: 'pdlLocation',
|
||||
label: 'Location',
|
||||
description: 'Location returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlNameAliases,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlNameAliases',
|
||||
label: 'Name Aliases',
|
||||
description: 'Name aliases returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlProfiles,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlProfiles',
|
||||
label: 'Social Profiles',
|
||||
description: 'All social profiles returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlRawPayload,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.RAW_JSON,
|
||||
name: 'pdlRawPayload',
|
||||
label: 'PDL Raw Payload',
|
||||
description: 'Full People Data Labs person enrichment response.',
|
||||
isNullable: true,
|
||||
});
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlSeniority,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.MULTI_SELECT,
|
||||
name: 'pdlSeniority',
|
||||
label: 'Seniority',
|
||||
description: 'People Data Labs canonical job title levels.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,37 @@
|
||||
import {
|
||||
defineField,
|
||||
FieldType,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import {
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS,
|
||||
PDL_SELECT_OPTION_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineField({
|
||||
universalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlSex,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.SELECT,
|
||||
name: 'pdlSex',
|
||||
label: 'Sex',
|
||||
description: 'Sex returned by People Data Labs.',
|
||||
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,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.pdlSkills,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.ARRAY,
|
||||
name: 'pdlSkills',
|
||||
label: 'Skills',
|
||||
description: 'Skills returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
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.pdlSummary,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.TEXT,
|
||||
name: 'pdlSummary',
|
||||
label: 'Summary',
|
||||
description: 'Profile summary returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
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.pdlTwitterUrl,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.LINKS,
|
||||
name: 'pdlTwitterUrl',
|
||||
label: 'X / Twitter',
|
||||
description: 'X or Twitter profile returned by People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
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.pdlYearsExperience,
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
type: FieldType.NUMBER,
|
||||
name: 'pdlYearsExperience',
|
||||
label: 'Years of Experience',
|
||||
description:
|
||||
'Inferred years of professional experience from People Data Labs.',
|
||||
isNullable: true,
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
import {
|
||||
defineIndex,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineIndex({
|
||||
universalIdentifier: 'b030537d-90e1-4b0a-9def-738ab78c36e0',
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: 'b6875e91-f80e-4d6c-bbc1-9ea9217def09',
|
||||
fieldUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlId,
|
||||
},
|
||||
],
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
import {
|
||||
defineIndex,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineIndex({
|
||||
universalIdentifier: 'bf1c9130-33c7-4eea-b6f2-50333481c7cc',
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: 'cb127127-0494-48a9-9784-395654e1d769',
|
||||
fieldUniversalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.company.pdlLastEnrichedAt,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
import {
|
||||
defineIndex,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineIndex({
|
||||
universalIdentifier: '6ab8b38f-482c-46dc-a463-202fc4307b92',
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: 'fd792806-29f1-44da-9199-f76d8219c6db',
|
||||
fieldUniversalIdentifier: PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlId,
|
||||
},
|
||||
],
|
||||
});
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
import {
|
||||
defineIndex,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { PDL_FIELD_UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineIndex({
|
||||
universalIdentifier: 'c71369f6-5ad3-4bb8-ade8-1c5597044ee7',
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
fields: [
|
||||
{
|
||||
universalIdentifier: '853c9e52-6aa8-499c-a41a-ed8dcf4b6247',
|
||||
fieldUniversalIdentifier:
|
||||
PDL_FIELD_UNIVERSAL_IDENTIFIERS.person.pdlLastEnrichedAt,
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
import {
|
||||
defineApplicationRole,
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS,
|
||||
} from 'twenty-sdk/define';
|
||||
|
||||
import { DEFAULT_ROLE_UNIVERSAL_IDENTIFIER } from 'src/constants/universal-identifiers';
|
||||
|
||||
export default defineApplicationRole({
|
||||
universalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
|
||||
label: 'People Data Labs enrichment role',
|
||||
description: 'Reads and updates People/Companies to write enrichment data.',
|
||||
canReadAllObjectRecords: false,
|
||||
canUpdateAllObjectRecords: false,
|
||||
canSoftDeleteAllObjectRecords: false,
|
||||
canDestroyAllObjectRecords: false,
|
||||
canUpdateAllSettings: false,
|
||||
canBeAssignedToAgents: false,
|
||||
canBeAssignedToUsers: false,
|
||||
canBeAssignedToApiKeys: false,
|
||||
objectPermissions: [
|
||||
{
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier,
|
||||
canReadObjectRecords: true,
|
||||
canUpdateObjectRecords: true,
|
||||
canSoftDeleteObjectRecords: false,
|
||||
canDestroyObjectRecords: false,
|
||||
},
|
||||
{
|
||||
objectUniversalIdentifier:
|
||||
STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.company.universalIdentifier,
|
||||
canReadObjectRecords: true,
|
||||
canUpdateObjectRecords: true,
|
||||
canSoftDeleteObjectRecords: false,
|
||||
canDestroyObjectRecords: false,
|
||||
},
|
||||
],
|
||||
fieldPermissions: [],
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user