Browse Source

create or find dataset when create/update repo

tags/v1.21.12.1
yan 5 years ago
parent
commit
06b3c1d727
3 changed files with 25 additions and 0 deletions
  1. +16
    -0
      models/dataset.go
  2. +5
    -0
      models/repo.go
  3. +4
    -0
      routers/repo/setting.go

+ 16
- 0
models/dataset.go View File

@@ -93,6 +93,22 @@ func CreateDataset(dataset *Dataset) (err error) {
return nil
}

func CreateDefaultDatasetToRepo(repo *Repository) (err error) {
dataset := &Dataset{RepoID: repo.ID}
has, err := x.Get(dataset)
if err != nil {
return err
}
if !has {
dataset.Status = DatasetStatusPrivate
dataset.Title = repo.Name
if err = CreateDataset(dataset); err != nil {
return err
}
}
return nil
}

func SearchDataset(opts *SearchDatasetOptions) (DatasetList, int64, error) {
cond := SearchDatasetCondition(opts)
return SearchDatasetByCondition(opts, cond)


+ 5
- 0
models/repo.go View File

@@ -1138,6 +1138,10 @@ func CreateRepository(ctx DBContext, doer, u *User, repo *Repository) (err error
return fmt.Errorf("copyDefaultWebhooksToRepo: %v", err)
}

if err = CreateDefaultDatasetToRepo(repo); err != nil {
return fmt.Errorf("models.CreateDefaultDatasetToRepo: %v", err)
}

return nil
}

@@ -1578,6 +1582,7 @@ func DeleteRepository(doer *User, uid, repoID int64) error {
&LanguageStat{RepoID: repoID},
&Comment{RefRepoID: repoID},
&Task{RepoID: repoID},
&Dataset{RepoID: repoID},
); err != nil {
return fmt.Errorf("deleteBeans: %v", err)
}


+ 4
- 0
routers/repo/setting.go View File

@@ -210,6 +210,10 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
// This section doesn't require repo_name/RepoName to be set in the form, don't show it
// as an error on the UI for this action
ctx.Data["Err_RepoName"] = nil
if err := models.CreateDefaultDatasetToRepo(repo); err != nil {
ctx.ServerError("CreateDefaultDatasetToRepo", err)
return
}

if form.EnableDataset && !models.UnitTypeDatasets.UnitGlobalDisabled() {
units = append(units, models.RepoUnit{


Loading…
Cancel
Save