Spaces:
Running
Running
File size: 1,730 Bytes
47e77e5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | @rendermode @(new InteractiveServerRenderMode(prerender: false))
@inject IJSRuntime JS
@inject ApiClientService ApiClient
@inject AuthenticationStateProvider AuthStateProvider
@code {
private bool _hasRun;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (_hasRun || !firstRender)
{
return;
}
_hasRun = true;
var authState = await AuthStateProvider.GetAuthenticationStateAsync();
if (authState.User.Identity?.IsAuthenticated != true)
{
return;
}
try
{
var token = await JS.InvokeAsync<string?>("ttsFirebase.getRegistrationToken");
if (string.IsNullOrWhiteSpace(token))
{
Console.WriteLine("[DEBUG FirebaseTokenSync] FCM registration token is empty or null.");
return;
}
var client = ApiClient.CreateClient(authState.User);
var response = await client.PostAsJsonAsync("UserDevices/register", new RegisterDeviceTokenDto
{
FcmToken = token
});
if (response.IsSuccessStatusCode)
{
Console.WriteLine("[DEBUG FirebaseTokenSync] Successfully registered FCM token.");
}
else
{
var error = await response.Content.ReadAsStringAsync();
Console.WriteLine($"[DEBUG FirebaseTokenSync] Failed to register token with API: {response.StatusCode} - {error}");
}
}
catch (Exception ex)
{
Console.WriteLine($"[DEBUG FirebaseTokenSync] Exception occurred: {ex.Message}\n{ex.StackTrace}");
}
}
}
|