2025-03-01 20:38:45 -05:00

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;
}
}
}