import { Injectable } from "@nestjs/common"; import { Observable } from "rxjs"; import { WildDuckBaseService } from "./wildduck-base.service"; import { ArchiveCreateResponse, ArchiveListResponse, ArchiveRestoreResponse } from "../interfaces/archive-response.interface"; import { ArchiveMessageData } from "../interfaces/archive.interface"; @Injectable() export class WildDuckArchiveService extends WildDuckBaseService { /** * List archived messages */ listArchivedMessages(params?: { user?: string; limit?: number; page?: number }): Observable { return this.get("/archive", params); } /** * Archive a message */ archiveMessage(userId: string, mailboxId: string, messageId: number, data?: ArchiveMessageData): Observable { return this.post(`/users/${userId}/mailboxes/${mailboxId}/messages/${messageId}/archive`, data); } /** * Restore archived message */ restoreMessage(archiveId: string): Observable { return this.post(`/archive/${archiveId}/restore`); } }