Remove CharacterComponent and CharacterDetail components

- Deleted `CharacterComponent` and `CharacterDetail` files from the project.
- Refactored related logic to improve code maintainability and reduce redundancy.
This commit is contained in:
natreex
2026-02-05 14:12:08 -05:00
parent cec5830360
commit 209dc6f85a
133 changed files with 17673 additions and 3110 deletions

View File

@@ -13,6 +13,7 @@ import ChapterContentRepository, {
CompanionContentQueryResult,
ContentQueryResult
} from "../repositories/chaptercontent.repository.js";
import RemovedItem from "./RemovedItem.js";
export interface ChapterContent {
version: number;
@@ -262,12 +263,18 @@ export default class Chapter {
/**
* Removes a chapter from the database.
* @param userId - The unique identifier of the user
* @param bookId - The unique identifier of the book
* @param chapterId - The unique identifier of the chapter to remove
* @param deletedAt - The timestamp of deletion (from UI via System.timeStampInSeconds())
* @param lang - The language for error messages ('fr' or 'en')
* @returns True if the chapter was removed successfully, false otherwise
*/
public static removeChapter(userId: string, chapterId: string, lang: 'fr' | 'en' = 'fr'): boolean {
return ChapterRepo.deleteChapter(userId, chapterId, lang);
public static removeChapter(userId: string, bookId: string, chapterId: string, deletedAt: number, lang: 'fr' | 'en' = 'fr'): boolean {
const deleted: boolean = ChapterRepo.deleteChapter(userId, chapterId, lang);
if (deleted) {
RemovedItem.deleteTracker(userId, bookId, 'book_chapters', chapterId, deletedAt, lang);
}
return deleted;
}
/**
@@ -437,12 +444,18 @@ export default class Chapter {
/**
* Removes chapter information by its identifier.
* @param userId - The unique identifier of the user
* @param bookId - The unique identifier of the book
* @param chapterInfoId - The unique identifier of the chapter information to remove
* @param deletedAt - The timestamp of deletion (from UI via System.timeStampInSeconds())
* @param lang - The language for error messages ('fr' or 'en')
* @returns True if the chapter information was removed successfully, false otherwise
*/
static removeChapterInformation(userId: string, chapterInfoId: string, lang: 'fr' | 'en' = 'fr'): boolean {
return ChapterRepo.deleteChapterInformation(userId, chapterInfoId, lang);
static removeChapterInformation(userId: string, bookId: string, chapterInfoId: string, deletedAt: number, lang: 'fr' | 'en' = 'fr'): boolean {
const deleted: boolean = ChapterRepo.deleteChapterInformation(userId, chapterInfoId, lang);
if (deleted) {
RemovedItem.deleteTracker(userId, bookId, 'book_chapter_infos', chapterInfoId, deletedAt, lang);
}
return deleted;
}
/**