Feat: Backend's documentation added

This commit is contained in:
2025-07-16 23:12:07 -03:00
parent 8878ec632e
commit 88f245a80d
39 changed files with 904 additions and 164 deletions

View File

@@ -9,19 +9,32 @@ namespace Mercados.Api.Utils
/// </summary>
public class UtcDateTimeConverter : JsonConverter<DateTime>
{
/// <summary>
/// Lee un valor DateTime desde el lector JSON y lo convierte a UTC.
/// </summary>
/// <param name="reader">El lector JSON.</param>
/// <param name="typeToConvert">El tipo a convertir.</param>
/// <param name="options">Las opciones de serialización JSON.</param>
/// <returns>El valor DateTime en UTC.</returns>
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
// Al leer un string de fecha, nos aseguramos de que se interprete como UTC
return reader.GetDateTime().ToUniversalTime();
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
// Antes de escribir el string, especificamos que el 'Kind' es Utc.
// Si ya es Utc, no hace nada. Si es Local o Unspecified, lo trata como si fuera Utc.
// Esto es seguro porque sabemos que todas nuestras fechas en la BD son UTC.
var utcValue = DateTime.SpecifyKind(value, DateTimeKind.Utc);
writer.WriteStringValue(utcValue);
}
/// <summary>
/// Escribe un valor DateTime en formato UTC como una cadena en el escritor JSON.
/// </summary>
/// <param name="writer">El escritor JSON.</param>
/// <param name="value">El valor DateTime a escribir.</param>
/// <param name="options">Las opciones de serialización JSON.</param>
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
// Antes de escribir el string, especificamos que el 'Kind' es Utc.
// Si ya es Utc, no hace nada. Si es Local o Unspecified, lo trata como si fuera Utc.
// Esto es seguro porque sabemos que todas nuestras fechas en la BD son UTC.
var utcValue = DateTime.SpecifyKind(value, DateTimeKind.Utc);
writer.WriteStringValue(utcValue);
}
}
}