Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / shared / lib / api / settingsMnemonic.ts
blob9e0bc28938157fc48558a34f29b0ec84a759c895
1 import type { MNEMONIC_STATUS } from '../interfaces';
3 export interface MnemonicKeyResponse {
4     ID: string;
5     PrivateKey: string;
6     Salt: string;
8 export const getMnemonicUserKeys = () => ({
9     url: 'core/v4/settings/mnemonic',
10     method: 'get',
11 });
13 interface UpdateMnemonicPhrasePayload {
14     MnemonicUserKeys: {
15         ID: string;
16         PrivateKey: string;
17     }[];
18     MnemonicSalt: string;
19     MnemonicAuth: {
20         Version: number;
21         ModulusID: string;
22         Salt: string;
23         Verifier: string;
24     };
27 export const updateMnemonicPhrase = (data: UpdateMnemonicPhrasePayload & { PersistPasswordScope?: boolean }) => ({
28     url: 'core/v4/settings/mnemonic',
29     method: 'put',
30     data,
31 });
33 export const reactivateMnemonicPhrase = (data: UpdateMnemonicPhrasePayload) => ({
34     url: 'core/v4/settings/mnemonic/reactivate',
35     method: 'put',
36     data,
37 });
39 export const disableMnemonicPhrase = () => ({
40     url: 'core/v4/settings/mnemonic/disable',
41     method: 'post',
42 });
44 export interface GetMnemonicResetData {
45     MnemonicStatus: MNEMONIC_STATUS;
46     MnemonicUserKeys: {
47         ID: string;
48         PrivateKey: string;
49         Salt: string;
50     }[];
52 export const getMnemonicReset = () => ({
53     url: 'core/v4/settings/mnemonic/reset',
54     method: 'get',
55 });
57 interface MnemonicResetPayload {
58     UserKeys: {
59         ID: string;
60         PrivateKey: string;
61     }[];
62     KeysSalt: string;
64 export const mnemonicReset = (data: MnemonicResetPayload) => ({
65     url: 'core/v4/settings/mnemonic/reset',
66     method: 'post',
67     data,
68 });