Add custom endpoint for contact and post

This commit is contained in:
2025-10-02 21:35:04 +02:00
parent 2173ec6d0a
commit 641624fcb0
3 changed files with 166 additions and 2 deletions

View File

@@ -136,6 +136,18 @@ export default factories.createCoreController(
});
const followIds = followContacts.map((c) => c.user.id);
// Récupérer les contacts suivis (follow)
const blockedContacts = await strapi.db
.query("api::contact.contact")
.findMany({
where: {
owner: { id: parseInt(userId) },
state: "blocked",
},
populate: ["user"],
});
const blockedIds = blockedContacts.map((c) => c.user.id);
// 3⃣ Récupérer les groupes où mes amis sont membres (en excluant mes propres groupes)
const friendsGroupMemberships = await strapi.db
.query("api::group-membership.group-membership")
@@ -206,6 +218,9 @@ export default factories.createCoreController(
// Vérifier si l'auteur est un contact suivi
const isContactFollow = authorId ? followIds.includes(authorId) : false;
// Vérifier si l'auteur est bloqué
const isBlocked = authorId ? blockedIds.includes(authorId) : false;
// Vérifier si je suis membre du groupe (seulement pour les posts de groupe)
const isMember =
contextType === "group" && contextId
@@ -223,11 +238,14 @@ export default factories.createCoreController(
friend: isFriend,
contactFollow: isContactFollow,
member: isMember,
blocked: isBlocked,
...(group && { group }), // Ajouter group seulement s'il existe
};
});
ctx.send(enrichedFeed);
const filteredFeedBlocked = enrichedFeed.filter((post) => !post.blocked);
ctx.send(filteredFeedBlocked);
},
async savePost(ctx) {