| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package schema
- import "time"
- // Dataset Dataset对象
- type Dataset struct {
- RecordID string `json:"record_id"` // 记录id
- OrgId string `json:"org_id"` // 归属组织id(共享知识库可为空)
- OrgName string `json:"org_name"` // 归属组织名称
- Name string `json:"name"` // 名称
- Type int `json:"type"` // 1 公共/共享 2 企业 3 个人
- Status bool `json:"status"` // 状态
- FileCount int `json:"file_count"` // 文件数量
- Files DatasetFiles `json:"files"` // 文件列表
- RagDataId string `json:"rag_data_id"` // ragFlow知识库id
- CreatorId string `json:"creator_id"` // 创建人id
- CreatorName string `json:"creator_name"` // 创建人名称
- CreatedAt time.Time `json:"created_at"` // 创建时间
- Sequence int `json:"sequence"` // 排序值
- }
- // DatasetQueryParam 查询条件
- type DatasetQueryParam struct {
- OrgId string
- LikeName string
- RecordIds []string
- Type int // 0 表示不按类型筛选
- Types []int // 按多种类型筛选
- }
- // DatasetQueryOptions Dataset对象查询可选参数项
- type DatasetQueryOptions struct {
- PageParam *PaginationParam // 分页参数
- }
- type Datasets []*Dataset
- // DatasetQueryResult Dataset对象查询结果
- type DatasetQueryResult struct {
- Data Datasets
- PageResult *PaginationResult
- }
- func (a Datasets) ToRecordIds() []string {
- recordIds := make([]string, len(a))
- for k, v := range a {
- recordIds[k] = v.RecordID
- }
- return recordIds
- }
- func (a Datasets) ToRagDataIds() []string {
- Ids := make([]string, len(a))
- for k, v := range a {
- Ids[k] = v.RagDataId
- }
- return Ids
- }
- func (a Datasets) ToOrgIds() []string {
- Ids := make([]string, len(a))
- for k, v := range a {
- Ids[k] = v.OrgId
- }
- return Ids
- }
- // FillCreator 填充创建者信息
- func (a Datasets) FillCreator(users Users) {
- for _, o := range a {
- for _, u := range users {
- if o.CreatorId == u.RecordID {
- o.CreatorName = u.RealName
- continue
- }
- }
- }
- }
- // ToMap
- func (a Datasets) ToMap() map[string]*Dataset {
- m := make(map[string]*Dataset)
- for _, item := range a {
- m[item.RecordID] = item
- }
- return m
- }
- // AvailableDatasets 可用知识库(按 type 分桶)
- // 业务场景:
- // - 新建企业:查询全部公共/共享知识库(PublicDatasets)
- // - 为企业新增管理员/员工:查询该企业可访问的全部知识库
- // (被分配的共享 PublicDatasets + 企业自建 OrgDatasets)
- type AvailableDatasets struct {
- PublicDatasets Datasets `json:"public_datasets"` // 公共/共享(type=1)
- OrgDatasets Datasets `json:"org_datasets"` // 企业自建(type=2)
- }
|