|
- package models
-
- import "code.gitea.io/gitea/modules/timeutil"
-
- type DatasetReference struct {
- ID int64 `xorm:"pk autoincr"`
- RepoID int64 `xorm:"INDEX unique(repo_dataset)"`
- DatasetID int64 `xorm:"INDEX unique(repo_dataset)"`
- CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
- }
-
- func GetDatasetIdsByRepoID(repoID int64) []int64 {
- var datasets []int64
- _ = x.Table("dataset_reference").Where("repo_id=?", repoID).
- Cols("dataset_reference.dataset_id").Find(&datasets)
- return datasets
- }
-
- func DeleteDatasetIdsByRepoID(repoID int64, datasetIds []int64) error {
- if len(datasetIds) == 0 {
- return nil
- }
- _, err := x.In("dataset_id", datasetIds).And("repo_id", repoID).Delete(new(DatasetReference))
- return err
- }
-
- func NewDatasetIdsByRepoID(repoID int64, datasetIds []int64) error {
- var datasetReference []DatasetReference
- for _, datasetId := range datasetIds {
- datasetReference = append(datasetReference, DatasetReference{
- DatasetID: datasetId,
- RepoID: repoID,
- })
- }
- _, err := x.Insert(datasetReference)
- return err
- }
-
- func DeleteReferenceDatasetByDatasetID(datasetId int64) error {
- _, err := x.Delete(&DatasetReference{DatasetID: datasetId})
- return err
- }
|