-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDataProxyInterface.ts
More file actions
56 lines (50 loc) · 1.34 KB
/
DataProxyInterface.ts
File metadata and controls
56 lines (50 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import type { InstanceOptions, QueryDefinition } from 'cozy-client'
import type {
ClientCapabilities,
Mutation,
MutationOptions,
QueryOptions
} from 'cozy-client/types/types'
// TODO: Should be imported from cozy-dataproxy-lib
export interface SearchOptions {
doctypes: string[]
}
export interface DataProxyWorker {
search: (query: string, options: SearchOptions) => unknown
recents: () => unknown
setup: (
clientData: ClientData,
options?: { sharedDriveIds: string[] }
) => Promise<void>
forceSyncPouch: (options?: { clean: boolean }) => Promise<void>
requestLink: (
definition: QueryDefinition | Mutation,
options?: QueryOptions | MutationOptions
) => Promise<unknown>
reconnectRealtime: () => void
addSharedDrive: (driveId: string) => void
removeSharedDrive: (driveId: string) => void
}
export interface DataProxyWorkerPartialState {
status: string
tabCount: number
indexLength?: IndexLength[]
}
export interface DataProxyWorkerState extends DataProxyWorkerPartialState {
tabCount: number
}
export interface DataProxyWorkerContext {
worker: DataProxyWorker
workerState: DataProxyWorkerState
}
interface IndexLength {
doctype: string
count: number
}
export interface ClientData {
uri: string
token: string
instanceOptions: InstanceOptions
capabilities: ClientCapabilities
useRemoteData: boolean
}