Use same lock values as mobile clients
[ProtonMail-WebClient.git] / packages / shared / lib / api / drive / link.ts
blob7c3d61cc0b50ed609270b123633121289cebaf87
1 import { EXPENSIVE_REQUEST_TIMEOUT } from '../../drive/constants';
3 export const queryCheckAvailableHashes = (
4     shareId: string,
5     linkId: string,
6     data: { Hashes: string[] },
7     suppressErrors = false
8 ) => {
9     return {
10         method: 'post',
11         timeout: EXPENSIVE_REQUEST_TIMEOUT,
12         url: `drive/shares/${shareId}/links/${linkId}/checkAvailableHashes`,
13         suppress: suppressErrors,
14         data,
15     };
18 export const queryGetLink = (ShareID: string, LinkID: string) => ({
19     method: 'get',
20     url: `drive/shares/${ShareID}/links/${LinkID}`,
21 });
23 export const queryTrashLinks = (ShareID: string, ParentLinkID: string, LinkIDs: string[]) => ({
24     method: 'post',
25     url: `drive/shares/${ShareID}/folders/${ParentLinkID}/trash_multiple`,
26     data: { LinkIDs },
27 });
29 export const queryDeleteTrashedLinks = (ShareID: string, LinkIDs: string[]) => ({
30     method: 'post',
31     url: `drive/shares/${ShareID}/trash/delete_multiple`,
32     data: { LinkIDs },
33 });
35 export const queryDeleteChildrenLinks = (ShareID: string, ParentLinkID: string, LinkIDs: string[]) => ({
36     method: 'post',
37     url: `drive/shares/${ShareID}/folders/${ParentLinkID}/delete_multiple`,
38     data: { LinkIDs },
39 });
41 export const queryRestoreLinks = (ShareID: string, LinkIDs: string[]) => ({
42     method: 'put',
43     url: `drive/shares/${ShareID}/trash/restore_multiple`,
44     data: { LinkIDs },
45 });
47 export const queryEmptyTrashOfShare = (ShareID: string) => ({
48     method: 'delete',
49     url: `drive/shares/${ShareID}/trash`,
50 });
52 export const queryLinkMetaBatch = (shareId: string, linksIds: string[], loadThumbnails: boolean = false) => ({
53     method: 'post',
54     url: `drive/shares/${shareId}/links/fetch_metadata`,
55     data: { LinkIDs: linksIds, Thumbnails: loadThumbnails ? 1 : 0 },
56 });
58 export const queryShareMap = (shareID: string, lastIndex?: number, sessionName?: string, pageSize?: number) => ({
59     url: `drive/shares/${shareID}/map`,
60     method: 'get',
61     params: {
62         LastIndex: lastIndex,
63         SessionName: sessionName,
64         PageSize: pageSize,
65     },
66 });