A fork of the Cocoon PDS but being made more distributed.
11

Configure Feed

Select the types of activity you want to include in your feed.

fix response

Hailey (Mar 29, 2025, 6:07 PM -0700) bab45af0 9a610af4

+19 -11
+18 -10
server/handle_server_request_email_update.go
··· 9 9 "github.com/labstack/echo/v4" 10 10 ) 11 11 12 + type ComAtprotoRequestEmailUpdateResponse struct { 13 + TokenRequired bool `json:"tokenRequired"` 14 + } 15 + 12 16 func (s *Server) handleServerRequestEmailUpdate(e echo.Context) error { 13 17 urepo := e.Get("repo").(*models.RepoActor) 14 18 15 - code := fmt.Sprintf("%s-%s", helpers.RandomVarchar(6), helpers.RandomVarchar(6)) 16 - eat := time.Now().Add(10 * time.Minute).UTC() 19 + if urepo.EmailConfirmedAt != nil { 20 + code := fmt.Sprintf("%s-%s", helpers.RandomVarchar(6), helpers.RandomVarchar(6)) 21 + eat := time.Now().Add(10 * time.Minute).UTC() 17 22 18 - if err := s.db.Exec("UPDATE repos SET email_update_code = ?, email_update_code_expires_at = ? WHERE did = ?", code, eat, urepo.Repo.Did).Error; err != nil { 19 - s.logger.Error("error updating repo", "error", err) 20 - return helpers.ServerError(e, nil) 21 - } 23 + if err := s.db.Exec("UPDATE repos SET email_update_code = ?, email_update_code_expires_at = ? WHERE did = ?", code, eat, urepo.Repo.Did).Error; err != nil { 24 + s.logger.Error("error updating repo", "error", err) 25 + return helpers.ServerError(e, nil) 26 + } 22 27 23 - if err := s.sendEmailUpdate(urepo.Email, urepo.Handle, code); err != nil { 24 - s.logger.Error("error sending email", "error", err) 25 - return helpers.ServerError(e, nil) 28 + if err := s.sendEmailUpdate(urepo.Email, urepo.Handle, code); err != nil { 29 + s.logger.Error("error sending email", "error", err) 30 + return helpers.ServerError(e, nil) 31 + } 26 32 } 27 33 28 - return e.NoContent(200) 34 + return e.JSON(200, ComAtprotoRequestEmailUpdateResponse{ 35 + TokenRequired: urepo.EmailConfirmedAt != nil, 36 + }) 29 37 }
+1 -1
server/handle_server_update_email.go
··· 40 40 return helpers.InputError(e, to.StringPtr("ExpiredToken")) 41 41 } 42 42 43 - if err := s.db.Exec("UPDATE repos SET email_update_code = NULL, email_update_code_expires_at = NULL, email = ? WHERE did = ?", req.Email, urepo.Repo.Did).Error; err != nil { 43 + if err := s.db.Exec("UPDATE repos SET email_update_code = NULL, email_update_code_expires_at = NULL, email_confirmed_at = NULL, email = ? WHERE did = ?", req.Email, urepo.Repo.Did).Error; err != nil { 44 44 s.logger.Error("error updating repo", "error", err) 45 45 return helpers.ServerError(e, nil) 46 46 }