Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / shared / lib / api / docs.ts
blob67ff544b9d4367008b52931d8cf73c9305bad605
1 export enum DocsApiErrorCode {
2     CommitIdOutOfSync = 250_000,
5 export const getDocumentMeta = (volumeId: string, linkId: string) => ({
6     method: 'get',
7     url: `docs/volumes/${volumeId}/documents/${linkId}/meta`,
8     silence: true,
9 });
11 export const getDocumentMetaByToken = (linkId: string, token: string, headers: { [key: string]: string }) => ({
12     method: 'get',
13     url: `docs/urls/${token}/documents/${linkId}/meta`,
14     silence: true,
15     headers,
16 });
18 export const getCommitData = (volumeId: string, linkId: string, commitId: string) => ({
19     method: 'get',
20     url: `docs/volumes/${volumeId}/documents/${linkId}/commits/${commitId}`,
21     output: 'raw',
22     silence: true,
23 });
25 export const getCommitDataByToken = (
26     linkId: string,
27     token: string,
28     commitId: string,
29     headers: { [key: string]: string }
30 ) => ({
31     method: 'get',
32     url: `docs/urls/${token}/documents/${linkId}/commits/${commitId}`,
33     output: 'raw',
34     silence: true,
35     headers,
36 });
38 export const seedInitialCommit = (volumeId: string, linkId: string, data: Uint8Array) => ({
39     method: 'post',
40     url: `docs/volumes/${volumeId}/documents/${linkId}/seed-initial-commit`,
41     input: 'protobuf',
42     data,
43 });
45 export const lockDocument = (volumeId: string, linkId: string, fetchCommitId?: string) => ({
46     method: 'post',
47     url: `docs/volumes/${volumeId}/documents/${linkId}/lock`,
48     data: {
49         FetchCommitID: fetchCommitId,
50     },
51     output: 'raw',
52     silence: true,
53 });
55 export const squashCommit = (volumeId: string, linkId: string, commitId: string, data: Uint8Array) => ({
56     method: 'put',
57     url: `docs/volumes/${volumeId}/documents/${linkId}/commits/${commitId}/squash`,
58     input: 'protobuf',
59     data,
60 });
62 export const createDocument = (volumeId: string, linkId: string) => ({
63     method: 'post',
64     url: `docs/volumes/${volumeId}/documents/${linkId}`,
65     data: {},
66     silence: true,
67 });
69 export const getAllCommentThreadsInDocument = (volumeId: string, linkId: string) => ({
70     method: 'get',
71     url: `docs/volumes/${volumeId}/documents/${linkId}/threads`,
72 });
74 export const getCommentThreadInDocument = (volumeId: string, linkId: string, threadId: string) => ({
75     method: 'get',
76     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}`,
77 });
79 type CommentType = 1 | 2;
81 type CommonCommentData = {
82     Content: string;
83     AuthorEmail: string;
86 type CreateCommentData = CommonCommentData & {
87     Type: CommentType;
88     DocumentName: string | null;
91 type CommentThreadType = 1 | 2;
93 export const createThreadInDocument = (
94     volumeId: string,
95     linkId: string,
96     data: {
97         Mark: string;
98         Comment: CreateCommentData;
99         Type: CommentThreadType;
100     }
101 ) => ({
102     method: 'post',
103     url: `docs/volumes/${volumeId}/documents/${linkId}/threads`,
104     data,
107 export const deleteThreadInDocument = (volumeId: string, linkId: string, threadId: string) => ({
108     method: 'delete',
109     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}`,
112 export const resolveThreadInDocument = (volumeId: string, linkId: string, threadId: string) => ({
113     method: 'put',
114     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}/resolve`,
117 export const unresolveThreadInDocument = (volumeId: string, linkId: string, threadId: string) => ({
118     method: 'put',
119     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}/unresolve`,
122 export const changeSuggestionThreadState = (
123     volumeId: string,
124     linkId: string,
125     threadId: string,
126     action: 'accept' | 'reject' | 'reopen'
127 ) => ({
128     method: 'put',
129     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}/suggestion/${action}`,
132 export const addCommentToThreadInDocument = (
133     volumeId: string,
134     linkId: string,
135     threadId: string,
136     data: CreateCommentData & { ParentCommentId: string | null }
137 ) => ({
138     method: 'post',
139     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}`,
140     data: data,
143 export const editCommentInThreadInDocument = (
144     volumeId: string,
145     linkId: string,
146     threadId: string,
147     commentId: string,
148     data: CommonCommentData
149 ) => ({
150     method: 'put',
151     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}/comments/${commentId}`,
152     data: data,
155 export const deleteCommentInThreadInDocument = (
156     volumeId: string,
157     linkId: string,
158     threadId: string,
159     commentId: string
160 ) => ({
161     method: 'delete',
162     url: `docs/volumes/${volumeId}/documents/${linkId}/threads/${threadId}/comments/${commentId}`,
165 export const createRealtimeValetToken = (volumeId: string, linkId: string, commitId?: string) => ({
166     method: 'post',
167     url: `docs/volumes/${volumeId}/documents/${linkId}/tokens`,
168     silence: true,
169     data: {
170         LastCommitID: commitId ?? null,
171     },
174 export const fetchRecentDocuments = () => ({
175     method: 'get',
176     url: 'docs/recent',