rename.js
1 import { ArgumentError } from '@jackwener/opencli/errors'; 2 import { cli, Strategy } from '@jackwener/opencli/registry'; 3 import { DRIVE_API, apiPost } from './utils.js'; 4 cli({ 5 site: 'quark', 6 name: 'rename', 7 description: 'Rename a file in your Quark Drive', 8 domain: 'pan.quark.cn', 9 strategy: Strategy.COOKIE, 10 defaultFormat: 'json', 11 args: [ 12 { name: 'fid', required: true, positional: true, help: 'File ID to rename' }, 13 { name: 'name', required: true, help: 'New file name' }, 14 ], 15 func: async (page, kwargs) => { 16 const fid = kwargs.fid; 17 const name = kwargs.name; 18 if (!name.trim()) 19 throw new ArgumentError('New name cannot be empty'); 20 await apiPost(page, `${DRIVE_API}/rename?pr=ucpro&fr=pc`, { 21 fid, 22 file_name: name, 23 }); 24 return { status: 'ok', fid, new_name: name }; 25 }, 26 });