initial commit

This commit is contained in:
Eddy Oyieko
2024-09-17 14:08:40 +03:00
parent e9e668bd39
commit 4e69f91420
4 changed files with 22 additions and 2 deletions

View File

@ -30,6 +30,10 @@ export async function deletePage(pageId: string): Promise<void> {
await api.post("/pages/delete", { pageId });
}
export async function restorePage(pageId: string): Promise<void> {
await api.post("/pages/restore", { pageId });
}
export async function movePage(data: IMovePage): Promise<void> {
await api.post<void>("/pages/move", data);
}

View File

@ -115,7 +115,7 @@ export class PageController {
@HttpCode(HttpStatus.OK)
@Post('restore')
async restore(@Body() pageIdDto: PageIdDto) {
// await this.pageService.restore(deletePageDto.id);
await this.pageService.restore(pageIdDto.pageId);
}
@HttpCode(HttpStatus.OK)

View File

@ -284,6 +284,10 @@ export class PageService {
async forceDelete(pageId: string): Promise<void> {
await this.pageRepo.deletePage(pageId);
}
async restore(pageId: string): Promise<void> {
await this.pageRepo.restorePage(pageId);
}
}
/*

View File

@ -107,7 +107,19 @@ export class PageRepo {
}
async deletePage(pageId: string): Promise<void> {
let query = this.db.deleteFrom('pages');
let query = this.db.updateTable('pages').set({ deletedAt: new Date() });
if (isValidUUID(pageId)) {
query = query.where('id', '=', pageId);
} else {
query = query.where('slugId', '=', pageId);
}
await query.execute();
}
async restorePage(pageId: string): Promise<void> {
let query = this.db.updateTable('pages').set({ deletedAt: null });
if (isValidUUID(pageId)) {
query = query.where('id', '=', pageId);