0.12.15 : add activity as a service
Some checks failed
Build release Docker image / Build Docker Images (push) Failing after 8s
Some checks failed
Build release Docker image / Build Docker Images (push) Failing after 8s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "harmony-back",
|
||||
"version": "0.12.14",
|
||||
"version": "0.12.15",
|
||||
"private": true,
|
||||
"description": "A Strapi application",
|
||||
"scripts": {
|
||||
|
||||
@@ -22,6 +22,12 @@ module.exports = {
|
||||
// On s'assure que le receiver et le sender existent bien
|
||||
if (user && owner) {
|
||||
try {
|
||||
await strapi.service("api::notification.notification")?.addActivity({
|
||||
userId: owner.id,
|
||||
activityMessage: `${owner.username} a invité ${user.username} à être ami avec lui.`,
|
||||
activityUser: user.username,
|
||||
activityType: "user",
|
||||
});
|
||||
// Appel du service de notification
|
||||
await strapi
|
||||
.service("api::notification.notification")
|
||||
|
||||
@@ -20,6 +20,14 @@ interface NotificationEntity {
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
interface ActivityPayload {
|
||||
userId: number;
|
||||
activityMessage: string;
|
||||
activityUser: string;
|
||||
activityType: string;
|
||||
activityAvatar?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* notification service
|
||||
*/
|
||||
@@ -47,5 +55,40 @@ export default factories.createCoreService(
|
||||
strapi.log.info(`🔔 Notification créée: ${title}`);
|
||||
return notification;
|
||||
},
|
||||
async addActivity({
|
||||
userId,
|
||||
activityMessage,
|
||||
activityUser,
|
||||
activityType,
|
||||
}: ActivityPayload): Promise<void> {
|
||||
const user = await strapi.entityService.findOne(
|
||||
"plugin::users-permissions.user",
|
||||
userId,
|
||||
{ populate: ["activities", "avatar"] }
|
||||
);
|
||||
|
||||
const existingActivities = user?.activities || [];
|
||||
const newActivity = {
|
||||
activityMessage,
|
||||
activityUser,
|
||||
activityDate: new Date(),
|
||||
activityType,
|
||||
activityAvatar: user.avatar?.id,
|
||||
};
|
||||
|
||||
await strapi.entityService.update(
|
||||
"plugin::users-permissions.user",
|
||||
userId,
|
||||
{
|
||||
data: {
|
||||
activities: [...existingActivities, newActivity],
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
strapi.log.info(
|
||||
`✅ Activity added for user ${activityUser}: ${activityMessage}`
|
||||
);
|
||||
},
|
||||
})
|
||||
);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"name": "Apache 2.0",
|
||||
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"x-generation-date": "2025-12-11T14:30:17.431Z"
|
||||
"x-generation-date": "2025-12-11T16:29:12.158Z"
|
||||
},
|
||||
"x-strapi-config": {
|
||||
"plugins": [
|
||||
|
||||
@@ -531,24 +531,16 @@ module.exports = (plugin) => {
|
||||
async afterCreate(event) {
|
||||
const { result } = event;
|
||||
|
||||
const newActivity = {
|
||||
activityMessage: `Bienvenue ${result.username}, Ton compte est maintenant activé.`,
|
||||
activityUser: result.username,
|
||||
activityDate: new Date(),
|
||||
activityType: "user" as const,
|
||||
};
|
||||
|
||||
await sendConfirmationEmail(result);
|
||||
|
||||
await strapi.entityService.update(
|
||||
"plugin::users-permissions.user",
|
||||
result.id,
|
||||
{
|
||||
data: {
|
||||
activities: [newActivity],
|
||||
},
|
||||
}
|
||||
);
|
||||
await strapi
|
||||
.service("api::notification.notification")
|
||||
?.addActivity({
|
||||
userId: result.id,
|
||||
activityMessage: `Bienvenue ${result.username}, Ton compte est maintenant activé.`,
|
||||
activityUser: result.username,
|
||||
activityType: "user",
|
||||
});
|
||||
|
||||
// Appel du service de notification
|
||||
await strapi
|
||||
|
||||
Reference in New Issue
Block a user