feat(app, plugins): expose q for custom templates and users handle in 3rd party plugins (#633)

This commit is contained in:
Simon Lecoq
2021-10-28 23:25:13 -04:00
committed by GitHub
parent 2c8e32b859
commit c3d96cff4c
5 changed files with 5 additions and 5 deletions

View File

@@ -26,7 +26,7 @@ export default async function metrics({login, q}, {graphql, rest, plugins, conf,
//Initialization //Initialization
const pending = [] const pending = []
const {queries} = conf const {queries} = conf
const data = {animated:true, large:false, base:{}, config:{}, errors:[], plugins:{}, computed:{}} const data = {q, animated:true, large:false, base:{}, config:{}, errors:[], plugins:{}, computed:{}}
const imports = { const imports = {
plugins:Plugins, plugins:Plugins,
templates:Templates, templates:Templates,

View File

@@ -10,7 +10,7 @@ export default async function({login, data, queries, imports, q, account}, {enab
let {limit, "limit.characters":limit_characters, medias, sections, shuffle, user} = imports.metadata.plugins.anilist.inputs({data, account, q}) let {limit, "limit.characters":limit_characters, medias, sections, shuffle, user} = imports.metadata.plugins.anilist.inputs({data, account, q})
//Initialization //Initialization
const result = {user:{stats:null, genres:[]}, lists:Object.fromEntries(medias.map(type => [type, {}])), characters:[], sections} const result = {user:{name:user, stats:null, genres:[]}, lists:Object.fromEntries(medias.map(type => [type, {}])), characters:[], sections}
//User statistics //User statistics
for (let retried = false; !retried; retried = true) { for (let retried = false; !retried; retried = true) {

View File

@@ -415,7 +415,7 @@ export default async function({login, imports, data, q, account}, {enabled = fal
track.artwork = await imports.imgb64(track.artwork) track.artwork = await imports.imgb64(track.artwork)
} }
//Save results //Save results
return {...raw, tracks, played_at} return {...raw, user, tracks, played_at}
} }
//Unhandled error //Unhandled error

View File

@@ -47,7 +47,7 @@ export default async function({login, data, imports, q, queries, account}, {enab
posts = await Promise.all(posts.map(async ({image, ...post}) => ({image:await imports.imgb64(image, {width:144, height:-1}), ...post}))) posts = await Promise.all(posts.map(async ({image, ...post}) => ({image:await imports.imgb64(image, {width:144, height:-1}), ...post})))
} }
//Results //Results
return {source, link, descriptions, covers, list:posts} return {user, source, link, descriptions, covers, list:posts}
} }
//Unhandled error //Unhandled error

View File

@@ -24,7 +24,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
const {data:{items:[{reputation, badge_counts:{bronze, silver, gold}, answer_count:answers, question_count:questions, view_count:views}]}} = await imports.axios.get(`${api.user}?site=stackoverflow&filter=${filters.user}`) const {data:{items:[{reputation, badge_counts:{bronze, silver, gold}, answer_count:answers, question_count:questions, view_count:views}]}} = await imports.axios.get(`${api.user}?site=stackoverflow&filter=${filters.user}`)
const {data:{total:comments}} = await imports.axios.get(`${api.user}/comments?site=stackoverflow&filter=total`) const {data:{total:comments}} = await imports.axios.get(`${api.user}/comments?site=stackoverflow&filter=total`)
//Save result //Save result
result.user = {reputation, badges:bronze + silver + gold, questions, answers, comments, views} result.user = {id:user, reputation, badges:bronze + silver + gold, questions, answers, comments, views}
} }
//Answers //Answers