#!/usr/bin/python3

#     Copyright 2021. FastyBird s.r.o.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

"""
Tuya connector plugin DI container
"""

# pylint: disable=no-value-for-parameter

# Python base dependencies
import logging

# Library dependencies
from kink import di

# Library libs
from miniserver_gateway.connectors.tuya.connector import TuyaConnector
from miniserver_gateway.connectors.tuya.logger import Logger


def create_container(logger: logging.Logger = logging.getLogger("dummy")) -> None:
    """Create Tuya connector services"""
    di[Logger] = Logger(logger=logger)
    di["tuya-connector-plugin_logger"] = di[Logger]

    # Plugin main connector service
    di[TuyaConnector] = TuyaConnector(
        logger=di[Logger],
    )
    di["tuya-connector-plugin_connector"] = di[TuyaConnector]
