from mods.db import db_conn, db_trans
from mods.db.sample_dao import *
from mods.utils.logger import logger as log


# TODO DB 커넥션 샘플 코드. 참고하여 작성합니다.
def add_sample_data(data):
    """

    :param data: 레코드 데이터
    :return: 성공 여부
    """
    try:
        with db_conn() as conn:
            insert_sample_record(conn, data)
    except Exception as e:
        # FIXME 에러 관련 내용으로 로그를 수정합니다.
        log.exception(f'Exception was occured by {str(e)} while add sample.')
        return False
    return True


# TODO DB 트랜잭션 사용 샘플 코드. 참고하여 작성합니다
def add_sample_data_with_transaction(data_1, data_2):
    try:
        with db_trans() as conn:
            insert_sample_record(conn, data_1)
            insert_sample_record(conn, data_2)
    except Exception as e:
        # FIXME 에러 관련 내용으로 로그를 수정합니다.
        log.exception(f'Exception was occured by {str(e)} while add sample with transaction.')
        return False
    return True
