-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
User Story: As a Promise Tracker Airtable admin, I want the website to only display "Active" records while ensuring that hard deletions in Airtable are mirrored in Payload CMS and the Ptracker website to prevent duplicate and test data on the live site.
Requirements
- Airtable Field: Add a Single Select field named Publishing Status with options Active and Inactive.
- API Gatekeeper: The website's API must be updated to only pull records where Publishing Status is exactly "Active"
- Payload Toggle Sync: When the status changes to "Inactive" in Airtable, Payload CMS must auto update the record status to Inactive or Draft but keep the data intact in payload. however the record "Country" or "Political" entity is not shown on the public website.
- Hard Delete Action from Airtable: This trigger must send a DELETE request to the Payload CMS API using the Airtable Record ID as the unique key to permanently wipe the record from both Payload and the webiste.
- Any Country or Political entity record without Airtable status "Active" should be removed from the public website and saved as a drafted in Payload.
Acceptance Criteria (AC)
- Status Toggle Logic: Changing a record to Inactive in Airtable makes it disappear from the website immediately, but the record remains visible and "Inactive" inside Payload CMS.
- Live Visibility: Only records explicitly set to Active in Airtable appear on the public Promise Tracker website.
- Permanent Removal: If a record is physically deleted from Airtable, it must be automatically deleted from the Payload CMS database and the website.
- Data Integrity: Reverting a record from Inactive back to Active restores it to the website without data loss, as long as it wasn't hard-deleted.
Definition of Done (DoD)
- The Publishing Status field is live in Airtable.
- The website frontend successfully filters out any record not marked "Active".
- The delete record from Airtable is tested and confirmed to remove records from Payload CMS and the Website.
- The team has been briefed that "Inactive" is for hiding content and "Delete" is for permanent removal.
Airtable url
https://airtable.com/appIuU48pYIXtqDQg/tbl1UynrhPUg2TUwM/viweBdBjIjkUDnJhP?blocks=hide
Reactions are currently unavailable