package com.ga.api.service.upload;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 업로드 템플릿에 따른 동적 INSERT 매퍼.
 *
 * targetTable 은 반드시 UploadService 의 whitelist 검증 후 전달해야 한다.
 * (SQL Injection 방지)
 */
@Mapper
public interface DynamicInsertMapper {

    int insertRow(@Param("targetTable") String targetTable,
                  @Param("row") Map<String, Object> row);

    int insertBatch(@Param("targetTable") String targetTable,
                    @Param("rows") List<Map<String, Object>> rows);
}
