using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Portfolio.Shared.Models; public sealed class Technology { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; init; } [MaxLength(255)] public required string Name { get; set; } [MaxLength(255)] public required string Identifier { get; set; } [MaxLength(255)] public string? Suffix { get; set; } public TechnologyLevel Level { get; set; } = TechnologyLevel.Beginner; public TechnologyType Type { get; set; } = TechnologyType.Language; public bool Featured { get; set; } } public enum TechnologyLevel { Beginner = 0, Intermediate = 1, Professional = 2 } public enum TechnologyType { Language = 0, Framework = 1, Additional = 2 }