# 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: 变更之后的值。