aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/org_team.go6
-rw-r--r--models/organization/org.go6
2 files changed, 12 insertions, 0 deletions
diff --git a/models/org_team.go b/models/org_team.go
index 40eb037452..0aba0cbb23 100644
--- a/models/org_team.go
+++ b/models/org_team.go
@@ -496,6 +496,12 @@ func AddTeamMember(team *organization.Team, userID int64) error {
}
defer committer.Close()
+ // check in transaction
+ isAlreadyMember, err = organization.IsTeamMember(ctx, team.OrgID, team.ID, userID)
+ if err != nil || isAlreadyMember {
+ return err
+ }
+
sess := db.GetEngine(ctx)
if err := db.Insert(ctx, &organization.TeamUser{
diff --git a/models/organization/org.go b/models/organization/org.go
index 3761335922..43d96793b1 100644
--- a/models/organization/org.go
+++ b/models/organization/org.go
@@ -594,6 +594,12 @@ func AddOrgUser(orgID, uid int64) error {
}
defer committer.Close()
+ // check in transaction
+ isAlreadyMember, err = IsOrganizationMember(ctx, orgID, uid)
+ if err != nil || isAlreadyMember {
+ return err
+ }
+
ou := &OrgUser{
UID: uid,
OrgID: orgID,