主题
应用规则
应用规则说明
在应用中的数据集上设置用于控制被授权用户所能看到的数据范围
应用规则的定义
应用规则结构说明
字段 | 类型 | 描述 |
---|---|---|
id | LONG | 应用规则的 id |
type | STRING | 规则类型,分为:ROW(行规则),COLUMN(列规则) |
name | STRING | 应用规则的标题 |
appId | LONG | 应用规则所属的应用id |
options | OBJECT | 应用规则的配置信息 |
options.users | OBJECT数组 | 应用规则作用的用户 |
options.organizations | OBJECT数组 | 应用规则作用的用户组 |
options.orgs | OBJECT数组 | 应用规则作用的组织架构 |
options.tenants | OBJECT数组 | 应用规则作用的租户 |
options.tenantId | OBJECT数组 | 应用规则若为租户创建的,则为创建者所处的租户id |
options.position | STRING | 应用规则所在位置 |
options.filterCategory | STRING | 应用规则过滤条件类型,分为: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 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
name | STRING | 是 | 应用规则的标题 |
type | STRING | 是 | 规则类型,分为:ROW(行规则),COLUMN(列规则) |
options.users | OBJECT数组 | 否 | 应用规则所选用户 |
options.organizations | OBJECT数组 | 否 | 应用规则所选用户组 |
options.orgs | OBJECT数组 | 否 | 应用规则作用的组织架构 |
options.tenants | OBJECT数组| 否 | 应用规则作用的租户 | |
options.dataFilters | OBJECT数组 | 否 | 应用规则过滤条件 |
options.dataFilters.datasetId | NUMBER | 否 | 过滤条件作用的数据集id |
options.dataFilters.filter | OBJECT | 否 | 过滤信息 |
options.dataFilters.filter.where | HE数组 | 否 | 行过滤条件 |
options.dataFilters.filter.excludeColumns | HE数组 | 否 | 列过滤条件 |
options.filterCategory | STRING | 应用规则过滤条件类型,分为:SIMPLE(简单过滤),FORMULA(表达式过滤) |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见笔记结构说明 |
接口示例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 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
title | STRING | 是 | 应用规则的标题 |
connectionId | NUMBER | 是 | 应用规则所属的链接id |
type | STRING | 是 | 规则类型,分为:ROW(行规则),COLUMN(列规则) |
priority | STRING | 是 | 应用规则的权限级别 |
nodeType | STRING | 是 | 应用规则作用的节点类型 |
path | STRING数组 | nodeType不是CONNECTION时必须 | 应用规则作用的具体路径 |
options.dataFilters.filter.where | HE数组 | 否 | 行过滤条件 |
options.dataFilters.filter.excludeColumns | HE数组 | 否 | 列过滤条件 |
options.filterCategory | STRING | 应用规则过滤条件类型,分为:SIMPLE(简单过滤),FORMULA(表达式过滤) | |
users | OBJECT数组 | 否 | 应用规则所选用户 |
organizations | OBJECT数组 | 否 | 应用规则所选用户组 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见笔记结构说明 |
接口示例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 参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见笔记结构说明 |
接口示例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 参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
接口示例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 参数
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
offset | INTEGER | 可选 | 分页偏移量,默认是0 |
limit | INTEGER | 可选 | 分页获取个数,默认是10 |
Request Body 参数
无
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见笔记结构说明 |
接口示例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 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
datasetId | NUMBER | 是 | 应用规则作用的数据集id |
Request Body 参数
字段 | 类型 | 是否必须 | 描述 |
---|---|---|---|
options.dataFilters | OBJECT数组 | 否 | 应用规则过滤条件 |
options.dataFilters.datasetId | NUMBER | 否 | 过滤条件作用的数据集id |
options.dataFilters.filter | OBJECT | 否 | 过滤信息 |
options.dataFilters.filter.where | HE数组 | 否 | 行过滤条件 |
options.dataFilters.filter.excludeColumns | HE数组 | 否 | 列过滤条件 |
返回对象的格式说明
字段 | 类型 | 说明 |
---|---|---|
version | STRING | 当前系统版本哈希值 |
data | OBJECT | 见笔记结构说明 |
接口示例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
}
}