diff --git a/source/plugins/achievements/index.mjs b/source/plugins/achievements/index.mjs index 9e432dbd..7e2e5d83 100644 --- a/source/plugins/achievements/index.mjs +++ b/source/plugins/achievements/index.mjs @@ -2,7 +2,7 @@ import * as compute from "./list/index.mjs" //Setup -export default async function({login, q, imports, data, computed, graphql, queries, account}, {enabled = false} = {}) { +export default async function({login, q, imports, data, computed, graphql, queries, rest, account}, {enabled = false} = {}) { //Plugin execution try { //Check if plugin is enabled and requirements are met @@ -15,7 +15,7 @@ export default async function({login, q, imports, data, computed, graphql, queri //Initialization const list = [] await total({imports}) - await compute[account]({list, login, data, computed, imports, graphql, queries, rank, leaderboard}) + await compute[account]({list, login, data, computed, imports, graphql, queries, rest, rank, leaderboard}) //Results const order = {S: 5, A: 4, B: 3, C: 2, $: 1, X: 0} diff --git a/source/plugins/achievements/list/organizations.mjs b/source/plugins/achievements/list/organizations.mjs index 9c579d28..4ca737ee 100644 --- a/source/plugins/achievements/list/organizations.mjs +++ b/source/plugins/achievements/list/organizations.mjs @@ -1,5 +1,5 @@ /**Achievements list for users accounts */ -export default async function({list, login, data, computed, imports, graphql, queries, rank, leaderboard}) { +export default async function({list, login, data, computed, imports, graphql, queries, rest, rank, leaderboard}) { //Initialization const {organization} = await graphql(queries.achievements.organizations({login})) const scores = {followers: 0, created: organization.repositories.totalCount, stars: organization.popular.nodes?.[0]?.stargazers?.totalCount ?? 0, forks: Math.max(0, ...data.user.repositories.nodes.map(({forkCount}) => forkCount))} @@ -55,7 +55,7 @@ export default async function({list, login, data, computed, imports, graphql, qu //Packagers { - const value = organization.packages.totalCount + const value = organization.packages.totalCount + ((await rest.packages.listPackagesForOrganization({package_type:"container", org:login}).catch(() => ({data:[]})))?.data?.length || 0) const unlock = organization.packages.nodes?.shift() list.push({ diff --git a/source/plugins/achievements/list/users.mjs b/source/plugins/achievements/list/users.mjs index 63ca8ad1..ceb9267c 100644 --- a/source/plugins/achievements/list/users.mjs +++ b/source/plugins/achievements/list/users.mjs @@ -1,5 +1,5 @@ /**Achievements list for users accounts */ -export default async function({list, login, data, computed, imports, graphql, queries, rank, leaderboard}) { +export default async function({list, login, data, computed, imports, graphql, queries, rest, rank, leaderboard}) { //Initialization const {user} = await graphql(queries.achievements({login})) const scores = {followers: user.followers.totalCount, created: user.repositories.totalCount, stars: user.popular.nodes?.[0]?.stargazers?.totalCount ?? 0, forks: Math.max(0, ...data.user.repositories.nodes.map(({forkCount}) => forkCount))} @@ -87,7 +87,7 @@ export default async function({list, login, data, computed, imports, graphql, qu //Packager { - const value = user.packages.totalCount + const value = user.packages.totalCount + ((await rest.packages.listPackagesForUser({package_type:"container", username:login}).catch(() => ({data:[]})))?.data?.length || 0) const unlock = user.packages.nodes?.shift() list.push({