Skip to content

应用规则

应用规则说明

在应用中的数据集上设置用于控制被授权用户所能看到的数据范围

应用规则的定义

应用规则结构说明

字段类型描述
idLONG应用规则的 id
typeSTRING规则类型,分为:ROW(行规则),COLUMN(列规则)
nameSTRING应用规则的标题
appIdLONG应用规则所属的应用id
optionsOBJECT应用规则的配置信息
options.usersOBJECT数组应用规则作用的用户
options.organizationsOBJECT数组应用规则作用的用户组
options.orgsOBJECT数组应用规则作用的组织架构
options.tenantsOBJECT数组应用规则作用的租户
options.tenantIdOBJECT数组应用规则若为租户创建的,则为创建者所处的租户id
options.positionSTRING应用规则所在位置
options.filterCategorySTRING应用规则过滤条件类型,分为:SIMPLE(简单过滤),FORMULA(表达式过滤)
position值说明
字段值描述
PLATFORM表示应用规则是平台方用户添加的
TENANT表示应用规则是租户方用户添加的

接口说明

新增应用规则

请求URL

http
POST /api/apps/{appId}/rules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

URL 参数

Request Body 参数
字段类型是否必须描述
nameSTRING应用规则的标题
typeSTRING规则类型,分为:ROW(行规则),COLUMN(列规则)
options.usersOBJECT数组应用规则所选用户
options.organizationsOBJECT数组应用规则所选用户组
options.orgsOBJECT数组应用规则作用的组织架构
options.tenantsOBJECT数组| 否应用规则作用的租户
options.dataFiltersOBJECT数组应用规则过滤条件
options.dataFilters.datasetIdNUMBER过滤条件作用的数据集id
options.dataFilters.filterOBJECT过滤信息
options.dataFilters.filter.whereHE数组行过滤条件
options.dataFilters.filter.excludeColumnsHE数组列过滤条件
options.filterCategorySTRING应用规则过滤条件类型,分为:SIMPLE(简单过滤),FORMULA(表达式过滤)

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT笔记结构说明

接口示例1,添加行规则

