package jace.shim.springcamp2017.member.model.command; import jace.shim.springcamp2017.core.command.Command; import lombok.Getter; import lombok.NoArgsConstructor; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** * Created by jaceshim on 2017. 3. 24.. */ public final class MemberCommand implements Command { private MemberCommand() {} @Getter @NoArgsConstructor public static class CreateMember { /** 회원 아이디 */ @NotNull @Size(min=4, max=8) private String id; /** 회원 명 */ @NotNull @Size(min=3, max=10) private String name; /** 회원 이메일 */ @NotNull @Size(max=50) private String email; /** 회원 비밀번호 */ @NotNull @Size(min=4, max=8) private String password; /** 회원 주소 */ @NotNull @Size(min=5) private String address; public CreateMember(String id, String name, String email, String password, String address) { this.id = id; this.name = name; this.email = email; this.password = password; this.address = address; } } @Getter @NoArgsConstructor public static class ChangeProfile { /** 회원 명 */ @NotNull @Size(min=3, max=10) private String name; /** 회원 이메일 */ @NotNull @Size(max=50) private String email; /** 회원 주소 */ @NotNull @Size(min=5) private String address; public ChangeProfile(String name, String email, String address) { this.name = name; this.email = email; this.address = address; } } @Getter @NoArgsConstructor public static class ChangeName { /** 회원 명 */ @NotNull @Size(min=3, max=10) private String name; public ChangeName(String name) { this.name = name; } } @Getter @NoArgsConstructor public static class ChangeEmail { /** 회원 이메일 */ @NotNull @Size(max=50) private String email; public ChangeEmail(String email) { this.email = email; } } @Getter @NoArgsConstructor public static class ChangeAddress { /** 회원 주소 */ @NotNull @Size(min=10) private String address; public ChangeAddress(String address) { this.address = address; } } @Getter @NoArgsConstructor public static class ChangePassword { /** 회원 비밀번호 */ @NotNull @Size(min=4, max=8) private String password; /** 회원 신귭 비밀번호 */ @NotNull @Size(min=4, max=8) private String newPassword; public ChangePassword(String password, String newPassword) { this.password = password; this.newPassword = newPassword; } } @Getter @NoArgsConstructor public static class ChangeWithdrawal { /** * 회원 탈퇴 여부 */ private boolean withdrawal; public ChangeWithdrawal(boolean withdrawal) { this.withdrawal = withdrawal; } } @Getter @NoArgsConstructor public static class Login { private String id; private String password; public Login(String id, String password) { this.id = id; this.password = password; } } @Getter @NoArgsConstructor public static class Logout { private String id; public Logout(String id) { this.id = id; } } }