Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / shared / lib / api / mailSettings.ts
blob584dd4fcb345e44dc550fbb50665c89768388575
1 import type { AutoResponder as tsAutoResponder } from '../interfaces/AutoResponder';
2 import type { BLOCK_SENDER_CONFIRMATION } from '../mail/constants';
3 import type {
4     AUTO_DELETE_SPAM_AND_TRASH_DAYS,
5     DIRECTION,
6     MAIL_PAGE_SIZE,
7     NEXT_MESSAGE_ON_MOVE,
8     PM_SIGNATURE_REFERRAL,
9     REMOVE_IMAGE_METADATA,
10     SPAM_ACTION,
11     SWIPE_ACTION,
12 } from '../mail/mailSettings';
14 export const getMailSettings = () => ({
15     url: 'mail/v4/settings',
16     method: 'get',
17 });
19 export const updatePageSize = (PageSize: MAIL_PAGE_SIZE) => ({
20     url: 'mail/v4/settings/pagesize',
21     method: 'put',
22     data: { PageSize },
23 });
25 export const updateNextMessageOnMove = (NextMessageOnMove: NEXT_MESSAGE_ON_MOVE) => ({
26     url: 'mail/v4/settings/next-message-on-move',
27     method: 'put',
28     data: { NextMessageOnMove },
29 });
31 export const updateShowMoved = (ShowMoved: number) => ({
32     url: 'mail/v4/settings/moved',
33     method: 'put',
34     data: { ShowMoved },
35 });
37 export const updateHideRemoteImages = (HideRemoteImages: number) => ({
38     url: 'mail/v4/settings/hide-remote-images',
39     method: 'put',
40     data: { HideRemoteImages },
41 });
43 export const updateShowAlmostAllMail = (AlmostAllMail: number) => ({
44     url: 'mail/v4/settings/almost-all-mail',
45     method: 'put',
46     data: { AlmostAllMail },
47 });
49 export const updateHideEmbeddedImages = (HideEmbeddedImages: number) => ({
50     url: 'mail/v4/settings/hide-embedded-images',
51     method: 'put',
52     data: { HideEmbeddedImages },
53 });
55 export const updateAutoSaveContacts = (AutoSaveContacts: number) => ({
56     url: 'mail/v4/settings/autocontacts',
57     method: 'put',
58     data: { AutoSaveContacts },
59 });
61 export const updateTheme = (Theme: string | number) => ({
62     url: 'mail/v4/settings/theme',
63     method: 'put',
64     data: { Theme },
65 });
67 export const updateDisplayName = (DisplayName: string) => ({
68     url: 'mail/v4/settings/display',
69     method: 'put',
70     data: { DisplayName },
71 });
73 export const updateSignature = (Signature: string) => ({
74     url: 'mail/v4/settings/signature',
75     method: 'put',
76     data: { Signature },
77 });
79 export const updatePMSignature = (PMSignature: number) => ({
80     url: 'mail/v4/settings/pmsignature',
81     method: 'put',
82     data: { PMSignature },
83 });
85 export const updatePMSignatureReferralLink = (PMSignatureReferralLink: PM_SIGNATURE_REFERRAL) => ({
86     url: 'mail/v4/settings/pmsignature-referral',
87     method: 'put',
88     data: { PMSignatureReferralLink },
89 });
91 export const updateComposerMode = (ComposerMode: number) => ({
92     url: 'mail/v4/settings/composermode',
93     method: 'put',
94     data: { ComposerMode },
95 });
97 export const updateMessageButtons = (MessageButtons: number) => ({
98     url: 'mail/v4/settings/messagebuttons',
99     method: 'put',
100     data: { MessageButtons },
103 export const updateViewMode = (ViewMode: number) => ({
104     url: 'mail/v4/settings/viewmode',
105     method: 'put',
106     data: { ViewMode },
109 export const updateStickyLabels = (StickyLabels: number) => ({
110     url: 'mail/v4/settings/stickylabels',
111     method: 'put',
112     data: { StickyLabels },
115 export const updateDraftType = (MIMEType: string) => ({
116     url: 'mail/v4/settings/drafttype',
117     method: 'put',
118     data: { MIMEType },
121 export const updateRightToLeft = (RightToLeft: DIRECTION) => ({
122     url: 'mail/v4/settings/righttoleft',
123     method: 'put',
124     data: { RightToLeft },
127 export const updateViewLayout = (ViewLayout: number) => ({
128     url: 'mail/v4/settings/viewlayout',
129     method: 'put',
130     data: { ViewLayout },
133 export const updatePromptPin = (PromptPin: number) => ({
134     url: 'mail/v4/settings/promptpin',
135     method: 'put',
136     data: { PromptPin },
139 export const updateKT = (KT: number) => ({
140     url: 'mail/v4/settings/kt',
141     method: 'put',
142     data: { KT },
145 export const updatePGPScheme = (PGPScheme: number) => ({
146     url: 'mail/v4/settings/pgpscheme',
147     method: 'put',
148     data: { PGPScheme },
151 export const updateSign = (Sign: number) => ({
152     url: 'mail/v4/settings/sign',
153     method: 'put',
154     data: { Sign },
157 export const updateAttachPublicKey = (AttachPublicKey: number) => ({
158     url: 'mail/v4/settings/attachpublic',
159     method: 'put',
160     data: { AttachPublicKey },
163 export const updateShortcuts = (Shortcuts: number) => ({
164     url: 'mail/v4/settings/shortcuts',
165     method: 'put',
166     data: { Shortcuts },
169 export const updateAutoresponder = (AutoResponder: tsAutoResponder) => ({
170     url: 'mail/v4/settings/autoresponder',
171     method: 'put',
172     data: { AutoResponder },
175 export const updateConfirmLink = (ConfirmLink: number) => ({
176     url: 'mail/v4/settings/confirmlink',
177     method: 'put',
178     data: { ConfirmLink },
181 export const updateDelaySend = (DelaySendSeconds: number) => ({
182     url: 'mail/v4/settings/delaysend',
183     method: 'put',
184     data: { DelaySendSeconds },
187 export const updateEnableFolderColor = (EnableFolderColor: number) => ({
188     url: 'mail/v4/settings/enablefoldercolor',
189     method: 'put',
190     data: { EnableFolderColor },
193 export const updateInheritParentFolderColor = (InheritParentFolderColor: number) => ({
194     url: 'mail/v4/settings/inheritparentfoldercolor',
195     method: 'put',
196     data: { InheritParentFolderColor },
199 export const updateFontFace = (FontFace: string) => ({
200     url: 'mail/v4/settings/fontface',
201     method: 'put',
202     data: { FontFace },
205 export const updateFontSize = (FontSize: number) => ({
206     url: 'mail/v4/settings/fontsize',
207     method: 'put',
208     data: { FontSize },
211 export const updateImageProxy = (ImageProxy: number, Action: 'add' | 'remove') => ({
212     url: 'mail/v4/settings/imageproxy',
213     method: 'put',
214     data: { ImageProxy, Action: Action === 'add' ? 1 : 0 },
217 export const updateSpamAction = (SpamAction: SPAM_ACTION | null) => ({
218     url: 'mail/v4/settings/spam-action',
219     method: 'put',
220     data: { SpamAction },
223 export const updateBlockSenderConfirmation = (BlockSenderConfirmation: BLOCK_SENDER_CONFIRMATION | null) => ({
224     url: 'mail/v4/settings/block-sender-confirmation',
225     method: 'put',
226     data: { BlockSenderConfirmation },
229 export const updateHideSenderImages = (HideSenderImages: number) => ({
230     url: 'mail/v4/settings/hide-sender-images',
231     method: 'put',
232     data: { HideSenderImages },
235 export const updateDisplayUnreadFavicon = (UnreadFavicon: number) => ({
236     url: 'mail/v4/settings/unread-favicon',
237     method: 'put',
238     data: { UnreadFavicon },
241 export const updateAutoDelete = (AutoDeleteSpamAndTrashDays: AUTO_DELETE_SPAM_AND_TRASH_DAYS) => ({
242     url: 'mail/v4/settings/auto-delete-spam-and-trash-days',
243     method: 'put',
244     data: { Days: AutoDeleteSpamAndTrashDays },
247 export const updateSwipeLeft = (SwipeLeft: SWIPE_ACTION) => ({
248     url: 'mail/v4/settings/swipeleft',
249     method: 'put',
250     data: { SwipeLeft },
253 export const updateSwipeRight = (SwipeRight: SWIPE_ACTION) => ({
254     url: 'mail/v4/settings/swiperight',
255     method: 'put',
256     data: { SwipeRight },
259 export const updateRemoveImageMetadata = (RemoveImageMetadata: REMOVE_IMAGE_METADATA) => ({
260     url: 'mail/v4/settings/remove-image-metadata',
261     method: 'put',
262     data: { RemoveImageMetadata },