Comment configurer un objet tableau dans un plugin ? Utiliser json_schema ? type: objects ?

Comment configurer des objets de tableau dans un plugin ? J’ai essayé json_schema, mais les propriétés d’objet ne prennent pas en charge les sélecteurs comme category ; seules les entrées de texte sont possibles. Quant à type: objects, cela ne fonctionne tout simplement pas dans la configuration du plugin.

Configuration de json_schema :

  quectel_online_customer_category_customers:
    default: "[]"
    client: true
    json_schema: QuectelOnlineCustomer::SiteSettings::CategoryCustomersJsonSchema

plugins/quectel-online-customer/lib/quectel_online_customer/site_settings/category_customers_json_schema.rb

# frozen_string_literal: true

module QuectelOnlineCustomer
  module SiteSettings
    class CategoryCustomersJsonSchema
      def self.schema
        @schema ||= begin
          {
            type: "array",
            uniqueItems: true,
            default: [],
            items: {
              type: "object",
              title: "Configuration des clients par catégorie",
              additionalProperties: false, # Interdit la soumission de champs non définis
              required: %w[category customers], # Les deux champs sont obligatoires
              properties: {
                category: {
                  type: "category",
                  description: "Catégorie du forum associée",
                  label: "Catégorie"
                },
                customers: {
                  type: "usernames", # Sélection multiple d'utilisateurs, remplace le nom d'utilisateur unique
                  description: "Comptes de service client attribués à cette catégorie, prend en charge la sélection multiple",
                  label: "Utilisateurs du service client"
                }
              }
            }
          }
        end
      end
    end
  end
end