# Example configuration for Village model with custom components

model:
  name: Village
  tableName: villages
  displayName: village
  pluralDisplayName: villages
  displayField: libelle
  
  # Fields definition
  fields:
    - name: id
      type: integer
      label: ID
      
    - name: libelle
      type: string
      label: Libelle
      required: true
      placeholder: Entrez le nom du village
  
  # Relationships definition
  relationships:
    - name: arrondissement
      type: belongsTo
      model: Arrondissement
      displayField: name
      required: true
      label: Arrondissement

# UI configuration
ui:
  tableFields:
    - libelle
    - arrondissement_id
    - arrondissement.name
  searchableFields:
    - libelle
  itemsPerPage: 5
  enableSearch: true
  enableFilters: true

# Routing configuration
routes:
  apiPrefix: api/villages
  frontendPath: admin/settings/villages
  menuTitle: Villages
  menuIcon: fa-map-marker-alt