/ clis / quark / rename.js
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  });