Skip to content

manage

# 一个面向 前端/用户/调用者 的 type
type Query {
    # users 接受1个必传参数 station_id,返回由 User type 组成的列表
    users(station_id: String!): [User]

    # roles 接受两个参数 partner_id 和 contain_role_name User type 组成的列表
    roles(partner_id: String!, contain_role_name: String): [Role]
    # role 接受一个必传参数 id,返回一个 Role type
    role(id: ID!): Role!

    # permissions 接受1个必传参数 partner_id,返回由 Permission type 组成的列表
    permissions(partner_id: ID!): [Permission]
    # permission 接受一个必传参数 id,返回一个 Permission type
    permission(id: ID!): Permission

    # stations 接受一个必传参数 partner_id,返回由 Station type 组成的列表
    stations(partner_id: String) [Station]
}

type User {
    id: ID
    username: String
    create_time: String
    station_id: String
    roles: [Role]   # User type 有一个名为 roles 的属性,这个属性的值是一个由 Role type 组成的字典
}

type Role {
    id: ID
    name: String
    users: [User]
    partner_id: Station
    description: String
    permissions: [Permission]
    create_time: Datetime
}

type Station {
    id: ID
    name: String
    roles: [Role]
}

type Partner {
    id: ID
    name: String
    roles: [Role]
    users: [User]
}

type Permissions {
    id: ID
    name: String
    permission_level2_class: PermissionLevel1Class
    stations(partner_id: Int): [Station]  # station_id 和 partner_id 最少传一个
    roles(partner_id: Int): [Role]  # station_id 和 partner_id 最少传一个
    users(partner_id: Int): [User]  # station_id 和 partner_id 最少传一个
}

type PermissionLevel1Class {
    id: ID
    name: String
}

type PermissionLevel2Class {
    id: ID
    name: String
    permission_level1_class: PermissionLevel1Class
}