feat(metadata): field-level episode metadata, titleZh and refresh?full=1 (MD-1)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
fc1856c2e3
commit
9cd5a28943
12 files changed
+1104
-27
No files matched your search
@@ -198,9 +198,56 @@ export const EntityMetadataField = z.enum([
|
||||
"episodeCount",
|
||||
"genres",
|
||||
"posterUrl",
|
||||
// MD-1 TMDB 详情(对照 MP 媒体详情):中文名、标语、最近播出、状态、评分、时长、季数、主创、外部 ID
|
||||
"titleZh",
|
||||
"tagline",
|
||||
"lastAirDate",
|
||||
"airStatus",
|
||||
"voteAverage",
|
||||
"voteCount",
|
||||
"runtime",
|
||||
"seasonCount",
|
||||
"cast",
|
||||
"crew",
|
||||
"externalIds",
|
||||
]);
|
||||
export type EntityMetadataField = z.infer<typeof EntityMetadataField>;
|
||||
|
||||
/**
|
||||
* 内容单元(季 / 集)可覆盖 / 锁定的字段(MD-1):来源值写 metadata_field(content_unit_id),
|
||||
* 最终值投影到 content_unit.metadata;name → title 列、airDate → air_date 列。编号不属于元数据。
|
||||
*/
|
||||
export const UnitMetadataField = z.enum([
|
||||
"name",
|
||||
"overview",
|
||||
"airDate",
|
||||
"runtime",
|
||||
"stillPath",
|
||||
"posterPath",
|
||||
"voteAverage",
|
||||
"voteCount",
|
||||
]);
|
||||
export type UnitMetadataField = z.infer<typeof UnitMetadataField>;
|
||||
|
||||
/** 主创(cast / crew 字段的元素):TMDB 人物 ID、姓名(按回退链语言)、角色或职务、头像路径(经图片代理显示) */
|
||||
export const MediaCredit = z.object({
|
||||
id: z.number().int(),
|
||||
name: z.string(),
|
||||
originalName: z.string().nullable(),
|
||||
/** 演员:角色名;幕后:职务(Director / Creator …) */
|
||||
role: z.string().nullable(),
|
||||
profilePath: z.string().nullable(),
|
||||
});
|
||||
export type MediaCredit = z.infer<typeof MediaCredit>;
|
||||
|
||||
/** externalIds 字段的值 */
|
||||
export const MediaExternalIds = z.object({
|
||||
imdb: z.string().nullable(),
|
||||
tvdb: z.string().nullable(),
|
||||
wikidata: z.string().nullable(),
|
||||
});
|
||||
export type MediaExternalIds = z.infer<typeof MediaExternalIds>;
|
||||
|
||||
export const FieldOverrideInput = z.object({
|
||||
value: z.unknown(),
|
||||
lock: z.boolean().default(true),
|
||||
|
||||
Reference in new issue
Block a user