using Adplay.DataContainer;
using Adplay.Model;
using Adplay.Request;
using UnityEngine;

namespace Adplay.Behaviours
{
    public class AdPlayBatchSender : MonoBehaviour
    {

        [SerializeField] private EngagementData engagementData;
        [SerializeField] private AdPlayRequest adPlayRequest;

        private static AdPlayRequest AdPlayRequest { get; set; }
        public void Initialize()
        {
            AdPlayRequest = adPlayRequest;

        }

        public static async void SendBatch(Engagement engagement)
        {
            if (AdPlayRequest == null)
            {
                Debug.Log("Send Batched not initialized");
                return;
            }
            var batchEngagement = new BatchEngagement()
            {
                Engagements = new() { engagement },
            };
            var sendBatchResponse = await AdPlayRequest.SendBatch(batchEngagement);

            if (sendBatchResponse.IsSuccess)
            {
#if UNITY_EDITOR
                Debug.Log($"Send batch success: {sendBatchResponse.Result}");
#endif
            }
            else
            {
#if UNITY_EDITOR
                Debug.Log($"Send batch failed: {sendBatchResponse.Code} - {sendBatchResponse.Error}");
#endif
            }
        }

    }
}
