using System;
using LitJson;
using UnityEngine;

namespace AssetUpdate
{
    public class JsonAssetInfo
    {
        public int assetVersion;
        public string assetUri;
        public string apkVersion;
        public string apkUri;
        
        public static JsonAssetInfo Create(JsonData jsonData)
        {
            var error = false;
            var result = new JsonAssetInfo();
            try
            {
                var data = jsonData["data"];
                result = new JsonAssetInfo
                {
                    apkVersion = data["app_version"].ToString().Trim(),
                    apkUri = data["download"].ToString(),
                    assetVersion = (int)data["version"],
                    assetUri = data["hosts"].ToString()
                };
            }
            catch (Exception e)
            {
                error = true;
                Debug.LogError(e);
            }

            if (error)
                result = null;
            return result;
        }

        public override string ToString()
        {
            return string.Format("apkVersion: {0}, apkUri: {1}, assetVersion: {2}, assetUri: {3}", apkVersion, apkUri, assetVersion, assetUri);
        }

        private JsonAssetInfo()
        {
        }
    }
}