diff options
Diffstat (limited to 'pkg/form')
-rw-r--r-- | pkg/form/admin.go | 43 | ||||
-rw-r--r-- | pkg/form/auth.go | 49 | ||||
-rw-r--r-- | pkg/form/form.go | 155 | ||||
-rw-r--r-- | pkg/form/org.go | 41 | ||||
-rw-r--r-- | pkg/form/repo.go | 419 | ||||
-rw-r--r-- | pkg/form/user.go | 155 |
6 files changed, 0 insertions, 862 deletions
diff --git a/pkg/form/admin.go b/pkg/form/admin.go deleted file mode 100644 index c51d62ca..00000000 --- a/pkg/form/admin.go +++ /dev/null @@ -1,43 +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 form - -import ( - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" -) - -type AdminCrateUser struct { - LoginType string `binding:"Required"` - LoginName string - UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"` - Email string `binding:"Required;Email;MaxSize(254)"` - Password string `binding:"MaxSize(255)"` - SendNotify bool -} - -func (f *AdminCrateUser) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type AdminEditUser struct { - LoginType string `binding:"Required"` - LoginName string - FullName string `binding:"MaxSize(100)"` - Email string `binding:"Required;Email;MaxSize(254)"` - Password string `binding:"MaxSize(255)"` - Website string `binding:"MaxSize(50)"` - Location string `binding:"MaxSize(50)"` - MaxRepoCreation int - Active bool - Admin bool - AllowGitHook bool - AllowImportLocal bool - ProhibitLogin bool -} - -func (f *AdminEditUser) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} diff --git a/pkg/form/auth.go b/pkg/form/auth.go deleted file mode 100644 index 47ecc813..00000000 --- a/pkg/form/auth.go +++ /dev/null @@ -1,49 +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 form - -import ( - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" -) - -type Authentication struct { - ID int64 - Type int `binding:"Range(2,6)"` - Name string `binding:"Required;MaxSize(30)"` - Host string - Port int - BindDN string - BindPassword string - UserBase string - UserDN string - AttributeUsername string - AttributeName string - AttributeSurname string - AttributeMail string - AttributesInBind bool - Filter string - AdminFilter string - GroupEnabled bool - GroupDN string - GroupFilter string - GroupMemberUID string - UserUID string - IsActive bool - IsDefault bool - SMTPAuth string - SMTPHost string - SMTPPort int - AllowedDomains string - SecurityProtocol int `binding:"Range(0,2)"` - TLS bool - SkipVerify bool - PAMServiceName string - GitHubAPIEndpoint string `form:"github_api_endpoint" binding:"Url"` -} - -func (f *Authentication) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} diff --git a/pkg/form/form.go b/pkg/form/form.go deleted file mode 100644 index 4cd81fac..00000000 --- a/pkg/form/form.go +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright 2017 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 form - -import ( - "fmt" - "reflect" - "regexp" - "strings" - - "github.com/unknwon/com" - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" -) - -const ERR_ALPHA_DASH_DOT_SLASH = "AlphaDashDotSlashError" - -var AlphaDashDotSlashPattern = regexp.MustCompile("[^\\d\\w-_\\./]") - -func init() { - binding.SetNameMapper(com.ToSnakeCase) - binding.AddRule(&binding.Rule{ - IsMatch: func(rule string) bool { - return rule == "AlphaDashDotSlash" - }, - IsValid: func(errs binding.Errors, name string, v interface{}) (bool, binding.Errors) { - if AlphaDashDotSlashPattern.MatchString(fmt.Sprintf("%v", v)) { - errs.Add([]string{name}, ERR_ALPHA_DASH_DOT_SLASH, "AlphaDashDotSlash") - return false, errs - } - return true, errs - }, - }) -} - -type Form interface { - binding.Validator -} - -// Assign assign form values back to the template data. -func Assign(form interface{}, data map[string]interface{}) { - 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 - } else if len(fieldName) == 0 { - fieldName = com.ToSnakeCase(field.Name) - } - - data[fieldName] = val.Field(i).Interface() - } -} - -func getRuleBody(field reflect.StructField, prefix string) string { - for _, rule := range strings.Split(field.Tag.Get("binding"), ";") { - if strings.HasPrefix(rule, prefix) { - return rule[len(prefix) : len(rule)-1] - } - } - return "" -} - -func getSize(field reflect.StructField) string { - return getRuleBody(field, "Size(") -} - -func getMinSize(field reflect.StructField) string { - return getRuleBody(field, "MinSize(") -} - -func getMaxSize(field reflect.StructField) string { - return getRuleBody(field, "MaxSize(") -} - -func getInclude(field reflect.StructField) string { - return getRuleBody(field, "Include(") -} - -func validate(errs binding.Errors, data map[string]interface{}, f Form, l macaron.Locale) binding.Errors { - if errs.Len() == 0 { - return errs - } - - data["HasError"] = true - Assign(f, data) - - typ := reflect.TypeOf(f) - val := reflect.ValueOf(f) - - 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 errs[0].FieldNames[0] == field.Name { - data["Err_"+field.Name] = true - - trName := field.Tag.Get("locale") - if len(trName) == 0 { - trName = l.Tr("form." + field.Name) - } else { - trName = l.Tr(trName) - } - - switch errs[0].Classification { - case binding.ERR_REQUIRED: - data["ErrorMsg"] = trName + l.Tr("form.require_error") - case binding.ERR_ALPHA_DASH: - data["ErrorMsg"] = trName + l.Tr("form.alpha_dash_error") - case binding.ERR_ALPHA_DASH_DOT: - data["ErrorMsg"] = trName + l.Tr("form.alpha_dash_dot_error") - case ERR_ALPHA_DASH_DOT_SLASH: - data["ErrorMsg"] = trName + l.Tr("form.alpha_dash_dot_slash_error") - case binding.ERR_SIZE: - data["ErrorMsg"] = trName + l.Tr("form.size_error", getSize(field)) - case binding.ERR_MIN_SIZE: - data["ErrorMsg"] = trName + l.Tr("form.min_size_error", getMinSize(field)) - case binding.ERR_MAX_SIZE: - data["ErrorMsg"] = trName + l.Tr("form.max_size_error", getMaxSize(field)) - case binding.ERR_EMAIL: - data["ErrorMsg"] = trName + l.Tr("form.email_error") - case binding.ERR_URL: - data["ErrorMsg"] = trName + l.Tr("form.url_error") - case binding.ERR_INCLUDE: - data["ErrorMsg"] = trName + l.Tr("form.include_error", getInclude(field)) - default: - data["ErrorMsg"] = l.Tr("form.unknown_error") + " " + errs[0].Classification - } - return errs - } - } - return errs -} diff --git a/pkg/form/org.go b/pkg/form/org.go deleted file mode 100644 index 5c268c83..00000000 --- a/pkg/form/org.go +++ /dev/null @@ -1,41 +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 form - -import ( - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" -) - -type CreateOrg struct { - OrgName string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"` -} - -func (f *CreateOrg) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type UpdateOrgSetting struct { - Name string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"` - FullName string `binding:"MaxSize(100)"` - Description string `binding:"MaxSize(255)"` - Website string `binding:"Url;MaxSize(100)"` - Location string `binding:"MaxSize(50)"` - MaxRepoCreation int -} - -func (f *UpdateOrgSetting) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type CreateTeam struct { - TeamName string `binding:"Required;AlphaDashDot;MaxSize(30)"` - Description string `binding:"MaxSize(255)"` - Permission string -} - -func (f *CreateTeam) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} diff --git a/pkg/form/repo.go b/pkg/form/repo.go deleted file mode 100644 index fa5505f2..00000000 --- a/pkg/form/repo.go +++ /dev/null @@ -1,419 +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 form - -import ( - "net/url" - "strings" - - "github.com/unknwon/com" - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" - - "gogs.io/gogs/models" -) - -// _______________________________________ _________.______________________ _______________.___. -// \______ \_ _____/\______ \_____ \ / _____/| \__ ___/\_____ \\______ \__ | | -// | _/| __)_ | ___// | \ \_____ \ | | | | / | \| _// | | -// | | \| \ | | / | \/ \| | | | / | \ | \\____ | -// |____|_ /_______ / |____| \_______ /_______ /|___| |____| \_______ /____|_ // ______| -// \/ \/ \/ \/ \/ \/ \/ - -type CreateRepo struct { - UserID int64 `binding:"Required"` - RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"` - Private bool - Description string `binding:"MaxSize(512)"` - AutoInit bool - Gitignores string - License string - Readme string -} - -func (f *CreateRepo) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type MigrateRepo struct { - CloneAddr string `json:"clone_addr" binding:"Required"` - AuthUsername string `json:"auth_username"` - AuthPassword string `json:"auth_password"` - Uid int64 `json:"uid" binding:"Required"` - RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"` - Mirror bool `json:"mirror"` - Private bool `json:"private"` - Description string `json:"description" binding:"MaxSize(512)"` -} - -func (f *MigrateRepo) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// ParseRemoteAddr checks if given remote address is valid, -// and returns composed URL with needed username and password. -// It also checks if given user has permission when remote address -// is actually a local path. -func (f MigrateRepo) ParseRemoteAddr(user *models.User) (string, error) { - remoteAddr := strings.TrimSpace(f.CloneAddr) - - // Remote address can be HTTP/HTTPS/Git URL or local path. - if strings.HasPrefix(remoteAddr, "http://") || - strings.HasPrefix(remoteAddr, "https://") || - strings.HasPrefix(remoteAddr, "git://") { - u, err := url.Parse(remoteAddr) - if err != nil { - return "", models.ErrInvalidCloneAddr{IsURLError: true} - } - if len(f.AuthUsername)+len(f.AuthPassword) > 0 { - u.User = url.UserPassword(f.AuthUsername, f.AuthPassword) - } - remoteAddr = u.String() - } else if !user.CanImportLocal() { - return "", models.ErrInvalidCloneAddr{IsPermissionDenied: true} - } else if !com.IsDir(remoteAddr) { - return "", models.ErrInvalidCloneAddr{IsInvalidPath: true} - } - - return remoteAddr, nil -} - -type RepoSetting struct { - RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"` - Description string `binding:"MaxSize(512)"` - Website string `binding:"Url;MaxSize(100)"` - Branch string - Interval int - MirrorAddress string - Private bool - EnablePrune bool - - // Advanced settings - EnableWiki bool - AllowPublicWiki bool - EnableExternalWiki bool - ExternalWikiURL string - EnableIssues bool - AllowPublicIssues bool - EnableExternalTracker bool - ExternalTrackerURL string - TrackerURLFormat string - TrackerIssueStyle string - EnablePulls bool - PullsIgnoreWhitespace bool - PullsAllowRebase bool -} - -func (f *RepoSetting) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// __________ .__ -// \______ \____________ ____ ____ | |__ -// | | _/\_ __ \__ \ / \_/ ___\| | \ -// | | \ | | \// __ \| | \ \___| Y \ -// |______ / |__| (____ /___| /\___ >___| / -// \/ \/ \/ \/ \/ - -type ProtectBranch struct { - Protected bool - RequirePullRequest bool - EnableWhitelist bool - WhitelistUsers string - WhitelistTeams string -} - -func (f *ProtectBranch) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// __ __ ___. .__ .__ __ -// / \ / \ ____\_ |__ | |__ | |__ ____ | | __ -// \ \/\/ // __ \| __ \| | \| | \ / _ \| |/ / -// \ /\ ___/| \_\ \ Y \ Y ( <_> ) < -// \__/\ / \___ >___ /___| /___| /\____/|__|_ \ -// \/ \/ \/ \/ \/ \/ - -type Webhook struct { - Events string - Create bool - Delete bool - Fork bool - Push bool - Issues bool - IssueComment bool - PullRequest bool - Release bool - Active bool -} - -func (f Webhook) PushOnly() bool { - return f.Events == "push_only" -} - -func (f Webhook) SendEverything() bool { - return f.Events == "send_everything" -} - -func (f Webhook) ChooseEvents() bool { - return f.Events == "choose_events" -} - -type NewWebhook struct { - PayloadURL string `binding:"Required;Url"` - ContentType int `binding:"Required"` - Secret string - Webhook -} - -func (f *NewWebhook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type NewSlackHook struct { - PayloadURL string `binding:"Required;Url"` - Channel string `binding:"Required"` - Username string - IconURL string - Color string - Webhook -} - -func (f *NewSlackHook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type NewDiscordHook struct { - PayloadURL string `binding:"Required;Url"` - Username string - IconURL string - Color string - Webhook -} - -func (f *NewDiscordHook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type NewDingtalkHook struct { - PayloadURL string `binding:"Required;Url"` - Webhook -} - -func (f *NewDingtalkHook) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// .___ -// | | ______ ________ __ ____ -// | |/ ___// ___/ | \_/ __ \ -// | |\___ \ \___ \| | /\ ___/ -// |___/____ >____ >____/ \___ > -// \/ \/ \/ - -type NewIssue struct { - Title string `binding:"Required;MaxSize(255)"` - LabelIDs string `form:"label_ids"` - MilestoneID int64 - AssigneeID int64 - Content string - Files []string -} - -func (f *NewIssue) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type CreateComment struct { - Content string - Status string `binding:"OmitEmpty;In(reopen,close)"` - Files []string -} - -func (f *CreateComment) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// _____ .__.__ __ -// / \ |__| | ____ _______/ |_ ____ ____ ____ -// / \ / \| | | _/ __ \ / ___/\ __\/ _ \ / \_/ __ \ -// / Y \ | |_\ ___/ \___ \ | | ( <_> ) | \ ___/ -// \____|__ /__|____/\___ >____ > |__| \____/|___| /\___ > -// \/ \/ \/ \/ \/ - -type CreateMilestone struct { - Title string `binding:"Required;MaxSize(50)"` - Content string - Deadline string -} - -func (f *CreateMilestone) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// .____ ___. .__ -// | | _____ \_ |__ ____ | | -// | | \__ \ | __ \_/ __ \| | -// | |___ / __ \| \_\ \ ___/| |__ -// |_______ (____ /___ /\___ >____/ -// \/ \/ \/ \/ - -type CreateLabel struct { - ID int64 - Title string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_title"` - Color string `binding:"Required;Size(7)" locale:"repo.issues.label_color"` -} - -func (f *CreateLabel) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type InitializeLabels struct { - TemplateName string `binding:"Required"` -} - -func (f *InitializeLabels) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// __________ .__ -// \______ \ ____ | | ____ _____ ______ ____ -// | _// __ \| | _/ __ \\__ \ / ___// __ \ -// | | \ ___/| |_\ ___/ / __ \_\___ \\ ___/ -// |____|_ /\___ >____/\___ >____ /____ >\___ > -// \/ \/ \/ \/ \/ \/ - -type NewRelease struct { - TagName string `binding:"Required"` - Target string `form:"tag_target" binding:"Required"` - Title string `binding:"Required"` - Content string - Draft string - Prerelease bool - Files []string -} - -func (f *NewRelease) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type EditRelease struct { - Title string `binding:"Required"` - Content string - Draft string - Prerelease bool - Files []string -} - -func (f *EditRelease) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// __ __.__ __ .__ -// / \ / \__| | _|__| -// \ \/\/ / | |/ / | -// \ /| | <| | -// \__/\ / |__|__|_ \__| -// \/ \/ - -type NewWiki struct { - OldTitle string - Title string `binding:"Required"` - Content string `binding:"Required"` - Message string -} - -// FIXME: use code generation to generate this method. -func (f *NewWiki) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// ___________ .___.__ __ -// \_ _____/ __| _/|__|/ |_ -// | __)_ / __ | | \ __\ -// | \/ /_/ | | || | -// /_______ /\____ | |__||__| -// \/ \/ - -type EditRepoFile struct { - TreePath string `binding:"Required;MaxSize(500)"` - Content string `binding:"Required"` - CommitSummary string `binding:"MaxSize(100)` - CommitMessage string - CommitChoice string `binding:"Required;MaxSize(50)"` - NewBranchName string `binding:"AlphaDashDotSlash;MaxSize(100)"` - LastCommit string -} - -func (f *EditRepoFile) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -func (f *EditRepoFile) IsNewBrnach() bool { - return f.CommitChoice == "commit-to-new-branch" -} - -type EditPreviewDiff struct { - Content string -} - -func (f *EditPreviewDiff) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// ____ ___ .__ .___ -// | | \______ | | _________ __| _/ -// | | /\____ \| | / _ \__ \ / __ | -// | | / | |_> > |_( <_> ) __ \_/ /_/ | -// |______/ | __/|____/\____(____ /\____ | -// |__| \/ \/ -// - -type UploadRepoFile struct { - TreePath string `binding:MaxSize(500)"` - CommitSummary string `binding:"MaxSize(100)` - CommitMessage string - CommitChoice string `binding:"Required;MaxSize(50)"` - NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"` - Files []string -} - -func (f *UploadRepoFile) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -func (f *UploadRepoFile) IsNewBrnach() bool { - return f.CommitChoice == "commit-to-new-branch" -} - -type RemoveUploadFile struct { - File string `binding:"Required;MaxSize(50)"` -} - -func (f *RemoveUploadFile) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// ________ .__ __ -// \______ \ ____ | | _____/ |_ ____ -// | | \_/ __ \| | _/ __ \ __\/ __ \ -// | ` \ ___/| |_\ ___/| | \ ___/ -// /_______ /\___ >____/\___ >__| \___ > -// \/ \/ \/ \/ - -type DeleteRepoFile struct { - CommitSummary string `binding:"MaxSize(100)` - CommitMessage string - CommitChoice string `binding:"Required;MaxSize(50)"` - NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"` -} - -func (f *DeleteRepoFile) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -func (f *DeleteRepoFile) IsNewBrnach() bool { - return f.CommitChoice == "commit-to-new-branch" -} diff --git a/pkg/form/user.go b/pkg/form/user.go deleted file mode 100644 index ffc7dda4..00000000 --- a/pkg/form/user.go +++ /dev/null @@ -1,155 +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 form - -import ( - "mime/multipart" - - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" -) - -type Install struct { - DbType string `binding:"Required"` - DbHost string - DbUser string - DbPasswd string - DbName string - SSLMode string - DbPath string - - AppName string `binding:"Required" locale:"install.app_name"` - RepoRootPath string `binding:"Required"` - RunUser string `binding:"Required"` - Domain string `binding:"Required"` - SSHPort int - UseBuiltinSSHServer bool - HTTPPort string `binding:"Required"` - AppUrl string `binding:"Required"` - LogRootPath string `binding:"Required"` - EnableConsoleMode bool - - SMTPHost string - SMTPFrom string - SMTPUser string `binding:"OmitEmpty;MaxSize(254)" locale:"install.mailer_user"` - SMTPPasswd string - RegisterConfirm bool - MailNotify bool - - OfflineMode bool - DisableGravatar bool - EnableFederatedAvatar bool - DisableRegistration bool - EnableCaptcha bool - RequireSignInView bool - - AdminName string `binding:"OmitEmpty;AlphaDashDot;MaxSize(30)" locale:"install.admin_name"` - AdminPasswd string `binding:"OmitEmpty;MaxSize(255)" locale:"install.admin_password"` - AdminConfirmPasswd string - AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"` -} - -func (f *Install) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// _____ ____ _________________ ___ -// / _ \ | | \__ ___/ | \ -// / /_\ \| | / | | / ~ \ -// / | \ | / | | \ Y / -// \____|__ /______/ |____| \___|_ / -// \/ \/ - -type Register struct { - UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"` - Email string `binding:"Required;Email;MaxSize(254)"` - Password string `binding:"Required;MaxSize(255)"` - Retype string -} - -func (f *Register) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type SignIn struct { - UserName string `binding:"Required;MaxSize(254)"` - Password string `binding:"Required;MaxSize(255)"` - LoginSource int64 - Remember bool -} - -func (f *SignIn) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -// __________________________________________.___ _______ ________ _________ -// / _____/\_ _____/\__ ___/\__ ___/| |\ \ / _____/ / _____/ -// \_____ \ | __)_ | | | | | |/ | \/ \ ___ \_____ \ -// / \ | \ | | | | | / | \ \_\ \/ \ -// /_______ //_______ / |____| |____| |___\____|__ /\______ /_______ / -// \/ \/ \/ \/ \/ - -type UpdateProfile struct { - Name string `binding:"Required;AlphaDashDot;MaxSize(35)"` - FullName string `binding:"MaxSize(100)"` - Email string `binding:"Required;Email;MaxSize(254)"` - Website string `binding:"Url;MaxSize(100)"` - Location string `binding:"MaxSize(50)"` -} - -func (f *UpdateProfile) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -const ( - AVATAR_LOCAL string = "local" - AVATAR_BYMAIL string = "bymail" -) - -type Avatar struct { - Source string - Avatar *multipart.FileHeader - Gravatar string `binding:"OmitEmpty;Email;MaxSize(254)"` - Federavatar bool -} - -func (f *Avatar) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type AddEmail struct { - Email string `binding:"Required;Email;MaxSize(254)"` -} - -func (f *AddEmail) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type ChangePassword struct { - OldPassword string `binding:"Required;MinSize(1);MaxSize(255)"` - Password string `binding:"Required;MaxSize(255)"` - Retype string -} - -func (f *ChangePassword) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type AddSSHKey struct { - Title string `binding:"Required;MaxSize(50)"` - Content string `binding:"Required"` -} - -func (f *AddSSHKey) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} - -type NewAccessToken struct { - Name string `binding:"Required"` -} - -func (f *NewAccessToken) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validate(errs, ctx.Data, f, ctx.Locale) -} |