github.com/infraboard/keyauth@v0.8.1/apps/system/http/system.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/infraboard/mcube/exception" 7 "github.com/infraboard/mcube/http/context" 8 "github.com/infraboard/mcube/http/request" 9 "github.com/infraboard/mcube/http/response" 10 11 "github.com/infraboard/keyauth/apps/system/notify/mail" 12 "github.com/infraboard/keyauth/apps/system/notify/sms" 13 "github.com/infraboard/keyauth/apps/token" 14 "github.com/infraboard/keyauth/apps/user/types" 15 "github.com/infraboard/keyauth/apps/verifycode" 16 ) 17 18 func (h *handler) GetSystemConfig(w http.ResponseWriter, r *http.Request) { 19 ctx := context.GetContext(r) 20 tk := ctx.AuthInfo.(*token.Token) 21 22 if !tk.UserType.IsIn(types.UserType_SUPPER) { 23 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 24 return 25 } 26 27 conf, err := h.service.GetConfig() 28 if err != nil { 29 response.Failed(w, err) 30 return 31 } 32 33 conf.Desensitize() 34 response.Success(w, conf) 35 } 36 37 func (h *handler) TestEmailSend(w http.ResponseWriter, r *http.Request) { 38 ctx := context.GetContext(r) 39 tk := ctx.AuthInfo.(*token.Token) 40 41 if !tk.UserType.IsIn(types.UserType_SUPPER) { 42 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 43 return 44 } 45 46 req := mail.NewDeaultTestSendRequest() 47 if err := request.GetDataFromRequest(r, req); err != nil { 48 response.Failed(w, err) 49 return 50 } 51 52 if err := req.Send(); err != nil { 53 response.Failed(w, err) 54 return 55 } 56 57 response.Success(w, "ok") 58 } 59 60 func (h *handler) SettingEmail(w http.ResponseWriter, r *http.Request) { 61 ctx := context.GetContext(r) 62 tk := ctx.AuthInfo.(*token.Token) 63 64 if !tk.UserType.IsIn(types.UserType_SUPPER) { 65 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 66 return 67 } 68 69 req := mail.NewDefaultConfig() 70 if err := request.GetDataFromRequest(r, req); err != nil { 71 response.Failed(w, err) 72 return 73 } 74 75 err := h.service.UpdateEmail(req) 76 if err != nil { 77 response.Failed(w, err) 78 return 79 } 80 81 response.Success(w, req) 82 } 83 84 func (h *handler) TestSMSSend(w http.ResponseWriter, r *http.Request) { 85 ctx := context.GetContext(r) 86 tk := ctx.AuthInfo.(*token.Token) 87 88 if !tk.UserType.IsIn(types.UserType_SUPPER) { 89 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 90 return 91 } 92 93 req := sms.NewDeaultTestSendRequest() 94 if err := request.GetDataFromRequest(r, req); err != nil { 95 response.Failed(w, err) 96 return 97 } 98 99 if err := req.Send(); err != nil { 100 response.Failed(w, err) 101 return 102 } 103 104 response.Success(w, "ok") 105 } 106 107 func (h *handler) SettingSMS(w http.ResponseWriter, r *http.Request) { 108 ctx := context.GetContext(r) 109 tk := ctx.AuthInfo.(*token.Token) 110 111 if !tk.UserType.IsIn(types.UserType_SUPPER) { 112 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 113 return 114 } 115 116 req := sms.NewDefaultConfig() 117 if err := request.GetDataFromRequest(r, req); err != nil { 118 response.Failed(w, err) 119 return 120 } 121 122 err := h.service.UpdateSMS(req) 123 if err != nil { 124 response.Failed(w, err) 125 return 126 } 127 128 response.Success(w, req) 129 } 130 131 func (h *handler) SettingVerifyCode(w http.ResponseWriter, r *http.Request) { 132 ctx := context.GetContext(r) 133 tk := ctx.AuthInfo.(*token.Token) 134 135 if !tk.UserType.IsIn(types.UserType_SUPPER) { 136 response.Failed(w, exception.NewPermissionDeny("only system admin can operate")) 137 return 138 } 139 140 req := verifycode.NewDefaultConfig() 141 if err := request.GetDataFromRequest(r, req); err != nil { 142 response.Failed(w, err) 143 return 144 } 145 146 err := h.service.UpdateVerifyCode(req) 147 if err != nil { 148 response.Failed(w, err) 149 return 150 } 151 152 response.Success(w, req) 153 }