Added origin config to use in summaries. Added link property to summaries for local traxxx URL.

This commit is contained in:
2025-11-14 22:52:16 +01:00
parent 0dd4bcc7fe
commit 8f145e926e
7 changed files with 17 additions and 8 deletions

View File

@@ -13,6 +13,7 @@ const genderMap = {
};
const propProcessors = {
link: (sceneInfo, _options, env) => `${env.origin}/scene/${sceneInfo.id}/${sceneInfo.slug}`,
channel: (sceneInfo) => sceneInfo.channel?.name || sceneInfo.network?.name,
network: (sceneInfo) => sceneInfo.network?.name || sceneInfo.channel?.name,
actors: (sceneInfo, options) => {
@@ -66,7 +67,7 @@ function curateValue(value, item) {
.join(item.delimit || ', ');
}
function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
function traverseTemplate(chain, release, env, { delimit = ' ' } = {}) {
const results = chain.reduce((result, item) => {
const keys = typeof item === 'string' ? item : item.key;
@@ -84,14 +85,14 @@ function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
if (keys) {
const value = keys.split('|').reduce((acc, key) => acc
|| propProcessors[key]?.(release, typeof item === 'string' ? { key } : item)
|| propProcessors[key]?.(release, typeof item === 'string' ? { key } : item, env)
|| release[key], null);
return result.concat(curateValue(value, item));
}
if (item.items) {
const group = traverseTemplate(item.items, release, {
const group = traverseTemplate(item.items, release, env, {
delimit: item.delimit,
});
@@ -109,8 +110,8 @@ function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
return '';
}
export default function processSummaryTemplate(template, release) {
export default function processSummaryTemplate(template, release, env) {
const chain = parse(template);
return traverseTemplate(chain, release);
return traverseTemplate(chain, release, env);
}