using Koogle.Application.DTOs;
namespace Koogle.Web.Store.PersonState;
///
/// Action to load all persons for the current club.
///
public record LoadPersonsAction;
///
/// Action dispatched when persons are loaded successfully.
///
public record LoadPersonsSuccessAction(IReadOnlyList Persons);
///
/// Action dispatched when loading persons fails.
///
public record LoadPersonsFailureAction(string Error);
///
/// Action to create a new person.
///
public record CreatePersonAction(CreatePersonDto Dto);
///
/// Action dispatched when person is created successfully.
///
public record CreatePersonSuccessAction(PersonDto Person);
///
/// Action dispatched when creating person fails.
///
public record CreatePersonFailureAction(string Error);
///
/// Action to update an existing person.
///
public record UpdatePersonAction(UpdatePersonDto Dto);
///
/// Action dispatched when person is updated successfully.
///
public record UpdatePersonSuccessAction(PersonDto Person);
///
/// Action dispatched when updating person fails.
///
public record UpdatePersonFailureAction(string Error);
///
/// Action to delete a person.
///
public record DeletePersonAction(Guid Id);
///
/// Action dispatched when person is deleted successfully.
///
public record DeletePersonSuccessAction(Guid Id);
///
/// Action dispatched when deleting person fails.
///
public record DeletePersonFailureAction(string Error);
///
/// Action to select a person for editing.
///
public record SelectPersonAction(PersonDto? Person);
///
/// Action to clear person error state.
///
public record ClearPersonErrorAction;