Use same lock values as mobile clients
[ProtonMail-WebClient.git] / packages / shared / lib / api / mailSettings.ts
blob9222207d0581159290810f1912e1d224a1460fad
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     SPAM_ACTION,
10     SWIPE_ACTION,
11 } from '../mail/mailSettings';
13 export const getMailSettings = () => ({
14     url: 'mail/v4/settings',
15     method: 'get',
16 });
18 export const updatePageSize = (PageSize: MAIL_PAGE_SIZE) => ({
19     url: 'mail/v4/settings/pagesize',
20     method: 'put',
21     data: { PageSize },
22 });
24 export const updateNextMessageOnMove = (NextMessageOnMove: NEXT_MESSAGE_ON_MOVE) => ({
25     url: 'mail/v4/settings/next-message-on-move',
26     method: 'put',
27     data: { NextMessageOnMove },
28 });
30 export const updateShowMoved = (ShowMoved: number) => ({
31     url: 'mail/v4/settings/moved',
32     method: 'put',
33     data: { ShowMoved },
34 });
36 export const updateHideRemoteImages = (HideRemoteImages: number) => ({
37     url: 'mail/v4/settings/hide-remote-images',
38     method: 'put',
39     data: { HideRemoteImages },
40 });
42 export const updateShowAlmostAllMail = (AlmostAllMail: number) => ({
43     url: 'mail/v4/settings/almost-all-mail',
44     method: 'put',
45     data: { AlmostAllMail },
46 });
48 export const updateHideEmbeddedImages = (HideEmbeddedImages: number) => ({
49     url: 'mail/v4/settings/hide-embedded-images',
50     method: 'put',
51     data: { HideEmbeddedImages },
52 });
54 export const updateAutoSaveContacts = (AutoSaveContacts: number) => ({
55     url: 'mail/v4/settings/autocontacts',
56     method: 'put',
57     data: { AutoSaveContacts },
58 });
60 export const updateTheme = (Theme: string | number) => ({
61     url: 'mail/v4/settings/theme',
62     method: 'put',
63     data: { Theme },
64 });
66 export const updateDisplayName = (DisplayName: string) => ({
67     url: 'mail/v4/settings/display',
68     method: 'put',
69     data: { DisplayName },
70 });
72 export const updateSignature = (Signature: string) => ({
73     url: 'mail/v4/settings/signature',
74     method: 'put',
75     data: { Signature },
76 });
78 export const updatePMSignature = (PMSignature: number) => ({
79     url: 'mail/v4/settings/pmsignature',
80     method: 'put',
81     data: { PMSignature },
82 });
84 export const updatePMSignatureReferralLink = (PMSignatureReferralLink: PM_SIGNATURE_REFERRAL) => ({
85     url: 'mail/v4/settings/pmsignature-referral',
86     method: 'put',
87     data: { PMSignatureReferralLink },
88 });
90 export const updateComposerMode = (ComposerMode: number) => ({
91     url: 'mail/v4/settings/composermode',
92     method: 'put',
93     data: { ComposerMode },
94 });
96 export const updateMessageButtons = (MessageButtons: number) => ({
97     url: 'mail/v4/settings/messagebuttons',
98     method: 'put',
99     data: { MessageButtons },
102 export const updateViewMode = (ViewMode: number) => ({
103     url: 'mail/v4/settings/viewmode',
104     method: 'put',
105     data: { ViewMode },
108 export const updateStickyLabels = (StickyLabels: number) => ({
109     url: 'mail/v4/settings/stickylabels',
110     method: 'put',
111     data: { StickyLabels },
114 export const updateDraftType = (MIMEType: string) => ({
115     url: 'mail/v4/settings/drafttype',
116     method: 'put',
117     data: { MIMEType },
120 export const updateRightToLeft = (RightToLeft: DIRECTION) => ({
121     url: 'mail/v4/settings/righttoleft',
122     method: 'put',
123     data: { RightToLeft },
126 export const updateViewLayout = (ViewLayout: number) => ({
127     url: 'mail/v4/settings/viewlayout',
128     method: 'put',
129     data: { ViewLayout },
132 export const updatePromptPin = (PromptPin: number) => ({
133     url: 'mail/v4/settings/promptpin',
134     method: 'put',
135     data: { PromptPin },
138 export const updateKT = (KT: number) => ({
139     url: 'mail/v4/settings/kt',
140     method: 'put',
141     data: { KT },
144 export const updatePGPScheme = (PGPScheme: number) => ({
145     url: 'mail/v4/settings/pgpscheme',
146     method: 'put',
147     data: { PGPScheme },
150 export const updateSign = (Sign: number) => ({
151     url: 'mail/v4/settings/sign',
152     method: 'put',
153     data: { Sign },
156 export const updateAttachPublicKey = (AttachPublicKey: number) => ({
157     url: 'mail/v4/settings/attachpublic',
158     method: 'put',
159     data: { AttachPublicKey },
162 export const updateShortcuts = (Shortcuts: number) => ({
163     url: 'mail/v4/settings/shortcuts',
164     method: 'put',
165     data: { Shortcuts },
168 export const updateAutoresponder = (AutoResponder: tsAutoResponder) => ({
169     url: 'mail/v4/settings/autoresponder',
170     method: 'put',
171     data: { AutoResponder },
174 export const updateConfirmLink = (ConfirmLink: number) => ({
175     url: 'mail/v4/settings/confirmlink',
176     method: 'put',
177     data: { ConfirmLink },
180 export const updateDelaySend = (DelaySendSeconds: number) => ({
181     url: 'mail/v4/settings/delaysend',
182     method: 'put',
183     data: { DelaySendSeconds },
186 export const updateEnableFolderColor = (EnableFolderColor: number) => ({
187     url: 'mail/v4/settings/enablefoldercolor',
188     method: 'put',
189     data: { EnableFolderColor },
192 export const updateInheritParentFolderColor = (InheritParentFolderColor: number) => ({
193     url: 'mail/v4/settings/inheritparentfoldercolor',
194     method: 'put',
195     data: { InheritParentFolderColor },
198 export const updateFontFace = (FontFace: string) => ({
199     url: 'mail/v4/settings/fontface',
200     method: 'put',
201     data: { FontFace },
204 export const updateFontSize = (FontSize: number) => ({
205     url: 'mail/v4/settings/fontsize',
206     method: 'put',
207     data: { FontSize },
210 export const updateImageProxy = (ImageProxy: number, Action: 'add' | 'remove') => ({
211     url: 'mail/v4/settings/imageproxy',
212     method: 'put',
213     data: { ImageProxy, Action: Action === 'add' ? 1 : 0 },
216 export const updateSpamAction = (SpamAction: SPAM_ACTION | null) => ({
217     url: 'mail/v4/settings/spam-action',
218     method: 'put',
219     data: { SpamAction },
222 export const updateBlockSenderConfirmation = (BlockSenderConfirmation: BLOCK_SENDER_CONFIRMATION | null) => ({
223     url: 'mail/v4/settings/block-sender-confirmation',
224     method: 'put',
225     data: { BlockSenderConfirmation },
228 export const updateHideSenderImages = (HideSenderImages: number) => ({
229     url: 'mail/v4/settings/hide-sender-images',
230     method: 'put',
231     data: { HideSenderImages },
234 export const updateDisplayUnreadFavicon = (UnreadFavicon: number) => ({
235     url: 'mail/v4/settings/unread-favicon',
236     method: 'put',
237     data: { UnreadFavicon },
240 export const updateAutoDelete = (AutoDeleteSpamAndTrashDays: AUTO_DELETE_SPAM_AND_TRASH_DAYS) => ({
241     url: 'mail/v4/settings/auto-delete-spam-and-trash-days',
242     method: 'put',
243     data: { Days: AutoDeleteSpamAndTrashDays },
246 export const updateSwipeLeft = (SwipeLeft: SWIPE_ACTION) => ({
247     url: 'mail/v4/settings/swipeleft',
248     method: 'put',
249     data: { SwipeLeft },
252 export const updateSwipeRight = (SwipeRight: SWIPE_ACTION) => ({
253     url: 'mail/v4/settings/swiperight',
254     method: 'put',
255     data: { SwipeRight },