You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

dataset_reference.go 1.2 kB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package models
  2. import "code.gitea.io/gitea/modules/timeutil"
  3. type DatasetReference struct {
  4. ID int64 `xorm:"pk autoincr"`
  5. RepoID int64 `xorm:"INDEX unique(repo_dataset)"`
  6. DatasetID int64 `xorm:"INDEX unique(repo_dataset)"`
  7. CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
  8. }
  9. func GetDatasetIdsByRepoID(repoID int64) []int64 {
  10. var datasets []int64
  11. _ = x.Table("dataset_reference").Where("repo_id=?", repoID).
  12. Cols("dataset_reference.dataset_id").Find(&datasets)
  13. return datasets
  14. }
  15. func DeleteDatasetIdsByRepoID(repoID int64, datasetIds []int64) error {
  16. if len(datasetIds) == 0 {
  17. return nil
  18. }
  19. _, err := x.In("dataset_id", datasetIds).And("repo_id", repoID).Delete(new(DatasetReference))
  20. return err
  21. }
  22. func NewDatasetIdsByRepoID(repoID int64, datasetIds []int64) error {
  23. var datasetReference []DatasetReference
  24. for _, datasetId := range datasetIds {
  25. datasetReference = append(datasetReference, DatasetReference{
  26. DatasetID: datasetId,
  27. RepoID: repoID,
  28. })
  29. }
  30. _, err := x.Insert(datasetReference)
  31. return err
  32. }
  33. func DeleteReferenceDatasetByDatasetID(datasetId int64) error {
  34. _, err := x.Delete(&DatasetReference{DatasetID: datasetId})
  35. return err
  36. }