extend type Query{
     "Paginate items"
    items: [Item!]! @paginate @guard

    allItems: [Item!]! @all @guard

    topItems(query: String): [Item!]! @guard @paginate(builder: "App\\GraphQL\\Queries\\TopItems")

    searchItem(item: String!): [Item!]! @guard

    textSearchItems(query: String!): [Item!]!

    "Item My Stats"
    itemStats(query: String): [String]! @guard @paginate(builder: "App\\GraphQL\\Queries\\ItemStats")
}

type Item{
    id: ID!

    name: String!

    description: String

    totalAmount: Float! @method(name: "totalAmount")

    image: String

    "Follwers relationship."
    sectors: [Sector]! @belongsToMany(relation: "sectors")

    "Categories relationship"
    categories: [CategoryItem] @belongsToMany(relation: "categories")

    "SubCategories relationship"
    subcategories: [SubCategoryItem] @belongsToMany(relation: "subcategories")

}

type CategoryItem {
    id:ID!

    name: String!

    description: String
}

type SubCategoryItem {
    id:ID!

    name: String!

    description: String
}