Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / shared / lib / interfaces / mail / Message.ts
blob2c07d763a1d2102add49ad72609b0aec3bc3f5b8
1 import type { ATTACHMENT_DISPOSITION } from '@proton/shared/lib/mail/constants';
3 import type { MIME_TYPES } from '../../constants';
4 import type { Recipient } from '../Address';
6 export interface AttachmentInfo {
7     inline?: number;
8     attachment: number;
11 // Attachment metadata that we get in the element list
12 export interface AttachmentsMetadata {
13     ID: string;
14     Disposition: ATTACHMENT_DISPOSITION;
15     Name: string;
16     MIMEType: string;
17     Size: number;
20 export interface AttachmentFullMetadata {
21     ID: string;
22     Name?: string;
23     Size: number;
24     MIMEType: string;
25     Disposition: ATTACHMENT_DISPOSITION;
26     Sender?: Recipient;
27     KeyPackets?: string;
28     Signature?: string;
29     EncSignature?: string;
30     AddressID: string;
31     MessageID: string;
32     ConversationID: string;
33     IsAutoForwardee: boolean;
36 export interface Attachment {
37     ID?: string;
38     Name?: string;
39     Size?: number;
40     Preview?: any;
41     KeyPackets?: any;
42     MIMEType?: string;
43     data?: any;
44     Headers?: { [key: string]: string };
45     Encrypted?: number;
46     Signature?: string;
47     // EO specific
48     DataPacket?: any;
51 export interface UnsubscribeMethods {
52     Mailto?: {
53         Subject?: string;
54         Body?: string;
55         ToList: string[];
56     };
57     HttpClient?: string;
58     OneClick?: 'OneClick';
61 export interface MessageMetadata {
62     ID: string;
63     Order: number;
64     ConversationID: string;
65     Subject: string;
66     Unread: number;
67     /** @deprecated use Flags instead */
68     Type?: number;
69     /** @deprecated use Sender.Address instead */
70     SenderAddress?: string;
71     /** @deprecated use Sender.Name instead */
72     SenderName?: string;
73     Sender: Recipient;
74     ToList: Recipient[];
75     CCList: Recipient[];
76     BCCList: Recipient[];
77     Time: number;
78     Size: number;
79     /** @deprecated use Flags instead */
80     IsEncrypted?: number;
81     ExpirationTime?: number;
82     IsReplied: number;
83     IsRepliedAll: number;
84     IsForwarded: number;
85     AddressID: string;
86     LabelIDs: string[];
87     ExternalID: string;
88     NumAttachments: number;
89     Flags: number;
90     AttachmentInfo?: { [key in MIME_TYPES]?: AttachmentInfo };
91     AttachmentsMetadata?: AttachmentsMetadata[];
92     SnoozeTime: number;
93     DisplaySnoozedReminder: boolean;
96 export interface Message extends MessageMetadata {
97     Body: string;
98     Header: string;
99     ParsedHeaders: { [key: string]: string | string[] | undefined };
100     Attachments: Attachment[];
101     MIMEType: MIME_TYPES;
102     ReplyTo: Recipient;
103     ReplyTos: Recipient[];
104     UnsubscribeMethods?: UnsubscribeMethods;
105     Password?: string;
106     PasswordHint?: string;
107     RightToLeft?: number;
108     EORecipient?: Recipient;
111 export type DraftMessage = Pick<
112     Message,
113     'Subject' | 'Unread' | 'Sender' | 'ToList' | 'CCList' | 'BCCList' | 'ExternalID' | 'Flags' | 'Body' | 'MIMEType'
116 interface TaskRunning {
117     TargetType: string;
118     AddressID: string;
121 export interface GetMessageResponse {
122     Code: number;
123     Message?: Message;
124     Error?: string;
125     Details?: string[];
128 export interface QueryMessageMetadataResponse {
129     Code: number;
130     Total: number;
131     Messages: MessageMetadata[];
132     TasksRunning: TaskRunning[];
135 export interface MarkAsBrokenResponse {
136     Code: number;
137     Error?: string;