886 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			886 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Thrift
		
	
	
	
| include "../../../base.thrift"
 | ||
| 
 | ||
| enum RefType {
 | ||
|     NoRef = 0
 | ||
|     Bot = 1
 | ||
|     ChatGroup = 2
 | ||
| }
 | ||
| 
 | ||
| struct RefInfo {
 | ||
|     1: RefType ref_type // 引用类型
 | ||
|     2: string ref_id // 引用 id
 | ||
| }
 | ||
| 
 | ||
| enum BotTableStatus {
 | ||
|     Online = 1 // 已上线
 | ||
|     Delete = 2 // 删除
 | ||
| }
 | ||
| 
 | ||
| enum FieldItemType {
 | ||
|     Text   = 1 // 文本
 | ||
|     Number = 2 // 数字
 | ||
|     Date   = 3 // 时间
 | ||
|     Float   = 4 // float
 | ||
|     Boolean = 5 // bool
 | ||
| }
 | ||
| 
 | ||
| struct FieldItem {
 | ||
|     1: string        name
 | ||
|     2: string        desc
 | ||
|     3: FieldItemType type
 | ||
|     4: bool          must_required
 | ||
|     5: i64           id            // 该字段只用来判断是否发布,不为 0 就是已发布的,前端对已发布的字段不能修改字段类型
 | ||
|     6: i64           alterId       // 修改字段时(alter、publish)用来判断增删改,0 表示新增,非 0 表示修改或删除
 | ||
|     7: bool          is_system_field // 是否是系统字段
 | ||
| }
 | ||
| 
 | ||
| enum BotTableRWMode {
 | ||
|     LimitedReadWrite    = 1     // 单用户模式
 | ||
|     ReadOnly            = 2     // 只读模式
 | ||
|     UnlimitedReadWrite  = 3     // 多用户模式
 | ||
|     RWModeMax           = 4     // Max 边界值
 | ||
| }
 | ||
| 
 | ||
| struct OrderBy {
 | ||
|     1: string field
 | ||
|     2: SortDirection direction
 | ||
| }
 | ||
| 
 | ||
| enum SortDirection {
 | ||
|     ASC = 1
 | ||
|     Desc = 2
 | ||
| }
 | ||
| 
 | ||
| struct Criterion{
 | ||
|     1: list<Condition> conditions
 | ||
|     2: string logic_expression
 | ||
| }
 | ||
| 
 | ||