http
POST /api/apps/{appId}/rules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "name": "规则1",
  "type": "ROW",
  "options":{"filterCategory":"SIMPLE"},
  "users": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ],
  "organizations": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ],
  "dataFilters": [
    {
      "datasetId": 1,
      "filter": {
        "where": [
          {
            "kind": "function",
            "op": "and",
            "args": [
              {
                "kind": "function",
                "op": "<",
                "args": [
                  {
                    "kind": "field",
                    "op": "id",
                    "type": "number"
                  },
                  {
                    "kind": "constant",
                    "op": 5,
                    "type": "number"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 5,
    "name": "规则1",
    "appId": 9,
    "type":"ROW",
    "options": {
      "users": [
        "1",
        "2"
      ],
      "organizations": [
        "1",
        "2"
      ],
      "filterCategory":"SIMPLE",
      "position": "PLATFORM"
    },
    "createdBy": 1,
    "createdAt": "2020-05-28 15:14:43",
    "updatedBy": 1,
    "updatedAt": "2020-05-28 15:14:43",
    "dataFilters": [
      {
        "id": 6,
        "filter": {
          "columns": [],
          "where": [
            {
              "kind": "function",
              "op": "and",
              "args": [
                {
                  "kind": "function",
                  "op": "<",
                  "args": [
                    {
                      "kind": "field",
                      "op": "id",
                      "type": "number"
                    },
                    {
                      "kind": "constant",
                      "op": 5,
                      "type": "number"
                    }
                  ]
                }
              ]
            }
          ],
          "filterType": "DATASET",
          "position": "PLATFORM"
        },
        "datasetId": 1,
        "ruleId": 5,
        "effective": true
      }
    ]
  }
}

接口示例2,添加列规则

http
POST /api/apps/{appId}/rules HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "name": "规则1",
  "type": "COLUMN",
  "options":{"filterCategory":"SIMPLE"},
  "users": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ],
  "organizations": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ],
  "dataFilters": [
          {
              "datasetId": 2,
              "filter": {
                  "excludeColumns": [
                      {
                          "datasetId": 2,
                          "fieldName": "zh_name"
                      },
                      {
                          "datasetId": 2,
                          "fieldName": "director"
                      }
                  ]
              }
          }
      ]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 5,
    "name": "规则1",
    "appId": 9,
    "type":"COLUMN",
    "options": {
      "users": [
        "1",
        "2"
      ],
      "organizations": [
        "1",
        "2"
      ],
      "filterCategory":"SIMPLE",
      "position": "PLATFORM"
    },
    "createdBy": 1,
    "createdAt": "2020-05-28 15:14:43",
    "updatedBy": 1,
    "updatedAt": "2020-05-28 15:14:43",
    "dataFilters": [
              {
                  "datasetId": 2,
                  "filter": {
                      "excludeColumns": [
                          {
                              "datasetId": 2,
                              "fieldName": "zh_name"
                          },
                          {
                              "datasetId": 2,
                              "fieldName": "director"
                          }
                      ]
                  }
              }
          ]
  }
}

更新应用规则

请求URL

http
PUT /api/apps/{appId}/rules/{rid} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

URL 参数

Request Body 参数
字段类型是否必须描述
titleSTRING应用规则的标题
connectionIdNUMBER应用规则所属的链接id
typeSTRING规则类型,分为:ROW(行规则),COLUMN(列规则)
prioritySTRING应用规则的权限级别
nodeTypeSTRING应用规则作用的节点类型
pathSTRING数组nodeType不是CONNECTION时必须应用规则作用的具体路径
options.dataFilters.filter.whereHE数组行过滤条件
options.dataFilters.filter.excludeColumnsHE数组列过滤条件
options.filterCategorySTRING应用规则过滤条件类型,分为:SIMPLE(简单过滤),FORMULA(表达式过滤)
usersOBJECT数组应用规则所选用户
organizationsOBJECT数组应用规则所选用户组

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT笔记结构说明

接口示例1

http
PUT /api/apps/{appId}/rules/{rid} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "id": 5,
  "name": "test",
  "appId": 9,
  "type": "ROW",
  "options": {
    "users": [
      "1"
    ],
    "position": "PLATFORM",
    "filterCategory":"SIMPLE",
  },
  "dataFilters": [
    {
      "datasetId": 1,
      "filter": {
        "where": [
          {
            "kind": "function",
            "op": "and",
            "args": [
              {
                "kind": "function",
                "op": "<",
                "args": [
                  {
                    "kind": "field",
                    "op": "id",
                    "type": "number"
                  },
                  {
                    "kind": "constant",
                    "op": 5,
                    "type": "number"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ],
  "users": [
    {
      "id": 1
    }
  ],
  "organizations": []
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 1,
    "type":"ROW",
    "title": "规则1",
    "connectionId": 8,
    "priority": "RO",
    "nodeType": "TABLE",
    "path": [
      "public",
      "A_IVT_MOVIE"
    ],
    "options": {
      "filter": {
        "columns": [],
        "where": [
          {
            "kind": "function",
            "op": "and",
            "args": [
              {
                "kind": "function",
                "op": "<",
                "args": [
                  {
                    "kind": "field",
                    "op": "id",
                    "type": "number"
                  },
                  {
                    "kind": "constant",
                    "op": 5,
                    "type": "number"
                  }
                ]
              }
            ]
          }
        ],
        "filterType": "CONNECTION",
      },
      "filterCategory":"SIMPLE",
    },
    "createdBy": 1,
    "createdAt": "2020-05-28 12:21:31",
    "updatedBy": 1,
    "updatedAt": "2020-05-28 14:26:11",
    "visible": true,
    "users": [
      {
        "id": 1
      },
      {
        "id": 2
      }
    ],
    "organizations": [
      {
        "id": 1
      },
      {
        "id": 2
      }
    ],
    "editable": true,
    "delete": false
  }
}

根据ID获取应用规则

请求URL

http
GET /api/apps/{appId}/rules/{rid} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

URL 参数

Request Body 参数

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT笔记结构说明

接口示例1

http
GET /api/apps/{appId}/rules/{rid} HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
    "version": "version@9a5e106#6730f0d",
    "code": 0,
    "msg": "success",
    "data": {
        "id": 5,
        "name": "test",
        "type": "ROW",
        "appId": 9,
        "options": {
            "users": [
                "1"
            ],
            "position": "PLATFORM",
            "filterCategory":"SIMPLE"
        },
        "createdBy": 1,
        "createdAt": "2020-05-28 15:14:43",
        "updatedBy": 1,
        "updatedAt": "2020-05-28 15:28:55"
    }
}

根据ID删除应用规则

请求URL

http
DELETE /api/apps/{appId}/rules/{rid} HTTP/1.1

请求参数

URL 参数

Request Body 参数

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值

接口示例1

http
DELETE /apps/{appId}/rules/{rid} HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "id": 6,
    "name": "规则2",
    "appId": 9,
    "options": {
      "position": "PLATFORM"
    },
    "createdBy": 1,
    "createdAt": "2020-05-28 15:36:49",
    "updatedBy": 1,
    "updatedAt": "2020-05-28 15:36:49"
  }
}

分页查询链接规则

请求URL

http
GET /api/apps/{appId}/rules HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

URL 参数
字段类型是否必须说明
offsetINTEGER可选分页偏移量,默认是0
limitINTEGER可选分页获取个数,默认是10
Request Body 参数

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT笔记结构说明

接口示例1

http
GET /api/apps/{appId}/rules HTTP/1.1
Accept: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 5,
      "name": "test",
      "type": "ROW",
      "appId": 9,
      "options": {
        "users": [
          "1"
        ],
        "position": "PLATFORM",
        "filterCategory":"SIMPLE"
      },
      "createdBy": 1,
      "createdAt": "2020-05-28 15:14:43",
      "updatedBy": 1,
      "updatedAt": "2020-05-28 15:40:14",
      "dataFilters": [
        {
          "id": 9,
          "filter": {
            "columns": [],
            "where": [
              {
                "op": "and",
                "args": [
                  {
                    "op": "<",
                    "args": [
                      {
                        "op": "id",
                        "kind": "field",
                        "type": "number"
                      },
                      {
                        "op": 5,
                        "kind": "constant",
                        "type": "number"
                      }
                    ],
                    "kind": "function"
                  }
                ],
                "kind": "function"
              }
            ],
            "position": "PLATFORM"
          },
          "datasetId": 1,
          "ruleId": 5
        }
      ],
      "users": [
        {
          "id": 1,
          "name": "test"
        }
      ]
    },
    {
      "id": 7,
      "name": "规则2",
      "type": "COLUMN",
      "appId": 9,
      "options": {
        "position": "PLATFORM",
        "filterCategory":"SIMPLE"
      },
      "createdBy": 1,
      "createdAt": "2020-05-28 15:40:14",
      "updatedBy": 1,
      "updatedAt": "2020-05-28 15:40:14"
    }
  ],
  "totalHits": 2,
  "offset": 0
}

预览权限生效后的数据

请求URL

http
POST /api/apps/{appId}/rules/preview HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

请求参数

URL 参数
字段类型是否必须描述
datasetIdNUMBER应用规则作用的数据集id
Request Body 参数
字段类型是否必须描述
options.dataFiltersOBJECT数组应用规则过滤条件
options.dataFilters.datasetIdNUMBER过滤条件作用的数据集id
options.dataFilters.filterOBJECT过滤信息
options.dataFilters.filter.whereHE数组行过滤条件
options.dataFilters.filter.excludeColumnsHE数组列过滤条件

返回对象的格式说明

字段类型说明
versionSTRING当前系统版本哈希值
dataOBJECT笔记结构说明

接口示例1

http
POST /api/apps/{appId}/rules/preview?datasetId=1 HTTP/1.1
Content-Type: application/json
Cookie: csrf=183f1c4...; sid=26ee552d...; _USER_SESSION_ID=f2a01083...

// Request Body:
{
  "dataFilters": [
    {
      "datasetId": 1,
      "filter": {
        "where": [
          {
            "kind": "function",
            "op": "and",
            "args": [
              {
                "kind": "function",
                "op": "<",
                "args": [
                  {
                    "kind": "field",
                    "op": "id",
                    "type": "number"
                  },
                  {
                    "kind": "constant",
                    "op": 5,
                    "type": "number"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}
http
HTTP/1.1 200 Ok
Content-Type: application/json

{
  "version": "version@9a5e106#6730f0d",
  "code": 0,
  "msg": "success",
  "data": {
    "data": [
      [
        1,
        "星际穿越",
        "克里斯托弗·诺兰",
        "剧情",
        169,
        7.750885747373100000,
        416252,
        "马修·麦康纳",
        null,
        "2014-11-12",
        2014,
        11,
        12,
        "2014-11-12 08:30:00.000",
        null,
        "2014-11-12 16:30:00.000",
        true,
        {
          "msg": "audit-log/create-dataset-from-connection",
          "args": [
            "datalake-pg"
          ]
        },
        {
          "msg": "audit-log/create-dataset-from-connection",
          "args": [
            "datalake-pg"
          ]
        },
        "~!@#$%^&*(){}|”’<>?/.,;’"
      ],
      [
        2,
        "辛德勒的名单",
        "史蒂文·斯皮尔伯格",
        "剧情",
        195,
        7.970806439407170000,
        329749,
        "连姆·尼森",
        null,
        "1993-11-30",
        1993,
        11,
        30,
        "1993-11-30 09:00:06.000",
        null,
        "1993-11-30 17:00:06.000",
        false,
        {
          "msg": "audit-log/rename-column-label",
          "args": [
            "test20171016",
            "test   20171016"
          ]
        },
        {
          "msg": "audit-log/rename-column-label",
          "args": [
            "test20171016",
            "test   20171016"
          ]
        },
        "~!@#$%^&*(){}|”’<>?/.,;’"
      ],
      [
        3,
        "唐伯虎点秋香",
        "李力持",
        "喜剧",
        102,
        4.254042804241180000,
        260928,
        "周星驰",
        null,
        "1993-07-01",
        1993,
        7,
        1,
        "1993-07-01 08:20:09.000",
        null,
        "1993-07-01 16:20:09.000",
        true,
        {
          "address": {
            "country": "中国",
            "city": "江苏苏州",
            "street": "科技园路."
          },
          "isNonProfit": true,
          "name": "BeJson",
          "links": [
            {
              "name": "Google",
              "url": "http://www.google.com"
            },
            {
              "name": "Baidu",
              "url": "http://www.baidu.com"
            },
            {
              "name": "SoSo",
              "url": "http://www.SoSo.com"
            }
          ],
          "page": 88,
          "url": "http://www.bejson.com"
        },
        {
          "address": {
            "country": "中国",
            "city": "江苏苏州",
            "street": "科技园路."
          },
          "isNonProfit": true,
          "name": "BeJson",
          "links": [
            {
              "name": "Google",
              "url": "http://www.google.com"
            },
            {
              "name": "Baidu",
              "url": "http://www.baidu.com"
            },
            {
              "name": "SoSo",
              "url": "http://www.SoSo.com"
            }
          ],
          "page": 88,
          "url": "http://www.bejson.com"
        },
        "~!@#$%^&*(){}|”’<>?/.,;’"
      ],
      [
        4,
        "致命ID",
        "詹姆斯·曼高德",
        "剧情",
        90,
        9.574219468049710000,
        271970,
        "约翰·库萨克",
        null,
        "2003-04-25",
        2003,
        4,
        25,
        "2003-04-25 20:08:08.000",
        null,
        "2003-04-26 04:08:08.000",
        false,
        {
          "msg": "audit-log/create-chart",
          "args": [
            "wss-movie-join-weird"
          ]
        },
        {
          "msg": "audit-log/create-chart",
          "args": [
            "wss-movie-join-weird"
          ]
        },
        "~!@#$%^&*(){}|”’<>?/.,;’"
      ]
    ],
    "schema": [
      {
        "fieldName": "id",
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "id",
        "nativeType": "bigserial",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "zh_name",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "zh_name",
        "nativeType": "text",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "director",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "director",
        "nativeType": "text",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "prime_genre",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "prime_genre",
        "nativeType": "varchar",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "runtime",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "runtime",
        "nativeType": "int2",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "rate_num",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "rate_num",
        "nativeType": "numeric",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "number",
        "visible": true,
        "originType": "number",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "votes",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "votes",
        "nativeType": "int8",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "stars",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "stars",
        "nativeType": "varchar",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "tags",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "tags",
        "nativeType": "text",
        "suggestedTypes": [
          "string",
          "number"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "pubdate",
        "hsVersion": 1,
        "type": "date",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "pubdate",
        "nativeType": "date",
        "suggestedTypes": [
          "date",
          "string"
        ],
        "detectedType": "date",
        "visible": true,
        "originType": "date",
        "basicType": "date",
        "defaultAggrType": "year"
      },
      {
        "fieldName": "pubyear",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dateFormat": "yyyy",
          "dialectName": "PostgresqlDialect"
        },
        "label": "pubyear",
        "nativeType": "int4",
        "suggestedTypes": [
          "number",
          "string",
          "date"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "month",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "month",
        "nativeType": "int4",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "day",
        "hsVersion": 1,
        "type": "number",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "day",
        "nativeType": "int4",
        "suggestedTypes": [
          "number",
          "string"
        ],
        "detectedType": "integer",
        "visible": true,
        "originType": "integer",
        "basicType": "number",
        "defaultAggrType": "sum"
      },
      {
        "fieldName": "release_time",
        "hsVersion": 1,
        "type": "date",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "release_time",
        "nativeType": "timestamp",
        "suggestedTypes": [
          "date",
          "string"
        ],
        "detectedType": "time",
        "visible": true,
        "originType": "time",
        "basicType": "date",
        "defaultAggrType": "year"
      },
      {
        "fieldName": "happytime",
        "hsVersion": 1,
        "type": "unknown",
        "config": {},
        "label": "happytime",
        "nativeType": "time",
        "suggestedTypes": [
          "unknown"
        ],
        "detectedType": "unknown",
        "visible": true,
        "originType": "unknown",
        "basicType": "unknown",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "utc_time",
        "hsVersion": 1,
        "type": "date",
        "config": {
          "dialectName": "PostgresqlDialect"
        },
        "label": "utc_time",
        "nativeType": "timestamptz",
        "suggestedTypes": [
          "date",
          "string"
        ],
        "detectedType": "time",
        "visible": true,
        "originType": "time",
        "basicType": "date",
        "defaultAggrType": "year"
      },
      {
        "fieldName": "likeit",
        "hsVersion": 1,
        "type": "bool",
        "config": {},
        "label": "likeit",
        "nativeType": "bool",
        "suggestedTypes": [
          "bool",
          "string"
        ],
        "detectedType": "bool",
        "visible": true,
        "originType": "bool",
        "basicType": "bool",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "description",
        "hsVersion": 1,
        "type": "json",
        "config": {},
        "label": "description",
        "nativeType": "json",
        "suggestedTypes": [
          "json",
          "string"
        ],
        "detectedType": "json",
        "visible": true,
        "originType": "json",
        "basicType": "json",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "descrip_b",
        "hsVersion": 1,
        "type": "json",
        "config": {},
        "label": "descrip_b",
        "nativeType": "jsonb",
        "suggestedTypes": [
          "json",
          "string"
        ],
        "detectedType": "json",
        "visible": true,
        "originType": "json",
        "basicType": "json",
        "defaultAggrType": "count"
      },
      {
        "fieldName": "special",
        "hsVersion": 1,
        "type": "string",
        "config": {},
        "label": "special",
        "nativeType": "varchar",
        "suggestedTypes": [
          "string"
        ],
        "detectedType": "string",
        "visible": true,
        "originType": "string",
        "basicType": "string",
        "defaultAggrType": "count"
      }
    ],
    "pagable": true,
    "importSwitchable": true,
    "randomable": false
  }
}

HENGSHI SENSE API 使用手册