import { gql } from "@apollo/client";

/**
 * query 是操作类型
 * themeCustomization 是操作名称
 * $first 是变量名称，Int是变量$first的类型
 * 
 * query 里边的是接口返回的数据结构的形式，以及字段名（字段名根据后端的模型定义确定）
 * themeCustomizations 是接口返回数据的字段名，这个不是随便写的，由后端的定义确定，比如：
 * {
 *     data: {
 *         themeCustomizations: { ... }
 *     }
 * }
 * first 是接口参数，值是变量$first的值，含义是请求从列表开头开始的 N 条数据
 * 如果定义变量时后边有！，表示这个变量是必须要有值的，没有！表示这个变量可以不传值（也就是接口参数是否是必传的）
 * edges 和 node 是graphql中的概念，edges相当于数组，node相当于数组中的项
 */
export const GET_THEME_CUSTOMIZATION = gql`
  query themeCustomization($first: Int) {
    themeCustomizations(first: $first) {
      edges {
        node {
          id
          type
          name
          status
          sortOrder
          translations {
            edges {
              node {
                id
                themeCustomizationId
                locale
                options
              }
            }
          }
        }
      }
    }
  }
`;
