Repository URL to install this package:
Version:
2025.3.20 ▾
|
/*
* Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
#if UNITY_2017_1_OR_NEWER
using UnityEngine.Events;
using UnityEngine.Networking;
#if GS2_ENABLE_UNITASK
using Cysharp.Threading.Tasks;
#endif
#else
using System.Web;
using System.Net.Http;
using System.Threading.Tasks;
#endif
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Gs2Account.Request;
using Gs2.Gs2Account.Result;
using Gs2.Util.LitJson;
namespace Gs2.Gs2Account
{
public class Gs2AccountRestClient : AbstractGs2Client
{
#if UNITY_2017_1_OR_NEWER
private readonly CertificateHandler _certificateHandler;
#endif
public static string Endpoint = "account";
protected Gs2RestSession Gs2RestSession => (Gs2RestSession) Gs2Session;
public Gs2AccountRestClient(Gs2RestSession Gs2RestSession) : base(Gs2RestSession)
{
}
#if UNITY_2017_1_OR_NEWER
public Gs2AccountRestClient(Gs2RestSession gs2RestSession, CertificateHandler certificateHandler) : base(gs2RestSession)
{
_certificateHandler = certificateHandler;
}
#endif
public class DescribeNamespacesTask : Gs2RestSessionTask<DescribeNamespacesRequest, DescribeNamespacesResult>
{
public DescribeNamespacesTask(IGs2Session session, RestSessionRequestFactory factory, DescribeNamespacesRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeNamespacesRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeNamespaces(
Request.DescribeNamespacesRequest request,
UnityAction<AsyncResult<Result.DescribeNamespacesResult>> callback
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeNamespacesResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeNamespacesResult> DescribeNamespacesFuture(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
AsyncResult<Result.DescribeNamespacesResult> result = null;
await DescribeNamespaces(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeNamespacesTask DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateNamespaceTask : Gs2RestSessionTask<CreateNamespaceRequest, CreateNamespaceResult>
{
public CreateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, CreateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.ChangePasswordIfTakeOver != null)
{
jsonWriter.WritePropertyName("changePasswordIfTakeOver");
jsonWriter.Write(request.ChangePasswordIfTakeOver.ToString());
}
if (request.DifferentUserIdForLoginAndDataRetention != null)
{
jsonWriter.WritePropertyName("differentUserIdForLoginAndDataRetention");
jsonWriter.Write(request.DifferentUserIdForLoginAndDataRetention.ToString());
}
if (request.CreateAccountScript != null)
{
jsonWriter.WritePropertyName("createAccountScript");
request.CreateAccountScript.WriteJson(jsonWriter);
}
if (request.AuthenticationScript != null)
{
jsonWriter.WritePropertyName("authenticationScript");
request.AuthenticationScript.WriteJson(jsonWriter);
}
if (request.CreateTakeOverScript != null)
{
jsonWriter.WritePropertyName("createTakeOverScript");
request.CreateTakeOverScript.WriteJson(jsonWriter);
}
if (request.DoTakeOverScript != null)
{
jsonWriter.WritePropertyName("doTakeOverScript");
request.DoTakeOverScript.WriteJson(jsonWriter);
}
if (request.BanScript != null)
{
jsonWriter.WritePropertyName("banScript");
request.BanScript.WriteJson(jsonWriter);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateNamespace(
Request.CreateNamespaceRequest request,
UnityAction<AsyncResult<Result.CreateNamespaceResult>> callback
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.CreateNamespaceResult> CreateNamespaceFuture(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
AsyncResult<Result.CreateNamespaceResult> result = null;
await CreateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateNamespaceTask CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceStatusTask : Gs2RestSessionTask<GetNamespaceStatusRequest, GetNamespaceStatusResult>
{
public GetNamespaceStatusTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceStatusRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceStatusRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/status";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespaceStatus(
Request.GetNamespaceStatusRequest request,
UnityAction<AsyncResult<Result.GetNamespaceStatusResult>> callback
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceStatusResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceStatusResult> GetNamespaceStatusFuture(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
AsyncResult<Result.GetNamespaceStatusResult> result = null;
await GetNamespaceStatus(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceStatusTask GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceTask : Gs2RestSessionTask<GetNamespaceRequest, GetNamespaceResult>
{
public GetNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespace(
Request.GetNamespaceRequest request,
UnityAction<AsyncResult<Result.GetNamespaceResult>> callback
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceResult> GetNamespaceFuture(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
AsyncResult<Result.GetNamespaceResult> result = null;
await GetNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceTask GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateNamespaceTask : Gs2RestSessionTask<UpdateNamespaceRequest, UpdateNamespaceResult>
{
public UpdateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, UpdateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.ChangePasswordIfTakeOver != null)
{
jsonWriter.WritePropertyName("changePasswordIfTakeOver");
jsonWriter.Write(request.ChangePasswordIfTakeOver.ToString());
}
if (request.CreateAccountScript != null)
{
jsonWriter.WritePropertyName("createAccountScript");
request.CreateAccountScript.WriteJson(jsonWriter);
}
if (request.AuthenticationScript != null)
{
jsonWriter.WritePropertyName("authenticationScript");
request.AuthenticationScript.WriteJson(jsonWriter);
}
if (request.CreateTakeOverScript != null)
{
jsonWriter.WritePropertyName("createTakeOverScript");
request.CreateTakeOverScript.WriteJson(jsonWriter);
}
if (request.DoTakeOverScript != null)
{
jsonWriter.WritePropertyName("doTakeOverScript");
request.DoTakeOverScript.WriteJson(jsonWriter);
}
if (request.BanScript != null)
{
jsonWriter.WritePropertyName("banScript");
request.BanScript.WriteJson(jsonWriter);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateNamespace(
Request.UpdateNamespaceRequest request,
UnityAction<AsyncResult<Result.UpdateNamespaceResult>> callback
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateNamespaceResult> UpdateNamespaceFuture(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
AsyncResult<Result.UpdateNamespaceResult> result = null;
await UpdateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateNamespaceTask UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteNamespaceTask : Gs2RestSessionTask<DeleteNamespaceRequest, DeleteNamespaceResult>
{
public DeleteNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, DeleteNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteNamespace(
Request.DeleteNamespaceRequest request,
UnityAction<AsyncResult<Result.DeleteNamespaceResult>> callback
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteNamespaceResult> DeleteNamespaceFuture(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
AsyncResult<Result.DeleteNamespaceResult> result = null;
await DeleteNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteNamespaceTask DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DumpUserDataByUserIdTask : Gs2RestSessionTask<DumpUserDataByUserIdRequest, DumpUserDataByUserIdResult>
{
public DumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DumpUserDataByUserId(
Request.DumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.DumpUserDataByUserIdResult>> callback
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdFuture(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.DumpUserDataByUserIdResult> result = null;
await DumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DumpUserDataByUserIdTask DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckDumpUserDataByUserIdTask : Gs2RestSessionTask<CheckDumpUserDataByUserIdRequest, CheckDumpUserDataByUserIdResult>
{
public CheckDumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckDumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckDumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckDumpUserDataByUserId(
Request.CheckDumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckDumpUserDataByUserIdResult>> callback
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckDumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdFuture(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckDumpUserDataByUserIdResult> result = null;
await CheckDumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckDumpUserDataByUserIdTask CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CleanUserDataByUserIdTask : Gs2RestSessionTask<CleanUserDataByUserIdRequest, CleanUserDataByUserIdResult>
{
public CleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CleanUserDataByUserId(
Request.CleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CleanUserDataByUserIdResult>> callback
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdFuture(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CleanUserDataByUserIdResult> result = null;
await CleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CleanUserDataByUserIdTask CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckCleanUserDataByUserIdTask : Gs2RestSessionTask<CheckCleanUserDataByUserIdRequest, CheckCleanUserDataByUserIdResult>
{
public CheckCleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckCleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckCleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckCleanUserDataByUserId(
Request.CheckCleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckCleanUserDataByUserIdResult>> callback
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckCleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdFuture(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckCleanUserDataByUserIdResult> result = null;
await CheckCleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckCleanUserDataByUserIdTask CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PrepareImportUserDataByUserIdTask : Gs2RestSessionTask<PrepareImportUserDataByUserIdRequest, PrepareImportUserDataByUserIdResult>
{
public PrepareImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, PrepareImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PrepareImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/prepare";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator PrepareImportUserDataByUserId(
Request.PrepareImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.PrepareImportUserDataByUserIdResult>> callback
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PrepareImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdFuture(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.PrepareImportUserDataByUserIdResult> result = null;
await PrepareImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PrepareImportUserDataByUserIdTask PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ImportUserDataByUserIdTask : Gs2RestSessionTask<ImportUserDataByUserIdRequest, ImportUserDataByUserIdResult>
{
public ImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, ImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.UploadToken != null)
{
jsonWriter.WritePropertyName("uploadToken");
jsonWriter.Write(request.UploadToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ImportUserDataByUserId(
Request.ImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.ImportUserDataByUserIdResult>> callback
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdFuture(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.ImportUserDataByUserIdResult> result = null;
await ImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ImportUserDataByUserIdTask ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckImportUserDataByUserIdTask : Gs2RestSessionTask<CheckImportUserDataByUserIdRequest, CheckImportUserDataByUserIdResult>
{
public CheckImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/{uploadToken}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{uploadToken}", !string.IsNullOrEmpty(request.UploadToken) ? request.UploadToken.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckImportUserDataByUserId(
Request.CheckImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckImportUserDataByUserIdResult>> callback
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdFuture(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckImportUserDataByUserIdResult> result = null;
await CheckImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckImportUserDataByUserIdTask CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeAccountsTask : Gs2RestSessionTask<DescribeAccountsRequest, DescribeAccountsResult>
{
public DescribeAccountsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeAccountsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeAccountsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeAccounts(
Request.DescribeAccountsRequest request,
UnityAction<AsyncResult<Result.DescribeAccountsResult>> callback
)
{
var task = new DescribeAccountsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeAccountsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeAccountsResult> DescribeAccountsFuture(
Request.DescribeAccountsRequest request
)
{
return new DescribeAccountsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeAccountsResult> DescribeAccountsAsync(
Request.DescribeAccountsRequest request
)
{
AsyncResult<Result.DescribeAccountsResult> result = null;
await DescribeAccounts(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeAccountsTask DescribeAccountsAsync(
Request.DescribeAccountsRequest request
)
{
return new DescribeAccountsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeAccountsResult> DescribeAccountsAsync(
Request.DescribeAccountsRequest request
)
{
var task = new DescribeAccountsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateAccountTask : Gs2RestSessionTask<CreateAccountRequest, CreateAccountResult>
{
public CreateAccountTask(IGs2Session session, RestSessionRequestFactory factory, CreateAccountRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateAccountRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateAccount(
Request.CreateAccountRequest request,
UnityAction<AsyncResult<Result.CreateAccountResult>> callback
)
{
var task = new CreateAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateAccountResult>(task.Result, task.Error));
}
public IFuture<Result.CreateAccountResult> CreateAccountFuture(
Request.CreateAccountRequest request
)
{
return new CreateAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateAccountResult> CreateAccountAsync(
Request.CreateAccountRequest request
)
{
AsyncResult<Result.CreateAccountResult> result = null;
await CreateAccount(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateAccountTask CreateAccountAsync(
Request.CreateAccountRequest request
)
{
return new CreateAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateAccountResult> CreateAccountAsync(
Request.CreateAccountRequest request
)
{
var task = new CreateAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateTimeOffsetTask : Gs2RestSessionTask<UpdateTimeOffsetRequest, UpdateTimeOffsetResult>
{
public UpdateTimeOffsetTask(IGs2Session session, RestSessionRequestFactory factory, UpdateTimeOffsetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateTimeOffsetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/time_offset";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.TimeOffset != null)
{
jsonWriter.WritePropertyName("timeOffset");
jsonWriter.Write(request.TimeOffset.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateTimeOffset(
Request.UpdateTimeOffsetRequest request,
UnityAction<AsyncResult<Result.UpdateTimeOffsetResult>> callback
)
{
var task = new UpdateTimeOffsetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateTimeOffsetResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateTimeOffsetResult> UpdateTimeOffsetFuture(
Request.UpdateTimeOffsetRequest request
)
{
return new UpdateTimeOffsetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateTimeOffsetResult> UpdateTimeOffsetAsync(
Request.UpdateTimeOffsetRequest request
)
{
AsyncResult<Result.UpdateTimeOffsetResult> result = null;
await UpdateTimeOffset(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateTimeOffsetTask UpdateTimeOffsetAsync(
Request.UpdateTimeOffsetRequest request
)
{
return new UpdateTimeOffsetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateTimeOffsetResult> UpdateTimeOffsetAsync(
Request.UpdateTimeOffsetRequest request
)
{
var task = new UpdateTimeOffsetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateBannedTask : Gs2RestSessionTask<UpdateBannedRequest, UpdateBannedResult>
{
public UpdateBannedTask(IGs2Session session, RestSessionRequestFactory factory, UpdateBannedRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateBannedRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/banned";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Banned != null)
{
jsonWriter.WritePropertyName("banned");
jsonWriter.Write(request.Banned.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateBanned(
Request.UpdateBannedRequest request,
UnityAction<AsyncResult<Result.UpdateBannedResult>> callback
)
{
var task = new UpdateBannedTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateBannedResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateBannedResult> UpdateBannedFuture(
Request.UpdateBannedRequest request
)
{
return new UpdateBannedTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateBannedResult> UpdateBannedAsync(
Request.UpdateBannedRequest request
)
{
AsyncResult<Result.UpdateBannedResult> result = null;
await UpdateBanned(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateBannedTask UpdateBannedAsync(
Request.UpdateBannedRequest request
)
{
return new UpdateBannedTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateBannedResult> UpdateBannedAsync(
Request.UpdateBannedRequest request
)
{
var task = new UpdateBannedTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AddBanTask : Gs2RestSessionTask<AddBanRequest, AddBanResult>
{
public AddBanTask(IGs2Session session, RestSessionRequestFactory factory, AddBanRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AddBanRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/ban";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.BanStatus != null)
{
jsonWriter.WritePropertyName("banStatus");
request.BanStatus.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator AddBan(
Request.AddBanRequest request,
UnityAction<AsyncResult<Result.AddBanResult>> callback
)
{
var task = new AddBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AddBanResult>(task.Result, task.Error));
}
public IFuture<Result.AddBanResult> AddBanFuture(
Request.AddBanRequest request
)
{
return new AddBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AddBanResult> AddBanAsync(
Request.AddBanRequest request
)
{
AsyncResult<Result.AddBanResult> result = null;
await AddBan(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AddBanTask AddBanAsync(
Request.AddBanRequest request
)
{
return new AddBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AddBanResult> AddBanAsync(
Request.AddBanRequest request
)
{
var task = new AddBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class RemoveBanTask : Gs2RestSessionTask<RemoveBanRequest, RemoveBanResult>
{
public RemoveBanTask(IGs2Session session, RestSessionRequestFactory factory, RemoveBanRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(RemoveBanRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/ban/{banStatusName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{banStatusName}", !string.IsNullOrEmpty(request.BanStatusName) ? request.BanStatusName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator RemoveBan(
Request.RemoveBanRequest request,
UnityAction<AsyncResult<Result.RemoveBanResult>> callback
)
{
var task = new RemoveBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.RemoveBanResult>(task.Result, task.Error));
}
public IFuture<Result.RemoveBanResult> RemoveBanFuture(
Request.RemoveBanRequest request
)
{
return new RemoveBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.RemoveBanResult> RemoveBanAsync(
Request.RemoveBanRequest request
)
{
AsyncResult<Result.RemoveBanResult> result = null;
await RemoveBan(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public RemoveBanTask RemoveBanAsync(
Request.RemoveBanRequest request
)
{
return new RemoveBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.RemoveBanResult> RemoveBanAsync(
Request.RemoveBanRequest request
)
{
var task = new RemoveBanTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetAccountTask : Gs2RestSessionTask<GetAccountRequest, GetAccountResult>
{
public GetAccountTask(IGs2Session session, RestSessionRequestFactory factory, GetAccountRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetAccountRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.IncludeLastAuthenticatedAt != null) {
sessionRequest.AddQueryString("includeLastAuthenticatedAt", $"{request.IncludeLastAuthenticatedAt}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetAccount(
Request.GetAccountRequest request,
UnityAction<AsyncResult<Result.GetAccountResult>> callback
)
{
var task = new GetAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetAccountResult>(task.Result, task.Error));
}
public IFuture<Result.GetAccountResult> GetAccountFuture(
Request.GetAccountRequest request
)
{
return new GetAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetAccountResult> GetAccountAsync(
Request.GetAccountRequest request
)
{
AsyncResult<Result.GetAccountResult> result = null;
await GetAccount(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetAccountTask GetAccountAsync(
Request.GetAccountRequest request
)
{
return new GetAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetAccountResult> GetAccountAsync(
Request.GetAccountRequest request
)
{
var task = new GetAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteAccountTask : Gs2RestSessionTask<DeleteAccountRequest, DeleteAccountResult>
{
public DeleteAccountTask(IGs2Session session, RestSessionRequestFactory factory, DeleteAccountRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteAccountRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteAccount(
Request.DeleteAccountRequest request,
UnityAction<AsyncResult<Result.DeleteAccountResult>> callback
)
{
var task = new DeleteAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteAccountResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteAccountResult> DeleteAccountFuture(
Request.DeleteAccountRequest request
)
{
return new DeleteAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteAccountResult> DeleteAccountAsync(
Request.DeleteAccountRequest request
)
{
AsyncResult<Result.DeleteAccountResult> result = null;
await DeleteAccount(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteAccountTask DeleteAccountAsync(
Request.DeleteAccountRequest request
)
{
return new DeleteAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteAccountResult> DeleteAccountAsync(
Request.DeleteAccountRequest request
)
{
var task = new DeleteAccountTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class AuthenticationTask : Gs2RestSessionTask<AuthenticationRequest, AuthenticationResult>
{
public AuthenticationTask(IGs2Session session, RestSessionRequestFactory factory, AuthenticationRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(AuthenticationRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "account.password.invalid") > 0) {
base.OnError(new Exception.PasswordIncorrectException(error));
}
else if (error.Errors.Count(v => v.code == "account.banned.infinity") > 0) {
base.OnError(new Exception.BannedInfinityException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator Authentication(
Request.AuthenticationRequest request,
UnityAction<AsyncResult<Result.AuthenticationResult>> callback
)
{
var task = new AuthenticationTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.AuthenticationResult>(task.Result, task.Error));
}
public IFuture<Result.AuthenticationResult> AuthenticationFuture(
Request.AuthenticationRequest request
)
{
return new AuthenticationTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.AuthenticationResult> AuthenticationAsync(
Request.AuthenticationRequest request
)
{
AsyncResult<Result.AuthenticationResult> result = null;
await Authentication(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public AuthenticationTask AuthenticationAsync(
Request.AuthenticationRequest request
)
{
return new AuthenticationTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.AuthenticationResult> AuthenticationAsync(
Request.AuthenticationRequest request
)
{
var task = new AuthenticationTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeTakeOversTask : Gs2RestSessionTask<DescribeTakeOversRequest, DescribeTakeOversResult>
{
public DescribeTakeOversTask(IGs2Session session, RestSessionRequestFactory factory, DescribeTakeOversRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeTakeOversRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeTakeOvers(
Request.DescribeTakeOversRequest request,
UnityAction<AsyncResult<Result.DescribeTakeOversResult>> callback
)
{
var task = new DescribeTakeOversTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeTakeOversResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeTakeOversResult> DescribeTakeOversFuture(
Request.DescribeTakeOversRequest request
)
{
return new DescribeTakeOversTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeTakeOversResult> DescribeTakeOversAsync(
Request.DescribeTakeOversRequest request
)
{
AsyncResult<Result.DescribeTakeOversResult> result = null;
await DescribeTakeOvers(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeTakeOversTask DescribeTakeOversAsync(
Request.DescribeTakeOversRequest request
)
{
return new DescribeTakeOversTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeTakeOversResult> DescribeTakeOversAsync(
Request.DescribeTakeOversRequest request
)
{
var task = new DescribeTakeOversTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeTakeOversByUserIdTask : Gs2RestSessionTask<DescribeTakeOversByUserIdRequest, DescribeTakeOversByUserIdResult>
{
public DescribeTakeOversByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribeTakeOversByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeTakeOversByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeTakeOversByUserId(
Request.DescribeTakeOversByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribeTakeOversByUserIdResult>> callback
)
{
var task = new DescribeTakeOversByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeTakeOversByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeTakeOversByUserIdResult> DescribeTakeOversByUserIdFuture(
Request.DescribeTakeOversByUserIdRequest request
)
{
return new DescribeTakeOversByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeTakeOversByUserIdResult> DescribeTakeOversByUserIdAsync(
Request.DescribeTakeOversByUserIdRequest request
)
{
AsyncResult<Result.DescribeTakeOversByUserIdResult> result = null;
await DescribeTakeOversByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeTakeOversByUserIdTask DescribeTakeOversByUserIdAsync(
Request.DescribeTakeOversByUserIdRequest request
)
{
return new DescribeTakeOversByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeTakeOversByUserIdResult> DescribeTakeOversByUserIdAsync(
Request.DescribeTakeOversByUserIdRequest request
)
{
var task = new DescribeTakeOversByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateTakeOverTask : Gs2RestSessionTask<CreateTakeOverRequest, CreateTakeOverResult>
{
public CreateTakeOverTask(IGs2Session session, RestSessionRequestFactory factory, CreateTakeOverRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateTakeOverRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.UserIdentifier != null)
{
jsonWriter.WritePropertyName("userIdentifier");
jsonWriter.Write(request.UserIdentifier);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateTakeOver(
Request.CreateTakeOverRequest request,
UnityAction<AsyncResult<Result.CreateTakeOverResult>> callback
)
{
var task = new CreateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateTakeOverResult>(task.Result, task.Error));
}
public IFuture<Result.CreateTakeOverResult> CreateTakeOverFuture(
Request.CreateTakeOverRequest request
)
{
return new CreateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateTakeOverResult> CreateTakeOverAsync(
Request.CreateTakeOverRequest request
)
{
AsyncResult<Result.CreateTakeOverResult> result = null;
await CreateTakeOver(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateTakeOverTask CreateTakeOverAsync(
Request.CreateTakeOverRequest request
)
{
return new CreateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateTakeOverResult> CreateTakeOverAsync(
Request.CreateTakeOverRequest request
)
{
var task = new CreateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateTakeOverByUserIdTask : Gs2RestSessionTask<CreateTakeOverByUserIdRequest, CreateTakeOverByUserIdResult>
{
public CreateTakeOverByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CreateTakeOverByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateTakeOverByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.UserIdentifier != null)
{
jsonWriter.WritePropertyName("userIdentifier");
jsonWriter.Write(request.UserIdentifier);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateTakeOverByUserId(
Request.CreateTakeOverByUserIdRequest request,
UnityAction<AsyncResult<Result.CreateTakeOverByUserIdResult>> callback
)
{
var task = new CreateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateTakeOverByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CreateTakeOverByUserIdResult> CreateTakeOverByUserIdFuture(
Request.CreateTakeOverByUserIdRequest request
)
{
return new CreateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateTakeOverByUserIdResult> CreateTakeOverByUserIdAsync(
Request.CreateTakeOverByUserIdRequest request
)
{
AsyncResult<Result.CreateTakeOverByUserIdResult> result = null;
await CreateTakeOverByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateTakeOverByUserIdTask CreateTakeOverByUserIdAsync(
Request.CreateTakeOverByUserIdRequest request
)
{
return new CreateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateTakeOverByUserIdResult> CreateTakeOverByUserIdAsync(
Request.CreateTakeOverByUserIdRequest request
)
{
var task = new CreateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateTakeOverOpenIdConnectTask : Gs2RestSessionTask<CreateTakeOverOpenIdConnectRequest, CreateTakeOverOpenIdConnectResult>
{
public CreateTakeOverOpenIdConnectTask(IGs2Session session, RestSessionRequestFactory factory, CreateTakeOverOpenIdConnectRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateTakeOverOpenIdConnectRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover/openIdConnect";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.IdToken != null)
{
jsonWriter.WritePropertyName("idToken");
jsonWriter.Write(request.IdToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateTakeOverOpenIdConnect(
Request.CreateTakeOverOpenIdConnectRequest request,
UnityAction<AsyncResult<Result.CreateTakeOverOpenIdConnectResult>> callback
)
{
var task = new CreateTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateTakeOverOpenIdConnectResult>(task.Result, task.Error));
}
public IFuture<Result.CreateTakeOverOpenIdConnectResult> CreateTakeOverOpenIdConnectFuture(
Request.CreateTakeOverOpenIdConnectRequest request
)
{
return new CreateTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateTakeOverOpenIdConnectResult> CreateTakeOverOpenIdConnectAsync(
Request.CreateTakeOverOpenIdConnectRequest request
)
{
AsyncResult<Result.CreateTakeOverOpenIdConnectResult> result = null;
await CreateTakeOverOpenIdConnect(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateTakeOverOpenIdConnectTask CreateTakeOverOpenIdConnectAsync(
Request.CreateTakeOverOpenIdConnectRequest request
)
{
return new CreateTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateTakeOverOpenIdConnectResult> CreateTakeOverOpenIdConnectAsync(
Request.CreateTakeOverOpenIdConnectRequest request
)
{
var task = new CreateTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateTakeOverOpenIdConnectAndByUserIdTask : Gs2RestSessionTask<CreateTakeOverOpenIdConnectAndByUserIdRequest, CreateTakeOverOpenIdConnectAndByUserIdResult>
{
public CreateTakeOverOpenIdConnectAndByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CreateTakeOverOpenIdConnectAndByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateTakeOverOpenIdConnectAndByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover/openIdConnect";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.IdToken != null)
{
jsonWriter.WritePropertyName("idToken");
jsonWriter.Write(request.IdToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateTakeOverOpenIdConnectAndByUserId(
Request.CreateTakeOverOpenIdConnectAndByUserIdRequest request,
UnityAction<AsyncResult<Result.CreateTakeOverOpenIdConnectAndByUserIdResult>> callback
)
{
var task = new CreateTakeOverOpenIdConnectAndByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateTakeOverOpenIdConnectAndByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CreateTakeOverOpenIdConnectAndByUserIdResult> CreateTakeOverOpenIdConnectAndByUserIdFuture(
Request.CreateTakeOverOpenIdConnectAndByUserIdRequest request
)
{
return new CreateTakeOverOpenIdConnectAndByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateTakeOverOpenIdConnectAndByUserIdResult> CreateTakeOverOpenIdConnectAndByUserIdAsync(
Request.CreateTakeOverOpenIdConnectAndByUserIdRequest request
)
{
AsyncResult<Result.CreateTakeOverOpenIdConnectAndByUserIdResult> result = null;
await CreateTakeOverOpenIdConnectAndByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateTakeOverOpenIdConnectAndByUserIdTask CreateTakeOverOpenIdConnectAndByUserIdAsync(
Request.CreateTakeOverOpenIdConnectAndByUserIdRequest request
)
{
return new CreateTakeOverOpenIdConnectAndByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateTakeOverOpenIdConnectAndByUserIdResult> CreateTakeOverOpenIdConnectAndByUserIdAsync(
Request.CreateTakeOverOpenIdConnectAndByUserIdRequest request
)
{
var task = new CreateTakeOverOpenIdConnectAndByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetTakeOverTask : Gs2RestSessionTask<GetTakeOverRequest, GetTakeOverResult>
{
public GetTakeOverTask(IGs2Session session, RestSessionRequestFactory factory, GetTakeOverRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetTakeOverRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetTakeOver(
Request.GetTakeOverRequest request,
UnityAction<AsyncResult<Result.GetTakeOverResult>> callback
)
{
var task = new GetTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetTakeOverResult>(task.Result, task.Error));
}
public IFuture<Result.GetTakeOverResult> GetTakeOverFuture(
Request.GetTakeOverRequest request
)
{
return new GetTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetTakeOverResult> GetTakeOverAsync(
Request.GetTakeOverRequest request
)
{
AsyncResult<Result.GetTakeOverResult> result = null;
await GetTakeOver(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetTakeOverTask GetTakeOverAsync(
Request.GetTakeOverRequest request
)
{
return new GetTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetTakeOverResult> GetTakeOverAsync(
Request.GetTakeOverRequest request
)
{
var task = new GetTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetTakeOverByUserIdTask : Gs2RestSessionTask<GetTakeOverByUserIdRequest, GetTakeOverByUserIdResult>
{
public GetTakeOverByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetTakeOverByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetTakeOverByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetTakeOverByUserId(
Request.GetTakeOverByUserIdRequest request,
UnityAction<AsyncResult<Result.GetTakeOverByUserIdResult>> callback
)
{
var task = new GetTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetTakeOverByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetTakeOverByUserIdResult> GetTakeOverByUserIdFuture(
Request.GetTakeOverByUserIdRequest request
)
{
return new GetTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetTakeOverByUserIdResult> GetTakeOverByUserIdAsync(
Request.GetTakeOverByUserIdRequest request
)
{
AsyncResult<Result.GetTakeOverByUserIdResult> result = null;
await GetTakeOverByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetTakeOverByUserIdTask GetTakeOverByUserIdAsync(
Request.GetTakeOverByUserIdRequest request
)
{
return new GetTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetTakeOverByUserIdResult> GetTakeOverByUserIdAsync(
Request.GetTakeOverByUserIdRequest request
)
{
var task = new GetTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateTakeOverTask : Gs2RestSessionTask<UpdateTakeOverRequest, UpdateTakeOverResult>
{
public UpdateTakeOverTask(IGs2Session session, RestSessionRequestFactory factory, UpdateTakeOverRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateTakeOverRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.OldPassword != null)
{
jsonWriter.WritePropertyName("oldPassword");
jsonWriter.Write(request.OldPassword);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "account.password.invalid") > 0) {
base.OnError(new Exception.PasswordIncorrectException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateTakeOver(
Request.UpdateTakeOverRequest request,
UnityAction<AsyncResult<Result.UpdateTakeOverResult>> callback
)
{
var task = new UpdateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateTakeOverResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateTakeOverResult> UpdateTakeOverFuture(
Request.UpdateTakeOverRequest request
)
{
return new UpdateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateTakeOverResult> UpdateTakeOverAsync(
Request.UpdateTakeOverRequest request
)
{
AsyncResult<Result.UpdateTakeOverResult> result = null;
await UpdateTakeOver(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateTakeOverTask UpdateTakeOverAsync(
Request.UpdateTakeOverRequest request
)
{
return new UpdateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateTakeOverResult> UpdateTakeOverAsync(
Request.UpdateTakeOverRequest request
)
{
var task = new UpdateTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateTakeOverByUserIdTask : Gs2RestSessionTask<UpdateTakeOverByUserIdRequest, UpdateTakeOverByUserIdResult>
{
public UpdateTakeOverByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, UpdateTakeOverByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateTakeOverByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.OldPassword != null)
{
jsonWriter.WritePropertyName("oldPassword");
jsonWriter.Write(request.OldPassword);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "account.password.invalid") > 0) {
base.OnError(new Exception.PasswordIncorrectException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateTakeOverByUserId(
Request.UpdateTakeOverByUserIdRequest request,
UnityAction<AsyncResult<Result.UpdateTakeOverByUserIdResult>> callback
)
{
var task = new UpdateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateTakeOverByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateTakeOverByUserIdResult> UpdateTakeOverByUserIdFuture(
Request.UpdateTakeOverByUserIdRequest request
)
{
return new UpdateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateTakeOverByUserIdResult> UpdateTakeOverByUserIdAsync(
Request.UpdateTakeOverByUserIdRequest request
)
{
AsyncResult<Result.UpdateTakeOverByUserIdResult> result = null;
await UpdateTakeOverByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateTakeOverByUserIdTask UpdateTakeOverByUserIdAsync(
Request.UpdateTakeOverByUserIdRequest request
)
{
return new UpdateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateTakeOverByUserIdResult> UpdateTakeOverByUserIdAsync(
Request.UpdateTakeOverByUserIdRequest request
)
{
var task = new UpdateTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteTakeOverTask : Gs2RestSessionTask<DeleteTakeOverRequest, DeleteTakeOverResult>
{
public DeleteTakeOverTask(IGs2Session session, RestSessionRequestFactory factory, DeleteTakeOverRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteTakeOverRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteTakeOver(
Request.DeleteTakeOverRequest request,
UnityAction<AsyncResult<Result.DeleteTakeOverResult>> callback
)
{
var task = new DeleteTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteTakeOverResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteTakeOverResult> DeleteTakeOverFuture(
Request.DeleteTakeOverRequest request
)
{
return new DeleteTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteTakeOverResult> DeleteTakeOverAsync(
Request.DeleteTakeOverRequest request
)
{
AsyncResult<Result.DeleteTakeOverResult> result = null;
await DeleteTakeOver(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteTakeOverTask DeleteTakeOverAsync(
Request.DeleteTakeOverRequest request
)
{
return new DeleteTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteTakeOverResult> DeleteTakeOverAsync(
Request.DeleteTakeOverRequest request
)
{
var task = new DeleteTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteTakeOverByUserIdentifierTask : Gs2RestSessionTask<DeleteTakeOverByUserIdentifierRequest, DeleteTakeOverByUserIdentifierResult>
{
public DeleteTakeOverByUserIdentifierTask(IGs2Session session, RestSessionRequestFactory factory, DeleteTakeOverByUserIdentifierRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteTakeOverByUserIdentifierRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/takeover/type/{type}/userIdentifier/{userIdentifier}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
url = url.Replace("{userIdentifier}", !string.IsNullOrEmpty(request.UserIdentifier) ? request.UserIdentifier.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteTakeOverByUserIdentifier(
Request.DeleteTakeOverByUserIdentifierRequest request,
UnityAction<AsyncResult<Result.DeleteTakeOverByUserIdentifierResult>> callback
)
{
var task = new DeleteTakeOverByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteTakeOverByUserIdentifierResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteTakeOverByUserIdentifierResult> DeleteTakeOverByUserIdentifierFuture(
Request.DeleteTakeOverByUserIdentifierRequest request
)
{
return new DeleteTakeOverByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteTakeOverByUserIdentifierResult> DeleteTakeOverByUserIdentifierAsync(
Request.DeleteTakeOverByUserIdentifierRequest request
)
{
AsyncResult<Result.DeleteTakeOverByUserIdentifierResult> result = null;
await DeleteTakeOverByUserIdentifier(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteTakeOverByUserIdentifierTask DeleteTakeOverByUserIdentifierAsync(
Request.DeleteTakeOverByUserIdentifierRequest request
)
{
return new DeleteTakeOverByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteTakeOverByUserIdentifierResult> DeleteTakeOverByUserIdentifierAsync(
Request.DeleteTakeOverByUserIdentifierRequest request
)
{
var task = new DeleteTakeOverByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteTakeOverByUserIdTask : Gs2RestSessionTask<DeleteTakeOverByUserIdRequest, DeleteTakeOverByUserIdResult>
{
public DeleteTakeOverByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DeleteTakeOverByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteTakeOverByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/takeover/type/{type}/takeover";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteTakeOverByUserId(
Request.DeleteTakeOverByUserIdRequest request,
UnityAction<AsyncResult<Result.DeleteTakeOverByUserIdResult>> callback
)
{
var task = new DeleteTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteTakeOverByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteTakeOverByUserIdResult> DeleteTakeOverByUserIdFuture(
Request.DeleteTakeOverByUserIdRequest request
)
{
return new DeleteTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteTakeOverByUserIdResult> DeleteTakeOverByUserIdAsync(
Request.DeleteTakeOverByUserIdRequest request
)
{
AsyncResult<Result.DeleteTakeOverByUserIdResult> result = null;
await DeleteTakeOverByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteTakeOverByUserIdTask DeleteTakeOverByUserIdAsync(
Request.DeleteTakeOverByUserIdRequest request
)
{
return new DeleteTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteTakeOverByUserIdResult> DeleteTakeOverByUserIdAsync(
Request.DeleteTakeOverByUserIdRequest request
)
{
var task = new DeleteTakeOverByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoTakeOverTask : Gs2RestSessionTask<DoTakeOverRequest, DoTakeOverResult>
{
public DoTakeOverTask(IGs2Session session, RestSessionRequestFactory factory, DoTakeOverRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoTakeOverRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/takeover/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.UserIdentifier != null)
{
jsonWriter.WritePropertyName("userIdentifier");
jsonWriter.Write(request.UserIdentifier);
}
if (request.Password != null)
{
jsonWriter.WritePropertyName("password");
jsonWriter.Write(request.Password);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "account.password.invalid") > 0) {
base.OnError(new Exception.PasswordIncorrectException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoTakeOver(
Request.DoTakeOverRequest request,
UnityAction<AsyncResult<Result.DoTakeOverResult>> callback
)
{
var task = new DoTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoTakeOverResult>(task.Result, task.Error));
}
public IFuture<Result.DoTakeOverResult> DoTakeOverFuture(
Request.DoTakeOverRequest request
)
{
return new DoTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoTakeOverResult> DoTakeOverAsync(
Request.DoTakeOverRequest request
)
{
AsyncResult<Result.DoTakeOverResult> result = null;
await DoTakeOver(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoTakeOverTask DoTakeOverAsync(
Request.DoTakeOverRequest request
)
{
return new DoTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoTakeOverResult> DoTakeOverAsync(
Request.DoTakeOverRequest request
)
{
var task = new DoTakeOverTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DoTakeOverOpenIdConnectTask : Gs2RestSessionTask<DoTakeOverOpenIdConnectRequest, DoTakeOverOpenIdConnectResult>
{
public DoTakeOverOpenIdConnectTask(IGs2Session session, RestSessionRequestFactory factory, DoTakeOverOpenIdConnectRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DoTakeOverOpenIdConnectRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/takeover/type/{type}/openIdConnect";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.IdToken != null)
{
jsonWriter.WritePropertyName("idToken");
jsonWriter.Write(request.IdToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DoTakeOverOpenIdConnect(
Request.DoTakeOverOpenIdConnectRequest request,
UnityAction<AsyncResult<Result.DoTakeOverOpenIdConnectResult>> callback
)
{
var task = new DoTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DoTakeOverOpenIdConnectResult>(task.Result, task.Error));
}
public IFuture<Result.DoTakeOverOpenIdConnectResult> DoTakeOverOpenIdConnectFuture(
Request.DoTakeOverOpenIdConnectRequest request
)
{
return new DoTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DoTakeOverOpenIdConnectResult> DoTakeOverOpenIdConnectAsync(
Request.DoTakeOverOpenIdConnectRequest request
)
{
AsyncResult<Result.DoTakeOverOpenIdConnectResult> result = null;
await DoTakeOverOpenIdConnect(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DoTakeOverOpenIdConnectTask DoTakeOverOpenIdConnectAsync(
Request.DoTakeOverOpenIdConnectRequest request
)
{
return new DoTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DoTakeOverOpenIdConnectResult> DoTakeOverOpenIdConnectAsync(
Request.DoTakeOverOpenIdConnectRequest request
)
{
var task = new DoTakeOverOpenIdConnectTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetAuthorizationUrlTask : Gs2RestSessionTask<GetAuthorizationUrlRequest, GetAuthorizationUrlResult>
{
public GetAuthorizationUrlTask(IGs2Session session, RestSessionRequestFactory factory, GetAuthorizationUrlRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetAuthorizationUrlRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/type/{type}/authorization/url";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetAuthorizationUrl(
Request.GetAuthorizationUrlRequest request,
UnityAction<AsyncResult<Result.GetAuthorizationUrlResult>> callback
)
{
var task = new GetAuthorizationUrlTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetAuthorizationUrlResult>(task.Result, task.Error));
}
public IFuture<Result.GetAuthorizationUrlResult> GetAuthorizationUrlFuture(
Request.GetAuthorizationUrlRequest request
)
{
return new GetAuthorizationUrlTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetAuthorizationUrlResult> GetAuthorizationUrlAsync(
Request.GetAuthorizationUrlRequest request
)
{
AsyncResult<Result.GetAuthorizationUrlResult> result = null;
await GetAuthorizationUrl(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetAuthorizationUrlTask GetAuthorizationUrlAsync(
Request.GetAuthorizationUrlRequest request
)
{
return new GetAuthorizationUrlTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetAuthorizationUrlResult> GetAuthorizationUrlAsync(
Request.GetAuthorizationUrlRequest request
)
{
var task = new GetAuthorizationUrlTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribePlatformIdsTask : Gs2RestSessionTask<DescribePlatformIdsRequest, DescribePlatformIdsResult>
{
public DescribePlatformIdsTask(IGs2Session session, RestSessionRequestFactory factory, DescribePlatformIdsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribePlatformIdsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/platformId";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribePlatformIds(
Request.DescribePlatformIdsRequest request,
UnityAction<AsyncResult<Result.DescribePlatformIdsResult>> callback
)
{
var task = new DescribePlatformIdsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribePlatformIdsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribePlatformIdsResult> DescribePlatformIdsFuture(
Request.DescribePlatformIdsRequest request
)
{
return new DescribePlatformIdsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribePlatformIdsResult> DescribePlatformIdsAsync(
Request.DescribePlatformIdsRequest request
)
{
AsyncResult<Result.DescribePlatformIdsResult> result = null;
await DescribePlatformIds(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribePlatformIdsTask DescribePlatformIdsAsync(
Request.DescribePlatformIdsRequest request
)
{
return new DescribePlatformIdsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribePlatformIdsResult> DescribePlatformIdsAsync(
Request.DescribePlatformIdsRequest request
)
{
var task = new DescribePlatformIdsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribePlatformIdsByUserIdTask : Gs2RestSessionTask<DescribePlatformIdsByUserIdRequest, DescribePlatformIdsByUserIdResult>
{
public DescribePlatformIdsByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribePlatformIdsByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribePlatformIdsByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/platformId";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribePlatformIdsByUserId(
Request.DescribePlatformIdsByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribePlatformIdsByUserIdResult>> callback
)
{
var task = new DescribePlatformIdsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribePlatformIdsByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribePlatformIdsByUserIdResult> DescribePlatformIdsByUserIdFuture(
Request.DescribePlatformIdsByUserIdRequest request
)
{
return new DescribePlatformIdsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribePlatformIdsByUserIdResult> DescribePlatformIdsByUserIdAsync(
Request.DescribePlatformIdsByUserIdRequest request
)
{
AsyncResult<Result.DescribePlatformIdsByUserIdResult> result = null;
await DescribePlatformIdsByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribePlatformIdsByUserIdTask DescribePlatformIdsByUserIdAsync(
Request.DescribePlatformIdsByUserIdRequest request
)
{
return new DescribePlatformIdsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribePlatformIdsByUserIdResult> DescribePlatformIdsByUserIdAsync(
Request.DescribePlatformIdsByUserIdRequest request
)
{
var task = new DescribePlatformIdsByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreatePlatformIdTask : Gs2RestSessionTask<CreatePlatformIdRequest, CreatePlatformIdResult>
{
public CreatePlatformIdTask(IGs2Session session, RestSessionRequestFactory factory, CreatePlatformIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreatePlatformIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/platformId";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.UserIdentifier != null)
{
jsonWriter.WritePropertyName("userIdentifier");
jsonWriter.Write(request.UserIdentifier);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreatePlatformId(
Request.CreatePlatformIdRequest request,
UnityAction<AsyncResult<Result.CreatePlatformIdResult>> callback
)
{
var task = new CreatePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreatePlatformIdResult>(task.Result, task.Error));
}
public IFuture<Result.CreatePlatformIdResult> CreatePlatformIdFuture(
Request.CreatePlatformIdRequest request
)
{
return new CreatePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreatePlatformIdResult> CreatePlatformIdAsync(
Request.CreatePlatformIdRequest request
)
{
AsyncResult<Result.CreatePlatformIdResult> result = null;
await CreatePlatformId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreatePlatformIdTask CreatePlatformIdAsync(
Request.CreatePlatformIdRequest request
)
{
return new CreatePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreatePlatformIdResult> CreatePlatformIdAsync(
Request.CreatePlatformIdRequest request
)
{
var task = new CreatePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreatePlatformIdByUserIdTask : Gs2RestSessionTask<CreatePlatformIdByUserIdRequest, CreatePlatformIdByUserIdResult>
{
public CreatePlatformIdByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CreatePlatformIdByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreatePlatformIdByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/platformId";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.UserIdentifier != null)
{
jsonWriter.WritePropertyName("userIdentifier");
jsonWriter.Write(request.UserIdentifier);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreatePlatformIdByUserId(
Request.CreatePlatformIdByUserIdRequest request,
UnityAction<AsyncResult<Result.CreatePlatformIdByUserIdResult>> callback
)
{
var task = new CreatePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreatePlatformIdByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CreatePlatformIdByUserIdResult> CreatePlatformIdByUserIdFuture(
Request.CreatePlatformIdByUserIdRequest request
)
{
return new CreatePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreatePlatformIdByUserIdResult> CreatePlatformIdByUserIdAsync(
Request.CreatePlatformIdByUserIdRequest request
)
{
AsyncResult<Result.CreatePlatformIdByUserIdResult> result = null;
await CreatePlatformIdByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreatePlatformIdByUserIdTask CreatePlatformIdByUserIdAsync(
Request.CreatePlatformIdByUserIdRequest request
)
{
return new CreatePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreatePlatformIdByUserIdResult> CreatePlatformIdByUserIdAsync(
Request.CreatePlatformIdByUserIdRequest request
)
{
var task = new CreatePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetPlatformIdTask : Gs2RestSessionTask<GetPlatformIdRequest, GetPlatformIdResult>
{
public GetPlatformIdTask(IGs2Session session, RestSessionRequestFactory factory, GetPlatformIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetPlatformIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/platformId/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetPlatformId(
Request.GetPlatformIdRequest request,
UnityAction<AsyncResult<Result.GetPlatformIdResult>> callback
)
{
var task = new GetPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetPlatformIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetPlatformIdResult> GetPlatformIdFuture(
Request.GetPlatformIdRequest request
)
{
return new GetPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetPlatformIdResult> GetPlatformIdAsync(
Request.GetPlatformIdRequest request
)
{
AsyncResult<Result.GetPlatformIdResult> result = null;
await GetPlatformId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetPlatformIdTask GetPlatformIdAsync(
Request.GetPlatformIdRequest request
)
{
return new GetPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetPlatformIdResult> GetPlatformIdAsync(
Request.GetPlatformIdRequest request
)
{
var task = new GetPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetPlatformIdByUserIdTask : Gs2RestSessionTask<GetPlatformIdByUserIdRequest, GetPlatformIdByUserIdResult>
{
public GetPlatformIdByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetPlatformIdByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetPlatformIdByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/platformId/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetPlatformIdByUserId(
Request.GetPlatformIdByUserIdRequest request,
UnityAction<AsyncResult<Result.GetPlatformIdByUserIdResult>> callback
)
{
var task = new GetPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetPlatformIdByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetPlatformIdByUserIdResult> GetPlatformIdByUserIdFuture(
Request.GetPlatformIdByUserIdRequest request
)
{
return new GetPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetPlatformIdByUserIdResult> GetPlatformIdByUserIdAsync(
Request.GetPlatformIdByUserIdRequest request
)
{
AsyncResult<Result.GetPlatformIdByUserIdResult> result = null;
await GetPlatformIdByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetPlatformIdByUserIdTask GetPlatformIdByUserIdAsync(
Request.GetPlatformIdByUserIdRequest request
)
{
return new GetPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetPlatformIdByUserIdResult> GetPlatformIdByUserIdAsync(
Request.GetPlatformIdByUserIdRequest request
)
{
var task = new GetPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class FindPlatformIdTask : Gs2RestSessionTask<FindPlatformIdRequest, FindPlatformIdResult>
{
public FindPlatformIdTask(IGs2Session session, RestSessionRequestFactory factory, FindPlatformIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(FindPlatformIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/platformId/type/{type}/userIdentifier/{userIdentifier}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
url = url.Replace("{userIdentifier}", !string.IsNullOrEmpty(request.UserIdentifier) ? request.UserIdentifier.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator FindPlatformId(
Request.FindPlatformIdRequest request,
UnityAction<AsyncResult<Result.FindPlatformIdResult>> callback
)
{
var task = new FindPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.FindPlatformIdResult>(task.Result, task.Error));
}
public IFuture<Result.FindPlatformIdResult> FindPlatformIdFuture(
Request.FindPlatformIdRequest request
)
{
return new FindPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.FindPlatformIdResult> FindPlatformIdAsync(
Request.FindPlatformIdRequest request
)
{
AsyncResult<Result.FindPlatformIdResult> result = null;
await FindPlatformId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public FindPlatformIdTask FindPlatformIdAsync(
Request.FindPlatformIdRequest request
)
{
return new FindPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.FindPlatformIdResult> FindPlatformIdAsync(
Request.FindPlatformIdRequest request
)
{
var task = new FindPlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class FindPlatformIdByUserIdTask : Gs2RestSessionTask<FindPlatformIdByUserIdRequest, FindPlatformIdByUserIdResult>
{
public FindPlatformIdByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, FindPlatformIdByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(FindPlatformIdByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/platformId/type/{type}/userIdentifier/{userIdentifier}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
url = url.Replace("{userIdentifier}", !string.IsNullOrEmpty(request.UserIdentifier) ? request.UserIdentifier.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator FindPlatformIdByUserId(
Request.FindPlatformIdByUserIdRequest request,
UnityAction<AsyncResult<Result.FindPlatformIdByUserIdResult>> callback
)
{
var task = new FindPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.FindPlatformIdByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.FindPlatformIdByUserIdResult> FindPlatformIdByUserIdFuture(
Request.FindPlatformIdByUserIdRequest request
)
{
return new FindPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.FindPlatformIdByUserIdResult> FindPlatformIdByUserIdAsync(
Request.FindPlatformIdByUserIdRequest request
)
{
AsyncResult<Result.FindPlatformIdByUserIdResult> result = null;
await FindPlatformIdByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public FindPlatformIdByUserIdTask FindPlatformIdByUserIdAsync(
Request.FindPlatformIdByUserIdRequest request
)
{
return new FindPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.FindPlatformIdByUserIdResult> FindPlatformIdByUserIdAsync(
Request.FindPlatformIdByUserIdRequest request
)
{
var task = new FindPlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeletePlatformIdTask : Gs2RestSessionTask<DeletePlatformIdRequest, DeletePlatformIdResult>
{
public DeletePlatformIdTask(IGs2Session session, RestSessionRequestFactory factory, DeletePlatformIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeletePlatformIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/me/platformId/type/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.UserIdentifier != null) {
sessionRequest.AddQueryString("userIdentifier", $"{request.UserIdentifier}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeletePlatformId(
Request.DeletePlatformIdRequest request,
UnityAction<AsyncResult<Result.DeletePlatformIdResult>> callback
)
{
var task = new DeletePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeletePlatformIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeletePlatformIdResult> DeletePlatformIdFuture(
Request.DeletePlatformIdRequest request
)
{
return new DeletePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeletePlatformIdResult> DeletePlatformIdAsync(
Request.DeletePlatformIdRequest request
)
{
AsyncResult<Result.DeletePlatformIdResult> result = null;
await DeletePlatformId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeletePlatformIdTask DeletePlatformIdAsync(
Request.DeletePlatformIdRequest request
)
{
return new DeletePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeletePlatformIdResult> DeletePlatformIdAsync(
Request.DeletePlatformIdRequest request
)
{
var task = new DeletePlatformIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeletePlatformIdByUserIdentifierTask : Gs2RestSessionTask<DeletePlatformIdByUserIdentifierRequest, DeletePlatformIdByUserIdentifierResult>
{
public DeletePlatformIdByUserIdentifierTask(IGs2Session session, RestSessionRequestFactory factory, DeletePlatformIdByUserIdentifierRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeletePlatformIdByUserIdentifierRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/platformId/type/{type}/userIdentifier/{userIdentifier}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
url = url.Replace("{userIdentifier}", !string.IsNullOrEmpty(request.UserIdentifier) ? request.UserIdentifier.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeletePlatformIdByUserIdentifier(
Request.DeletePlatformIdByUserIdentifierRequest request,
UnityAction<AsyncResult<Result.DeletePlatformIdByUserIdentifierResult>> callback
)
{
var task = new DeletePlatformIdByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeletePlatformIdByUserIdentifierResult>(task.Result, task.Error));
}
public IFuture<Result.DeletePlatformIdByUserIdentifierResult> DeletePlatformIdByUserIdentifierFuture(
Request.DeletePlatformIdByUserIdentifierRequest request
)
{
return new DeletePlatformIdByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeletePlatformIdByUserIdentifierResult> DeletePlatformIdByUserIdentifierAsync(
Request.DeletePlatformIdByUserIdentifierRequest request
)
{
AsyncResult<Result.DeletePlatformIdByUserIdentifierResult> result = null;
await DeletePlatformIdByUserIdentifier(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeletePlatformIdByUserIdentifierTask DeletePlatformIdByUserIdentifierAsync(
Request.DeletePlatformIdByUserIdentifierRequest request
)
{
return new DeletePlatformIdByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeletePlatformIdByUserIdentifierResult> DeletePlatformIdByUserIdentifierAsync(
Request.DeletePlatformIdByUserIdentifierRequest request
)
{
var task = new DeletePlatformIdByUserIdentifierTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeletePlatformIdByUserIdTask : Gs2RestSessionTask<DeletePlatformIdByUserIdRequest, DeletePlatformIdByUserIdResult>
{
public DeletePlatformIdByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DeletePlatformIdByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeletePlatformIdByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/platformId/type/{type}/platformId";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeletePlatformIdByUserId(
Request.DeletePlatformIdByUserIdRequest request,
UnityAction<AsyncResult<Result.DeletePlatformIdByUserIdResult>> callback
)
{
var task = new DeletePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeletePlatformIdByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeletePlatformIdByUserIdResult> DeletePlatformIdByUserIdFuture(
Request.DeletePlatformIdByUserIdRequest request
)
{
return new DeletePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeletePlatformIdByUserIdResult> DeletePlatformIdByUserIdAsync(
Request.DeletePlatformIdByUserIdRequest request
)
{
AsyncResult<Result.DeletePlatformIdByUserIdResult> result = null;
await DeletePlatformIdByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeletePlatformIdByUserIdTask DeletePlatformIdByUserIdAsync(
Request.DeletePlatformIdByUserIdRequest request
)
{
return new DeletePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeletePlatformIdByUserIdResult> DeletePlatformIdByUserIdAsync(
Request.DeletePlatformIdByUserIdRequest request
)
{
var task = new DeletePlatformIdByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetDataOwnerByUserIdTask : Gs2RestSessionTask<GetDataOwnerByUserIdRequest, GetDataOwnerByUserIdResult>
{
public GetDataOwnerByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetDataOwnerByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetDataOwnerByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/dataOwner";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetDataOwnerByUserId(
Request.GetDataOwnerByUserIdRequest request,
UnityAction<AsyncResult<Result.GetDataOwnerByUserIdResult>> callback
)
{
var task = new GetDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetDataOwnerByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetDataOwnerByUserIdResult> GetDataOwnerByUserIdFuture(
Request.GetDataOwnerByUserIdRequest request
)
{
return new GetDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetDataOwnerByUserIdResult> GetDataOwnerByUserIdAsync(
Request.GetDataOwnerByUserIdRequest request
)
{
AsyncResult<Result.GetDataOwnerByUserIdResult> result = null;
await GetDataOwnerByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetDataOwnerByUserIdTask GetDataOwnerByUserIdAsync(
Request.GetDataOwnerByUserIdRequest request
)
{
return new GetDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetDataOwnerByUserIdResult> GetDataOwnerByUserIdAsync(
Request.GetDataOwnerByUserIdRequest request
)
{
var task = new GetDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteDataOwnerByUserIdTask : Gs2RestSessionTask<DeleteDataOwnerByUserIdRequest, DeleteDataOwnerByUserIdResult>
{
public DeleteDataOwnerByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DeleteDataOwnerByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteDataOwnerByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/account/{userId}/dataOwner";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteDataOwnerByUserId(
Request.DeleteDataOwnerByUserIdRequest request,
UnityAction<AsyncResult<Result.DeleteDataOwnerByUserIdResult>> callback
)
{
var task = new DeleteDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteDataOwnerByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteDataOwnerByUserIdResult> DeleteDataOwnerByUserIdFuture(
Request.DeleteDataOwnerByUserIdRequest request
)
{
return new DeleteDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteDataOwnerByUserIdResult> DeleteDataOwnerByUserIdAsync(
Request.DeleteDataOwnerByUserIdRequest request
)
{
AsyncResult<Result.DeleteDataOwnerByUserIdResult> result = null;
await DeleteDataOwnerByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteDataOwnerByUserIdTask DeleteDataOwnerByUserIdAsync(
Request.DeleteDataOwnerByUserIdRequest request
)
{
return new DeleteDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteDataOwnerByUserIdResult> DeleteDataOwnerByUserIdAsync(
Request.DeleteDataOwnerByUserIdRequest request
)
{
var task = new DeleteDataOwnerByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeTakeOverTypeModelsTask : Gs2RestSessionTask<DescribeTakeOverTypeModelsRequest, DescribeTakeOverTypeModelsResult>
{
public DescribeTakeOverTypeModelsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeTakeOverTypeModelsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeTakeOverTypeModelsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/model";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeTakeOverTypeModels(
Request.DescribeTakeOverTypeModelsRequest request,
UnityAction<AsyncResult<Result.DescribeTakeOverTypeModelsResult>> callback
)
{
var task = new DescribeTakeOverTypeModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeTakeOverTypeModelsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeTakeOverTypeModelsResult> DescribeTakeOverTypeModelsFuture(
Request.DescribeTakeOverTypeModelsRequest request
)
{
return new DescribeTakeOverTypeModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeTakeOverTypeModelsResult> DescribeTakeOverTypeModelsAsync(
Request.DescribeTakeOverTypeModelsRequest request
)
{
AsyncResult<Result.DescribeTakeOverTypeModelsResult> result = null;
await DescribeTakeOverTypeModels(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeTakeOverTypeModelsTask DescribeTakeOverTypeModelsAsync(
Request.DescribeTakeOverTypeModelsRequest request
)
{
return new DescribeTakeOverTypeModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeTakeOverTypeModelsResult> DescribeTakeOverTypeModelsAsync(
Request.DescribeTakeOverTypeModelsRequest request
)
{
var task = new DescribeTakeOverTypeModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetTakeOverTypeModelTask : Gs2RestSessionTask<GetTakeOverTypeModelRequest, GetTakeOverTypeModelResult>
{
public GetTakeOverTypeModelTask(IGs2Session session, RestSessionRequestFactory factory, GetTakeOverTypeModelRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetTakeOverTypeModelRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/model/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetTakeOverTypeModel(
Request.GetTakeOverTypeModelRequest request,
UnityAction<AsyncResult<Result.GetTakeOverTypeModelResult>> callback
)
{
var task = new GetTakeOverTypeModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetTakeOverTypeModelResult>(task.Result, task.Error));
}
public IFuture<Result.GetTakeOverTypeModelResult> GetTakeOverTypeModelFuture(
Request.GetTakeOverTypeModelRequest request
)
{
return new GetTakeOverTypeModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetTakeOverTypeModelResult> GetTakeOverTypeModelAsync(
Request.GetTakeOverTypeModelRequest request
)
{
AsyncResult<Result.GetTakeOverTypeModelResult> result = null;
await GetTakeOverTypeModel(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetTakeOverTypeModelTask GetTakeOverTypeModelAsync(
Request.GetTakeOverTypeModelRequest request
)
{
return new GetTakeOverTypeModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetTakeOverTypeModelResult> GetTakeOverTypeModelAsync(
Request.GetTakeOverTypeModelRequest request
)
{
var task = new GetTakeOverTypeModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeTakeOverTypeModelMastersTask : Gs2RestSessionTask<DescribeTakeOverTypeModelMastersRequest, DescribeTakeOverTypeModelMastersResult>
{
public DescribeTakeOverTypeModelMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeTakeOverTypeModelMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeTakeOverTypeModelMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeTakeOverTypeModelMasters(
Request.DescribeTakeOverTypeModelMastersRequest request,
UnityAction<AsyncResult<Result.DescribeTakeOverTypeModelMastersResult>> callback
)
{
var task = new DescribeTakeOverTypeModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeTakeOverTypeModelMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeTakeOverTypeModelMastersResult> DescribeTakeOverTypeModelMastersFuture(
Request.DescribeTakeOverTypeModelMastersRequest request
)
{
return new DescribeTakeOverTypeModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeTakeOverTypeModelMastersResult> DescribeTakeOverTypeModelMastersAsync(
Request.DescribeTakeOverTypeModelMastersRequest request
)
{
AsyncResult<Result.DescribeTakeOverTypeModelMastersResult> result = null;
await DescribeTakeOverTypeModelMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeTakeOverTypeModelMastersTask DescribeTakeOverTypeModelMastersAsync(
Request.DescribeTakeOverTypeModelMastersRequest request
)
{
return new DescribeTakeOverTypeModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeTakeOverTypeModelMastersResult> DescribeTakeOverTypeModelMastersAsync(
Request.DescribeTakeOverTypeModelMastersRequest request
)
{
var task = new DescribeTakeOverTypeModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateTakeOverTypeModelMasterTask : Gs2RestSessionTask<CreateTakeOverTypeModelMasterRequest, CreateTakeOverTypeModelMasterResult>
{
public CreateTakeOverTypeModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateTakeOverTypeModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateTakeOverTypeModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Type != null)
{
jsonWriter.WritePropertyName("type");
jsonWriter.Write(request.Type.ToString());
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.OpenIdConnectSetting != null)
{
jsonWriter.WritePropertyName("openIdConnectSetting");
request.OpenIdConnectSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateTakeOverTypeModelMaster(
Request.CreateTakeOverTypeModelMasterRequest request,
UnityAction<AsyncResult<Result.CreateTakeOverTypeModelMasterResult>> callback
)
{
var task = new CreateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateTakeOverTypeModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateTakeOverTypeModelMasterResult> CreateTakeOverTypeModelMasterFuture(
Request.CreateTakeOverTypeModelMasterRequest request
)
{
return new CreateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateTakeOverTypeModelMasterResult> CreateTakeOverTypeModelMasterAsync(
Request.CreateTakeOverTypeModelMasterRequest request
)
{
AsyncResult<Result.CreateTakeOverTypeModelMasterResult> result = null;
await CreateTakeOverTypeModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateTakeOverTypeModelMasterTask CreateTakeOverTypeModelMasterAsync(
Request.CreateTakeOverTypeModelMasterRequest request
)
{
return new CreateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateTakeOverTypeModelMasterResult> CreateTakeOverTypeModelMasterAsync(
Request.CreateTakeOverTypeModelMasterRequest request
)
{
var task = new CreateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetTakeOverTypeModelMasterTask : Gs2RestSessionTask<GetTakeOverTypeModelMasterRequest, GetTakeOverTypeModelMasterResult>
{
public GetTakeOverTypeModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetTakeOverTypeModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetTakeOverTypeModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetTakeOverTypeModelMaster(
Request.GetTakeOverTypeModelMasterRequest request,
UnityAction<AsyncResult<Result.GetTakeOverTypeModelMasterResult>> callback
)
{
var task = new GetTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetTakeOverTypeModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetTakeOverTypeModelMasterResult> GetTakeOverTypeModelMasterFuture(
Request.GetTakeOverTypeModelMasterRequest request
)
{
return new GetTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetTakeOverTypeModelMasterResult> GetTakeOverTypeModelMasterAsync(
Request.GetTakeOverTypeModelMasterRequest request
)
{
AsyncResult<Result.GetTakeOverTypeModelMasterResult> result = null;
await GetTakeOverTypeModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetTakeOverTypeModelMasterTask GetTakeOverTypeModelMasterAsync(
Request.GetTakeOverTypeModelMasterRequest request
)
{
return new GetTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetTakeOverTypeModelMasterResult> GetTakeOverTypeModelMasterAsync(
Request.GetTakeOverTypeModelMasterRequest request
)
{
var task = new GetTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateTakeOverTypeModelMasterTask : Gs2RestSessionTask<UpdateTakeOverTypeModelMasterRequest, UpdateTakeOverTypeModelMasterResult>
{
public UpdateTakeOverTypeModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateTakeOverTypeModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateTakeOverTypeModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.OpenIdConnectSetting != null)
{
jsonWriter.WritePropertyName("openIdConnectSetting");
request.OpenIdConnectSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateTakeOverTypeModelMaster(
Request.UpdateTakeOverTypeModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateTakeOverTypeModelMasterResult>> callback
)
{
var task = new UpdateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateTakeOverTypeModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateTakeOverTypeModelMasterResult> UpdateTakeOverTypeModelMasterFuture(
Request.UpdateTakeOverTypeModelMasterRequest request
)
{
return new UpdateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateTakeOverTypeModelMasterResult> UpdateTakeOverTypeModelMasterAsync(
Request.UpdateTakeOverTypeModelMasterRequest request
)
{
AsyncResult<Result.UpdateTakeOverTypeModelMasterResult> result = null;
await UpdateTakeOverTypeModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateTakeOverTypeModelMasterTask UpdateTakeOverTypeModelMasterAsync(
Request.UpdateTakeOverTypeModelMasterRequest request
)
{
return new UpdateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateTakeOverTypeModelMasterResult> UpdateTakeOverTypeModelMasterAsync(
Request.UpdateTakeOverTypeModelMasterRequest request
)
{
var task = new UpdateTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteTakeOverTypeModelMasterTask : Gs2RestSessionTask<DeleteTakeOverTypeModelMasterRequest, DeleteTakeOverTypeModelMasterResult>
{
public DeleteTakeOverTypeModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteTakeOverTypeModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteTakeOverTypeModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/model/{type}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{type}",request.Type != null ? request.Type.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteTakeOverTypeModelMaster(
Request.DeleteTakeOverTypeModelMasterRequest request,
UnityAction<AsyncResult<Result.DeleteTakeOverTypeModelMasterResult>> callback
)
{
var task = new DeleteTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteTakeOverTypeModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteTakeOverTypeModelMasterResult> DeleteTakeOverTypeModelMasterFuture(
Request.DeleteTakeOverTypeModelMasterRequest request
)
{
return new DeleteTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteTakeOverTypeModelMasterResult> DeleteTakeOverTypeModelMasterAsync(
Request.DeleteTakeOverTypeModelMasterRequest request
)
{
AsyncResult<Result.DeleteTakeOverTypeModelMasterResult> result = null;
await DeleteTakeOverTypeModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteTakeOverTypeModelMasterTask DeleteTakeOverTypeModelMasterAsync(
Request.DeleteTakeOverTypeModelMasterRequest request
)
{
return new DeleteTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteTakeOverTypeModelMasterResult> DeleteTakeOverTypeModelMasterAsync(
Request.DeleteTakeOverTypeModelMasterRequest request
)
{
var task = new DeleteTakeOverTypeModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ExportMasterTask : Gs2RestSessionTask<ExportMasterRequest, ExportMasterResult>
{
public ExportMasterTask(IGs2Session session, RestSessionRequestFactory factory, ExportMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ExportMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/export";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ExportMaster(
Request.ExportMasterRequest request,
UnityAction<AsyncResult<Result.ExportMasterResult>> callback
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ExportMasterResult>(task.Result, task.Error));
}
public IFuture<Result.ExportMasterResult> ExportMasterFuture(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
AsyncResult<Result.ExportMasterResult> result = null;
await ExportMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ExportMasterTask ExportMasterAsync(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetCurrentModelMasterTask : Gs2RestSessionTask<GetCurrentModelMasterRequest, GetCurrentModelMasterResult>
{
public GetCurrentModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetCurrentModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCurrentModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetCurrentModelMaster(
Request.GetCurrentModelMasterRequest request,
UnityAction<AsyncResult<Result.GetCurrentModelMasterResult>> callback
)
{
var task = new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCurrentModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetCurrentModelMasterResult> GetCurrentModelMasterFuture(
Request.GetCurrentModelMasterRequest request
)
{
return new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCurrentModelMasterResult> GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
AsyncResult<Result.GetCurrentModelMasterResult> result = null;
await GetCurrentModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCurrentModelMasterTask GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
return new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCurrentModelMasterResult> GetCurrentModelMasterAsync(
Request.GetCurrentModelMasterRequest request
)
{
var task = new GetCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentModelMasterTask : Gs2RestSessionTask<UpdateCurrentModelMasterRequest, UpdateCurrentModelMasterResult>
{
public UpdateCurrentModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Settings != null)
{
jsonWriter.WritePropertyName("settings");
jsonWriter.Write(request.Settings);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentModelMaster(
Request.UpdateCurrentModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentModelMasterResult>> callback
)
{
var task = new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterFuture(
Request.UpdateCurrentModelMasterRequest request
)
{
return new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
AsyncResult<Result.UpdateCurrentModelMasterResult> result = null;
await UpdateCurrentModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentModelMasterTask UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
return new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentModelMasterResult> UpdateCurrentModelMasterAsync(
Request.UpdateCurrentModelMasterRequest request
)
{
var task = new UpdateCurrentModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentModelMasterFromGitHubTask : Gs2RestSessionTask<UpdateCurrentModelMasterFromGitHubRequest, UpdateCurrentModelMasterFromGitHubResult>
{
public UpdateCurrentModelMasterFromGitHubTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentModelMasterFromGitHubRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentModelMasterFromGitHubRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "account")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/from_git_hub";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CheckoutSetting != null)
{
jsonWriter.WritePropertyName("checkoutSetting");
request.CheckoutSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentModelMasterFromGitHub(
Request.UpdateCurrentModelMasterFromGitHubRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult>> callback
)
{
var task = new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubFuture(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
return new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
AsyncResult<Result.UpdateCurrentModelMasterFromGitHubResult> result = null;
await UpdateCurrentModelMasterFromGitHub(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentModelMasterFromGitHubTask UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
return new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentModelMasterFromGitHubResult> UpdateCurrentModelMasterFromGitHubAsync(
Request.UpdateCurrentModelMasterFromGitHubRequest request
)
{
var task = new UpdateCurrentModelMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
}
}