83 lines
2.2 KiB
C#
83 lines
2.2 KiB
C#
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
|
|
namespace UGQDatabase.Models;
|
|
|
|
|
|
public enum QuestContentState
|
|
{
|
|
None = 0,
|
|
Uncomplate = 1,
|
|
Editable = 2,
|
|
Test = 3,
|
|
Standby = 4,
|
|
Live = 5,
|
|
Shutdown = 6,
|
|
}
|
|
|
|
|
|
public class TaskEntity
|
|
{
|
|
public TextEntity GoalText { get; set; } = new TextEntity();
|
|
public int ActionId { get; set; }
|
|
public int ActionValue { get; set; }
|
|
public bool IsShowNpcLocation { get; set; }
|
|
public string? UgcActionValueGuid { get; set; }
|
|
public string? UgcActionValueName { get; set; }
|
|
public string? DialogId { get; set; }
|
|
}
|
|
|
|
public class QuestContentEntity
|
|
{
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.ObjectId)]
|
|
public string Id { get; set; } = null!;
|
|
|
|
public string UserGuid { get; set; } = null!;
|
|
public string Author { get; set; } = null!;
|
|
|
|
[BsonRepresentation(BsonType.String)]
|
|
public UgqGradeType GradeType { get; set; } = UgqGradeType.Amature;
|
|
|
|
|
|
public long QuestId { get; set; }
|
|
public long Revision { get; set; }
|
|
|
|
public int BeaconId { get; set; }
|
|
public string? UgcBeaconGuid { get; set; }
|
|
public string? UgcBeaconNickname { get; set; }
|
|
|
|
public TextEntity Title { get; set; } = new TextEntity();
|
|
|
|
public List<string>? Tags { get; set; }
|
|
public List<string> Langs { get; set; } = new List<string>();
|
|
|
|
public int UploadCounter { get; set; }
|
|
public string TitleImagePath { get; set; } = string.Empty;
|
|
public string BannerImagePath { get; set; } = string.Empty;
|
|
public TextEntity Description { get; set; } = new TextEntity();
|
|
|
|
[BsonRepresentation(BsonType.String)]
|
|
public QuestContentState State { get; set; }
|
|
|
|
public bool? ToNextRevision { get; set; } = false;
|
|
public int Cost { get; set; }
|
|
|
|
public string Savelanguage { get; set; } = string.Empty;
|
|
|
|
public List<TaskEntity> Tasks { get; set; } = new List<TaskEntity>();
|
|
|
|
public int? ContentVersion { get; set; }
|
|
|
|
[BsonRequired]
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
[BsonRequired]
|
|
public DateTime UpdatedAt { get; set; }
|
|
|
|
public bool IsDeleted { get; set; } = false;
|
|
public DateTime DeletedAt { get; set; } = DateTime.MinValue;
|
|
}
|
|
|