const getDiscussionUrl = async (discussion, context) => { const communityUrl = `${FRONTEND_BASE_URL}/dialog?id=${discussion.id}` if (discussion.id === GENERAL_FEEDBACK_DISCUSSION_ID) { return `${communityUrl}&t=general` } const document = discussion.repoId && await context.loaders.Document.byRepoId.load(discussion.repoId) if (document && document.meta && document.meta.template === 'article') { return `${communityUrl}&t=article` } return `${FRONTEND_BASE_URL}${discussion.path}` }
repoId (doc, args, context) { return doc.repoId || Buffer.from(doc.id, 'base64') .toString('utf-8') .split('/') .slice(0, 2) .join('/') }
function contributionStep(obj, name) { return function (contribution) { var ctx = new obj(); ctx.steps.push(name); ctx.steps.push(contribution.repoId); ctx.steps.push(contribution.pr); return ctx; }; }
createDataLoader( repoIds => context.pgdb.public.discussions.find({ repoId: repoIds }), null, (key, rows) => rows.find(row => row.repoId === key) )
const createResolver = (allDocuments, errors = []) => url => { const { repoId } = getRepoId(url) if (!repoId) { return null } const linkedDoc = allDocuments .find(d => d.meta.repoId === repoId) if (linkedDoc) { return linkedDoc } else { errors.push(repoId) } return null }
filtered( pubsub.asyncIterator('uncommittedChanges'), ({ uncommittedChanges: { repoId } }, variables) => ( repoId === args.repoId ) )()
const getDiscussionUrl = async (discussion, context) => { const communityUrl = `${FRONTEND_BASE_URL}/dialog?id=${discussion.id}` if (discussion.id === GENERAL_FEEDBACK_DISCUSSION_ID) { return `${communityUrl}&t=general` } const document = discussion.repoId && await context.loaders.Document.byRepoId.load(discussion.repoId) if (document && document.meta && document.meta.template === 'article') { return `${communityUrl}&t=article` } return `${FRONTEND_BASE_URL}${discussion.path}` }
function contributionStep(obj, name) { return function (contribution) { var ctx = new obj(); ctx.steps.push(name); ctx.steps.push(contribution.repoId); ctx.steps.push(contribution.pr); return ctx; }; }
filtered( pubsub.asyncIterator('uncommittedChanges'), ({ uncommittedChanges: { repoId } }, variables) => ( repoId === args.repoId ) )()
createDataLoader( repoIds => context.pgdb.public.discussions.find({ repoId: repoIds }), null, (key, rows) => rows.find(row => row.repoId === key) )
repoId (doc, args, context) { return doc.repoId || Buffer.from(doc.id, 'base64') .toString('utf-8') .split('/') .slice(0, 2) .join('/') }