System view tooling explicit params key naming (#23506)

# Introduction
View field system always result from a field existence, the application
universal identifier should be the related field one
Same but for views and object

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/23506?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:
Paul Rastoin
2026-07-29 16:33:40 +02:00
committed by GitHub
parent 33970dd45d
commit 4ec65ed08d
22 changed files with 192 additions and 67 deletions
@@ -0,0 +1,34 @@
import { getSystemViewFieldUniversalIdentifier } from '@/application/deterministic-identifier/get-system-view-field-universal-identifier.util';
import { getViewFieldUniversalIdentifier } from '@/application/deterministic-identifier/get-view-field-universal-identifier.util';
const APP = '11111111-1111-4111-8111-111111111111';
const VIEW = '44444444-4444-4444-8444-444444444444';
const FIELD = '33333333-3333-4333-8333-333333333333';
describe('getSystemViewFieldUniversalIdentifier', () => {
it('derives a deterministic id from the field it displays within its view', () => {
expect(
getSystemViewFieldUniversalIdentifier({
fieldMetadataApplicationUniversalIdentifier: APP,
viewUniversalIdentifier: VIEW,
fieldMetadataUniversalIdentifier: FIELD,
}),
).toBe('fe533473-ef93-5ed9-b709-b344aa94fb8d');
});
it('derives the same id as getViewFieldUniversalIdentifier', () => {
expect(
getSystemViewFieldUniversalIdentifier({
fieldMetadataApplicationUniversalIdentifier: APP,
viewUniversalIdentifier: VIEW,
fieldMetadataUniversalIdentifier: FIELD,
}),
).toBe(
getViewFieldUniversalIdentifier({
applicationUniversalIdentifier: APP,
viewUniversalIdentifier: VIEW,
fieldMetadataUniversalIdentifier: FIELD,
}),
);
});
});
@@ -8,7 +8,7 @@ describe('getSystemViewUniversalIdentifier', () => {
it('derives a deterministic id from the stable INDEX view key within its object', () => {
expect(
getSystemViewUniversalIdentifier({
applicationUniversalIdentifier: APP,
objectMetadataApplicationUniversalIdentifier: APP,
objectUniversalIdentifier: OBJECT,
viewKey: ViewKey.INDEX,
}),
@@ -0,0 +1,16 @@
import { computeDeterministicUuid } from '@/application/deterministic-identifier/compute-deterministic-uuid.util';
export const getSystemViewFieldUniversalIdentifier = ({
fieldMetadataApplicationUniversalIdentifier,
viewUniversalIdentifier,
fieldMetadataUniversalIdentifier,
}: {
fieldMetadataApplicationUniversalIdentifier: string;
viewUniversalIdentifier: string;
fieldMetadataUniversalIdentifier: string;
}): string =>
computeDeterministicUuid({
entityNamespace: 'viewField',
value: `${viewUniversalIdentifier}:${fieldMetadataUniversalIdentifier}`,
applicationUniversalIdentifier: fieldMetadataApplicationUniversalIdentifier,
});
@@ -2,16 +2,17 @@ import { computeDeterministicUuid } from '@/application/deterministic-identifier
import { type ViewKey } from '@/types/ViewKey';
export const getSystemViewUniversalIdentifier = ({
applicationUniversalIdentifier,
objectMetadataApplicationUniversalIdentifier,
objectUniversalIdentifier,
viewKey,
}: {
applicationUniversalIdentifier: string;
objectMetadataApplicationUniversalIdentifier: string;
objectUniversalIdentifier: string;
viewKey: ViewKey;
}): string =>
computeDeterministicUuid({
entityNamespace: 'view',
value: `${objectUniversalIdentifier}:${viewKey}`,
applicationUniversalIdentifier,
applicationUniversalIdentifier:
objectMetadataApplicationUniversalIdentifier,
});
@@ -80,6 +80,7 @@ export { getSearchFieldUniversalIdentifier } from './deterministic-identifier/ge
export { getSelectOptionUniversalIdentifier } from './deterministic-identifier/get-select-option-universal-identifier.util';
export { getSkillUniversalIdentifier } from './deterministic-identifier/get-skill-universal-identifier.util';
export { getSystemRelationFieldUniversalIdentifier } from './deterministic-identifier/get-system-relation-field-universal-identifier.util';
export { getSystemViewFieldUniversalIdentifier } from './deterministic-identifier/get-system-view-field-universal-identifier.util';
export { getSystemViewUniversalIdentifier } from './deterministic-identifier/get-system-view-universal-identifier.util';
export { getViewFieldGroupUniversalIdentifier } from './deterministic-identifier/get-view-field-group-universal-identifier.util';
export { getViewFieldUniversalIdentifier } from './deterministic-identifier/get-view-field-universal-identifier.util';