feat: adicionar log no status das paginas para entender o que está acontecendo.
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 1s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 8m0s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 2m21s
BCards Deployment Pipeline / Deploy to Staging (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 1s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 8m0s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 2m21s
BCards Deployment Pipeline / Deploy to Staging (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
This commit is contained in:
parent
9406997316
commit
f28dc8daa8
@ -995,10 +995,14 @@ public class AdminController : Controller
|
|||||||
if (user == null)
|
if (user == null)
|
||||||
return Json(new { success = false, message = "Usuário não autenticado" });
|
return Json(new { success = false, message = "Usuário não autenticado" });
|
||||||
|
|
||||||
|
_logger.LogInformation($"Generating preview token for page {id} by user {user.Id}");
|
||||||
|
|
||||||
var pageItem = await _userPageService.GetPageByIdAsync(id);
|
var pageItem = await _userPageService.GetPageByIdAsync(id);
|
||||||
if (pageItem == null || pageItem.UserId != user.Id)
|
if (pageItem == null || pageItem.UserId != user.Id)
|
||||||
return Json(new { success = false, message = "Página não encontrada" });
|
return Json(new { success = false, message = "Página não encontrada" });
|
||||||
|
|
||||||
|
_logger.LogInformation($"Generating preview token for page {id} preview token {pageItem.PreviewToken} by user {user.Id}");
|
||||||
|
|
||||||
// Verificar se página pode ter preview
|
// Verificar se página pode ter preview
|
||||||
if (pageItem.Status != ViewModels.PageStatus.Creating &&
|
if (pageItem.Status != ViewModels.PageStatus.Creating &&
|
||||||
pageItem.Status != ViewModels.PageStatus.PendingModeration &&
|
pageItem.Status != ViewModels.PageStatus.PendingModeration &&
|
||||||
@ -1012,7 +1016,7 @@ public class AdminController : Controller
|
|||||||
// Gerar novo token com 4 horas de validade
|
// Gerar novo token com 4 horas de validade
|
||||||
var newToken = await _moderationService.GeneratePreviewTokenAsync(pageItem.Id);
|
var newToken = await _moderationService.GeneratePreviewTokenAsync(pageItem.Id);
|
||||||
|
|
||||||
_logger.LogInformation($"Preview token generated for page {pageItem.Id} by user {user.Id}");
|
_logger.LogInformation($"Generating preview token for page {id} preview token {pageItem.PreviewToken} by user {user.Id}");
|
||||||
|
|
||||||
return Json(new {
|
return Json(new {
|
||||||
success = true,
|
success = true,
|
||||||
|
|||||||
@ -45,6 +45,9 @@ public class UserPageController : Controller
|
|||||||
var isPreview = HttpContext.Items.ContainsKey("IsPreview") && (bool)HttpContext.Items["IsPreview"];
|
var isPreview = HttpContext.Items.ContainsKey("IsPreview") && (bool)HttpContext.Items["IsPreview"];
|
||||||
var previewToken = Request.Query["preview"].FirstOrDefault();
|
var previewToken = Request.Query["preview"].FirstOrDefault();
|
||||||
|
|
||||||
|
_logger.LogDebug("Request - Page: {Slug}, Status: {Status}, IsPreview: {IsPreview}, PreviewToken: {PreviewToken}, UserId: {UserId}",
|
||||||
|
userPage.Slug, userPage.Status, isPreview, !string.IsNullOrEmpty(previewToken), userPage.UserId);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(previewToken))
|
if (!string.IsNullOrEmpty(previewToken))
|
||||||
{
|
{
|
||||||
// Handle preview request
|
// Handle preview request
|
||||||
|
|||||||
@ -34,6 +34,8 @@ public class PageStatusMiddleware
|
|||||||
|
|
||||||
if (page != null)
|
if (page != null)
|
||||||
{
|
{
|
||||||
|
var userId = page.UserId;
|
||||||
|
|
||||||
switch (page.Status)
|
switch (page.Status)
|
||||||
{
|
{
|
||||||
case PageStatus.Expired:
|
case PageStatus.Expired:
|
||||||
@ -61,11 +63,11 @@ public class PageStatusMiddleware
|
|||||||
// Páginas em desenvolvimento/moderação requerem preview token
|
// Páginas em desenvolvimento/moderação requerem preview token
|
||||||
var previewToken = context.Request.Query["preview"].FirstOrDefault();
|
var previewToken = context.Request.Query["preview"].FirstOrDefault();
|
||||||
|
|
||||||
_logger.LogInformation($"Page {category}/{slug} (Status: {page.Status}) - Token provided: {!string.IsNullOrEmpty(previewToken)}, Page token: {!string.IsNullOrEmpty(page.PreviewToken)}, Expiry: {page.PreviewTokenExpiry}");
|
_logger.LogInformation($"User id: {userId} - Page {category}/{slug} (Status: {page.Status}) - Token provided: {!string.IsNullOrEmpty(previewToken)}, Page token: {!string.IsNullOrEmpty(page.PreviewToken)}, Expiry: {page.PreviewTokenExpiry}");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(previewToken))
|
if (string.IsNullOrEmpty(previewToken))
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"Page {category}/{slug} requires preview token - no token provided");
|
_logger.LogInformation($"User id: {userId} - Page {category}/{slug} requires preview token - no token provided");
|
||||||
context.Response.StatusCode = 404;
|
context.Response.StatusCode = 404;
|
||||||
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
||||||
return;
|
return;
|
||||||
@ -73,7 +75,7 @@ public class PageStatusMiddleware
|
|||||||
|
|
||||||
if (string.IsNullOrEmpty(page.PreviewToken))
|
if (string.IsNullOrEmpty(page.PreviewToken))
|
||||||
{
|
{
|
||||||
_logger.LogWarning($"Page {category}/{slug} has no preview token set in database");
|
_logger.LogWarning($"User id: {userId} - Page {category}/{slug} has no preview token set in database");
|
||||||
context.Response.StatusCode = 404;
|
context.Response.StatusCode = 404;
|
||||||
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
||||||
return;
|
return;
|
||||||
@ -81,7 +83,7 @@ public class PageStatusMiddleware
|
|||||||
|
|
||||||
if (previewToken != page.PreviewToken)
|
if (previewToken != page.PreviewToken)
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"Page {category}/{slug} preview token mismatch - provided: {previewToken}, expected: {page.PreviewToken}");
|
_logger.LogInformation($"User id: {userId} - Page {category}/{slug} preview token mismatch - provided: {previewToken}, expected: {page.PreviewToken}");
|
||||||
context.Response.StatusCode = 404;
|
context.Response.StatusCode = 404;
|
||||||
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
await context.Response.WriteAsync("Página em desenvolvimento. Acesso restrito.");
|
||||||
return;
|
return;
|
||||||
@ -89,13 +91,13 @@ public class PageStatusMiddleware
|
|||||||
|
|
||||||
if (page.PreviewTokenExpiry < DateTime.UtcNow)
|
if (page.PreviewTokenExpiry < DateTime.UtcNow)
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"Page {category}/{slug} preview token expired at {page.PreviewTokenExpiry} (now: {DateTime.UtcNow})");
|
_logger.LogInformation($"User id: {userId} - Page {category}/{slug} preview token expired at {page.PreviewTokenExpiry} (now: {DateTime.UtcNow})");
|
||||||
context.Response.StatusCode = 404;
|
context.Response.StatusCode = 404;
|
||||||
await context.Response.WriteAsync("Token de preview expirado. Gere um novo token no painel.");
|
await context.Response.WriteAsync("Token de preview expirado. Gere um novo token no painel.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.LogInformation($"Page {category}/{slug} preview token validated successfully");
|
_logger.LogInformation($"User id: {userId} - Page {category}/{slug} preview token validated successfully");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PageStatus.Active:
|
case PageStatus.Active:
|
||||||
@ -104,7 +106,7 @@ public class PageStatusMiddleware
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
// Status desconhecido - tratar como inativo
|
// Status desconhecido - tratar como inativo
|
||||||
_logger.LogWarning($"Unknown page status: {page.Status} for page {category}/{slug}");
|
_logger.LogWarning($"User id: {userId} - Unknown page status: {page.Status} for page {category}/{slug}");
|
||||||
context.Response.StatusCode = 404;
|
context.Response.StatusCode = 404;
|
||||||
await context.Response.WriteAsync("Página temporariamente indisponível.");
|
await context.Response.WriteAsync("Página temporariamente indisponível.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -432,7 +432,6 @@
|
|||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 🔥 OTIMIZAÇÃO: Sistema de KeepAlive para evitar timeout de sessão
|
|
||||||
(function() {
|
(function() {
|
||||||
let inactivityTimer;
|
let inactivityTimer;
|
||||||
const inactivityTimeout = 5 * 60 * 1000; // 5 minutos
|
const inactivityTimeout = 5 * 60 * 1000; // 5 minutos
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user