-
Notifications
You must be signed in to change notification settings - Fork 44
/
operations-movefile-flow.ts
37 lines (35 loc) · 1.25 KB
/
operations-movefile-flow.ts
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
import { IRcloneServer } from '../extra';
import { CombErr } from '../core';
import { AsyncPostFlow, AsyncPostFlowParamsNode } from './async-post-flow';
export interface OperationsMovefileFlowParamsNode extends AsyncPostFlowParamsNode {
/** a remote name string eg “drive:” for the source */
srcFs: string;
/** a path within that remote eg “file.txt” for the source */
srcRemote: string;
/** a remote name string eg “drive2:” for the destination */
dstFs: string;
/** a path within that remote eg “file2.txt” for the destination */
dstRemote: string;
}
export interface OperationsMovefileFlowInNode
extends OperationsMovefileFlowParamsNode,
IRcloneServer {}
export abstract class OperationsMovefileFlow extends AsyncPostFlow<
OperationsMovefileFlowInNode,
OperationsMovefileFlowParamsNode
> {
// public prerequest$: Observable<CombErr<OperationsMovefileFlowInNode>>;
protected cmd: string = 'operations/movefile';
protected params = (
pre: CombErr<OperationsMovefileFlowInNode>
): OperationsMovefileFlowParamsNode => {
if (pre[1].length !== 0) return {} as any;
return {
srcFs: pre[0].srcFs,
srcRemote: pre[0].srcRemote,
dstFs: pre[0].dstFs,
dstRemote: pre[0].dstRemote,
};
};
protected cacheSupport: boolean = false;
}