Conversation
|
🚀 Preview Environment Ready! Your preview environment is available at: http://bore.pub:18254 This environment will automatically shut down after 5 hours. |
...b/utils/from-update-page-layout-tab-input-to-flat-page-layout-tab-to-update-or-throw.util.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/metadata-modules/page-layout-tab/dtos/page-layout-tab.dto.ts
Outdated
Show resolved
Hide resolved
Greptile SummaryThis PR introduces a page-layout override system that allows workspace custom applications to override specific properties ( Key changes:
Issues found:
Confidence Score: 2/5
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Client calls updatePageLayoutTab / updatePageLayoutWidget"] --> B["Fetch workspaceCustomFlatApplication"]
B --> C["Fetch existing FlatEntity from cache"]
C --> D["extractAndSanitizeObjectStringFields\n(get editable properties)"]
D --> E["isCallerOverridingEntity()\ncaller == workspaceCustomApp?\nentity belongs to standard app?"]
E -->|"false (own entity)"| F["sanitizeOverridableEntityInput\nshouldOverride=false\npreserve existing overrides"]
E -->|"true (standard entity)"| G["sanitizeOverridableEntityInput\nshouldOverride=true"]
G --> H{"For each overridable property\nin updatedEditableProperties"}
H -->|"value == base entity value"| I["Remove property from overrides\n(clear stale override)"]
H -->|"value != base entity value"| J["Add/update property in overrides\nRemove from direct update payload"]
H -->|"property not in update"| K["Keep existing override value"]
I & J & K --> L["Merge: overrides=computed,\nupdatedEditableProperties=sanitized"]
F --> L
L --> M["validateBuildAndRunWorkspaceMigration"]
M --> N["Persist to DB: entity updated,\noverrides JSONB column updated"]
Last reviewed commit: 22d420a |
...es/twenty-server/src/engine/metadata-modules/utils/sanitize-overridable-entity-input.util.ts
Outdated
Show resolved
Hide resolved
...es/twenty-server/src/engine/metadata-modules/utils/sanitize-overridable-entity-input.util.ts
Outdated
Show resolved
Hide resolved
packages/twenty-server/src/engine/metadata-modules/utils/is-caller-overriding-entity.util.ts
Outdated
Show resolved
Hide resolved
...es/twenty-server/src/engine/metadata-modules/utils/sanitize-overridable-entity-input.util.ts
Show resolved
Hide resolved
packages/twenty-server/src/engine/metadata-modules/page-layout-tab/dtos/page-layout-tab.dto.ts
Show resolved
Hide resolved
.../twenty-server/src/engine/metadata-modules/page-layout-widget/dtos/page-layout-widget.dto.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
|
@greptileai trigger |
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
.../twenty-server/src/engine/metadata-modules/utils/resolve-overridable-entity-property.util.ts
Show resolved
Hide resolved
| overrides, | ||
| } as FlatPageLayoutWidget; | ||
|
|
||
| if (updatedEditableProperties.objectMetadataId !== undefined) { |
There was a problem hiding this comment.
nit: isDefined for consistency?
No description provided.