1 import type { NodeMeta } from '@proton/drive-store'
2 import type { RealtimeUrlAndToken } from '@proton/docs-shared'
3 import { ApiResult } from '../Domain/Result/ApiResult'
4 import type { DocsApi } from '../Api/DocsApi'
6 export class GetRealtimeUrlAndToken {
7 constructor(private docsApi: DocsApi) {}
9 async execute(lookup: NodeMeta, commitId?: string): Promise<ApiResult<RealtimeUrlAndToken>> {
10 const result = await this.docsApi.createRealtimeValetToken(lookup, commitId)
12 if (result.isFailed()) {
13 return ApiResult.fail(result.getError())
16 const value = result.getValue().ValetToken