# SchemaCreate
SchemaCreate接收3个参数:
- databasekind 数据库类型
- name schema的名字
- description schema的描述 返回值是SchemaCreate_ThirdOutput,有两个属性:
- affected_rows : 新增Schema的数量
- id_list : 新增Schema的id列表 例如:
mutation {
SchemaCreate(databasekind:PostgreSQL,name:"testschema2",description:"test schema 20200511") {
affected_rows
id_list
}
}
返回值为:
{
"data": {
"SchemaCreate": {
"affected_rows": 1,
"id_list": [
"5eb95beaa7b11b000140bfd3"
]
}
}
}
# SchemaDestory
SchemaDestory接收一个参数:
- where 类型为SchemaWhereInput 返回值为:
- affected_rows,删除的行数 SchemaWhereInput的定义为:
input SchemaWhereInput {
field_contains:[String]
filter: SchemaFieldFilter
and:[SchemaWhereInput]
not: SchemaWhereInput
or:[SchemaWhereInput]
}
input SchemaFieldFilter {
databasekind: DatabaseKind_EnumFilter
datasource: DataSourceFieldFilter
description: StringFilter
enumtypes: EnumTypeListMatch
id: IDFilter
name: StringFilter
objecttypes: ContentTypeListMatch
published_history: SchemaMetaDataListMatch
published_schema: SchemaMetaDataFieldFilter
relations: RelationFieldListMatch
status: SchemaStatus_EnumFilter
thirdapis: ThirdAPIListMatch
triggers: TriggerListMatch
}
具体标量类型的比较操作符见标量类型比较操作符
例如:
mutation {
SchemaDestroy (where:{
filter:{
id:{
eq:"5eba9b9ba7b11b000140bfda"
}
}
}) {
affected_rows
}
}
返回值为:
{
"data": {
"SchemaDestroy": {
"affected_rows": 1
}
}
}
# SchemaPublish
SchemaPublish是Schema发布的API,他将最新的Schema发布到运行时,这个API接收的参数有:
- schemaid,要发布的Schemaid 返回的值有:
- OperationResult:表示发布成功或失败
例如:
mutation {
SchemaPublish(schemaid:"5eba9b9ba7b11b000140bfda") {
OperationResult
}
}
返回值为:
{
"data": {
"SchemaDestroy": {
"OperationResult": true
}
}
}
# SchemaRestart
SchemaRestart是Schema重启的API,这个API接收的参数有:
- schemaid,要重启的Schemaid 返回的值有:
- OperationResult:表示重启成功或失败
例如:
mutation {
SchemaRestart(schemaid:"5eba9b9ba7b11b000140bfda") {
OperationResult
}
}
返回值为:
{
"data": {
"SchemaRestart": {
"OperationResult": true
}
}
}
# SchemaStart
SchemaStart是Schema启动的API,这个API接收的参数有:
- schemaid,要启动的Schemaid 返回的值有:
- OperationResult:表示启动成功或失败
例如:
mutation {
SchemaStart(schemaid:"5eba9b9ba7b11b000140bfda") {
OperationResult
}
}
返回值为:
{
"data": {
"SchemaStart": {
"OperationResult": true
}
}
}
# SchemaStop
SchemaStop是Schema停止的API,这个API接收的参数有:
- schemaid,要启动的Schemaid 返回的值有:
- OperationResult:表示停止成功或失败
例如:
mutation {
SchemaStop(schemaid:"5eba9b9ba7b11b000140bfda") {
OperationResult
}
}
返回值为:
{
"data": {
"SchemaStop": {
"OperationResult": true
}
}
}
# SchemaUpdate
SchemaUpdate是Schema的更新API,这个API接收的参数有:
- where,SchemaWhereInput字段,表示此次需要进行更新的Schema需要满足的条件
- object, SchemaUpdateInput字段,表示需要修改的字段,不在object的字段,将不会被更新,object中不能包含id(一个对象的id不能被更新,lastupdate类型的字段进行更新无效) 这个API的返回参数为: 返回值为:
- affected_rows,更新的行数
SchemaUpdateInput的定义如下:
input SchemaUpdateInput {
databasekind: DatabaseKind
description: String
name: String
status: SchemaStatus
}
例如:
mutation {
SchemaUpdate(where:{
filter:{
id:{
eq:"5eba9b9ba7b11b000140bfda"
}
}
},object:{
name:"tests schema for update"
}) {
affected_rows
}
}
返回值为:
{
"data": {
"SchemaUpdate": {
"affected_rows": 1
}
}
}
# Schema
Schema这个API,是通过ID,查询固定的Schema的API,它接收一个参数:
- id, 查询Schema的ID 返回的为null或者1个Schema对象,Schema对象的定义如下:
type Schema {
databasekind: DatabaseKind
datasource: DataSource
description: String
enumtypes: [EnumType]
id: ID
name: String
objecttypes: [ContentType]
published_history: [SchemaMetaData]
published_schema: SchemaMetaData
relations: [RelationField]
status: SchemaStatus
thirdapis: [ThirdAPI]
triggers: [Trigger]
}
例如:
query {
Schema(id:"5eb95beaa7b11b000140bfd3") {
name
id
objecttypes {
id
name
}
enumtypes {
values {
id
}
}
datasource {
id
}
}
}
返回值为:
{
"data": {
"Schema": {
"name": "testschema2",
"id": "5eb95beaa7b11b000140bfd3",
"objecttypes": [
{
"id": "5eb95beaa7b11b000140bfd4",
"name": "User"
}
],
"enumtypes": [
{
"values": [
{
"id": "5eb95beaa7b11b000140bfd8"
},
{
"id": "5eb95beaa7b11b000140bfd9"
}
]
}
],
"datasource": null
}
}
}
注意:datasource为null,不表示这个Schema没有数据源,没有指定datasource的Schema会在发布的时候使用EasyGQL控制台的数据库实例,新建数据库名为Schema名 的数据库。
# SchemaMany
SchemaMany是一个根据where条件进行查询的接口,支持分页和排序,它接收以下参数:
- where,SchemaWhereInput的参数
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为 Schema的一个列表 例如: 输入:
query {
SchemaMany(orderby:"name,asc",limit:10) {
name
}
}
返回值为:
{
"data": {
"SchemaMany": [
{
"name": "testcase1"
}
]
}
}
# SchemaListener
SchemaListener是Schema的监听器,能够在Schema发生变化时通知订阅着,这个API接收3个参数:
- select是表示返回结果集应该包含的字段,"{字段名1:true|false,字段2:true|false}"表示,当不声明这个字段是,默认为选择了所有字段。
- watch是表示监听器监听的字段,格式为"{字段名1:true|false,字段2:true|false}",当不声明该字段时,所有字段变化(内嵌对象除外)均会触发监听事件。
- where是表示监听的条件,格式为SchemaWhereInput。
例如创建完Schema后
mutation {
SchemaCreate(name:"testcase1",databasekind:PostgreSQL,description:"testcase2"){
id_list
affected_rows
}
}
返回
{
"data": {
"SchemaCreate": {
"id_list": [
"5ebd5626f5380d1edc1d2d2e"
],
"affected_rows": 1
}
}
}
使用监听器监听schmea的变化
subscription {
SchemaListener(
select:{
name:true
status:true
}
watch:{
name:true
}
where:{
filter:{
id:{
eq:"5ebd5626f5380d1edc1d2d2e"
}
}
})
}
修改schema名字后
mutation {
SchemaUpdate(object:{
name:"test_for_listen5"
},
where:{
filter:{
id:{
eq:"5ebd5626f5380d1edc1d2d2e"
}
}
}
) {
affected_rows
}
}
得到的监听事件是
# UserCreate
UserCreate是默认的任意一个Schema均有的创建用户的API,它接收两个参数:
- object,一个UserInput的数组,
- conflict,冲突解决方案,默认为replace(还有error),就是创建对象是如果数据冲突,默认为覆盖。
返回值为
- affected_rows,受影响的行数
- id_list,返回的ID列表。
# UserDestory
UserDestory是默认的任意一个Schema均提供的删除用户的API,它接收一个参数
- where,删除条件UserWhereInput
返回值为
- affected_rows,受影响的行数
# UserUpdate
UserUpdate是默认的任意一个Schema均提供的用户更新的API,它接收两个参数
- where,UserWhereInput字段,表示此次需要进行更新的用户需要满足的条件
- object, UserUpdateInput字段,表示需要修改的字段,不在object的字段,将不会被更新,object中不能包含id(一个对象的id不能被更新,lastupdate类型的字段进行更新无效) 这个API的返回参数为: 返回值为:
- affected_rows,更新的行数
# UserLogin
UserLogin是EasyGQL默认为每一个Schema提供的用户登录的API,它接收两个参数
- username, 表示用户名
- password,表示密码 返回参数有两个个:
- login_result,true|false,表示登录是否成功
- token ,登录成功返回的token
# User
User是根据用户ID查询用户的所有信息的API 接收参数有:
- id,表示用户的ID 返回的参数可以是对应Schema的用户对象的所有属性,但是为了安全起见,建议在进行设计时,将用户的密码字段设置为不可以查询。
# UserMany
UserMany是根据条件查询用户信息的API,接收的参数有:
- where,UserWhereInput的参数
input UserWhereInput {
and: [UserWhereInput]
field_contains: [String]
filter: UserFieldFilter
not: UserWhereInput
or: [UserWhereInput]
}
input UserFieldFilter {
id: IDFilter
password: StringFilter
role: Role_EnumFilter
username: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为 User的一个列表
# UserListener
这是用户监听器,可以监听EasyGQL引擎为所有Schema提供的监听用户信息变化的工具,它接收三个参数:
- select,select是一个map型的参数,不同Schema因为用户信息字段不一样,select具体字段存在差异,但至少拥有以下几个字段
input User_FieldsMap {
password: Boolean = false
role: Boolean = false
username: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,UserWhereInput型参数(具体使用方法同UserMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# objecttypesInSchema_ObjectInput
这个API是在Schema为objecttypes这个内嵌关联关系字段新增数据用的,默认创建新的ContentType类型对象,然后将创建的对象和schema的objecttypes字段关联,它接收以下参数:
- from_id,schema的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个ContentTypeInput的类型的数组,因为objecttypes字段是一个数组类型,所以to_object可以为0到N个ContentTypeInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建对象的ID列表。
ContentTypeInput这个字段的定义如下:
input ContentTypeUpdateInput {
delete_constraints: Object
description: String
name: String
read_constraints: Object
undeletable_roles: [Role]
uninsertable_roles: [Role]
unreadable_roles: [Role]
unupdatable_roles: [Role]
update_constraints: Object
}
在contentTypeUpdateInput这个字段里,delete_constaint、read_constraint、update_constraint都是用来根据用户角色约束用户查询、修改和删除操作的数据范围的,具体用法见权限管理章节,undeleteable_roles、uninsertabel_roles、unupdatable_roles、unreadable_roles是表示禁止使用删除、插入、更新、查询的API接口的角色列表。
# objecttypesInSchema_NestRemove
这个API是在Schema为objecttypes这个内嵌关联关系字段删除数据用的,在删除关联关系的同时会删除相应的ContentType对象:
- from_id,schema的ID,必填要素
- to_id,ContentType类型对象的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# ContentTypeUpdate
这个API是按条件更新ContentType对象内容的API,它接收两个参数:
- object,ContentTypeUpdateInput类型字段,表示需要更新的字段,ContentTypeUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。ContentTypeUpdateInput的定义如下:
input ContentTypeUpdateInput {
delete_constraints: Object
description: String
name: String
read_constraints: Object
undeletable_roles: [Role]
uninsertable_roles: [Role]
unreadable_roles: [Role]
unupdatable_roles: [Role]
update_constraints: Object
}
- where,ContentTypeWhereInput类型的字段,用以确定数据更新的范围。ContentTypeWhereInput的定义如下:
input ContentTypeWhereInput {
and: [ContentTypeWhereInput]
field_contains: [String]
filter: ContentTypeFieldFilter
not: ContentTypeWhereInput
or: [ContentTypeWhereInput]
}
input ContentTypeFieldFilter {
description: StringFilter
enumfields: EnumFieldListMatch
id: IDFilter
name: StringFilter
objecttypes: ContentTypeFieldFilter
scalarfields: ScalarFieldListMatch
undeletable_roles: Role_EnumListFilter
uninsertable_roles: Role_EnumListFilter
unique_constraints: UniqueConstraintListMatch
unreadable_roles: Role_EnumListFilter
unupdatable_roles: Role_EnumListFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# ContentTypeDestroy
这个API用于根据Where条件删除ContentType对象,它接收的参数有:
- where,ContentTypeWhereInput类型的字段,表示删除的数据范围 它返回一个参数:
- affected_rows,表示受影响的行数。
# ContentType
这个API用于根据ID查询固定的ContentType对象,它接收一个参数:
- id,表示要查询的ContentType的对象 它返回一个参数,表示查询到的ContentType对象的具体内容,如果查询到的结果为空,则返回null。返回值的具体类型定义如下:
type ContentType {
delete_constraints: Object
description: String
enumfields: [EnumField]
id: ID
name: String
read_constraints: Object
scalarfields: [ScalarField]
schemaid: Schema
undeletable_roles: [Role]
uninsertable_roles: [Role]
unique_constraints: [UniqueConstraint]
unreadable_roles: [Role]
unupdatable_roles: [Role]
update_constraints: Object
}
在以上类型定义中,scalarfields表示ContentType对象的标量字段列表、enumfields表示ContentType对象的枚举类型字段列表。
# ContentTypeMany
这个API用于根据条件查询ContentType的数据对象,它接收的参数有:
- where,ContentTypeWhereInput的参数
input ContentTypeWhereInput {
and: [ContentTypeWhereInput]
field_contains: [String]
filter: ContentTypeFieldFilter
not: ContentTypeWhereInput
or: [ContentTypeWhereInput]
}
input ContentTypeFieldFilter {
description: StringFilter
enumfields: EnumFieldListMatch
id: IDFilter
name: StringFilter
objecttypes: ContentTypeFieldFilter
scalarfields: ScalarFieldListMatch
undeletable_roles: Role_EnumListFilter
uninsertable_roles: Role_EnumListFilter
unique_constraints: UniqueConstraintListMatch
unreadable_roles: Role_EnumListFilter
unupdatable_roles: Role_EnumListFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为ContentType的列表
# ContentTypeListener
这是对象类型监听器,可以监听EasyGQL引擎中Schema中对象类型的变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input ContentType_FieldsMap {
delete_constraints: Boolean = false
description: Boolean = false
name: Boolean = false
read_constraints: Boolean = false
schemaid: Boolean = false
undeletable_roles: Boolean = false
uninsertable_roles: Boolean = false
unreadable_roles: Boolean = false
unupdatable_roles: Boolean = false
update_constraints: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,ContentTypeWhereInput型参数(具体使用方法同ContentTypeMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# enumtypesInSchema_ObjectInput
这个API是在Schema为enumtypes这个内嵌关联关系字段新增数据用的,默认创建新的EnumType(枚举类型)类型对象,然后将创建的对象和schema的enumtypes字段关联,它接收以下参数:
- from_id,schema的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个EnumTypeInput的类型的数组,因为enumtypes字段是一个数组类型,所以to_object可以为0到N个EnumTypeInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建枚举类型的ID列表。
EnumTypeInput这个字段的定义如下:
input EnumTypeInput {
description: String = ""
id: ID
name: String!
}
# enumtypesInSchema_NestRemove
这个API是在Schema为enumtypes这个内嵌关联关系字段删除数据用的,在删除关联关系的同时会删除和对应枚举类型下的所有枚举元素(EnumElement)对象:
- from_id,schema的ID,必填要素
- to_id,EnumType类型对象的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# EnumTypeUpdate
这个API是按条件更新EnumTypes对象内容的API,它接收两个参数:
- object,EnumTypeUpdateInput类型字段,表示需要更新的字段,EnumTypeUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。EnumTypeUpdateInput的定义如下:
input EnumTypeInput {
description: String = ""
id: ID
name: String!
}
- where,EnumTypeWhereInput类型的字段,用以确定数据更新的范围。EnumTypeWhereInput的定义如下:
input EnumTypeWhereInput {
and: [EnumTypeWhereInput]
field_contains: [String]
filter: EnumTypeFieldFilter
not: EnumTypeWhereInput
or: [EnumTypeWhereInput]
}
input EnumTypeFieldFilter @objectfieldfilter_metadata(metadata : "{\"objectname\":\"EnumType\"}") {
description: StringFilter
enumtypes: EnumTypeFieldFilter
id: IDFilter
name: StringFilter
values: EnumElementListMatch
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumTypeDestroy
这个API是按条件删除枚举类型的API,它接收一个参数
- where,EnumTypeWhereInput类型的字段,用以确定删除数据的范围。EnumTypeWhereInput的定义如下:
input EnumTypeWhereInput {
and: [EnumTypeWhereInput]
field_contains: [String]
filter: EnumTypeFieldFilter
not: EnumTypeWhereInput
or: [EnumTypeWhereInput]
}
input EnumTypeFieldFilter @objectfieldfilter_metadata(metadata : "{\"objectname\":\"EnumType\"}") {
description: StringFilter
enumtypes: EnumTypeFieldFilter
id: IDFilter
name: StringFilter
values: EnumElementListMatch
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumType
这个API用于根据ID查询固定的EnumType对象,它接收一个参数:
- id,表示要查询的EnumType的对象 它返回一个参数,表示查询到的EnumType对象的具体内容,如果查询到的结果为空,则返回null。返回值的具体类型定义如下:
type EnumType {
description: String
id: ID
name: String
schemaid: Schema
values: [EnumElement]
}
在以上类型定义中,values表示EnumType对象的枚举元素列表。
# EnumTypeMany
这个API用于根据条件查询EnumType的数据对象,它接收的参数有:
- where,EnumTypeWhereInput的参数
input EnumTypeWhereInput {
and: [EnumTypeWhereInput]
field_contains: [String]
filter: EnumTypeFieldFilter
not: EnumTypeWhereInput
or: [EnumTypeWhereInput]
}
input EnumTypeFieldFilter @objectfieldfilter_metadata(metadata : "{\"objectname\":\"EnumType\"}") {
description: StringFilter
enumtypes: EnumTypeFieldFilter
id: IDFilter
name: StringFilter
values: EnumElementListMatch
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为EnumType的列表
# EnumTypeListener
这是枚举类型监听器,可以监听EasyGQL引擎中Schema中枚举类型的变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input EnumType_FieldsMap {
description: Boolean = false
name: Boolean = false
schemaid: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,EnumTypeWhereInput型参数(具体使用方法同EnumTypeMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# datasourceInSchema_ObjectInput
这个API是在Schema为datasource这个内嵌关联关系字段新增数据用的,默认创建新的DataSource(枚举类型)类型对象,如果schema的原有datasource关联的不为空,则删除原有对象:
- from_id,schema的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个DataSourceInput的类型的数组,因为datasource字段不是数组,所以to_object可以为0到1个DataSourceInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建枚举类型的ID列表。
DataSourceInput这个字段的定义如下:
input DataSourceInput {
character_encoding: String
connectionstr: String
databasename: String
host: String
id: ID
max_connection: Int
max_idle_connection: Int
min_connection: Int
min_idle_connection: Int
name: String!
password: String
port: String
replica_name: String
username: String
}
# datasourceInSchema_NestRemove
这个API是在Schema为datasource这个内嵌关联关系字段删除数据用的,在删除关联关系的时候同时会删除对应DataSource对象:
- from_id,schema的ID,必填要素 这个API的返回值有:
- affected_rows,表示受影响的行数。
# DataSourceUpdate
这个API是根据条件对数据源进行更新的API,它接收两个参数:
- object,DataSourceUpdateInput类型字段,表示需要更新的字段,EnumTypeUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。DataSourceUpdateInput的定义如下:
input DataSourceUpdateInput {
character_encoding: String
connectionstr: String
databasename: String
host: String
max_connection: Int
max_idle_connection: Int
min_connection: Int
min_idle_connection: Int
name: String
password: String
port: String
replica_name: String
username: String
}
- where,DataSourceWhereInput类型的字段,用以确定数据更新的范围。DataSourceWhereInput的定义如下:
input DataSourceWhereInput {
and: [DataSourceWhereInput]
field_contains: [String]
filter: DataSourceFieldFilter
not: DataSourceWhereInput
or: [DataSourceWhereInput]
}
input DataSourceFieldFilter {
character_encoding: StringFilter
connectionstr: StringFilter
databasename: StringFilter
datasource: DataSourceFieldFilter
host: StringFilter
id: IDFilter
max_connection: IntFilter
max_idle_connection: IntFilter
min_connection: IntFilter
min_idle_connection: IntFilter
name: StringFilter
password: StringFilter
port: StringFilter
replica_name: StringFilter
username: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# DataSourceDestroy
这个API是按条件删除已经定义好的数据源的API,它接收一个参数
- where,DatSourceWhereInput类型的字段,用以确定删除数据的范围。DataSourceWhereInput的定义如下:
input DataSourceWhereInput {
and: [DataSourceWhereInput]
field_contains: [String]
filter: DataSourceFieldFilter
not: DataSourceWhereInput
or: [DataSourceWhereInput]
}
input DataSourceFieldFilter {
character_encoding: StringFilter
connectionstr: StringFilter
databasename: StringFilter
datasource: DataSourceFieldFilter
host: StringFilter
id: IDFilter
max_connection: IntFilter
max_idle_connection: IntFilter
min_connection: IntFilter
min_idle_connection: IntFilter
name: StringFilter
password: StringFilter
port: StringFilter
replica_name: StringFilter
username: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# DataSource
这个API用于根据ID查询固定的数据源对象,它接收一个参数:
- id,表示要查询的数据源的对象 它返回一个参数,表示查询到的数据源对象的具体内容,如果查询到的结果为空,则返回null。返回值的具体类型定义如下:
type DataSource {
character_encoding: String
connectionstr: String
databasename: String
host: String
id: ID
max_connection: Int
max_idle_connection: Int
min_connection: Int
min_idle_connection: Int
name: String
password: String
port: String
replica_name: String
schemaid: Schema
username: String
}
在以上类型定义中,schemaid表示数据源所属Schema的信息。
# DataSourceMany
这个API用于根据条件查询数据源对象,它接收的参数有:
- where,DataSourceWhereInput的参数
input DataSourceWhereInput {
and: [DataSourceWhereInput]
field_contains: [String]
filter: DataSourceFieldFilter
not: DataSourceWhereInput
or: [DataSourceWhereInput]
}
input DataSourceFieldFilter {
character_encoding: StringFilter
connectionstr: StringFilter
databasename: StringFilter
datasource: DataSourceFieldFilter
host: StringFilter
id: IDFilter
max_connection: IntFilter
max_idle_connection: IntFilter
min_connection: IntFilter
min_idle_connection: IntFilter
name: StringFilter
password: StringFilter
port: StringFilter
replica_name: StringFilter
username: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为DataSource的列表
# DataSourceListener
这是数据源监听器,可以监听EasyGQL引擎中Schema中数据源的变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input DataSource_FieldsMap {
character_encoding: Boolean = false
connectionstr: Boolean = false
databasename: Boolean = false
host: Boolean = false
max_connection: Boolean = false
max_idle_connection: Boolean = false
min_connection: Boolean = false
min_idle_connection: Boolean = false
name: Boolean = false
password: Boolean = false
port: Boolean = false
replica_name: Boolean = false
schemaid: Boolean = false
username: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,DataSourceWhereInput型参数(具体使用方法同DataaSourceMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# valuesInEnumType_ObjectInput
这个API是在枚举类型中为values这个内嵌关联关系字段新增数据用的,也就是新增枚举类型的枚举元素。默认创建新的EnumElement(枚举元素)类型对象:
- from_id,枚举类型的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个EnumElementInput的类型的数组,因为values字段是数组,所以to_object可以为0到N个EnumElementInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建枚举类型的ID列表。
EnumElementInput这个字段的定义如下:
input EnumElementInput {
description: String = ""
id: ID
value: String!
}
# valuesInEnumType_NestRemove
这个API是在枚举对象中删除枚举元素用的:
- from_id,枚举对象的ID,必填要素。
- to_id,枚举元素的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# EnumElementUpdate
这个API是枚举元素的更新,它接收以下参数:
- object,EnumElementUpdateInput类型字段,表示需要更新的字段,EnumTypeUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。EnumElementUpdateInput的定义如下:
input EnumElementUpdateInput {
description: String
value: String
}
- where,DataSourceWhereInput类型的字段,用以确定数据更新的范围。DataSourceWhereInput的定义如下:
input EnumElementWhereInput {
and: [EnumElementWhereInput]
field_contains: [String]
filter: EnumElementFieldFilter
not: EnumElementWhereInput
or: [EnumElementWhereInput]
}
input EnumElementFieldFilter {
description: StringFilter
id: IDFilter
value: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumElementDestroy
这个API是按条件删除已经定义好的枚举元素,它接收一个参数
- where,EnumElementWhereInput类型的字段,用以确定删除数据的范围。EnumElementWhereInput的定义如下:
input EnumElementWhereInput {
and: [EnumElementWhereInput]
field_contains: [String]
filter: EnumElementFieldFilter
not: EnumElementWhereInput
or: [EnumElementWhereInput]
}
input EnumElementFieldFilter {
description: StringFilter
id: IDFilter
value: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumElement
这个API用于根据ID查询枚举元素,它接收一个参数
- id,表示要查询的枚举元素的ID 它返回一个参数,表示查询到的数据源对象的具体内容,如果查询到的结果为空,则返回null。返回值的具体类型定义如下:
type EnumElement {
description: String
enumtype: EnumType
id: ID
value: String
}
在以上类型定义中,enumtype表示数据源所属枚举类型的信息。
# EnumElementMany
这个API用于根据where条件查询枚举元素,它接收的参数有:
- where,ElementWhereInput的参数
input EnumElementWhereInput {
and: [EnumElementWhereInput]
field_contains: [String]
filter: EnumElementFieldFilter
not: EnumElementWhereInput
or: [EnumElementWhereInput]
}
input EnumElementFieldFilter {
description: StringFilter
id: IDFilter
value: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为Element的列表
# EnumElementListener
这是枚举元素监听器,可以监听EasyGQL引擎中Schema中枚举类型具体枚举项的变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input EnumElement_FieldsMap {
description: Boolean = false
enumtype: Boolean = false
value: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,EnumElementWhereInput型参数(具体使用方法同EnumElementMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# relationsInSchema_ObjectInput
这个API是在Schema中为relation这个字段新增数据用的,新增的是不同ContentType对象之间的关联关系,它接收的参数有:
- from_id,Schema的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个RelationFieldInput的类型的数组,因为relations字段是数组,所以to_object可以为0到N个RelationFieldInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建的关联关系ID列表。
RelationFieldInput这个字段的定义如下:
input RelationFieldInput {
fromfield: String!
fromobject: String!
id: ID
ifcascade: Boolean = false
invisible_roles: [Role]
irrevisible_roles: [Role]
relationtype: RelationType!
tofield: String!
toobject: String!
}
在以上定义中,fromfield表示关联关系在关联对象中的字段名称,fromobject表示关联关系中关联对象的类型名称(注意是“名称”),toobject是关联关系中,被关联对象的字段名称,toobject表示关联关系中,被关联对象的对象名称,ifcascade表示是否级联删除,invisible_roles表示这个关联关系可以被哪些角色看见,不可见的角色不可以通过fromfield或tofield找对对应的关联对象或被关联对象信息。irrevisible_roles表示不可以更改关联关系角色名单,在这个名单中的角色不可以设置关联关系。 relationtpe表示关联关系类型,有4种关联关系
- one2one,表示关联对象和被关联对象是一对一的关系
- one2many,表示关联对象和被关联对象是一对多的关系
- many2one,表示关联对象和被关联对象是多对1的关系
- many2many,表示关联对象和被关联对象是多对多的关系
只有one2one和one2many这两种关联关系可以设置ifcascade为true
# relationsInSchema_NestRemove
这个API是在Schema中删除关联关系用的,:
- from_id,Schema的ID,必填要素。
- to_id,关联关系的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# RelationFieldDestroy
这个API是按条件删除已经定义好的关联关系,它接收一个参数
- where,RelationFieldWhereInput类型的字段,用以确定删除数据的范围。RelationFieldWhereInput的定义如下:
input RelationFieldWhereInput {
and: [RelationFieldWhereInput]
field_contains: [String]
filter: RelationFieldFieldFilter
not: RelationFieldWhereInput
or: [RelationFieldWhereInput]
}
input RelationFieldFieldFilter {
fromfield: StringFilter
fromobject: StringFilter
id: IDFilter
ifcascade: BoolFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
relations: RelationFieldFieldFilter
relationtype: RelationType_EnumFilter
tofield: StringFilter
toobject: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# RelationFieldUpdate
这个API是关联关系更新用的,它接收以下参数:
- object,RelationFieldUpdateInput类型字段,表示需要更新的字段,RelationFieldUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。RelationFieldUpdateInput的定义如下:
input RelationFieldUpdateInput {
fromfield: String
fromobject: String
ifcascade: Boolean
invisible_roles: [Role]
irrevisible_roles: [Role]
relationtype: RelationType
tofield: String
toobject: String
}
- where,RelationFieldWhereInput类型的字段,用以确定数据更新的范围。RelationFieldWhereInput的定义如下:
input RelationFieldWhereInput {
and: [RelationFieldWhereInput]
field_contains: [String]
filter: RelationFieldFieldFilter
not: RelationFieldWhereInput
or: [RelationFieldWhereInput]
}
input RelationFieldFieldFilter {
fromfield: StringFilter
fromobject: StringFilter
id: IDFilter
ifcascade: BoolFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
relations: RelationFieldFieldFilter
relationtype: RelationType_EnumFilter
tofield: StringFilter
toobject: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# RelationField
这个API用于根据ID查询关联关系,它接收一个参数:
- id, 表示要查询的关联关系对象的ID。 它返回一个参数,表示查询到的关联关系的具体内容,如果查询到的结果为空,则返回null。返回值的具体类型定义如下:
type RelationField {
fromfield: String
fromobject: String
id: ID
ifcascade: Boolean
invisible_roles: [Role]
irrevisible_roles: [Role]
relationtype: RelationType
schemaid: Schema
tofield: String
toobject: String
}
在以上定义中,fromfield表示关联关系在关联对象中的字段名称,fromobject表示关联关系中关联对象的类型名称(注意是“名称”),toobject是关联关系中,被关联对象的字段名称,toobject表示关联关系中,被关联对象的对象名称,ifcascade表示是否级联删除,invisible_roles表示这个关联关系可以被哪些角色看见,不可见的角色不可以通过fromfield或tofield找对对应的关联对象或被关联对象信息。irrevisible_roles表示不可以更改关联关系角色名单,在这个名单中的角色不可以设置关联关系。 relationtpe表示关联关系类型,有4种关联关系
- one2one,表示关联对象和被关联对象是一对一的关系
- one2many,表示关联对象和被关联对象是一对多的关系
- many2one,表示关联对象和被关联对象是多对1的关系
- many2many,表示关联对象和被关联对象是多对多的关系
只有one2one和one2many这两种关联关系可以设置ifcascade为true
# RelationFieldMany
这个API用于根据条件查询关联关系,它接收的参数有:
- where,RelationFieldWhereInput的参数
input RelationFieldWhereInput {
and: [RelationFieldWhereInput]
field_contains: [String]
filter: RelationFieldFieldFilter
not: RelationFieldWhereInput
or: [RelationFieldWhereInput]
}
input RelationFieldFieldFilter {
fromfield: StringFilter
fromobject: StringFilter
id: IDFilter
ifcascade: BoolFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
relations: RelationFieldFieldFilter
relationtype: RelationType_EnumFilter
tofield: StringFilter
toobject: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为RelationField的列表,RelationField的定义为:
type RelationField {
fromfield: String
fromobject: String
id: ID
ifcascade: Boolean
invisible_roles: [Role]
irrevisible_roles: [Role]
relationtype: RelationType
schemaid: Schema
tofield: String
toobject: String
}
在以上定义中,fromfield表示关联关系在关联对象中的字段名称,fromobject表示关联关系中关联对象的类型名称(注意是“名称”),toobject是关联关系中,被关联对象的字段名称,toobject表示关联关系中,被关联对象的对象名称,ifcascade表示是否级联删除,invisible_roles表示这个关联关系可以被哪些角色看见,不可见的角色不可以通过fromfield或tofield找对对应的关联对象或被关联对象信息。irrevisible_roles表示不可以更改关联关系角色名单,在这个名单中的角色不可以设置关联关系。 relationtpe表示关联关系类型,有4种关联关系
- one2one,表示关联对象和被关联对象是一对一的关系
- one2many,表示关联对象和被关联对象是一对多的关系
- many2one,表示关联对象和被关联对象是多对1的关系
- many2many,表示关联对象和被关联对象是多对多的关系
只有one2one和one2many这两种关联关系可以设置ifcascade为true
# RelationFieldListener
这是关联关系监听器,可以监听EasyGQL引擎中Schema中对象之间关联关系的变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input RelationField_FieldsMap {
fromfield: Boolean = false
fromobject: Boolean = false
ifcascade: Boolean = false
invisible_roles: Boolean = false
irrevisible_roles: Boolean = false
relationtype: Boolean = false
schemaid: Boolean = false
tofield: Boolean = false
toobject: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,RelationFieldWhereInput型参数(具体使用方法同RelationFieldMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# scalarfieldsInContentType_ObjectInput
这个API用于在ContentType对象类型中增加标量字段,它接收以下参数:
- from_id,ContentType的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个ScalarFieldInput的类型的数组,因为scalarfields字段是数组,所以to_object可以为0到N个ScalarFieldInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建的标量字段ID列表。
ScalarFieldInput这个字段的定义如下:
input ScalarFieldInput {
defaultvalue: String
description: String = ""
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean = false
name: String!
notnull: Boolean = false
type: ScalarType!
}
在以上定义中,type表示标量字段对应的标量类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个标量字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的标量字段信息,irrevisible_roles表示不可以更改标量字段的角色名单,在这个名单中的角色不可以修改标量字段,注意:不可以看见标量字段肯定不能修改标量字段。
# scalarfieldsInContentType_NestRemove
这个API是在ContentType中删除标量字段用的,:
- from_id,ContentType的ID,必填要素。
- to_id,标量字段的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# ScalarFieldUpdate
这个API是标量字段更新用的,它接收以下参数:
- object,ScalarFieldUpdateInput类型字段,表示需要更新的字段,ScalarFieldUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。ScalarFieldUpdateInput的定义如下:
input ScalarFieldUpdateInput {
defaultvalue: String
description: String
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
notnull: Boolean
type: ScalarType
}
- where,ScalarFieldWhereInput类型的字段,用以确定数据更新的范围。ScalarFieldWhereInput的定义如下:
input ScalarFieldWhereInput {
and: [ScalarFieldWhereInput]
field_contains: [String]
filter: ScalarFieldFieldFilter
not: ScalarFieldWhereInput
or: [ScalarFieldWhereInput]
}
input ScalarFieldFieldFilter {
defaultvalue: StringFilter
description: StringFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
notnull: BoolFilter
scalarfields: ScalarFieldFieldFilter
type: ScalarType_EnumFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# ScalarFieldDestroy
这个API是按条件删除已经定义好的标量字段,它接收一个参数
- where,ScalarFieldWhereInput类型的字段,用以确定删除数据的范围。ScalarFieldWhereInput的定义如下:
input ScalarFieldWhereInput {
and: [ScalarFieldWhereInput]
field_contains: [String]
filter: ScalarFieldFieldFilter
not: ScalarFieldWhereInput
or: [ScalarFieldWhereInput]
}
input ScalarFieldFieldFilter {
defaultvalue: StringFilter
description: StringFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
notnull: BoolFilter
scalarfields: ScalarFieldFieldFilter
type: ScalarType_EnumFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# ScalarField
这个API用于根据ID查询标量字段,它接收一个参数:
- id,表示要查询的标量字段的ID 它返回一个ScalarField字段或null,ScalarField字段的定义如下:
type ScalarField {
contenttype: ContentType
defaultvalue: String
description: String
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
notnull: Boolean
type: ScalarType
}
在以上定义中,type表示标量字段对应的标量类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个标量字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的标量字段信息,irrevisible_roles表示不可以更改标量字段的角色名单,在这个名单中的角色不可以修改标量字段,注意:不可以看见标量字段肯定不能修改标量字段。
# ScalarFieldMany
这个API用于根据条件查询标量字段,它接收的参数有:
- where,ScalarFieldWhereInput的参数
input ScalarFieldWhereInput {
and: [ScalarFieldWhereInput]
field_contains: [String]
filter: ScalarFieldFieldFilter
not: ScalarFieldWhereInput
or: [ScalarFieldWhereInput]
}
input ScalarFieldFieldFilter {
defaultvalue: StringFilter
description: StringFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
notnull: BoolFilter
scalarfields: ScalarFieldFieldFilter
type: ScalarType_EnumFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为ScalarField的列表,ScalarField的定义为:
type ScalarField {
contenttype: ContentType
defaultvalue: String
description: String
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
notnull: Boolean
type: ScalarType
}
在以上定义中,type表示标量字段对应的标量类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个标量字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的标量字段信息,irrevisible_roles表示不可以更改标量字段的角色名单,在这个名单中的角色不可以修改标量字段,注意:不可以看见标量字段肯定不能修改标量字段。
# ScalarFieldListener
这是标量字段监听器,可以监听EasyGQL引擎中Schema的标量字段变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input ScalarField_FieldsMap {
contenttype: Boolean = false
defaultvalue: Boolean = false
description: Boolean = false
invisible_roles: Boolean = false
irrevisible_roles: Boolean = false
islist: Boolean = false
name: Boolean = false
notnull: Boolean = false
type: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,ScalarFieldWhereInput型参数(具体使用方法同ScalarFieldMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# enumfieldsInContentType_ObjectInput
这个API用于在ContentType对象类型中增加枚举字段,它接收以下参数:
- from_id,ContentType的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个EnumFieldInput的类型的数组,因为enumfields字段是数组,所以to_object可以为0到N个EnumFieldInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建的枚举字段ID列表。
EnumFieldInput这个字段的定义如下:
input EnumFieldInput {
defaultvalue: Object
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean = false
name: String!
type: String!
}
在以上定义中,type表示标量字段对应的枚举类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个枚举字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的枚举字段信息,irrevisible_roles表示不可以更改枚举字段的角色名单,在这个名单中的角色不可以修改枚举字段,注意:不可以看见枚举字段肯定不能修枚举量字段。
# enumfieldsInContentType_NestRemove
这个API是在ContentType中删除枚举字段用的,:
- from_id,ContentType的ID,必填要素。
- to_id,枚举字段的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# EnumFieldUpdate
这个API是枚举字段更新用的,它接收以下参数:
- object,EnumFieldUpdateInput类型字段,表示需要更新的字段,EnumFieldUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。EnumFieldUpdateInput的定义如下:
input EnumFieldUpdateInput {
defaultvalue: Object
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
type: String
}
- where,EnumFieldWhereInput类型的字段,用以确定数据更新的范围。EnumFieldWhereInput的定义如下:
input EnumFieldWhereInput {
and: [EnumFieldWhereInput]
field_contains: [String]
filter: EnumFieldFieldFilter
not: EnumFieldWhereInput
or: [EnumFieldWhereInput]
}
input EnumFieldFieldFilter {
defaultvalue: StringFilter
description: StringFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
notnull: BoolFilter
scalarfields: ScalarFieldFieldFilter
type: ScalarType_EnumFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumFieldDestroy
这个API是按条件删除已经定义好的枚举类型字段,它接收一个参数
- where,EnumFieldWhereInput类型的字段,用以确定删除数据的范围。EnumFieldWhereInput的定义如下:
input EnumFieldWhereInput {
and: [EnumFieldWhereInput]
field_contains: [String]
filter: EnumFieldFieldFilter
not: EnumFieldWhereInput
or: [EnumFieldWhereInput]
}
input EnumFieldFieldFilter {
enumfields: EnumFieldFieldFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
type: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# EnumField
这个API是根据枚举类型字段的ID,查询枚举字段内容,它接收1个参数:
- id,枚举字段的ID 返回它返回一个EnumField字段或null,EnumField字段的定义如下:
type EnumField {
contenttype: ContentType
defaultvalue: Object
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
type: String
}
在以上定义中,type表示标量字段对应的枚举类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个枚举字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的枚举字段信息,irrevisible_roles表示不可以更改枚举字段的角色名单,在这个名单中的角色不可以修改枚举字段,注意:不可以看见枚举字段肯定不能修枚举量字段。
# EnumFieldMany
这个API用于根据条件查询枚举字段,它接收的参数有:
- where,EnumFieldWhereInput的参数
input EnumFieldWhereInput {
and: [EnumFieldWhereInput]
field_contains: [String]
filter: EnumFieldFieldFilter
not: EnumFieldWhereInput
or: [EnumFieldWhereInput]
}
input EnumFieldFieldFilter {
enumfields: EnumFieldFieldFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
type: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为EnumField的列表,EnumField的定义为:
type EnumField {
contenttype: ContentType
defaultvalue: Object
id: ID
invisible_roles: [Role]
irrevisible_roles: [Role]
islist: Boolean
name: String
type: String
}
在以上定义中,type表示标量字段对应的枚举类型,notnull表示该字段是否可以为空,islist 表示该字段是否可以为一个数组,invisible_roles表示这个枚举字段可以被哪些角色看见,不可见的角色通过查询语句找对对应的枚举字段信息,irrevisible_roles表示不可以更改枚举字段的角色名单,在这个名单中的角色不可以修改枚举字段,注意:不可以看见枚举字段肯定不能修枚举量字段。
# EnumFieldListener
这是枚举字段监听器,可以监听EasyGQL引擎中Schema的枚举字段变化,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input EnumField_FieldsMap {
contenttype: Boolean = false
defaultvalue: Boolean = false
invisible_roles: Boolean = false
irrevisible_roles: Boolean = false
islist: Boolean = false
name: Boolean = false
type: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,EnumFieldWhereInput型参数(具体使用方法同ScalarFieldMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值
# triggersInSchema_ObjectInput
这个API用于在Schema中为各个ContenType类型的对象中增加触发器,当具体对象类型的对应数据对象发生变化时,会调用外部的Restful API,达到和外部API集成的目的,它接收以下参数:
- from_id,Schema的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个TriggerInput的类型的数组,因为trigggers字段是数组,所以to_object可以为0到N个TriggerInput对象。 这个API的返回值有:
- inputNestIDList,表示新创建的触发器的ID列表。
TriggerInput这个字段的定义如下:
input TriggerInput {
description: String = ""
eventtype: [Event]
expiredate: Date!
headers: Object
id: ID
name: String!
ok_status: String = "200"
payloadargs: [String]
payloadformatter: String
retry_times: Int = 3
startdate: Date!
typename: String!
webhookurl: String!
}
在以上定义中
- eventtype表示触发器触发的事件时什么,可以为insert、update、delete的组合。
- expirdate表示触发器对应配置的失效时间
- startdate表示触发器对应配置的生效时间
- headers表示触发器对应文件头的一个对象,实际在使用的时候,可以理解为一个JSON的键值对
- id,为自定义的ID
- name,表示触发器的名字
- ok_status,表示判断RestAPI 调用成功的标识状态码
- payloadargs,是一个数组,数组中的字段为对应ContentType对象的属性字段名,和payloadformater中的变量相对应。
- payloadformater,是RestAPI对应payload的字符串表示,payloadformater的格式对应为Stringformater的格式
- retry_times表示失败重试次数
- typename表示对应ContentType的名字
- webhookurl,表示对应RestAPI的地址。
# triggersInSchema_NestRemove
这个API是在Schema中删除触发器用的,:
- from_id,Schema的ID,必填要素。
- to_id,触发器的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# TriggerUpdate
这个API用于更新触发器 这个API是枚举字段更新用的,它接收以下参数:
- object,TriggerUpdateInput类型字段,表示需要更新的字段,TriggerUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。TriggerUpdateInput的定义如下:
input TriggerUpdateInput{
description: String
eventtype: [Event]
expiredate: Date
headers: Object
name: String
ok_status: String
payloadargs: [String]
payloadformatter: String
retry_times: Int
startdate: Date
typename: String
webhookurl: String
}
- where,TriggerWhereInput类型的字段,用以确定数据更新的范围。TriggerWhereInput的定义如下:
input TriggerWhereInput {
and: [TriggerWhereInput]
field_contains: [String]
filter: TriggerFieldFilter
not: TriggerWhereInput
or: [TriggerWhereInput]
}
input TriggerFieldFilter {
description: StringFilter
eventtype: Event_EnumListFilter
expiredate: StringFilter
id: IDFilter
name: StringFilter
ok_status: StringFilter
payloadargs: StringListWhereInput
payloadformatter: StringFilter
retry_times: IntFilter
startdate: StringFilter
triggers: TriggerFieldFilter
typename: StringFilter
webhookurl: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# TriggerDestroy
这个API是按条件删除已经定义好的触发器,它接收一个参数
- where,TriggerWhereInput类型的字段,用以确定删除数据的范围。TriggerWhereInput的定义如下:
input TriggerWhereInput {
and: [TriggerWhereInput]
field_contains: [String]
filter: TriggerFieldFilter
not: TriggerWhereInput
or: [TriggerWhereInput]
}
input TriggerFieldFilter {
description: StringFilter
eventtype: Event_EnumListFilter
expiredate: StringFilter
id: IDFilter
name: StringFilter
ok_status: StringFilter
payloadargs: StringListWhereInput
payloadformatter: StringFilter
retry_times: IntFilter
startdate: StringFilter
triggers: TriggerFieldFilter
typename: StringFilter
webhookurl: StringFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# Trigger
根据ID查询Trigger的API,它接收1个参数:
- id,触发器的ID 返回它返回一个Trigger对象或null,Triggr字段的定义如下:
type Trigger {
description: String
eventtype: [Event]
expiredate: Date
headers: Object
id: ID
name: String
ok_status: String
payloadargs: [String]
payloadformatter: String
retry_times: Int
schemaid: Schema
startdate: Date
typename: String
webhookurl: String
}
在以上定义中
- eventtype表示触发器触发的事件时什么,可以为insert、update、delete的组合。
- expirdate表示触发器对应配置的失效时间
- startdate表示触发器对应配置的生效时间
- headers表示触发器对应文件头的一个对象,实际在使用的时候,可以理解为一个JSON的键值对
- id,为自定义的ID
- name,表示触发器的名字
- ok_status,表示判断RestAPI 调用成功的标识状态码
- payloadargs,是一个数组,数组中的字段为对应ContentType对象的属性字段名,和payloadformater中的变量相对应。
- payloadformater,是RestAPI对应payload的字符串表示,payloadformater的格式对应为Stringformater的格式
- retry_times表示失败重试次数
- typename表示对应ContentType的名字
- webhookurl,表示对应RestAPI的地址。
- schemaid,表示触发器所属Schema
# TriggerMany
这个API用于根据条件查询触发器,它接收的参数有:
- where,TriggerWhereInput的参数
input TriggerWhereInput {
and: [EnumFieldWhereInput]
field_contains: [String]
filter: EnumFieldFieldFilter
not: EnumFieldWhereInput
or: [EnumFieldWhereInput]
}
input TriggerFieldFieldFilter {
enumfields: EnumFieldFieldFilter
id: IDFilter
invisible_roles: Role_EnumListFilter
irrevisible_roles: Role_EnumListFilter
islist: BoolFilter
name: StringFilter
type: StringFilter
}
- orderby,一个String字符串,支持多字段排序,可以支持排序的字段类型为提供了比较操作符的标量类型字段,格式为"字段1,字段2,desc|asc"。
- limit,返回的记录条数
- skip,跳过前多少条
返回值为Trigger的列表,Trigger的定义为:
type Trigger {
description: String
eventtype: [Event]
expiredate: Date
headers: Object
id: ID
name: String
ok_status: String
payloadargs: [String]
payloadformatter: String
retry_times: Int
schemaid: Schema
startdate: Date
typename: String
webhookurl: String
}
在以上定义中
- eventtype表示触发器触发的事件时什么,可以为insert、update、delete的组合。
- expirdate表示触发器对应配置的失效时间
- startdate表示触发器对应配置的生效时间
- headers表示触发器对应文件头的一个对象,实际在使用的时候,可以理解为一个JSON的键值对
- id,为自定义的ID
- name,表示触发器的名字
- ok_status,表示判断RestAPI 调用成功的标识状态码
- payloadargs,是一个数组,数组中的字段为对应ContentType对象的属性字段名,和payloadformater中的变量相对应。
- payloadformater,是RestAPI对应payload的字符串表示,payloadformater的格式对应为Stringformater的格式
- retry_times表示失败重试次数
- typename表示对应ContentType的名字
- webhookurl,表示对应RestAPI的地址。
- schemaid,表示触发器所属Schema
# TriggerListener
这是触发器监听器,可以监听EasyGQL引擎中Schema的触发器,它接收三个参数:
- select,select是一个map型的参数,具体定义如下:
input Trigger_FieldsMap {
description: Boolean = false
eventtype: Boolean = false
expiredate: Boolean = false
headers: Boolean = false
name: Boolean = false
ok_status: Boolean = false
payloadargs: Boolean = false
payloadformatter: Boolean = false
retry_times: Boolean = false
schemaid: Boolean = false
startdate: Boolean = false
typename: Boolean = false
webhookurl: Boolean = false
}
在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,定义同select定义。
- where,TriggerWhereInput型参数(具体使用方法同TriggerMany),表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值。
# unique_constraintsInContentType_ObjectInput
这个API用于在ContetnType类型中为添加唯一索引,它接收以下参数:
- from_id,Contetnt的ID,必填要素
- reset,true或者false表示是否重置,默认为false
- to_object,一个UniqueConstraint的类型的数组,因为unique_constraints字段是数组,所以to_object可以为0到N个UniqueConstraint对象。 这个API的返回值有:
- inputNestIDList,表示新创建的唯一索引的ID列表。
TriggerInput这个字段的定义如下:
input UniqueConstraintInput {
fields: [String]
id: ID
}
在以上定义中
- fields,表示唯一索引字段的列表,可以包含关联关系字段。
# unique_constraintsInContentType_NestRemove
这个API是在ContentType中删除唯一索引用的,:
- from_id,ContentType的ID,必填要素。
- to_id,唯一索引的ID列表。 这个API的返回值有:
- affected_rows,表示受影响的行数。
# UniqueConstraintUpdate
这个API用于更新唯一索引,它接收以下参数:
- object,UniqueConstraintUpdateInput类型字段,表示需要更新的字段,UniqueConstraintUpdateInput的所有属性都是非必填的,仅对输入的要输进行更新。UniqueConstraintUpdateInput的定义如下:
input UniqueConstraintUpdateInput {
fields: [String]
}
- where,UniqueConstraintWhereInput类型的字段,用以确定数据更新的范围。UniqueConstraintWhereInput的定义如下:
input UniqueConstraintWhereInput {
and: [UniqueConstraintWhereInput]
field_contains: [String]
filter: UniqueConstraintFieldFilter
not: UniqueConstraintWhereInput
or: [UniqueConstraintWhereInput]
}
input UniqueConstraintFieldFilter {
fields: StringListWhereInput
id: IDFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# UniqueConstraintDestroy
这个API是按条件删除已经定义好的唯一索引,它接收一个参数
- where,UniqueConstraintWhereInput类型的字段,用以确定删除数据的范围。UniqueConstraintWhereInput的定义如下:
input UniqueConstraintWhereInput {
and: [UniqueConstraintWhereInput]
field_contains: [String]
filter: UniqueConstraintFieldFilter
not: UniqueConstraintWhereInput
or: [UniqueConstraintWhereInput]
}
input UniqueConstraintFieldFilter {
fields: StringListWhereInput
id: IDFilter
}
它返回一个参数:
- affected_rows,表示受影响的行数。
# UniqueConstraintListener
这是唯一索引监听器,可以监听EasyGQL引擎中Schema的唯一索引变化,它接收三个参数:
- select,select是一个map型的参数,{contenttype:true|fasle,fields:true|false},在select中,必须有一个字段为true
- watch,watch和select一样时一个map型参数,{contenttype:true|fasle,fields:true|false},在watch中,必须有一个字段为true。
- where,UniqueConstraintWhereInput型参数,表示监听数据的范围。 返回值有三个部分:
- action: insert、update、delete。
- old_val: 变更之前的值
- new_val: 变更之后的值。