feat(contracts,db): naming settings, override fields and template versions (0032)
- settings.naming {movie, tv, variety, lockFileNameForBound}, default = MP templates;
library section gains #naming anchor
- naming API schemas and Api.naming endpoints (variables, preview, templates, overrides)
- 0032: library_root.naming, media_entity.naming_override, naming_template_version
(version 1 = upgraded v1 templates, 2 = MP default, fingerprint-deduplicated)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
238445a258
commit
dfb08ab552
8 files changed
+268
-2
No files matched your search
@@ -16,6 +16,7 @@ import * as pi from "./pi.ts";
|
||||
import * as policy from "./policy.ts";
|
||||
import * as schedules from "./schedules.ts";
|
||||
import * as search from "./search.ts";
|
||||
import * as settingsNs from "./settings.ts";
|
||||
import { GlobalSettings, GlobalSettingsUpdate } from "./settings.ts";
|
||||
import * as sources from "./sources.ts";
|
||||
|
||||
@@ -1472,6 +1473,60 @@ export const Api = {
|
||||
}),
|
||||
},
|
||||
|
||||
// ── 整理命名模板(W9-C,docs/design/naming-template.md):保存前服务端编译校验 ──
|
||||
naming: {
|
||||
variables: ep({
|
||||
method: "get",
|
||||
path: "/naming/variables",
|
||||
scope: "read",
|
||||
summary: "命名变量表(名称对齐 MP,含说明/示例值/我们特有标记)、过滤器、预览内置样本",
|
||||
response: settingsNs.NamingVariablesResponse,
|
||||
}),
|
||||
preview: ep({
|
||||
method: "post",
|
||||
path: "/naming/preview",
|
||||
scope: "read",
|
||||
summary:
|
||||
"预览:模板 + 样本(文件名 / 资源 / 资产 / 内置)→ 相对路径、段角色、错误(行列号)、提示;已有路径绑定时目录用绑定",
|
||||
body: settingsNs.NamingPreviewInput,
|
||||
response: settingsNs.NamingPreviewResult,
|
||||
}),
|
||||
templates: ep({
|
||||
method: "get",
|
||||
path: "/naming/templates",
|
||||
scope: "read",
|
||||
summary: "全局 / 库根 / 作品三级模板与按类型的生效结果(作品 > 库根 > 全局)",
|
||||
query: settingsNs.NamingTemplatesQuery,
|
||||
response: settingsNs.NamingTemplatesView,
|
||||
}),
|
||||
saveTemplates: ep({
|
||||
method: "put",
|
||||
path: "/naming/templates",
|
||||
scope: "admin",
|
||||
summary: "保存全局命名模板(逐条编译校验,有错 422 不保存)",
|
||||
body: settingsNs.NamingSettingsPut,
|
||||
response: settingsNs.NamingSettings,
|
||||
}),
|
||||
libraryRoot: ep({
|
||||
method: "put",
|
||||
path: "/library-roots/{id}/naming",
|
||||
scope: "admin",
|
||||
summary: "库根级命名覆盖(按类型;null 清除)",
|
||||
params: IdParam,
|
||||
body: settingsNs.LibraryRootNamingPut,
|
||||
response: settingsNs.LibraryRootNamingPut,
|
||||
}),
|
||||
entity: ep({
|
||||
method: "put",
|
||||
path: "/media-entities/{id}/naming-override",
|
||||
scope: "admin",
|
||||
summary: "作品级命名覆盖(按类型;null 清除)。已有路径绑定的目录不受影响,只影响之后的文件名与新季目录",
|
||||
params: IdParam,
|
||||
body: settingsNs.EntityNamingOverridePut,
|
||||
response: settingsNs.EntityNamingOverridePut,
|
||||
}),
|
||||
},
|
||||
|
||||
// ── Pi 模型上游(W7-A):多上游共存 + 订阅登录;写操作与登录只接受控制台会话 ──
|
||||
pi: {
|
||||
providers: ep({
|
||||
|
||||
Reference in new issue
Block a user