| @@ -1133,6 +1133,9 @@ func IsUsableRepoAlias(name string) error { | |||||
| // CreateRepository creates a repository for the user/organization. | // CreateRepository creates a repository for the user/organization. | ||||
| func CreateRepository(ctx DBContext, doer, u *User, repo *Repository, opts ...CreateRepoOptions) (err error) { | func CreateRepository(ctx DBContext, doer, u *User, repo *Repository, opts ...CreateRepoOptions) (err error) { | ||||
| if repo.Alias == "" { | |||||
| repo.Alias = repo.Name | |||||
| } | |||||
| repo.LowerAlias = strings.ToLower(repo.Alias) | repo.LowerAlias = strings.ToLower(repo.Alias) | ||||
| if err = IsUsableRepoName(repo.Name); err != nil { | if err = IsUsableRepoName(repo.Name); err != nil { | ||||
| return err | return err | ||||
| @@ -100,6 +100,10 @@ type CreateRepoOption struct { | |||||
| // required: true | // required: true | ||||
| // unique: true | // unique: true | ||||
| Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(100)"` | Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(100)"` | ||||
| // Alias of the repository to create | |||||
| // required: false | |||||
| // unique: true | |||||
| Alias string `json:"alias" binding:"AlphaDashDotChinese;MaxSize(100)"` | |||||
| // Description of the repository to create | // Description of the repository to create | ||||
| Description string `json:"description" binding:"MaxSize(255)"` | Description string `json:"description" binding:"MaxSize(255)"` | ||||
| // Whether the repository is private | // Whether the repository is private | ||||
| @@ -128,6 +128,9 @@ func addAlphaDashDotChineseRule() { | |||||
| return strings.HasPrefix(rule, "AlphaDashDotChinese") | return strings.HasPrefix(rule, "AlphaDashDotChinese") | ||||
| }, | }, | ||||
| IsValid: func(errs binding.Errors, name string, val interface{}) (bool, binding.Errors) { | IsValid: func(errs binding.Errors, name string, val interface{}) (bool, binding.Errors) { | ||||
| if val == "" { | |||||
| return true, errs | |||||
| } | |||||
| if !ValidAlphaDashDotChinese(fmt.Sprintf("%v", val)) { | if !ValidAlphaDashDotChinese(fmt.Sprintf("%v", val)) { | ||||
| errs.Add([]string{name}, ErrAlphaDashDotChinese, "ErrAlphaDashDotChinese") | errs.Add([]string{name}, ErrAlphaDashDotChinese, "ErrAlphaDashDotChinese") | ||||
| return false, errs | return false, errs | ||||
| @@ -232,6 +232,7 @@ func CreateUserRepo(ctx *context.APIContext, owner *models.User, opt api.CreateR | |||||
| } | } | ||||
| repo, err := repo_service.CreateRepository(ctx.User, owner, models.CreateRepoOptions{ | repo, err := repo_service.CreateRepository(ctx.User, owner, models.CreateRepoOptions{ | ||||
| Name: opt.Name, | Name: opt.Name, | ||||
| Alias: opt.Alias, | |||||
| Description: opt.Description, | Description: opt.Description, | ||||
| IssueLabels: opt.IssueLabels, | IssueLabels: opt.IssueLabels, | ||||
| Gitignores: opt.Gitignores, | Gitignores: opt.Gitignores, | ||||