Add custom endpoint for contact and post
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user