s_dataset.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package schema
  2. import "time"
  3. // Dataset Dataset对象
  4. type Dataset struct {
  5. RecordID string `json:"record_id"` // 记录id
  6. OrgId string `json:"org_id"` // 组织id
  7. OrgName string `json:"org_name"` // 知识库名称
  8. Name string `json:"name"` // 名称
  9. Status bool `json:"status"` // 状态
  10. FileCount int `json:"file_count"` // 文件数量
  11. Files DatasetFiles `json:"files"` // 文件列表
  12. RagDataId string `json:"rag_data_id"` // ragFlow知识库id
  13. CreatorId string `json:"creator_id"` // 创建人id
  14. CreatorName string `json:"creator_name"` // 创建人名称
  15. CreatedAt time.Time `json:"created_at"` // 创建时间
  16. Sequence int `json:"sequence"` // 排序值
  17. }
  18. // DatasetQueryParam 查询条件
  19. type DatasetQueryParam struct {
  20. OrgId string
  21. LikeName string
  22. RecordIds []string
  23. }
  24. // DatasetQueryOptions Dataset对象查询可选参数项
  25. type DatasetQueryOptions struct {
  26. PageParam *PaginationParam // 分页参数
  27. }
  28. type Datasets []*Dataset
  29. // DatasetQueryResult Dataset对象查询结果
  30. type DatasetQueryResult struct {
  31. Data Datasets
  32. PageResult *PaginationResult
  33. }
  34. func (a Datasets) ToRecordIds() []string {
  35. recordIds := make([]string, len(a))
  36. for k, v := range a {
  37. recordIds[k] = v.RecordID
  38. }
  39. return recordIds
  40. }
  41. func (a Datasets) ToRagDataIds() []string {
  42. Ids := make([]string, len(a))
  43. for k, v := range a {
  44. Ids[k] = v.RagDataId
  45. }
  46. return Ids
  47. }
  48. // FillCreator 填充创建者信息
  49. func (a Datasets) FillCreator(users Users) {
  50. for _, o := range a {
  51. for _, u := range users {
  52. if o.CreatorId == u.RecordID {
  53. o.CreatorName = u.RealName
  54. continue
  55. }
  56. }
  57. }
  58. }