Add deletedAt timestamps to delete operations for better audit tracking
- Updated delete methods across hooks and components to include `deletedAt: System.timeStampInSeconds()`. - Refactored synchronized delete logic to pass `deletedAt` for both offline and online states. - Improved synchronization workflows to include `deletedAt` in server and IPC requests. - Enhanced destructuring patterns for cleaner and more consistent request data.
This commit is contained in:
@@ -188,16 +188,25 @@ export default function ScribeChapterComponent() {
|
||||
try {
|
||||
setDeleteConfirmationMessage(false);
|
||||
let response:boolean = false;
|
||||
const deletedAt: number = System.timeStampInSeconds();
|
||||
if (isCurrentlyOffline() || book?.localBook) {
|
||||
response = await window.electron.invoke<boolean>('db:chapter:remove', removeChapterId);
|
||||
response = await window.electron.invoke<boolean>('db:chapter:remove', {
|
||||
chapterId: removeChapterId,
|
||||
bookId: book?.bookId,
|
||||
deletedAt,
|
||||
});
|
||||
} else {
|
||||
response = await System.authDeleteToServer<boolean>('chapter/remove', {
|
||||
chapterId: removeChapterId,
|
||||
bookId: book?.bookId,
|
||||
deletedAt,
|
||||
}, userToken, lang);
|
||||
|
||||
if (localSyncedBooks.find((syncedBook: SyncedBook): boolean => syncedBook.id === book?.bookId)) {
|
||||
addToQueue('db:chapter:remove', {
|
||||
chapterId: removeChapterId,
|
||||
bookId: book?.bookId,
|
||||
deletedAt,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user