using System.ComponentModel.DataAnnotations;
namespace DorkNet.Server.Data.Entities;
///
/// Per-player objective / achievement progress. The 2020 client's
/// Objectives.MyProgress response is two arrays — Objectives
/// and ObjectiveGroups — keyed by string id. We collapse that to one
/// table here; group rows distinguish themselves with a leading
/// group: prefix on .
///
public class ObjectiveProgressEntity
{
public long Id { get; set; }
public long PlayerId { get; set; }
/// Objective id from the client's hardcoded objective
/// table (e.g. tutorial_dorm_decorate). Group rows use
/// group:<groupId>.
[MaxLength(128)]
public string Key { get; set; } = string.Empty;
public bool IsCompleted { get; set; }
public DateTime? ClearedAt { get; set; }
}