# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.

# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
parameters:
  server_url: "%env(SERVER_URL)%"
  oidc_auth_server_url: "%env(OIDC_AUTH_SERVER_URL)%"
  oidc_client_id: "%env(OIDC_CLIENT_ID)%"
  oidc_admin_username: "%env(OIDC_ADMIN_USERNAME)%"
  oidc_admin_password: "%env(OIDC_ADMIN_PASSWORD)%"
  oidc_realm: "%env(OIDC_REALM)%"
  minio_bucket: "%env(MINIO_BUCKET)%"
  minio_endpoint: "%env(MINIO_ENDPOINT)%"

services:
  # default configuration for services in *this* file
  _defaults:
    autowire: true # Automatically injects dependencies in your services.
    autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.

  # makes classes in src/ available to be used as services
  # this creates a service per class whose id is the fully-qualified class name
  App\:
    resource: "../src/"

  App\Service\KeycloakClientService:
    arguments:
      $oidc_auth_server_url: "%oidc_auth_server_url%"
      $oidc_client_id: "%oidc_client_id%"
      $oidc_admin_username: "%oidc_admin_username%"
      $oidc_admin_password: "%oidc_admin_password%"
      $oidc_realm: "%oidc_realm%"

  App\Service\ImageService:

  app.minio_client:
    class: Aws\S3\S3Client
    arguments:
      - version: "latest"
        region: "%env(MINIO_REGION)%"
        endpoint: "%env(MINIO_ENDPOINT)%"
        use_path_style_endpoint: true
        credentials:
          key: "%env(MINIO_KEY)%"
          secret: "%env(MINIO_SECRET)%"
  App\Form\CKEditor5Type:
    arguments:
      $stimulusHelper: "@stimulus.helper"
    tags: ["form.type"]
  # add more service definitions when explicit configuration is needed
  # please note that last definitions always *replace* previous ones
