Skip to content

Conversation

@erosselli
Copy link
Contributor

@erosselli erosselli commented Dec 3, 2025

Ticket ENG-2116

Description Of Changes

In ENG-2116 we made some breaking changes to the consent v3 schemas, namely:

  • collected_at is now a top-level field on the preference object rather than being nested under meta.fides
  • experience_config_history_id is now a nested field under meta.fides rather than a top-level field

Code Changes

  • Updates relevant auto-generated types
  • Updates the privacy notice sandbox code to use new schema

Steps to Confirm

  1. Submit a preference save using the notice sandbox

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@vercel
Copy link

vercel bot commented Dec 3, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
fides-plus-nightly Ready Ready Preview Comment Dec 3, 2025 2:06pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
fides-privacy-center Ignored Ignored Dec 3, 2025 2:06pm

@erosselli erosselli marked this pull request as ready for review December 3, 2025 14:25
@erosselli erosselli requested a review from a team as a code owner December 3, 2025 14:25
@erosselli erosselli requested review from gilluminate and removed request for a team December 3, 2025 14:25
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 3, 2025

Greptile Overview

Greptile Summary

Updated frontend types and privacy notice sandbox implementation to align with breaking changes in consent v3 API schema. collected_at was moved from nested meta.fides to top-level field, and experience_config_history_id was moved from top-level to nested meta.fides field.

  • Updated auto-generated TypeScript types for ConsentPreferenceCreate, ConsentPreferenceResponse, PreferenceFidesMeta, and PreferenceFidesMetaCreate
  • Added new PreferenceType enum (explicit, policy, default)
  • Updated SavePreferencesSection.tsx to construct preference objects with new schema structure
  • Timestamp format changed from +00:00 suffix to ISO 8601 Z suffix

Confidence Score: 4/5

  • Safe to merge with verification of timestamp format compatibility
  • Schema migration correctly implements the documented breaking changes. All type definitions are consistent. Minor concern about timestamp format change from +00:00 to Z suffix - should verify backend accepts both formats.
  • Verify SavePreferencesSection.tsx:130 - ensure backend accepts ISO 8601 timestamps with Z suffix

Important Files Changed

File Analysis

Filename Score Overview
clients/admin-ui/src/types/api/models/ConsentPreferenceCreate.ts 5/5 Auto-generated type definition correctly moved collected_at to top-level and removed experience_config_history_id
clients/admin-ui/src/types/api/models/PreferenceFidesMetaCreate.ts 5/5 Auto-generated type definition correctly added experience_config_history_id and property_id to fides metadata for API input
clients/admin-ui/src/features/poc/privacy-notices-sandbox/components/SavePreferencesSection.tsx 4/5 Updated to match new API schema, but timestamp format changed from +00:00 suffix to Z suffix

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

6 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

? UserConsentPreference.OPT_IN
: UserConsentPreference.OPT_OUT,
experience_config_history_id: experienceConfigHistoryId,
collected_at: new Date().toISOString(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Verify backend accepts ISO 8601 with Z suffix - previous code used +00:00 format

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it does, I changed it

@erosselli erosselli added this pull request to the merge queue Dec 3, 2025
Merged via the queue into main with commit 94a12a7 Dec 3, 2025
47 checks passed
@erosselli erosselli deleted the ENG-2116-changes branch December 3, 2025 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants