Skip to content

Commit

Permalink
Merge pull request #98 from GenieWizards/refactor/users-to-group-acti…
Browse files Browse the repository at this point in the history
…vity-log

refactor: activity for add users to group♻️
  • Loading branch information
shivamvijaywargi authored Dec 10, 2024
2 parents 4583a49 + 7575f26 commit 511fe9a
Showing 1 changed file with 62 additions and 11 deletions.
73 changes: 62 additions & 11 deletions src/modules/activities/activity.utils.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { ActivityType } from "@/common/enums";
import { activityModel } from "@/db/schemas";
import type { TSelectActivitySchema } from "@/db/schemas/activity.model";

Expand All @@ -18,36 +19,86 @@ export function organizeActivities(
userId: string | undefined,
) {
return activities.map((activity) => {
return formatCategoryActivity(
activity.id,
activity.metadata as IActivityMetadata,
userId,
);
if (activity.type.includes("category")) {
return formatCategoryActivity(
activity.id,
activity.metadata as IActivityMetadata,
userId,
);
}

if (activity.type.includes("group")) {
return formatGroupActivity(
activity.id,
activity.metadata as IActivityMetadata,
userId,
activity.type,
);
}

return {
id: activity.id,
message: "Unknown activity",
};
});
}

function formatCategoryActivity(
id: string,
activity: IActivityMetadata,
activityMetadata: IActivityMetadata,
userId: string | undefined,
) {
switch (activity.action) {
switch (activityMetadata.action) {
case "create":
return {
id,
message: `${userId ? activityMetadata.actorName : "You"} created a new category "${activityMetadata.resourceName}"`,
};
case "update":
return {
id,
message: `${userId ? activityMetadata.actorName : "You"} updated the category "${activityMetadata.resourceName}"`,
};
case "delete":
return {
id,
message: `${userId ? activityMetadata.actorName : "You"} deleted the category "${activityMetadata.resourceName}"`,
};
default:
return { id: "", message: "Unknown category activityMetadata" };
}
}

function formatGroupActivity(
id: string,
activityMetadata: IActivityMetadata,
userId: string | undefined,
activityType: string,
) {
if (activityType === ActivityType.GROUP_MEMBER_ADDED) {
return {
id,
message: `${userId ? activityMetadata.actorName : "You"} added ${activityMetadata.targetName} to the Group "${activityMetadata.resourceName}"`,
};
}

switch (activityMetadata.action) {
case "create":
return {
id,
message: `${userId ? activity.actorName : "You"} created a new category "${activity.resourceName}"`,
message: `${userId ? activityMetadata.actorName : "You"} created a new Group "${activityMetadata.resourceName}"`,
};
case "update":
return {
id,
message: `${userId ? activity.actorName : "You"} updated the category "${activity.resourceName}"`,
message: `${userId ? activityMetadata.actorName : "You"} updated the Group "${activityMetadata.resourceName}"`,
};
case "delete":
return {
id,
message: `${userId ? activity.actorName : "You"} deleted the category "${activity.resourceName}"`,
message: `${userId ? activityMetadata.actorName : "You"} deleted the Group "${activityMetadata.resourceName}"`,
};
default:
return { id: "", message: "Unknown category activity" };
return { id: "", message: "Unknown group activityMetadata" };
}
}

0 comments on commit 511fe9a

Please sign in to comment.