cfpan-cli 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/files.d.ts +6 -0
- package/dist/api/files.d.ts.map +1 -1
- package/dist/api/files.js +4 -0
- package/dist/api/files.js.map +1 -1
- package/dist/commands/download.d.ts.map +1 -1
- package/dist/commands/download.js +10 -3
- package/dist/commands/download.js.map +1 -1
- package/dist/commands/rm.d.ts.map +1 -1
- package/dist/commands/rm.js +22 -15
- package/dist/commands/rm.js.map +1 -1
- package/dist/commands/share.d.ts.map +1 -1
- package/dist/commands/share.js +11 -6
- package/dist/commands/share.js.map +1 -1
- package/dist/utils/path-resolver.d.ts +15 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +66 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/package.json +10 -3
package/dist/api/files.d.ts
CHANGED
|
@@ -47,4 +47,10 @@ export declare function restoreFolder(client: ApiClient, folderId: string): Prom
|
|
|
47
47
|
export declare function moveFile(client: ApiClient, fileId: string, targetFolderId: string | null): Promise<FileEntry>;
|
|
48
48
|
export declare function renameFile(client: ApiClient, fileId: string, newName: string): Promise<FileEntry>;
|
|
49
49
|
export declare function renameFolder(client: ApiClient, folderId: string, newName: string): Promise<FileEntry>;
|
|
50
|
+
export interface ResolvePathResponse {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
type: 'file' | 'folder';
|
|
54
|
+
}
|
|
55
|
+
export declare function resolvePath(client: ApiClient, path: string): Promise<ResolvePathResponse>;
|
|
50
56
|
//# sourceMappingURL=files.d.ts.map
|
package/dist/api/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC9D;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;CAAE,CAAC,CAE7C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAEhC;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAIpB"}
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"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"}
|
package/dist/api/files.js
CHANGED
|
@@ -53,4 +53,8 @@ export async function renameFolder(client, folderId, newName) {
|
|
|
53
53
|
name: newName,
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
+
export async function resolvePath(client, path) {
|
|
57
|
+
const params = new URLSearchParams({ path });
|
|
58
|
+
return client.get(`/api/admin/files/resolve?${params}`);
|
|
59
|
+
}
|
|
56
60
|
//# sourceMappingURL=files.js.map
|
package/dist/api/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/api/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,eAAe,SAqCxB,CAAC"}
|
|
@@ -4,12 +4,13 @@ import { getActiveProfile } from '../config.js';
|
|
|
4
4
|
import { downloadFile } from '../api/download.js';
|
|
5
5
|
import { error, success } from '../utils/format.js';
|
|
6
6
|
import { createFileProgressBar } from '../utils/progress.js';
|
|
7
|
+
import { resolveTarget } from '../utils/path-resolver.js';
|
|
7
8
|
import { basename } from 'node:path';
|
|
8
9
|
export const downloadCommand = new Command('download')
|
|
9
10
|
.description('Download file from CFpan')
|
|
10
|
-
.argument('<file
|
|
11
|
+
.argument('<file>', 'File ID, path (/photos/pic.jpg), or name (pic.jpg)')
|
|
11
12
|
.argument('<local>', 'Local file path')
|
|
12
|
-
.action(async (
|
|
13
|
+
.action(async (file, local) => {
|
|
13
14
|
try {
|
|
14
15
|
const profile = await getActiveProfile();
|
|
15
16
|
if (!profile) {
|
|
@@ -17,9 +18,15 @@ export const downloadCommand = new Command('download')
|
|
|
17
18
|
process.exit(1);
|
|
18
19
|
}
|
|
19
20
|
const client = new ApiClient(profile);
|
|
21
|
+
// Resolve file path/name to ID
|
|
22
|
+
const target = await resolveTarget(client, file);
|
|
23
|
+
if (target.type !== 'file') {
|
|
24
|
+
error('Target is a folder, not a file');
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
20
27
|
const fileName = basename(local);
|
|
21
28
|
const progress = createFileProgressBar(fileName);
|
|
22
|
-
await downloadFile(client,
|
|
29
|
+
await downloadFile(client, target.id, local, (downloaded, total) => {
|
|
23
30
|
progress.update(downloaded, total);
|
|
24
31
|
});
|
|
25
32
|
progress.finish();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,QAAQ,EAAE,oDAAoD,CAAC;KACxE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CACH,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,SAAS,SA+CnB,CAAC;AAEJ,eAAO,MAAM,cAAc,SAiCvB,CAAC"}
|
package/dist/commands/rm.js
CHANGED
|
@@ -3,12 +3,13 @@ import { ApiClient } from '../api/client.js';
|
|
|
3
3
|
import { getActiveProfile } from '../config.js';
|
|
4
4
|
import { deleteFile, deleteFolder, restoreFile, restoreFolder, } from '../api/files.js';
|
|
5
5
|
import { error, success, warn } from '../utils/format.js';
|
|
6
|
+
import { resolveTarget } from '../utils/path-resolver.js';
|
|
6
7
|
export const rmCommand = new Command('rm')
|
|
7
8
|
.description('Delete file or folder (move to trash)')
|
|
8
|
-
.argument('<
|
|
9
|
-
.option('-f, --folder', '
|
|
9
|
+
.argument('<target>', 'File/folder ID, path (/photos/pic.jpg), or name')
|
|
10
|
+
.option('-f, --folder', 'Force target type to folder (skip auto-detection)')
|
|
10
11
|
.option('--permanent', 'Permanently delete (cannot be restored)')
|
|
11
|
-
.action(async (
|
|
12
|
+
.action(async (target, options) => {
|
|
12
13
|
try {
|
|
13
14
|
const profile = await getActiveProfile();
|
|
14
15
|
if (!profile) {
|
|
@@ -16,17 +17,19 @@ export const rmCommand = new Command('rm')
|
|
|
16
17
|
process.exit(1);
|
|
17
18
|
}
|
|
18
19
|
const client = new ApiClient(profile);
|
|
20
|
+
// Resolve target path/name to ID
|
|
21
|
+
const resolved = await resolveTarget(client, target);
|
|
22
|
+
// Use resolved type unless user explicitly specified --folder
|
|
23
|
+
const isFolder = options.folder ?? resolved.type === 'folder';
|
|
19
24
|
if (options.permanent) {
|
|
20
|
-
warn('Permanent deletion is not yet
|
|
21
|
-
warn('Use the web interface for permanent deletion');
|
|
22
|
-
process.exit(1);
|
|
25
|
+
warn('Permanent deletion is not yet supported. Moving to trash.');
|
|
23
26
|
}
|
|
24
|
-
if (
|
|
25
|
-
await deleteFolder(client, id);
|
|
27
|
+
if (isFolder) {
|
|
28
|
+
await deleteFolder(client, resolved.id);
|
|
26
29
|
success('Folder moved to trash');
|
|
27
30
|
}
|
|
28
31
|
else {
|
|
29
|
-
const result = await deleteFile(client, id);
|
|
32
|
+
const result = await deleteFile(client, resolved.id);
|
|
30
33
|
if (result.status === 'deleting') {
|
|
31
34
|
success('File deletion pending (large file cleanup in progress)');
|
|
32
35
|
}
|
|
@@ -42,9 +45,9 @@ export const rmCommand = new Command('rm')
|
|
|
42
45
|
});
|
|
43
46
|
export const restoreCommand = new Command('restore')
|
|
44
47
|
.description('Restore file or folder from trash')
|
|
45
|
-
.argument('<
|
|
46
|
-
.option('-f, --folder', '
|
|
47
|
-
.action(async (
|
|
48
|
+
.argument('<target>', 'File/folder ID, path, or name')
|
|
49
|
+
.option('-f, --folder', 'Force target type to folder (skip auto-detection)')
|
|
50
|
+
.action(async (target, options) => {
|
|
48
51
|
try {
|
|
49
52
|
const profile = await getActiveProfile();
|
|
50
53
|
if (!profile) {
|
|
@@ -52,12 +55,16 @@ export const restoreCommand = new Command('restore')
|
|
|
52
55
|
process.exit(1);
|
|
53
56
|
}
|
|
54
57
|
const client = new ApiClient(profile);
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
// Resolve target path/name to ID
|
|
59
|
+
const resolved = await resolveTarget(client, target);
|
|
60
|
+
// Use resolved type unless user explicitly specified --folder
|
|
61
|
+
const isFolder = options.folder ?? resolved.type === 'folder';
|
|
62
|
+
if (isFolder) {
|
|
63
|
+
await restoreFolder(client, resolved.id);
|
|
57
64
|
success('Folder restored');
|
|
58
65
|
}
|
|
59
66
|
else {
|
|
60
|
-
await restoreFile(client, id);
|
|
67
|
+
await restoreFile(client, resolved.id);
|
|
61
68
|
success('File restored');
|
|
62
69
|
}
|
|
63
70
|
}
|
package/dist/commands/rm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;KACvC,WAAW,CAAC,uCAAuC,CAAC;KACpD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,YAAY,SAwFtB,CAAC"}
|
package/dist/commands/share.js
CHANGED
|
@@ -3,14 +3,15 @@ import { ApiClient } from '../api/client.js';
|
|
|
3
3
|
import { getActiveProfile } from '../config.js';
|
|
4
4
|
import { createFileShare, createFolderShare } from '../api/share.js';
|
|
5
5
|
import { error, success, info } from '../utils/format.js';
|
|
6
|
+
import { resolveTarget } from '../utils/path-resolver.js';
|
|
6
7
|
import chalk from 'chalk';
|
|
7
8
|
export const shareCommand = new Command('share')
|
|
8
9
|
.description('Create share link for file or folder')
|
|
9
|
-
.argument('<
|
|
10
|
-
.option('-f, --folder', '
|
|
10
|
+
.argument('<target>', 'File/folder ID, path (/photos/pic.jpg), or name')
|
|
11
|
+
.option('-f, --folder', 'Force target type to folder (skip auto-detection)')
|
|
11
12
|
.option('-c, --code <code>', 'Access code (6 digits, or "random")')
|
|
12
13
|
.option('-e, --expires <duration>', 'Expiration duration (1h, 5h, 24h, 3d, 7d, permanent)', 'permanent')
|
|
13
|
-
.action(async (
|
|
14
|
+
.action(async (target, options) => {
|
|
14
15
|
try {
|
|
15
16
|
const profile = await getActiveProfile();
|
|
16
17
|
if (!profile) {
|
|
@@ -18,6 +19,10 @@ export const shareCommand = new Command('share')
|
|
|
18
19
|
process.exit(1);
|
|
19
20
|
}
|
|
20
21
|
const client = new ApiClient(profile);
|
|
22
|
+
// Resolve target path/name to ID
|
|
23
|
+
const resolved = await resolveTarget(client, target);
|
|
24
|
+
// Use resolved type unless user explicitly specified --folder
|
|
25
|
+
const isFolder = options.folder ?? resolved.type === 'folder';
|
|
21
26
|
const validExpiries = ['1h', '5h', '24h', '3d', '7d', 'permanent'];
|
|
22
27
|
if (!validExpiries.includes(options.expires)) {
|
|
23
28
|
error(`Invalid expiry duration. Must be one of: ${validExpiries.join(', ')}`);
|
|
@@ -38,9 +43,9 @@ export const shareCommand = new Command('share')
|
|
|
38
43
|
process.exit(1);
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
|
-
const response =
|
|
42
|
-
? await createFolderShare(client, id, shareOptions)
|
|
43
|
-
: await createFileShare(client, id, shareOptions);
|
|
46
|
+
const response = isFolder
|
|
47
|
+
? await createFolderShare(client, resolved.id, shareOptions)
|
|
48
|
+
: await createFileShare(client, resolved.id, shareOptions);
|
|
44
49
|
console.log();
|
|
45
50
|
success('Share link created!');
|
|
46
51
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ApiClient } from '../api/client.js';
|
|
2
|
+
export interface ResolvedTarget {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: 'file' | 'folder';
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a user input to a file/folder ID.
|
|
9
|
+
* Supports:
|
|
10
|
+
* - UUID: direct pass-through (backward compatibility)
|
|
11
|
+
* - Absolute path: /photos/vacation.jpg
|
|
12
|
+
* - File name: vacation.jpg (searches globally)
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveTarget(client: ApiClient, pathOrQuery: string): Promise<ResolvedTarget>;
|
|
15
|
+
//# sourceMappingURL=path-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/path-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { listFiles, resolvePath } from '../api/files.js';
|
|
2
|
+
import prompts from 'prompts';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a user input to a file/folder ID.
|
|
5
|
+
* Supports:
|
|
6
|
+
* - UUID: direct pass-through (backward compatibility)
|
|
7
|
+
* - Absolute path: /photos/vacation.jpg
|
|
8
|
+
* - File name: vacation.jpg (searches globally)
|
|
9
|
+
*/
|
|
10
|
+
export async function resolveTarget(client, pathOrQuery) {
|
|
11
|
+
// 1. If it's a UUID, return directly (backward compatibility)
|
|
12
|
+
if (/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(pathOrQuery)) {
|
|
13
|
+
return { id: pathOrQuery, name: pathOrQuery, type: 'file' };
|
|
14
|
+
}
|
|
15
|
+
// 2. If it's an absolute path, use path resolution API
|
|
16
|
+
if (pathOrQuery.startsWith('/')) {
|
|
17
|
+
try {
|
|
18
|
+
return await resolvePath(client, pathOrQuery);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw new Error(`Path not found: ${pathOrQuery}. ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// 3. Otherwise, search by name
|
|
25
|
+
return await resolveBySearch(client, pathOrQuery);
|
|
26
|
+
}
|
|
27
|
+
async function resolveBySearch(client, query) {
|
|
28
|
+
const result = await listFiles(client, {
|
|
29
|
+
search: query,
|
|
30
|
+
scope: 'all',
|
|
31
|
+
limit: 10,
|
|
32
|
+
});
|
|
33
|
+
const allEntries = [
|
|
34
|
+
...result.files.map((f) => ({ ...f, type: 'file' })),
|
|
35
|
+
...result.folders.map((f) => ({ ...f, type: 'folder' })),
|
|
36
|
+
];
|
|
37
|
+
if (allEntries.length === 0) {
|
|
38
|
+
throw new Error(`No matches found for: ${query}`);
|
|
39
|
+
}
|
|
40
|
+
if (allEntries.length === 1) {
|
|
41
|
+
return {
|
|
42
|
+
id: allEntries[0].id,
|
|
43
|
+
type: allEntries[0].type,
|
|
44
|
+
name: allEntries[0].name,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
// Multiple matches, interactive selection
|
|
48
|
+
const { selected } = await prompts({
|
|
49
|
+
type: 'select',
|
|
50
|
+
name: 'selected',
|
|
51
|
+
message: `Multiple matches for "${query}":`,
|
|
52
|
+
choices: allEntries.map((e) => ({
|
|
53
|
+
title: `${e.type === 'folder' ? '📁' : '📄'} ${e.name}`,
|
|
54
|
+
value: e.id,
|
|
55
|
+
})),
|
|
56
|
+
});
|
|
57
|
+
if (!selected) {
|
|
58
|
+
throw new Error('No selection made');
|
|
59
|
+
}
|
|
60
|
+
const entry = allEntries.find((e) => e.id === selected);
|
|
61
|
+
if (!entry) {
|
|
62
|
+
throw new Error('Invalid selection');
|
|
63
|
+
}
|
|
64
|
+
return { id: entry.id, type: entry.type, name: entry.name };
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=path-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.js","sourceRoot":"","sources":["../../src/utils/path-resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cfpan-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "CLI tool for CFpan - self-hosted netdisk on Cloudflare Workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,14 +23,21 @@
|
|
|
23
23
|
],
|
|
24
24
|
"author": "CFpan Contributors",
|
|
25
25
|
"license": "MIT",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/9DYnastY/CFpan.git",
|
|
29
|
+
"directory": "packages/cli"
|
|
30
|
+
},
|
|
26
31
|
"engines": {
|
|
27
32
|
"node": ">=18.0.0"
|
|
28
33
|
},
|
|
29
34
|
"dependencies": {
|
|
35
|
+
"@types/prompts": "^2.4.9",
|
|
36
|
+
"chalk": "^5.3.0",
|
|
37
|
+
"cli-progress": "^3.12.0",
|
|
30
38
|
"commander": "^12.1.0",
|
|
31
39
|
"node-fetch": "^3.3.2",
|
|
32
|
-
"
|
|
33
|
-
"chalk": "^5.3.0"
|
|
40
|
+
"prompts": "^2.4.2"
|
|
34
41
|
},
|
|
35
42
|
"devDependencies": {
|
|
36
43
|
"@types/cli-progress": "^3.11.6",
|