diff options
Diffstat (limited to 'modules/auth')
-rw-r--r-- | modules/auth/admin.go | 55 | ||||
-rw-r--r-- | modules/auth/auth.go | 214 | ||||
-rw-r--r-- | modules/auth/issue.go | 51 | ||||
-rw-r--r-- | modules/auth/repo.go | 53 | ||||
-rw-r--r-- | modules/auth/setting.go | 55 | ||||
-rw-r--r-- | modules/auth/user.go | 145 |
6 files changed, 0 insertions, 573 deletions
diff --git a/modules/auth/admin.go b/modules/auth/admin.go deleted file mode 100644 index fe889c23..00000000 --- a/modules/auth/admin.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -type AdminEditUserForm struct { - Email string `form:"email" binding:"Required;Email;MaxSize(50)"` - Website string `form:"website" binding:"MaxSize(50)"` - Location string `form:"location" binding:"MaxSize(50)"` - Avatar string `form:"avatar" binding:"Required;Email;MaxSize(50)"` - Active string `form:"active"` - Admin string `form:"admin"` -} - -func (f *AdminEditUserForm) Name(field string) string { - names := map[string]string{ - "Email": "E-mail address", - "Website": "Website", - "Location": "Location", - "Avatar": "Gravatar Email", - } - return names[field] -} - -func (f *AdminEditUserForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("AdminEditUserForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} diff --git a/modules/auth/auth.go b/modules/auth/auth.go deleted file mode 100644 index 4561dd83..00000000 --- a/modules/auth/auth.go +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - "strings" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -// Web form interface. -type Form interface { - Name(field string) string -} - -type RegisterForm struct { - UserName string `form:"username" binding:"Required;AlphaDash;MaxSize(30)"` - Email string `form:"email" binding:"Required;Email;MaxSize(50)"` - Password string `form:"passwd" binding:"Required;MinSize(6);MaxSize(30)"` - RetypePasswd string `form:"retypepasswd"` -} - -func (f *RegisterForm) Name(field string) string { - names := map[string]string{ - "UserName": "Username", - "Email": "E-mail address", - "Password": "Password", - "RetypePasswd": "Re-type password", - } - return names[field] -} - -func (f *RegisterForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("RegisterForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} - -type LogInForm struct { - UserName string `form:"username" binding:"Required;AlphaDash;MaxSize(30)"` - Password string `form:"passwd" binding:"Required;MinSize(6);MaxSize(30)"` - Remember string `form:"remember"` -} - -func (f *LogInForm) Name(field string) string { - names := map[string]string{ - "UserName": "Username", - "Password": "Password", - } - return names[field] -} - -func (f *LogInForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("LogInForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} - -func getMinMaxSize(field reflect.StructField) string { - for _, rule := range strings.Split(field.Tag.Get("binding"), ";") { - if strings.HasPrefix(rule, "MinSize(") || strings.HasPrefix(rule, "MaxSize(") { - return rule[8 : len(rule)-1] - } - } - return "" -} - -func validate(errors *binding.Errors, data base.TmplData, form Form) { - typ := reflect.TypeOf(form) - val := reflect.ValueOf(form) - - if typ.Kind() == reflect.Ptr { - typ = typ.Elem() - val = val.Elem() - } - - for i := 0; i < typ.NumField(); i++ { - field := typ.Field(i) - - fieldName := field.Tag.Get("form") - // Allow ignored fields in the struct - if fieldName == "-" { - continue - } - - if err, ok := errors.Fields[field.Name]; ok { - data["Err_"+field.Name] = true - switch err { - case binding.RequireError: - data["ErrorMsg"] = form.Name(field.Name) + " cannot be empty" - case binding.AlphaDashError: - data["ErrorMsg"] = form.Name(field.Name) + " must be valid alpha or numeric or dash(-_) characters" - case binding.MinSizeError: - data["ErrorMsg"] = form.Name(field.Name) + " must contain at least " + getMinMaxSize(field) + " characters" - case binding.MaxSizeError: - data["ErrorMsg"] = form.Name(field.Name) + " must contain at most " + getMinMaxSize(field) + " characters" - case binding.EmailError: - data["ErrorMsg"] = form.Name(field.Name) + " is not valid" - default: - data["ErrorMsg"] = "Unknown error: " + err - } - return - } - } -} - -// AssignForm assign form values back to the template data. -func AssignForm(form interface{}, data base.TmplData) { - typ := reflect.TypeOf(form) - val := reflect.ValueOf(form) - - if typ.Kind() == reflect.Ptr { - typ = typ.Elem() - val = val.Elem() - } - - for i := 0; i < typ.NumField(); i++ { - field := typ.Field(i) - - fieldName := field.Tag.Get("form") - // Allow ignored fields in the struct - if fieldName == "-" { - continue - } - - data[fieldName] = val.Field(i).Interface() - } -} - -type InstallForm struct { - Database string `form:"database" binding:"Required"` - Host string `form:"host"` - User string `form:"user"` - Passwd string `form:"passwd"` - DatabaseName string `form:"database_name"` - SslMode string `form:"ssl_mode"` - DatabasePath string `form:"database_path"` - RepoRootPath string `form:"repo_path"` - RunUser string `form:"run_user"` - Domain string `form:"domain"` - AppUrl string `form:"app_url"` - AdminName string `form:"admin_name" binding:"Required"` - AdminPasswd string `form:"admin_pwd" binding:"Required;MinSize(6);MaxSize(30)"` - AdminEmail string `form:"admin_email" binding:"Required;Email;MaxSize(50)"` - SmtpHost string `form:"smtp_host"` - SmtpEmail string `form:"mailer_user"` - SmtpPasswd string `form:"mailer_pwd"` - RegisterConfirm string `form:"register_confirm"` - MailNotify string `form:"mail_notify"` -} - -func (f *InstallForm) Name(field string) string { - names := map[string]string{ - "Database": "Database name", - "AdminName": "Admin user name", - "AdminPasswd": "Admin password", - "AdminEmail": "Admin e-maill address", - } - return names[field] -} - -func (f *InstallForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("InstallForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} diff --git a/modules/auth/issue.go b/modules/auth/issue.go deleted file mode 100644 index 36c87627..00000000 --- a/modules/auth/issue.go +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -type CreateIssueForm struct { - IssueName string `form:"title" binding:"Required;MaxSize(50)"` - MilestoneId int64 `form:"milestoneid"` - AssigneeId int64 `form:"assigneeid"` - Labels string `form:"labels"` - Content string `form:"content"` -} - -func (f *CreateIssueForm) Name(field string) string { - names := map[string]string{ - "IssueName": "Issue name", - } - return names[field] -} - -func (f *CreateIssueForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("CreateIssueForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} diff --git a/modules/auth/repo.go b/modules/auth/repo.go deleted file mode 100644 index eddd6475..00000000 --- a/modules/auth/repo.go +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -type CreateRepoForm struct { - RepoName string `form:"repo" binding:"Required;AlphaDash"` - Visibility string `form:"visibility"` - Description string `form:"desc" binding:"MaxSize(100)"` - Language string `form:"language"` - License string `form:"license"` - InitReadme string `form:"initReadme"` -} - -func (f *CreateRepoForm) Name(field string) string { - names := map[string]string{ - "RepoName": "Repository name", - "Description": "Description", - } - return names[field] -} - -func (f *CreateRepoForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - AssignForm(f, data) - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("CreateRepoForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} diff --git a/modules/auth/setting.go b/modules/auth/setting.go deleted file mode 100644 index cada7eea..00000000 --- a/modules/auth/setting.go +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - "strings" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -type AddSSHKeyForm struct { - KeyName string `form:"keyname" binding:"Required"` - KeyContent string `form:"key_content" binding:"Required"` -} - -func (f *AddSSHKeyForm) Name(field string) string { - names := map[string]string{ - "KeyName": "SSH key name", - "KeyContent": "SSH key content", - } - return names[field] -} - -func (f *AddSSHKeyForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - AssignForm(f, data) - - if req.Method == "GET" || errors.Count() == 0 { - if req.Method == "POST" && - (len(f.KeyContent) < 100 || !strings.HasPrefix(f.KeyContent, "ssh-rsa")) { - data["HasError"] = true - data["ErrorMsg"] = "SSH key content is not valid" - } - return - } - - data["HasError"] = true - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("AddSSHKeyForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} diff --git a/modules/auth/user.go b/modules/auth/user.go deleted file mode 100644 index 015059f7..00000000 --- a/modules/auth/user.go +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package auth - -import ( - "net/http" - "reflect" - - "github.com/go-martini/martini" - - "github.com/gogits/binding" - "github.com/gogits/session" - - "github.com/gogits/gogs/models" - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/log" -) - -// SignedInId returns the id of signed in user. -func SignedInId(session session.SessionStore) int64 { - if !models.HasEngine { - return 0 - } - - userId := session.Get("userId") - if userId == nil { - return 0 - } - if s, ok := userId.(int64); ok { - if _, err := models.GetUserById(s); err != nil { - return 0 - } - return s - } - return 0 -} - -// SignedInName returns the name of signed in user. -func SignedInName(session session.SessionStore) string { - userName := session.Get("userName") - if userName == nil { - return "" - } - if s, ok := userName.(string); ok { - return s - } - return "" -} - -// SignedInUser returns the user object of signed user. -func SignedInUser(session session.SessionStore) *models.User { - id := SignedInId(session) - if id <= 0 { - return nil - } - - user, err := models.GetUserById(id) - if err != nil { - log.Error("user.SignedInUser: %v", err) - return nil - } - return user -} - -// IsSignedIn check if any user has signed in. -func IsSignedIn(session session.SessionStore) bool { - return SignedInId(session) > 0 -} - -type FeedsForm struct { - UserId int64 `form:"userid" binding:"Required"` - Page int64 `form:"p"` -} - -type UpdateProfileForm struct { - UserName string `form:"username" binding:"Required;AlphaDash;MaxSize(30)"` - Email string `form:"email" binding:"Required;Email;MaxSize(50)"` - Website string `form:"website" binding:"MaxSize(50)"` - Location string `form:"location" binding:"MaxSize(50)"` - Avatar string `form:"avatar" binding:"Required;Email;MaxSize(50)"` -} - -func (f *UpdateProfileForm) Name(field string) string { - names := map[string]string{ - "UserName": "Username", - "Email": "E-mail address", - "Website": "Website", - "Location": "Location", - "Avatar": "Gravatar Email", - } - return names[field] -} - -func (f *UpdateProfileForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("UpdateProfileForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} - -type UpdatePasswdForm struct { - OldPasswd string `form:"oldpasswd" binding:"Required;MinSize(6);MaxSize(30)"` - NewPasswd string `form:"newpasswd" binding:"Required;MinSize(6);MaxSize(30)"` - RetypePasswd string `form:"retypepasswd"` -} - -func (f *UpdatePasswdForm) Name(field string) string { - names := map[string]string{ - "OldPasswd": "Old password", - "NewPasswd": "New password", - "RetypePasswd": "Re-type password", - } - return names[field] -} - -func (f *UpdatePasswdForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { - if req.Method == "GET" || errors.Count() == 0 { - return - } - - data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) - data["HasError"] = true - - if len(errors.Overall) > 0 { - for _, err := range errors.Overall { - log.Error("UpdatePasswdForm.Validate: %v", err) - } - return - } - - validate(errors, data, f) -} |