From a0a697401b201bd305f90fc0fce71c8535c1dfe6 Mon Sep 17 00:00:00 2001 From: Sangeetha Date: Fri, 30 May 2025 18:23:19 +0530 Subject: [PATCH] [WEB-3787] fix: project joining date (#7127) * fix: return project joining date * fix: added project's joining date * fix: set created_at as read_only_fields --------- Co-authored-by: gakshita --- apiserver/plane/app/serializers/project.py | 3 ++- packages/types/src/project/projects.d.ts | 1 + packages/types/src/users.d.ts | 1 + web/core/store/member/project-member.store.ts | 5 ++++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apiserver/plane/app/serializers/project.py b/apiserver/plane/app/serializers/project.py index 73c8a85d9..622638558 100644 --- a/apiserver/plane/app/serializers/project.py +++ b/apiserver/plane/app/serializers/project.py @@ -151,7 +151,8 @@ class ProjectMemberAdminSerializer(BaseSerializer): class ProjectMemberRoleSerializer(DynamicBaseSerializer): class Meta: model = ProjectMember - fields = ("id", "role", "member", "project") + fields = ("id", "role", "member", "project", "created_at") + read_only_fields = ["created_at"] class ProjectMemberInviteSerializer(BaseSerializer): diff --git a/packages/types/src/project/projects.d.ts b/packages/types/src/project/projects.d.ts index e1d9117a1..d83853bb6 100644 --- a/packages/types/src/project/projects.d.ts +++ b/packages/types/src/project/projects.d.ts @@ -114,6 +114,7 @@ export interface IProjectMembership { id: string; member: string; role: TUserPermissions; + created_at: string; } export interface IProjectBulkAddFormData { diff --git a/packages/types/src/users.d.ts b/packages/types/src/users.d.ts index 9f6ac4905..eda9a022a 100644 --- a/packages/types/src/users.d.ts +++ b/packages/types/src/users.d.ts @@ -12,6 +12,7 @@ export interface IUserLite { id: string; is_bot: boolean; last_name: string; + joining_date?: string; } export interface IUser extends IUserLite { // only for uploading the cover image diff --git a/web/core/store/member/project-member.store.ts b/web/core/store/member/project-member.store.ts index e97e5ab32..ad9b1252a 100644 --- a/web/core/store/member/project-member.store.ts +++ b/web/core/store/member/project-member.store.ts @@ -127,7 +127,10 @@ export class ProjectMemberStore implements IProjectMemberStore { const memberDetails: IProjectMemberDetails = { id: projectMember.id, role: projectMember.role, - member: this.memberRoot?.memberMap?.[projectMember.member], + member: { + ...this.memberRoot?.memberMap?.[projectMember.member], + joining_date: projectMember.created_at, + }, }; return memberDetails; });