Exemplo n.º 1
0
        public static void      RequestSetKeyImage(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.Language language, string path, string type, Action <RequestResponse <string> > onCompleted = null)
        {
            api.SetKeyImage(version.id, language.languageCode, path, type,
                            (r, result) =>
            {
                RequestResponse <string> requestResponse = new RequestResponse <string>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = null
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = response.url;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 2
0
        public static void      RequestSubmit(this Version version, IPublisherAPI api, bool autoPublish, string comments, Action <RequestResponse <string> > onCompleted = null)
        {
            api.Submit(version.id, autoPublish, comments, (r, result) =>
            {
                RequestResponse <string> requestResponse = new RequestResponse <string>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = null
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = response.url;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 3
0
        public static void      RequestAddLanguage(this Version version, IPublisherAPI api, string languageCode, Action <RequestResponse <bool> > onCompleted = null)
        {
            api.AddLanguage(version.id, languageCode, version.name, (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 4
0
        public static void      CreateVoucher(this PublisherDatabase database, IPublisherAPI api, Package package, Action <RequestResponse <Voucher> > onCompleted = null)
        {
            api.CreateVoucher(api.Session.publisher, package.id, (r, result) =>
            {
                RequestResponse <Voucher> requestResponse = new RequestResponse <Voucher>()
                {
                    context = package,
                    ok      = false,
                    error   = null,
                    result  = null
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    InternalNGDebug.Snapshot(response.errors);

                    if (response != null && response.Succeeded == true)
                    {
                        Voucher voucher = new Voucher()
                        {
                            voucherCode  = response.voucher_code,
                            package      = package.name,
                            issuedBy     = api.Session.name,
                            issuedDate   = DateTime.Now.ToString("yyyy-MM-dd"),
                            invoice      = string.Empty,
                            redeemedDate = string.Empty
                        };

                        requestResponse.ok     = true;
                        requestResponse.result = voucher;

                        Voucher[]       array = database.Vouchers;
                        Array.Resize(ref array, database.Vouchers.Length + 1);
                        array[array.Length - 1] = voucher;

                        database.Vouchers = array;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 5
0
        public static void      RequestDeleteDraft(this Version version, IPublisherAPI api, Action <RequestResponse <bool> > onCompleted = null)
        {
            Debug.Assert(version.status == Status.Draft);

            api.DeleteDraft(version.id, (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        Package package     = version.package;
                        List <Version> list = new List <Version>(package.versions);

                        for (int j = 0, max2 = list.Count; j < max2; ++j)
                        {
                            if (list[j].id == version.id)
                            {
                                list.RemoveAt(j);
                                break;
                            }
                        }

                        package.versions = list.ToArray();

                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 6
0
        public static void      RequestDeleteUnityPackage(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.UnityPackage unityPackage, Action <RequestResponse <bool> > onCompleted = null)
        {
            api.DeleteUnityPackage(version.id, unityPackage, (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        var unityPackages = new List <VersionDetailed.Package.Version.UnityPackage>(version.detailed.package.version.unitypackages);

                        unityPackages.Remove(unityPackage);

                        version.detailed.package.version.unitypackages = unityPackages.ToArray();

                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 7
0
        public static void      RequestVetVersion(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.UnityPackage unityPackage, IEnumerable <string> platforms, IEnumerable <string> unityVersions, IEnumerable <string> srpTypes, IEnumerable <string> dependencies, Action <RequestResponse <bool> > onCompleted = null)
        {
            api.VetVersion(version.id,
                           unityPackage.package_upload_id,
                           platforms,
                           unityVersions,
                           srpTypes,
                           dependencies,
                           (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 8
0
#pragma warning restore 649

        public static void      RequestAllPackages(this PublisherDatabase database, IPublisherAPI api, Action <RequestResponse <Package[]> > onCompleted = null)
        {
            api.GetAllPackages((r, result) =>
            {
                RequestResponse <Package[]> requestResponse = new RequestResponse <Package[]>()
                {
                    context = database,
                    ok      = false,
                    error   = null,
                    result  = null
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response == null || response.Succeeded == true)
                    {
                        Packages packagesContainer = JsonUtility.FromJson <Packages>(result);
                        List <Package> packages    = new List <Package>(packagesContainer.packages);

                        packages.Sort((a, b) => a.name.CompareTo(b.name));

                        requestResponse.ok     = true;
                        requestResponse.result = packages.ToArray();
                        database.Packages      = requestResponse.result;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 9
0
        public static void      RequestSetPackage(this Version version, IPublisherAPI api, string versionName, string publishnotes, int categoryID, float price, Action <RequestResponse <bool> > onCompleted = null)
        {
            api.SetPackage(version.id,
                           versionName,
                           publishnotes,
                           categoryID,
                           price,
                           (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 10
0
        public static void      RequestSetPackageMetadata(this Version version, IPublisherAPI api, VersionDetailed.Package.Version.Language language, string name, string description, string keywords, Action <RequestResponse <bool> > onCompleted = null)
        {
            api.SetPackageMetadata(version.id, language.languageCode,
                                   name,
                                   description,
                                   keywords,
                                   (r, result) =>
            {
                RequestResponse <bool> requestResponse = new RequestResponse <bool>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = false
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null && response.Succeeded == true)
                    {
                        requestResponse.ok     = true;
                        requestResponse.result = true;
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }
Exemplo n.º 11
0
        public static void      RequestCreateDraft(this Version version, IPublisherAPI api, Action <RequestResponse <int> > onCompleted = null)
        {
            api.CreateDraft(version.id, (r, result) =>
            {
                RequestResponse <int> requestResponse = new RequestResponse <int>()
                {
                    context = version,
                    ok      = false,
                    error   = null,
                    result  = 0
                };

                if (DataStructureExtension.CheckRequest(r, result, requestResponse) == true)
                {
                    Response response = DataStructureExtension.CheckResponse(result, requestResponse);

                    if (Conf.DebugMode == Conf.DebugState.Verbose)
                    {
                        InternalNGDebug.Snapshot(response);
                    }

                    if (response != null)
                    {
                        if (response.Succeeded == true)
                        {
                            Package package = version.package;
                            Version model   = null;

                            // Pick a model, published if available. Even without, Unity might do it automatically on its side. Not sure though.
                            for (int i = 0, max = package.versions.Length; i < max; ++i)
                            {
                                Version v = package.versions[i];

                                if (model == null || v.status == Status.Published)
                                {
                                    model = v;
                                }
                            }

                            string modelJson = JsonUtility.ToJson(model);

                            model         = new Version();
                            model.package = package;

                            JsonUtility.FromJsonOverwrite(modelJson, model);

                            model.id     = response.id;
                            model.status = Status.Draft;

                            DateTime now = DateTime.Now;

                            model.created   = now.Year.ToString("0000") + "-" + now.Month.ToString("00") + "-" + now.Day.ToString("00") + " " + now.Hour.ToString("00") + ":" + now.Minute.ToString("00") + ":" + now.Second.ToString("00");
                            model.modified  = model.created;
                            model.published = string.Empty;

                            Array.Resize(ref package.versions, package.versions.Length + 1);
                            package.versions[package.versions.Length - 1] = model;

                            requestResponse.ok     = true;
                            requestResponse.result = response.id;
                        }
                    }
                }

                if (onCompleted != null)
                {
                    onCompleted(requestResponse);
                }
            });
        }