|
7 | 7 | from todo.repositories.team_creation_invite_code_repository import TeamCreationInviteCodeRepository
|
8 | 8 | from todo.repositories.team_repository import TeamRepository, UserTeamDetailsRepository
|
9 | 9 | from todo.constants.messages import AppMessages
|
| 10 | +from todo.constants.role import RoleName |
10 | 11 | from todo.utils.invite_code_utils import generate_invite_code
|
11 | 12 | from typing import List
|
12 | 13 | from todo.models.audit_log import AuditLogModel
|
@@ -108,14 +109,19 @@ def create_team(cls, dto: CreateTeamDTO, created_by_user_id: str) -> CreateTeamR
|
108 | 109 |
|
109 | 110 | team_id_str = str(created_team.id)
|
110 | 111 |
|
111 |
| - cls._assign_user_role(created_by_user_id, team_id_str, "owner") |
| 112 | + cls._assign_user_role(created_by_user_id, team_id_str, RoleName.MEMBER.value) |
| 113 | + cls._assign_user_role(created_by_user_id, team_id_str, RoleName.ADMIN.value) |
| 114 | + cls._assign_user_role(created_by_user_id, team_id_str, RoleName.OWNER.value) |
| 115 | + |
| 116 | + users_with_roles = {created_by_user_id} |
112 | 117 |
|
113 | 118 | for member_id in member_ids:
|
114 |
| - if member_id != created_by_user_id: |
115 |
| - cls._assign_user_role(member_id, team_id_str, "member") |
| 119 | + if member_id not in users_with_roles: |
| 120 | + cls._assign_user_role(member_id, team_id_str, RoleName.MEMBER.value) |
| 121 | + users_with_roles.add(member_id) |
116 | 122 |
|
117 |
| - if dto.poc_id and dto.poc_id != created_by_user_id: |
118 |
| - cls._assign_user_role(dto.poc_id, team_id_str, "owner") |
| 123 | + if dto.poc_id and dto.poc_id not in users_with_roles: |
| 124 | + cls._assign_user_role(dto.poc_id, team_id_str, RoleName.MEMBER.value) |
119 | 125 |
|
120 | 126 | # Audit log for team creation
|
121 | 127 | AuditLogRepository.create(
|
@@ -284,7 +290,7 @@ def join_team_by_invite_code(cls, invite_code: str, user_id: str) -> TeamDTO:
|
284 | 290 | UserTeamDetailsRepository.create(user_team)
|
285 | 291 |
|
286 | 292 | # NEW: Assign default member role using new role system
|
287 |
| - cls._assign_user_role(user_id, str(team.id), "member") |
| 293 | + cls._assign_user_role(user_id, str(team.id), RoleName.MEMBER.value) |
288 | 294 |
|
289 | 295 | # Audit log for team join
|
290 | 296 | AuditLogRepository.create(
|
@@ -444,7 +450,7 @@ def add_team_members(cls, team_id: str, member_ids: List[str], added_by_user_id:
|
444 | 450 |
|
445 | 451 | # NEW: Assign default member roles using new role system
|
446 | 452 | for member_id in member_ids:
|
447 |
| - cls._assign_user_role(member_id, team_id, "member") |
| 453 | + cls._assign_user_role(member_id, team_id, RoleName.MEMBER.value) |
448 | 454 |
|
449 | 455 | # Audit log for team member addition
|
450 | 456 | for member_id in member_ids:
|
|
0 commit comments