Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: UCCNetsoc/whodis
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b1a4c955b82f3a16229d6c04affc4ddf5349e73a
Choose a base ref
..
head repository: UCCNetsoc/whodis
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d374db4fb0ba735b7a7e241c2a4d176158710f85
Choose a head ref
Showing with 12 additions and 19 deletions.
  1. +12 −19 internal/api/verify.go
31 changes: 12 additions & 19 deletions internal/api/verify.go
Original file line number Diff line number Diff line change
@@ -42,25 +42,6 @@ func createVerifyHandler(s *discordgo.Session) gin.HandlerFunc {
utils.SendLogMessage(s, logging_cid, "Failed to get user `"+uid+"` from Discord API to add roles.")
return
}
allRoles, err := s.GuildRoles(gid)
if err != nil {
resultTemplate.Execute(c.Writer, AccessErrorResponse(http.StatusInternalServerError, "Failed to query roles", err))
utils.SendLogMessage(s, logging_cid, "Failed to query discord API for roles.")
return
}
signUpName, err := createSignUpsRole(s, gid)
if err != nil {
resultTemplate.Execute(c.Writer, AccessErrorResponse(http.StatusInternalServerError, "Failed creating signup role", err))
utils.SendLogMessage(s, logging_cid, "Failed to create signup roles.")
return
}
signUpID := utils.GetRoleIDFromName(allRoles, signUpName)
if signUpID == "" {
resultTemplate.Execute(c.Writer, AccessErrorResponse(http.StatusInternalServerError, "Failed getting role id", err))
utils.SendLogMessage(s, logging_cid, "Failed to get signup role id.")
return
}
rid = append(rid, signUpID)

if err := addRoles(s, gid, uid, rid); err != nil {
resultTemplate.Execute(c.Writer,
@@ -154,6 +135,18 @@ func addRoles(s *discordgo.Session, gid, uid string, rid []string) error {
return err
}

signUpName, err := createSignUpsRole(s, gid)
if err != nil {
return err
}
signUpID := utils.GetRoleIDFromName(roles, signUpName)
if signUpID == "" {
return errors.New("no role called: " + signUpName)
}
if err := s.GuildMemberRoleAdd(gid, uid, signUpID); err != nil {
return err
}

for _, additionalRoleID := range rid {
if err := s.GuildMemberRoleAdd(gid, uid, additionalRoleID); err != nil {
return err