import pymysql
from pymysql.cursors import DictCursor

from app.config import Settings


def get_connection(settings: Settings):
    connection = pymysql.connect(
        host=settings.db_host,
        port=settings.db_port,
        user=settings.db_user,
        password=settings.db_password,
        charset="utf8mb4",
        cursorclass=DictCursor,
        autocommit=False,
        connect_timeout=10,
    )

    # Las fechas técnicas de Connect se almacenan en UTC.
    with connection.cursor() as cursor:
        cursor.execute("SET time_zone = '+00:00'")

    return connection
