通过既有provider表复用M-Team站点适配器的凭据、UA和共享限流;搜索只返回稳定字幕ID,下载签名现场获取,沿用沙箱解析、写入历史与撤销。迁移0096扩展字幕来源,schema反射同步。独立测试库验证M-Team真实API形状与旧字幕来源。参考:MoviePilot v3.2.4 app/modules/indexer/spider/mtorrent.py。
23 lines
1016 B
TypeScript
23 lines
1016 B
TypeScript
import type { Kysely } from "kysely";
|
|
import { execDdl, oneOf } from "../src/migration-helpers.ts";
|
|
|
|
// M-Team 字幕沿用字幕资产与可撤销历史,只扩展来源,不保存下载签名。
|
|
// biome-ignore lint/suspicious/noExplicitAny: 迁移不依赖应用表类型
|
|
export async function up(db: Kysely<any>): Promise<void> {
|
|
await execDdl(
|
|
db,
|
|
`alter table subtitle_write drop constraint subtitle_write_source_check;
|
|
alter table subtitle_write add constraint subtitle_write_source_check ${oneOf("source", ["upload", "subhd", "zimuku", "mteam"])};`,
|
|
);
|
|
}
|
|
|
|
// biome-ignore lint/suspicious/noExplicitAny: 同上
|
|
export async function down(db: Kysely<any>): Promise<void> {
|
|
// 有新来源的历史时拒绝回退,不删除记录或改写其来源。
|
|
await execDdl(
|
|
db,
|
|
`alter table subtitle_write drop constraint subtitle_write_source_check;
|
|
alter table subtitle_write add constraint subtitle_write_source_check ${oneOf("source", ["upload", "subhd", "zimuku"])};`,
|
|
);
|
|
}
|