package io.delphiplatform.api.integration.context.bigtable;

import org.springframework.core.io.support.EncodedResource;
import org.springframework.stereotype.Component;

import io.delphiplatform.api.integration.client.TestBigtableClient;
import io.delphiplatform.api.integration.dto.TikTokTopIsrcSoundsDto;
import io.delphiplatform.api.integration.manager.TestBigtableManager;
import io.delphiplatform.api.v3.constant.BigtableTableName;

@Component
public class BigtableTestTikTokTopIsrcSoundsExecutor extends BigtableTestDataExecutor {

    public BigtableTestTikTokTopIsrcSoundsExecutor(TestBigtableManager bigtableManager,
        TestBigtableClient bigtableClient) {
        super(bigtableManager, bigtableClient);
    }

    @Override
    public void populate(EncodedResource encodedResource) {
        TikTokTopIsrcSoundsDto[] rows = readRows(encodedResource, TikTokTopIsrcSoundsDto[].class);
        for (TikTokTopIsrcSoundsDto row : rows) {
            bigtableManager.createTikTokTopIsrcSounds(row);
        }
    }

    @Override
    public String getTableName() {
        return BigtableTableName.TIKTOK_TOP_ISRC_SOUNDS;
    }
}
