add: funcionalidades REST
This commit is contained in:
@@ -1,28 +1,32 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CampusWorkshops.Api.Models;
|
||||
|
||||
// Modelo mínimo para Workshop.Completar as validações
|
||||
// e ajustar os tipos/atributos durante a atividade.
|
||||
// Modelo mínimo para Workshop com validações
|
||||
public class Workshop
|
||||
{
|
||||
// Identificador único
|
||||
public Guid Id { get; set; } = Guid.NewGuid();
|
||||
|
||||
// TODO: adicionar [Required], [StringLength(120, MinimumLength = 3)]
|
||||
[Required(ErrorMessage = "Título é obrigatório")]
|
||||
[StringLength(120, MinimumLength = 3, ErrorMessage = "Título deve ter entre 3 e 120 caracteres")]
|
||||
public string? Title { get; set; }
|
||||
|
||||
// TODO: limitar tamanho (ex.: 2000)
|
||||
[StringLength(2000, ErrorMessage = "Descrição não pode exceder 2000 caracteres")]
|
||||
public string? Description { get; set; }
|
||||
|
||||
// TODO: usar DateTimeOffset com formato ISO 8601
|
||||
[Required(ErrorMessage = "Data de início é obrigatória")]
|
||||
public DateTimeOffset StartAt { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Data de fim é obrigatória")]
|
||||
public DateTimeOffset EndAt { get; set; }
|
||||
|
||||
// Location deve ser obrigatório se IsOnline == false
|
||||
// Location deve ser obrigatório se IsOnline == false (validado no controller)
|
||||
[StringLength(200, ErrorMessage = "Localização não pode exceder 200 caracteres")]
|
||||
public string? Location { get; set; }
|
||||
|
||||
// TODO: validar Capacity >= 1
|
||||
[Range(1, 1000, ErrorMessage = "Capacidade deve estar entre 1 e 1000")]
|
||||
public int Capacity { get; set; } = 1;
|
||||
|
||||
public bool IsOnline { get; set; }
|
||||
|
Reference in New Issue
Block a user