44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using Newtonsoft.Json;
|
|
|
|
namespace QuestShare.Services.API
|
|
{
|
|
internal class Update_Client
|
|
{
|
|
public static void HandleDispatch(Objects.OwnedSession session, List<string> partyMembers, bool broadcast = true)
|
|
{
|
|
var api = (ApiService)Plugin.GetService<ApiService>();
|
|
_ = api.Invoke(nameof(Update), new Update.Request
|
|
{
|
|
Token = ApiService.Token,
|
|
Version = Constants.Version,
|
|
Session = session,
|
|
PartyMembers = partyMembers,
|
|
IsQuestUpdate = broadcast
|
|
});
|
|
}
|
|
|
|
public static Task HandleResponse(Update.Response response)
|
|
{
|
|
if (response.Success)
|
|
{
|
|
Log.Debug("Successfully updated quest status.");
|
|
}
|
|
else
|
|
{
|
|
Log.Error("Failed to update quest status: {0}", response.Error);
|
|
UiService.LastErrorMessage = $"Failed to update quest status. {response.Error}";
|
|
}
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
|
|
internal class UpdateBroadcast_Client
|
|
{
|
|
public static Task HandleResponse(Update.UpdateBroadcast response)
|
|
{
|
|
((ShareService)Plugin.GetService<ShareService>()).UpdateSession(response.Session);
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
}
|