diff --git a/app/components/leaderboard.js b/app/components/leaderboard.js
index 5cb2769b..cff60912 100644
--- a/app/components/leaderboard.js
+++ b/app/components/leaderboard.js
@@ -61,56 +61,56 @@ export function Leaderboard({ contributors, community, leaderboardSize }) {
|
-
- {contributor.username}
+
+ {contributor.attributes.username}
|
0
+ contributor.attributes.openPRsNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
- {contributor.openPRsNumber}
+ {contributor.attributes.openPRsNumber}
|
0
+ contributor.attributes.mergedPRsNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
-
- {contributor.mergedPRsNumber}
+
+ {contributor.attributes.mergedPRsNumber}
|
0
+ contributor.attributes.issuesNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
-
- {contributor.issuesNumber}
+
+ {contributor.attributes.issuesNumber}
|
@@ -127,10 +127,10 @@ export async function getLeaderboardProps(communityId, leaderboardSize) {
let communityName = null;
let communities = await fetchAPI("/communities");
- communities.forEach((community) => {
- if (community.communityId === communityId) {
- contributors = community.contributors;
- communityName = community.communityName;
+ communities.data.forEach((community) => {
+ if (community.attributes.communityId === communityId) {
+ contributors = community.attributes.contributors;
+ communityName = community.attributes.communityName;
}
});
diff --git a/app/components/leaderboardcompact.js b/app/components/leaderboardcompact.js
index 13506a5c..47facde1 100644
--- a/app/components/leaderboardcompact.js
+++ b/app/components/leaderboardcompact.js
@@ -40,56 +40,56 @@ export function LeaderboardCompact({ contributors, leaderboardSize }) {
|
-
- {contributor.username}
+
+ {contributor.attributes.username}
|
0
+ contributor.attributes.openPRsNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
- {contributor.openPRsNumber}
+ {contributor.attributes.openPRsNumber}
|
0
+ contributor.attributes.mergedPRsNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
-
- {contributor.mergedPRsNumber}
+
+ {contributor.attributes.mergedPRsNumber}
|
0
+ contributor.attributes.issuesNumber > 0
? "d-none d-sm-table-cell"
: `${styles["disabled-link"]} d-none d-sm-table-cell`
}
colSpan="1"
>
-
- {contributor.issuesNumber}
+
+ {contributor.attributes.issuesNumber}
|
@@ -106,10 +106,10 @@ export async function getLeaderboardCompactProps(communityId,leaderboardSize){
let communityName = null;
let communities = await fetchAPI("/communities");
- communities.forEach((community) => {
- if (community.communityId === communityId) {
- contributors = community.contributors;
- communityName = community.communityName;
+ communities.data.forEach((community) => {
+ if (community.attributes.communityId === communityId) {
+ contributors = community.attributes.contributors;
+ communityName = community.attributes.communityName;
}
});
diff --git a/app/lib/leaderboard.js b/app/lib/leaderboard.js
index edb770d4..4db9a963 100644
--- a/app/lib/leaderboard.js
+++ b/app/lib/leaderboard.js
@@ -1,21 +1,21 @@
import { fetchAPI } from "./api";
export const contributorList = (contributors) => {
- contributors = contributors.sort((contributor1, contributor2) => {
- if (contributor1.mergedPRsNumber === contributor2.mergedPRsNumber) {
- if (contributor1.openPRsNumber === contributor2.openPRsNumber) {
- if (contributor1.issuesNumber < contributor2.issuesNumber) {
+ contributors = contributors.data.sort((contributor1, contributor2) => {
+ if (contributor1.attributes.mergedPRsNumber === contributor2.attributes.mergedPRsNumber) {
+ if (contributor1.attributes.openPRsNumber === contributor2.attributes.openPRsNumber) {
+ if (contributor1.attributes.issuesNumber < contributor2.attributes.issuesNumber) {
return 1;
}
return -1;
}
- if (contributor1.openPRsNumber < contributor2.openPRsNumber) {
+ if (contributor1.attributes.openPRsNumber < contributor2.attributes.openPRsNumber) {
return 1;
}
return -1;
}
- if (contributor1.mergedPRsNumber < contributor2.mergedPRsNumber) {
+ if (contributor1.attributes.mergedPRsNumber < contributor2.attributes.mergedPRsNumber) {
return 1;
}
return -1;
@@ -26,9 +26,9 @@ export const contributorList = (contributors) => {
export const getCommunityIds = async () => {
let communities = await fetchAPI("/communities");
let paths = [];
- communities.forEach((community) => {
+ communities.data.forEach((community) => {
paths.push({
- params: { id: community.communityId },
+ params: { id: community.attributes.communityId },
});
});
return paths;
diff --git a/cms/config/fetchContributors.js b/cms/config/fetchContributors.js
index 88809f99..175c587b 100644
--- a/cms/config/fetchContributors.js
+++ b/cms/config/fetchContributors.js
@@ -55,7 +55,7 @@ module.exports.getCommunityContributors = async (
if (contributorCount === 0) {
await strapi
.service("api::g-so-c-contributor.g-so-c-contributor")
- .create({ data: { contributor } });
+ .create({ data: contributor });
} else {
await strapi
.db.query("api::g-so-c-contributor.g-so-c-contributor")
@@ -64,7 +64,7 @@ module.exports.getCommunityContributors = async (
username: contributor.username,
community: community.id,
},
- data: { contributor },
+ data: contributor,
});
}
});
diff --git a/cms/src/api/community/controllers/community.js b/cms/src/api/community/controllers/community.js
index 4aaddfda..13bf6781 100644
--- a/cms/src/api/community/controllers/community.js
+++ b/cms/src/api/community/controllers/community.js
@@ -6,4 +6,19 @@
const { createCoreController } = require('@strapi/strapi').factories;
-module.exports = createCoreController('api::community.community');
+module.exports = createCoreController('api::community.community', ({ strapi }) => ({
+
+ async find(ctx) {
+ // some custom logic here
+
+ // Calling the default core action
+ const entity = await await strapi.entityService.findMany('api::community.community', {
+ populate: '*'
+ })
+ const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
+
+ // some more custom logic
+
+ return this.transformResponse(sanitizedEntity);
+ },
+ }));