import { cli, Strategy } from '@jackwener/opencli/registry';
import { loadDoubanSubjectDetail } from './utils.js';

cli({
    site: 'douban',
    name: 'subject',
    access: 'read',
    description: '获取豆瓣条目详情',
    domain: 'movie.douban.com',
    strategy: Strategy.COOKIE,
    browser: true,
    navigateBefore: false,
    args: [
        { name: 'id', required: true, positional: true, help: '豆瓣条目 ID' },
        { name: 'type', default: 'movie', choices: ['movie', 'book'], help: '条目类型（movie=电影, book=图书）' },
    ],
    columns: [
        'id',
        'type',
        'title',
        'subtitle',
        'originalTitle',
        'authors',
        'translators',
        'publisher',
        'publishDate',
        'publishYear',
        'pageCount',
        'binding',
        'price',
        'series',
        'isbn10',
        'isbn13',
        'year',
        'rating',
        'ratingCount',
        'genres',
        'directors',
        'casts',
        'country',
        'duration',
        'summary',
        'url',
    ],
    func: async (page, args) => [await loadDoubanSubjectDetail(page, args.id, args.type)],
});
