diff --git a/handlers/members.go b/handlers/members.go index 9e1b28d..d14d98b 100644 --- a/handlers/members.go +++ b/handlers/members.go @@ -70,12 +70,19 @@ func (dh *DatabaseHandler) GetMember(id uint) (members []models.Member, err erro return } + //map for list all decrypted members so it only once derypt each member + decryptedList := make(map[uint]bool, 1) for i := range members { if err := members[i].Decrypt(dh.token); err != nil { return members, err } if members[i].Responsible != nil { + //check if already decrypted + if decryptedList[members[i].Responsible.Member.Id] { + continue + } members[i].Responsible.Member.Decrypt(dh.token) + decryptedList[members[i].Responsible.Member.Id] = true } } return