using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AfRApay.Web.Backend.Database.Tables;

[Table("Cards")]
public class Card {
	[Column("CardId", TypeName = "NVarChar(255)")] [Key] public string   Id   { get; set; } = null!;
	[Column("CardType")] [Required]                      public CardType Type { get; set; } = CardType.Unknown;
	[Column("UserId")] [Required]                        public User     User { get; set; } = null!;

	public enum CardType {
		Unknown           = 0,
		Rfid125KhzGeneric = 10,
		NfcGeneric        = 20,
		NfcMifareClassic  = 21,
		NfcTflOyster      = 22,
		NfcOvChipkaart    = 23,
		NfcItso           = 24,
		NfcContactless    = 25,
		FeliCaGeneric     = 30,
		FeliCaSuica       = 31,
		FeliCaPasmo       = 32,
		FeliCaApplePay    = 33,
	}
}
