Files
step3/api/QuestionsApi/Models/QuestionBookmark.cs
T
2026-07-18 23:07:22 -05:00

42 lines
1.4 KiB
C#

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace QuestionsApi.Models;
public sealed class QuestionBookmark
{
[BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; }
public string UserId { get; set; } = "";
public string QuestionExternalId { get; set; } = "";
public DateTime CreatedUtc { get; set; } = DateTime.UtcNow;
public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow;
}
public sealed class QuestionBookmarkSummary
{
public string QuestionExternalId { get; set; } = "";
public string Stem { get; set; } = "";
public string LeadIn { get; set; } = "";
public string System { get; set; } = "";
public string Discipline { get; set; } = "";
public int Difficulty { get; set; }
public bool HasMedia { get; set; }
public List<string> Tags { get; set; } = [];
public DateTime CreatedUtc { get; set; }
}
public sealed class QuestionBookmarkPageResponse
{
public List<QuestionBookmarkSummary> Items { get; set; } = [];
public string? NextCursor { get; set; }
public bool HasMore { get; set; }
public List<string> Systems { get; set; } = [];
public List<string> Disciplines { get; set; } = [];
}
public sealed class QuestionBookmarkMutationResponse
{
public string QuestionExternalId { get; set; } = "";
public bool IsBookmarked { get; set; }
}