feat: make record avatar/icon resolution data-driven via a configurable image identifier field (#22644)
## Summary Today the avatar/icon shown for a record is hardcoded per object — Company pulls a favicon from its domain link, Person uses `avatarUrl`, etc. This PR replaces that hardcoding with a generic, data-driven abstraction based on a configurable **image identifier field** on each object's metadata (mirroring the existing **label identifier** concept). An object's image identifier can point to: - a **`FILES`** field → the uploaded image is used directly (rounded avatar), or - a **`LINKS`** field → a favicon is derived from the primary URL via the Twenty icons service (squared avatar), gated by `ALLOW_REQUESTS_TO_TWENTY_ICONS`. This lets any object type (Opportunity, a custom "Listing", etc.) define its own avatar/icon without code changes, and makes the field configurable/overridable for standard objects. ## ❓ Open question: also allow `TEXT` → direct image URL? Right now the image identifier is restricted to `FILES` (uploaded file) and `LINKS` (favicon). We deliberately left out `TEXT` → **direct image URL** (e.g. an imported/synced photo URL stored in a text field). There's precedent for it — Person's avatar was originally a `TEXT` `avatarUrl`, and WorkspaceMember still is — and it's unambiguous (a `TEXT` field has no favicon-vs-image ambiguity, and selecting it as the image identifier is itself the declaration of intent). It's a small, clean extension: - add `TEXT` to the allowed image-identifier types, - add an explicit `TEXT → raw URL` case - `getAvatarType`: `TEXT → rounded`. Caveats: it relies on admin assertion that the text values are image URLs (no data-level guarantee), and external image URLs load third-party content in the browser (IP-leak/hotlinking, same as favicons — a proxy/cache would be the more robust long-term answer). ### ✅ Resolution Decision: **we will not support `TEXT` as an image identifier.** Image identifiers stay restricted to `FILES` and `LINKS`, and any other type fails closed (returns no avatar) on both the frontend and backend. Instead, the legacy items that still rely on a `TEXT` avatar — Person's deprecated `avatarUrl` and WorkspaceMember's `avatarUrl` — will be migrated to `FILE` fields in a follow-up PR. Until then, WorkspaceMember remains an exception (its `avatarUrl` still resolves through the existing CorePicture path), and legacy Person `avatarUrl` values that haven't been migrated will show initials placeholders. <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/22644?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
This commit is contained in:
+30
-20
@@ -11,6 +11,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -102,7 +103,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-22.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b030-4743-9edd-d1a1776d653d",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -115,7 +116,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-33.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bcc1-434e-995a-f80dfa92b596",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -215,6 +216,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -306,7 +308,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bf28-4a93-bba3-b02aa55543a3",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -319,7 +321,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-49.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b0ae-46da-9697-ed949ee75b67",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -411,6 +413,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-77d5-4cb6-b60a-f4a835a85d61",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -502,7 +505,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-86.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b165-49bf-b2c1-60fd1ee3d368",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -515,7 +518,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-76.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b664-4460-83e8-5c5f1c64c836",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -599,6 +602,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -707,7 +711,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-84.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bfea-4a51-81be-d46de6a93db7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -720,7 +724,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-33.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bfa7-4546-a865-18a9cd06de4c",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -812,6 +816,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -912,7 +917,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-71.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b397-497b-90bc-f62c1c34b2a3",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -925,7 +930,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-58.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-beb3-40b1-8f18-de25a7fd1146",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1033,6 +1038,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-77d5-4cb6-b60a-f4a835a85d61",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1124,7 +1130,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-1.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b171-46bc-a285-ec8ee3e3b702",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1137,7 +1143,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-7.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b307-4b8e-9281-b3ddb0ef420c",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1229,6 +1235,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1320,7 +1327,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b29f-45a3-9e75-6a1d49f1299f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1333,7 +1340,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-1.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bcbc-4e67-8f84-df60aad8cd7f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1441,6 +1448,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1532,7 +1540,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-19.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bab2-4892-8834-6ca25212fd35",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1545,7 +1553,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b48a-4ca5-9596-abdee52b69a6",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1653,6 +1661,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1744,7 +1753,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-87.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b597-4d76-b0d5-cd2b7d7e0255",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1757,7 +1766,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-bbaf-436a-b635-79e7c349f388",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1889,6 +1898,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "Company",
|
||||
"accountOwner": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-77d5-4cb6-b60a-f4a835a85d61",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -1997,7 +2007,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-ba0b-48a9-85ba-e223975696ea",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -2010,7 +2020,7 @@ export const mockedCompanyRecords: ObjectRecord[] =
|
||||
"__typename": "PersonEdge",
|
||||
"node": {
|
||||
"__typename": "Person",
|
||||
"avatarUrl": "https://twentyhq.github.io/placeholder-images/people/image-65.png",
|
||||
"avatarFile": null,
|
||||
"id": "20202020-b3e6-4514-88e8-7394fa3017cc",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
|
||||
@@ -11,6 +11,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -102,6 +103,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -193,6 +195,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -284,6 +287,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -375,6 +379,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -466,6 +471,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -557,6 +563,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -648,6 +655,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -739,6 +747,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-1553-45c6-a028-5a9064cce07f",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -830,6 +839,7 @@ export const mockedTaskRecords: ObjectRecord[] =
|
||||
"__typename": "Task",
|
||||
"assignee": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-77d5-4cb6-b60a-f4a835a85d61",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
|
||||
+70
@@ -36,6 +36,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "goo.gle",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a305-41e7-8c72-ba44072a4c58",
|
||||
"name": "Google"
|
||||
},
|
||||
@@ -76,6 +82,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -114,6 +121,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "microsoft.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a225-4b3d-a89c-7f6c30df998a",
|
||||
"name": "Microsoft"
|
||||
},
|
||||
@@ -154,6 +167,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -192,6 +206,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "metacareers.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a8b0-422c-8fcf-5b7496f94975",
|
||||
"name": "Meta"
|
||||
},
|
||||
@@ -232,6 +252,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -270,6 +291,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "slb.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-aaf7-41d6-87a9-7add07bebfd8",
|
||||
"name": "SLB"
|
||||
},
|
||||
@@ -310,6 +337,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -348,6 +376,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "cisco.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a19d-422b-9cb2-5f8382a56877",
|
||||
"name": "Cisco"
|
||||
},
|
||||
@@ -388,6 +422,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -426,6 +461,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "uber.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a39c-4644-867d-e8e1851b3ee8",
|
||||
"name": "Uber"
|
||||
},
|
||||
@@ -466,6 +507,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -504,6 +546,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "salesforce.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a0eb-4c51-aa03-c4cd2423d7cb",
|
||||
"name": "Salesforce"
|
||||
},
|
||||
@@ -544,6 +592,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -582,6 +631,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "amdocs.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a9b5-48ec-97c0-dbbfcbe8df1b",
|
||||
"name": "Amdocs"
|
||||
},
|
||||
@@ -622,6 +677,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -660,6 +716,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "vmware.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a89d-44f9-ac9c-25e462460cb0",
|
||||
"name": "VMware"
|
||||
},
|
||||
@@ -700,6 +762,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
@@ -738,6 +801,12 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"targetCompany": {
|
||||
"__typename": "Company",
|
||||
"domainName": {
|
||||
"__typename": "Links",
|
||||
"primaryLinkUrl": "globallogic.com",
|
||||
"primaryLinkLabel": "",
|
||||
"secondaryLinks": []
|
||||
},
|
||||
"id": "20202020-a377-4693-a2d9-89dc9188a1dc",
|
||||
"name": "GlobalLogic"
|
||||
},
|
||||
@@ -778,6 +847,7 @@ export const mockedTimelineActivityRecords: ObjectRecord[] =
|
||||
},
|
||||
"workspaceMember": {
|
||||
"__typename": "WorkspaceMember",
|
||||
"avatarUrl": "",
|
||||
"id": "20202020-0687-4c41-b707-ed1bfca972a7",
|
||||
"name": {
|
||||
"__typename": "FullName",
|
||||
|
||||
+3
-3
@@ -10243,7 +10243,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
||||
"createdAt": "2026-04-10T08:55:56.200Z",
|
||||
"updatedAt": "2026-04-10T08:55:56.200Z",
|
||||
"labelIdentifierFieldMetadataId": "d8ff93be-5b55-4e4b-af50-20eb2f38320c",
|
||||
"imageIdentifierFieldMetadataId": null,
|
||||
"imageIdentifierFieldMetadataId": "07ce14cd-f2e2-4f21-ad62-52f0a1329a6b",
|
||||
"applicationId": "dd6a5463-023d-4a10-855f-a4abaf32c1ec",
|
||||
"shortcut": null,
|
||||
"isLabelSyncedWithName": false,
|
||||
@@ -14806,7 +14806,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
||||
"createdAt": "2026-04-10T08:55:56.200Z",
|
||||
"updatedAt": "2026-04-10T08:55:56.200Z",
|
||||
"labelIdentifierFieldMetadataId": "1b86fb74-25cf-4228-af97-b6a479643407",
|
||||
"imageIdentifierFieldMetadataId": null,
|
||||
"imageIdentifierFieldMetadataId": "a1bbfc74-315b-475c-b13b-4268476c2894",
|
||||
"applicationId": "dd6a5463-023d-4a10-855f-a4abaf32c1ec",
|
||||
"shortcut": "P",
|
||||
"isLabelSyncedWithName": false,
|
||||
@@ -16669,7 +16669,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
||||
"createdAt": "2026-04-10T08:55:56.200Z",
|
||||
"updatedAt": "2026-04-10T08:55:56.200Z",
|
||||
"labelIdentifierFieldMetadataId": "50c85704-9c8e-4e30-8a86-dc6adb756999",
|
||||
"imageIdentifierFieldMetadataId": null,
|
||||
"imageIdentifierFieldMetadataId": "be9fd5e1-ca36-4b91-ba14-22a5ab409e92",
|
||||
"applicationId": "dd6a5463-023d-4a10-855f-a4abaf32c1ec",
|
||||
"shortcut": "C",
|
||||
"isLabelSyncedWithName": false,
|
||||
|
||||
Reference in New Issue
Block a user