package schema

// UserDataset UserDataset对象
type UserDataset struct {
	RecordID    string `json:"record_id"`    // 记录id
	UserId      string `json:"user_id"`      // 用户id
	DatasetId   string `json:"dataset_id"`   // 知识库id
	DatasetName string `json:"dataset_name"` // 知识库名称
	Type        int    `json:"type"`         // 可用类型  1 编辑  2仅访问
}

// UserDatasetQueryParam 查询条件
type UserDatasetQueryParam struct {
	UserId string
}

// UserDatasetQueryOptions UserDataset对象查询可选参数项
type UserDatasetQueryOptions struct {
	PageParam *PaginationParam // 分页参数
}

type UserDatasets []*UserDataset

// UserDatasetQueryResult UserDataset对象查询结果
type UserDatasetQueryResult struct {
	Data       UserDatasets
	PageResult *PaginationResult
}

func (a UserDatasets) ToDatasetIds() []string {
	datasetIds := make([]string, len(a))
	for k, v := range a {
		datasetIds[k] = v.DatasetId
	}
	return datasetIds
}

// FillDatasetName 填充知识库名称
func (a UserDatasets) FillDatasetName(users Datasets) {
	for _, o := range a {
		for _, u := range users {
			if o.DatasetId == u.RecordID {
				o.DatasetName = u.Name
				continue
			}
		}
	}
}
