from contextlib import contextmanager
from typing import Iterator

import mysql.connector

from .config import settings


@contextmanager
def get_connection() -> Iterator[mysql.connector.MySQLConnection]:
    conn = mysql.connector.connect(
        host=settings.mysql_host,
        port=settings.mysql_port,
        database=settings.mysql_database,
        user=settings.mysql_user,
        password=settings.mysql_password,
    )
    try:
        yield conn
    finally:
        conn.close()