| struct ListDatabaseRequest {
 | ||
|     1:   optional i64        creator_id  (api.js_conv="str") // 获取创建者为某个用户的的数据库
 | ||
|     2:   optional i64        project_id (api.js_conv="str") // 获取project下的数据库
 | ||
|     3:   optional i64        space_id (api.js_conv="str") //获取空间下的可见数据库
 | ||
|     4:   optional i64        bot_id (api.js_conv="str")  //对bot_id进行过滤,过滤掉已经添加到bot中的database
 | ||
|     5:   optional string     table_name // 表格名称,模糊搜索
 | ||
|     6:   required TableType  table_type // 查草稿态database
 | ||
|     7:   optional list<OrderBy> order_by // 排序
 | ||
|     8:   optional i32 offset
 | ||
|     9:   optional i32 limit
 | ||
|     10: optional Criterion filter_criterion  //筛选条件
 | ||
|     11: optional list<OrderBy> order_by_list   //排序条件
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct DatabaseInfo {
 | ||
|     1:  i64             id          (api.js_conv="str", api.key="id") // online_database_info的主键id
 | ||
|     2:  i64             space_id    (api.js_conv="str") // 空间的id
 | ||
|     3:  i64             project_id  (api.js_conv="str") // project id
 | ||
|     4:  string          datamodel_table_id    // datamodel侧的表id
 | ||
|     5:  string          icon_url    // 头像url
 | ||
|     6:  string          icon_uri    // 头像url
 | ||
|     7:  string          table_name  // 表名
 | ||
|     8:  string          table_desc  // 表描述
 | ||
|     9:  BotTableStatus  status      // 状态
 | ||
|     10: i64             creator_id  (api.js_conv="str") // 创建者id
 | ||
|     11: i64             create_time // 创建时间
 | ||
|     12: i64             update_time // 更新时间
 | ||
|     13: list<FieldItem> field_list  // 字段信息
 | ||
|     14: string          actual_table_name    // 数据表实际名称
 | ||
|     15: BotTableRWMode  rw_mode     // 读写模式
 | ||
|     16: bool            prompt_disabled  // 是否支持prompt调用
 | ||
|     17: bool            is_visible   // 是否可见
 | ||
|     18: optional i64    draft_id     (api.js_conv="str")   // 对应草稿态的id
 | ||
|     19: optional i64    bot_id       (api.js_conv="str", api.key="bot_id") // 相关id. bot_id,老的有,新的没有
 | ||
|     20: optional map<string,string> extra_info // 扩展信息
 | ||
|     21: optional bool   is_added_to_bot // 是否已经添加到bot中
 | ||
| }
 | ||
| 
 | ||
| struct ListDatabaseResponse{
 | ||
|     1:   list<DatabaseInfo>  database_info_list
 | ||
|     2:   bool  has_more
 | ||
|     3:   i64   total_count
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct SingleDatabaseRequest{
 | ||
|     1:  i64   id         (api.js_conv="str", api.key="id") // database_info的主键id
 | ||
|     2:  bool  is_draft   (api.key="is_draft") //传入的是否是草稿态数据,默认是false
 | ||
|     3:  bool  need_sys_fields (api.key="need_sys_fields") //是否需要系统字段
 | ||
|     4:  i64   version    (api.js_conv="str") // 版本号,不传默认是最新的
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct SingleDatabaseResponse{
 | ||
|     1:  DatabaseInfo  database_info
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct AddDatabaseRequest{
 | ||
|     1:  i64             creator_id  (api.js_conv="str") // 创建者id
 | ||
|     2:  i64             space_id    (api.js_conv="str") // 空间的id
 | ||
|     3:  i64             project_id  (api.js_conv="str") // project id
 | ||
|     4:  string          icon_uri    // 头像url
 | ||
|     5:  string          table_name  // 表名
 | ||
|     6:  string          table_desc  // 表描述
 | ||
|     7:  list<FieldItem> field_list  // 字段信息
 | ||
|     8:  BotTableRWMode  rw_mode     // 读写模式,单用户模式/多用户模式
 | ||
|     9:  bool            prompt_disabled  // 是否支持prompt调用
 | ||
|     10:  optional map<string,string> extra_info // 扩展信息
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct UpdateDatabaseRequest{
 | ||
|     1:   i64             id     (api.js_conv="str", api.key="id") // database_info的主键id
 | ||
|     2:   string          icon_uri    // 头像url
 | ||
|     3:   string          table_name  // 表名
 | ||
|     5:   string          table_desc  // 表描述
 | ||
|     6:   list<FieldItem> field_list  // 字段信息
 | ||
|     7:   BotTableRWMode  rw_mode     // 读写模式,单用户模式/多用户模式
 | ||
|     8:   bool            prompt_disabled  // 是否支持prompt调用
 | ||
|     9:   optional map<string,string> extra_info // 扩展信息
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct DeleteDatabaseRequest{
 | ||
|     1:   i64     id     (api.js_conv="str", api.key="id") // database_info的主键id
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct DeleteDatabaseResponse {
 | ||
|     1: required i64 code
 | ||
|     2: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct BindDatabaseToBotRequest{
 | ||
|     1: i64 database_id (api.js_conv="str") // 草稿态数据database表主键id,注意是草稿态哈
 | ||
|     2: i64 bot_id    (api.js_conv="str") // bot_id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct BindDatabaseToBotResponse{
 | ||
|     1: required i64 code
 | ||
|     2: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct ListDatabaseRecordsRequest{
 | ||
|     1: required i64    database_id (api.js_conv="str") // database_id
 | ||
|     2: optional i64    bot_id (api.js_conv="str", api.key="bot_id") // bot id,这里是查找bot关联的草稿态数据的时候填这个
 | ||
|     3: optional i64    workflow_id (api.js_conv="str", api.key="workflow_id") // workflow_id,,这里是查找wk_flow关联的草稿态表的时候填这个
 | ||
|     4: optional bool not_filter_by_user_id                     // 为true不根据user_id进行过滤Records
 | ||
|     5: optional bool not_filter_by_connector_id               // 为true不根据ConnectorID进行过滤Records
 | ||
|     6: TableType table_type    // 要查的是草稿态还是线上态
 | ||
|     7: i64    limit            // 别超过100,建议50
 | ||
|     8: i64    offset           // 偏移量
 | ||
|     9: optional i64 project_id (api.js_conv="str") // 同个project下数据不隔离
 | ||
|     10: optional ComplexCondition  filter_criterion  //筛选条件
 | ||
|     11: optional list<OrderBy> order_by_list   //排序条件
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| struct ListDatabaseRecordsRequestRPC{
 | ||
|     1: required i64    database_id (api.js_conv="str") // database_id
 | ||
|     2: TableType table_type    // 要查的是草稿态还是线上态
 | ||
|     3: i64    limit            // 别超过100,建议50
 | ||
|     4: i64    offset           // 偏移量
 | ||
|     5: string user_id          // 用户id
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| struct ListDatabaseRecordsResponseRPC{
 | ||
|     1: required list<map<string,string>> data
 | ||
|     2: required bool                     HasMore=false
 | ||
|     3: required i32                      TotalNum
 | ||
|     4: list<FieldItem> field_list  // 字段信息
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct ListDatabaseRecordsResponse{
 | ||
|     1: required list<map<string,string>> data
 | ||
|     2: required bool                     HasMore=false
 | ||
|     3: required i32                      TotalNum
 | ||
|     4: optional list<FieldItem> field_list  // 字段信息
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct UpdateDatabaseRecordsRequest{
 | ||
|     1: required i64 database_id (api.js_conv="str") // database_id
 | ||
|     2: optional list<map<string,string>> record_data_add // 新增的
 | ||
|     3: optional list<map<string,string>> record_data_alter // 修改的
 | ||
|     4: optional list<map<string,string>> record_data_delete // 删除的
 | ||
|     5: optional TableType table_type    // 要更新的的是草稿态还是线上态
 | ||
|     6: optional string    ori_connector_id // 更新时需穿入connector id
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct UpdateDatabaseRecordsResponse{
 | ||
|     1: required list<map<string,string>> data
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| struct GetOnlineDatabaseIdRequest{
 | ||
|     1: required i64 id (api.js_conv="str") // draft 的database_id
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct GetOnlineDatabaseIdResponse{
 | ||
|     1: optional i64 id   (api.js_conv="str")   // 根据草稿的id查询线上的id
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct BotTable {
 | ||
|     1:  i64             id          (api.js_conv="str", api.key="id") // 自增id,table id
 | ||
|     2:  i64             bot_id      (api.js_conv="str", api.key="bot_id") // 相关id. bot_id
 | ||
|     3:  string          table_id    // table_id
 | ||
|     4:  string          table_name  // 表名
 | ||
|     5:  string          table_desc  // 表描述
 | ||
|     6:  BotTableStatus  status      // 状态
 | ||
|     7:  i64             creator_id  // 创建着id
 | ||
|     8:  i64             create_time // 创建时间
 | ||
|     9:  i64             update_time // 更新时间
 | ||
|     10: list<FieldItem> field_list  // 字段信息
 | ||
|     11: string          actual_table_name    // 数据表实际名称
 | ||
|     12: BotTableRWMode  rw_mode     // 读写模式
 | ||
|     13: optional map<string,string> extra_info // 扩展信息
 | ||
| }
 | ||
| 
 | ||
| struct InsertBotTableRequest {
 | ||
|     1: BotTable bot_table // 保存表信息
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct InsertBotTableResponse {
 | ||
|     1: i64 table_id(api.js_conv="str", api.key="table_id") // table id
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct AlterBotTableRequest {
 | ||
|     1: BotTable bot_table // 修改表信息
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct AlterBotTableResponse {
 | ||
|     1: i64 table_id(api.js_conv="str", api.key="table_id") // table id
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct DeleteBotTableRequest {
 | ||
|     1: required i64 related_id(api.js_conv="str", api.key="related_id")
 | ||
|     2: required i64 table_id(api.js_conv="str", api.key="table_id")
 | ||
|     3: optional i64 user_id
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct DeleteBotTableResponse {
 | ||
|     1: i64 table_id(api.js_conv="str", api.key="table_id") // table id
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct GetBotTableRequest {
 | ||
|     1: optional i64       creator_id
 | ||
|     2: optional i64       bot_id(api.js_conv="str", api.key="bot_id")
 | ||
|     3: optional list<i64> table_ids(api.js_conv="str", api.key="table_ids")
 | ||
|     4: required TableType table_type
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct GetBotTableResponse {
 | ||
|     1: list<BotTable> BotTableList
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct CopyDatabaseRequest {
 | ||
|    1: required string IdempotentId    //ID生成器生成
 | ||
|    2: required list<i64> TableIds       //原来的tableId
 | ||
|    3: required i64 ToSpaceId
 | ||
|    4: required i64 ToUserId
 | ||
|    5: required i64 ToBotId
 | ||
|    6: required TableType table_type
 | ||
| 
 | ||
|    255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct CopyDatabaseResponse {
 | ||
|     1: required map<i64, i64> TableIdsMapping
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct CopyDatabaseRollbackRequest {
 | ||
|    1: required string IdempotentId    // ID生成器生成
 | ||
|    2: required map<i64, i64> TableIdsMapping  // CopyDatabaseResponse返回的参数
 | ||
| 
 | ||
|    255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct CopyDatabaseRollbackResponce {
 | ||
|    1: required  bool Result
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct GetNL2SQLRequest {
 | ||
|     1: required string    text          // 数据库请求的自然语言描述
 | ||
|     2: required i64       bot_id        // bot id
 | ||
|     3: optional i64       connector_id  // 业务线id
 | ||
|     4: optional string    connector_uid // 业务线用户id
 | ||
|     5: required TableType table_type    // table类型,分 draft 和 online 两种
 | ||
|     6: optional i64       database_id  (api.js_conv="str") // 数据库id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct GetNL2SQLResponse {
 | ||
|     1: i32 code
 | ||
|     2: string msg
 | ||
|     3: required string sql
 | ||
|     4: optional map<string,string> extraMap
 | ||
| 
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct GetModeConfigRequest {
 | ||
|     1: required i64       bot_id        // bot id
 | ||
|     2: optional i64       connector_id  // 业务线id
 | ||
|     3: optional string    connector_uid // 业务线用户id
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct GetModeConfigResponse {
 | ||
|     1: i32 code
 | ||
|     2: string msg
 | ||
|     3: string mode
 | ||
|     4: i64    bot_id
 | ||
|     5: i64    max_table_num
 | ||
|     6: i64    max_column_num
 | ||
|     7: i64    max_capacity_kb
 | ||
|     8: i64    max_row_num
 | ||
| 
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct ResetBotTableRequest {
 | ||
|     1: optional i64 creator_id         (api.js_conv="str", api.key="creator_id")
 | ||
|     2: optional i64 bot_id             (api.js_conv="str", api.key="bot_id")
 | ||
|     3: optional i64 table_id           (api.js_conv="str", api.key="table_id")
 | ||
|     4: required TableType table_type
 | ||
|     5: optional i64    connector_id  // 业务线id
 | ||
|     6: optional string connector_uid // 业务线用户id
 | ||
|     7: optional i64    workflow_id (api.js_conv="str")   // 工作流id
 | ||
|     8: optional i64    database_info_id (api.js_conv="str")   // 用户id
 | ||
|     9: optional i64    project_id (api.js_conv="str")   // 项目id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct ResetBotTableResponse {
 | ||
|     253: optional i64 code
 | ||
|     254: optional string msg
 | ||
|     255: required base.BaseResp BaseResp(api.none="true")
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| /********  bot_table end     ********/
 | ||
| 
 | ||
| /********      Bytedoc  bot_table_info  start   ********/
 | ||
| struct BatchInsertBotTableInfoRequest {
 | ||
|     1: string                   db_name         // 数据库名称
 | ||
|     2: string                   collection_name // 集合名
 | ||
|     3: list<map<string,string>> data            // 保存数据
 | ||
|     4: i64                      user_id         // 用户id
 | ||
|     5: i64                      bot_id          // bot id
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct BatchInsertBotTableInfoResponse {
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct UpdateBotTableInfoRequest {
 | ||
|     1: string                   db_name         // 数据库名称
 | ||
|     2: string                   collection_name // 集合名
 | ||
|     3: list<map<string,string>> data_list       // 更新数据
 | ||
|     4: i64                      user_id         // 用户id
 | ||
|     5: i64                      bot_id           // bot id
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct UpdateBotTableInfoResponse {
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct DeleteBotTableInfoRequest {
 | ||
|     1: string       db_name         // 数据库名称
 | ||
|     2: string       collection_name // 集合名
 | ||
|     3: list<string> ids             // 删除id 列表
 | ||
|     4: i64          user_id         // 用户id
 | ||
|     5: i64          bot_id          // bot id
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct DeleteBotTableInfoResponse {
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct SearchBotTableInfoRequest {
 | ||
|     1: string key_word      // 搜素词,目前忽略
 | ||
|     2: i64    limit
 | ||
|     3: i64    offset
 | ||
|     4: string connector_uid // 用户id
 | ||
|     5: i64    connector_id
 | ||
|     6: i64    bot_id(api.js_conv="str", api.key="bot_id") // bot id
 | ||
|     7: string table_name    // 目前忽略
 | ||
|     8: i64    table_id(api.js_conv="str", api.key="table_id")
 | ||
|     9: optional RefInfo ref_info // 引用信息
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct SearchBotTableInfoResponse {
 | ||
|     1: required list<map<string,string>> data
 | ||
|     2: required bool                     HasMore=false
 | ||
|     3: required i32                      TotalNum
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| enum TableType {
 | ||
|     DraftTable  = 1 // 草稿
 | ||
|     OnlineTable = 2 // 线上
 | ||
| }
 | ||
| 
 | ||
| struct ExecuteSqlRequest {
 | ||
|     1: string    sql           // RunCommand 能执行的sql
 | ||
|     2: i64       bot_id        // bot id
 | ||
|     3: i64       connector_id  // 业务线id
 | ||
|     4: string    connector_uid // 业务线用户id
 | ||
|     5: TableType table_type    // table类型
 | ||
|     6: string    wftest_id     // workflow test run 标识
 | ||
|     7: optional  RefInfo ref_info // 引用信息
 | ||
|     8: optional  list<SqlParamVal> SqlParams (api.key="sql_params")  // SQL params
 | ||
|     9: i64       database_info_id // database info 的id
 | ||
|     10: i64      workflow_id   // workflow id
 | ||
|     11: i64      project_id    // 项目id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct SqlParamVal {
 | ||
|   1: required FieldItemType ValueType      (go.tag="json:\"value_type\"")
 | ||
|   2: required bool ISNull           (go.tag="json:\"is_null\"")
 | ||
|   3: optional string Value          (go.tag="json:\"value\"")
 | ||
|   4: optional string Name           (go.tag="json:\"name\"")
 | ||
| }
 | ||
| 
 | ||
| struct ExecuteSqlResponse {
 | ||
|     1: required list<map<string,string>> data
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct BotTablePublishReq {
 | ||
|     1: required i64    bot_id
 | ||
|     2: optional i64    connector_id  // 业务线id
 | ||
|     3: optional string connector_uid // 业务线用户id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct BotTablePublishResp {
 | ||
|     1: i64    status // 执行状态: 0-执行成功 1-执行全部失败 2-执行部分失败
 | ||
|     2: string msg    // 错误信息
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct NL2SQLRequest {
 | ||
|     1: required string    text          // 数据库请求的自然语言描述
 | ||
|     2: required i64       bot_id        // bot id
 | ||
|     3: optional i64       connector_id  // 业务线id
 | ||
|     4: optional string    connector_uid // 业务线用户id
 | ||
|     5: required TableType table_type    // table类型,分 draft 和 online 两种
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct NL2SQLResponse {
 | ||
|     1: required string sql
 | ||
|     2: optional map<string,string> extraMap
 | ||
| 
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct QueryTableByNLRequest {
 | ||
|     1: required string    text                          // 数据库请求的自然语言描述
 | ||
|     2: required i64       bot_id                        // bot id
 | ||
|     3: required i64       connector_id                  // 业务线id
 | ||
|     4: required string    connector_uid                 // 业务线用户id
 | ||
|     5: required TableType table_type                    // table类型,分 draft 和 online 两种
 | ||
|     6: optional string    x_aiplugin_tako_bot_history   // chat history 透传到 nl2query 服务,由 nl2query 进行解析
 | ||
|     7: optional string    x_aiplugin_bot_system_message // bot_system_message 透传到 nl2query 服务,由 nl2query 进行解析
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct QueryTableByNLResponse {
 | ||
|     1: required list<map<string,string>> data
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| enum SceneType {
 | ||
|     BotPersona  = 1 // bot 个性描述
 | ||
|     ModelDesc   = 2 // 开发者给的模型文本描述
 | ||
| }
 | ||
| 
 | ||
| struct RecommendDataModelRequest {
 | ||
|     1: required i64       bot_id       (api.js_conv="str", api.key="bot_id")
 | ||
|     2: required SceneType scene_type   (api.key="scene_type")
 | ||
|     3: optional string    text         (api.key="text")
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct RecommendDataModelResponse {
 | ||
|     1: list<BotTable> BotTableList      (api.key="bot_table_list")
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| /********     Bytedoc  bot_table_info  end  ********/
 | ||
| 
 | ||
| struct BatchAlterTableRequest {
 | ||
|     1: string params
 | ||
| 
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct BatchAlterTableResponse {
 | ||
|     1: string res
 | ||
| 
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct MigrateDatabaseRequest{
 | ||
|     1: i64 bot_id
 | ||
|     2: i64 to_space_id
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct MigrateDatabaseResponse{
 | ||
|     1: required i64 code
 | ||
|     2: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct MigrateOldDataRequest{
 | ||
|     1: TableType bot_type // 迁移哪个表
 | ||
|     2: i64 bot_id (api.js_conv="str") // 迁移哪个bot
 | ||
|     3: list<i64> table_ids (api.js_conv="str") // 失败重试
 | ||
|     255: optional base.Base  Base
 | ||
| }
 | ||
| 
 | ||
| struct MigrateOldDataResponse{
 | ||
|     1: required i64 code
 | ||
|     2: required string msg
 | ||
|     255: required base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct MGetDisplayResourceInfoRequest {
 | ||
|     1 : list<i64> ResIDs,    // 最大传一页的数量,实现方可以限制最大100个
 | ||
|     2 : i64 CurrentUserID,   // 当前的用户,实现方用于判断权限
 | ||
|     255: base.Base Base  ,
 | ||
| }
 | ||
| 
 | ||
| struct MGetDisplayResourceInfoResponse {
 | ||
|     1  : list<DisplayResourceInfo> ResourceList,
 | ||
|     255: required base.BaseResp BaseResp,
 | ||
| }
 | ||
| 
 | ||
| enum ActionKey{
 | ||
|     Copy    = 1,        //复制
 | ||
|     Delete  = 2,        //删除
 | ||
|     EnableSwitch = 3,   //启用/禁用
 | ||
|     Edit = 4,   //编辑
 | ||
|     CrossSpaceCopy = 10, // 跨空间复制
 | ||
| }
 | ||
| 
 | ||
| enum PublishStatus{
 | ||
|     UnPublished    = 1,        //未发布
 | ||
|     Published    = 2,        //已发布
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // Library资源操作
 | ||
| struct ResourceAction{
 | ||
|     // 一个操作对应一个唯一的key,key由资源侧约束
 | ||
|     1 : required ActionKey Key (go.tag = "json:\"key\"", api.key = "key"),
 | ||
|     //ture=可以操作该Action,false=置灰
 | ||
|     2 : required bool Enable (go.tag = "json:\"enable\"", api.key = "enable"),
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // 展示用,实现方提供展示信息
 | ||
| struct DisplayResourceInfo{
 | ||
|     1 : optional i64    ResID,    // 资源id
 | ||
|     5 : optional string Desc,// 资源描述
 | ||
|     6 : optional string Icon,// 资源Icon,完整url
 | ||
|     12 : optional i32   BizResStatus, // 资源状态,各类型资源自身定义
 | ||
|     13 : optional bool  CollaborationEnable, // 是否开启多人编辑
 | ||
|     16 : optional map<string, string> BizExtend,  // 业务携带的扩展信息,以res_type区分,每个res_type定义的schema和含义不一样,使用前需要判断res_type
 | ||
|     17 : optional list<ResourceAction> Actions,  // 不同类型的不同操作按钮,由资源实现方和前端约定。返回则展示,要隐藏某个按钮,则不要返回;
 | ||
|     18 : optional bool DetailDisable,  // 是否禁止进详情页
 | ||
|     19 : optional string Name // 资源名称
 | ||
|     20 : optional PublishStatus   PublishStatus, // 资源发布状态,1-未发布,2-已发布
 | ||
|     21 : optional i64 EditTime,  // 最近编辑时间, unix秒级时间戳
 | ||
| }
 | ||
| enum OperateType {
 | ||
|     Insert = 1
 | ||
|     Update = 2
 | ||
|     Delete = 3
 | ||
|     Select = 4
 | ||
| }
 | ||
| struct SelectFieldList{
 | ||
|     1: required list<string> FieldID
 | ||
|     2: required bool isDistinct
 | ||
| }
 | ||
| enum Operation {
 | ||
|   EQUAL = 1,          // "="
 | ||
|   NOT_EQUAL = 2,      // "<>" 或 "!="
 | ||
|   GREATER_THAN = 3,   // ">"
 | ||
|   LESS_THAN = 4,      // "<"
 | ||
|   GREATER_EQUAL = 5,  // ">="
 | ||
|   LESS_EQUAL = 6,     // "<="
 | ||
|   IN = 7,             // "IN"
 | ||
|   NOT_IN = 8,         // "NOT IN"
 | ||
|   IS_NULL = 9,        // "IS NULL"
 | ||
|   IS_NOT_NULL = 10    // "IS NOT NULL"
 | ||
|   LIKE = 11,           // "LIKE" 模糊匹配字符串
 | ||
|   NOT_LIKE = 12,       // "NOT LIKE" 反向模糊匹配
 | ||
| }
 | ||
| 
 | ||
| struct Condition {
 | ||
|   1: required string left; // 左值填字段名
 | ||
|   2: required Operation operation;
 | ||
|   3: required string right; // 右值
 | ||
| }
 | ||
| 
 | ||
| struct ComplexCondition {
 | ||
|   1: optional list<Condition> conditions;
 | ||
|   2: optional ComplexCondition nestedConditions; // 为了拓展,先不用
 | ||
|   3: required string logic; // "AND" 或 "OR"
 | ||
| }
 | ||
| 
 | ||
| struct UpsertValues {
 | ||
|     1: string field_id
 | ||
|     2: string field_value
 | ||
| }
 | ||
| 
 | ||
| struct Row {
 | ||
|     1: list<UpsertValues> values
 | ||
| }
 | ||
| struct CRUDDatabaseRequest {
 | ||
|     1: required i64 database_info_id // database的id
 | ||
|     2: i64  workflow_id   // workflow id,wk flow纬度数据隔离
 | ||
|     3: i64  project_id    // 项目id,同project下不隔离
 | ||
|     4: i64  bot_id      // bot id
 | ||
|     5: i64       connector_id  // 业务线id
 | ||
|     6: string    connector_uid // 业务线用户id
 | ||
|     7: required TableType table_type    // table类型
 | ||
|     8: string    wftest_id     // workflow test run 标识
 | ||
|     9: optional  RefInfo ref_info // 引用信息
 | ||
|     10: optional  list<SqlParamVal> sql_params (api.key="sql_params")  // SQL params
 | ||
|     11: required OperateType operate_type // 操作类型
 | ||
|     12: optional SelectFieldList field_list // select时要查询的字段列表
 | ||
|     13: optional list<OrderBy> order_by_list // order by 字段列表
 | ||
|     14: optional i64 limit // limit
 | ||
|     15: optional i64 offset // offset
 | ||
|     16: optional ComplexCondition condition // 查询条件
 | ||
|     17: optional list<Row> rows // 需要upsert的数据
 | ||
| }
 | ||
| 
 | ||
| struct SourceInfo {
 | ||
| 
 | ||
|     // 本地文件上传的 tos 地址
 | ||
|     1: optional string tos_uri (api.key="tos_uri");
 | ||
|     // imagex_uri, 和 tos_uri 二选一, imagex_uri 优先,需要通过 imagex 的方法获取数据和签发 url
 | ||
|     2: optional string imagex_uri
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct ValidateTableSchemaRequest {
 | ||
|     1: i64 space_id           (api.js_conv="str", api.key="space_id")
 | ||
|     2: i64 database_id        (api.js_conv="str", api.key="database_id")
 | ||
|     3: SourceInfo source_info (api.key="source_file", api.body="source_file")               // source file 的信息
 | ||
|     4: TableSheet table_sheet (api.key="table_sheet")
 | ||
|     5: TableType table_type (api.key="table_type")
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct TableSheet {
 | ||
|     1: i64 sheet_id        (api.js_conv="str", api.key="sheet_id")       , // 用户选择的 sheet id
 | ||
|     2: i64 header_line_idx (api.js_conv="str", api.key="header_line_idx"), // 用户选择的表头行数,从 0 开始编号
 | ||
|     3: i64 start_line_idx  (api.js_conv="str", api.key="start_line_idx") , // 用户选择的起始行号,从 0 开始编号
 | ||
| }
 | ||
| 
 | ||
| struct ValidateTableSchemaResponse {
 | ||
|     1: optional map<string,string> SchemaValidResult (api.key="schema_valid_result");
 | ||
|     // 如果失败会返回错误码
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp(api.none="true")
 | ||
| }
 | ||
| 
 | ||
| struct GetTableSchemaRequest {
 | ||
|    1: optional TableSheet  table_sheet;                                                         // 表格解析信息, 默认初始值0,0,1
 | ||
|    2: optional TableDataType table_data_type;                                          // 不传默认返回所有数据
 | ||
|    3: optional i64 database_id(api.js_conv="str", api.key="database_id");              // 兼容重构前的版本:如果需要拉取的是当前 document 的 schema 时传递该值
 | ||
|    4: optional SourceInfo source_file;                                                 // source file 的信息,新增 segment / 之前逻辑迁移到这里
 | ||
|    255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| enum TableDataType {
 | ||
|     AllData     = 0     // schema sheets 和 preview data
 | ||
|     OnlySchema  = 1     // 只需要 schema 结构 & Sheets
 | ||
|     OnlyPreview = 2    // 只需要 preview data
 | ||
| }
 | ||
| 
 | ||
| struct DocTableSheet {
 | ||
|     1: i64 id;            // sheet 的编号
 | ||
|     2: string sheet_name; // sheet 名
 | ||
|     3: i64 total_row;     // 总行数
 | ||
| }
 | ||
| 
 | ||
| struct TableColumn {
 | ||
|     1: i64      id(api.js_conv="str", api.key="id")            // 列 id
 | ||
|     2: string   column_name                                    // 列名
 | ||
|     3: i64      sequence(api.js_conv="str", api.key="sequence")// 列原本在 excel 的序号
 | ||
|     4: optional ColumnType column_type // 列类型
 | ||
|     5: optional bool contains_empty_value
 | ||
|     6: optional string   desc          // 描述
 | ||
| }
 | ||
| 
 | ||
| enum ColumnType {
 | ||
|     Unknown = 0
 | ||
|     Text    = 1                 // 文本
 | ||
|     Number  = 2                 // 数字
 | ||
|     Date    = 3                 // 时间
 | ||
|     Float   = 4                 // float
 | ||
|     Boolean = 5                 // bool
 | ||
|     Image   = 6                 // 图片
 | ||
| }
 | ||
| 
 | ||
| struct GetDatabaseFileProgressRequest {
 | ||
|     1: i64 database_id (api.js_conv="str")
 | ||
|     2: required TableType table_type    // table类型
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| struct GetDatabaseFileProgressResponse {
 | ||
|     1: DatabaseFileProgressData data
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct DatabaseFileProgressData {
 | ||
|     1: string              file_name
 | ||
|     2: i32                 progress
 | ||
|     3: optional string     status_descript  //描述信息,如果有代表文件处理失败
 | ||
| }
 | ||
| 
 | ||
| struct SubmitDatabaseInsertRequest {
 | ||
|     1: i64 database_id (api.js_conv="str")
 | ||
|     2: string file_uri
 | ||
|     3: TableType table_type    // table类型,要往草稿表插入还是线上表插入
 | ||
|     4: optional TableSheet  table_sheet
 | ||
|     5: optional i64 connector_id  (api.js_conv="str") // 要写入的渠道id
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct SubmitDatabaseInsertResponse {
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct SubmitBatchInsertTaskRequest {
 | ||
|     1: string msg
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct SubmitBatchInsertTaskResponse {
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct GetSpaceConnectorListRequest {
 | ||
|     1: required i64 SpaceId (api.js_conv="str")
 | ||
|     2: optional string Version // release inhouse
 | ||
|     3: optional i64 ConnectorID
 | ||
|     4: optional bool ListAll
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct GetSpaceConnectorListResponse {
 | ||
|     1: list<ConnectorInfo> ConnectorList
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct ConnectorInfo{
 | ||
|     1: i64 ConnectorID
 | ||
|     2: string ConnectorName
 | ||
| }
 | ||
| 
 | ||
| typedef  GetDatabaseFileProgressRequest GetDatabaseTemplateRequest
 | ||
| 
 | ||
| struct GetDatabaseTemplateResponse {
 | ||
|     1: string TosUrl // 下载地址
 | ||
| 
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| }
 | ||
| 
 | ||
| struct UpdateDatabaseBotSwitchRequest{
 | ||
|     1: required i64 bot_id (api.js_conv="str")
 | ||
|     2: required i64 database_id (api.js_conv="str")
 | ||
|     3: required bool prompt_disable // 是否禁用prompt
 | ||
|     255: optional base.Base Base
 | ||
| }
 | ||
| 
 | ||
| struct UpdateDatabaseBotSwitchResponse{
 | ||
|     253: required i64 code
 | ||
|     254: required string msg
 | ||
|     255: optional base.BaseResp BaseResp
 | ||
| } |