Files
dmail-api/src/modules/mail-server/services/wildduck-archive.service.ts
T
2025-07-02 21:05:13 +03:30

31 lines
1.1 KiB
TypeScript

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<ArchiveListResponse> {
return this.get<ArchiveListResponse>("/archive", params);
}
/**
* Archive a message
*/
archiveMessage(userId: string, mailboxId: string, messageId: number, data?: ArchiveMessageData): Observable<ArchiveCreateResponse> {
return this.post<ArchiveCreateResponse>(`/users/${userId}/mailboxes/${mailboxId}/messages/${messageId}/archive`, data);
}
/**
* Restore archived message
*/
restoreMessage(archiveId: string): Observable<ArchiveRestoreResponse> {
return this.post<ArchiveRestoreResponse>(`/archive/${archiveId}/restore`);
}
}