View Javadoc
1   package io.extact.rms.external.webapi.dto;
2   
3   import org.eclipse.microprofile.openapi.annotations.media.Schema;
4   
5   import lombok.Getter;
6   import lombok.Setter;
7   
8   import io.extact.rms.application.domain.UserAccount;
9   import io.extact.rms.application.domain.UserAccount.UserType;
10  import io.extact.rms.application.domain.constraint.ItemName;
11  import io.extact.rms.application.domain.constraint.LoginId;
12  import io.extact.rms.application.domain.constraint.Passowrd;
13  import io.extact.rms.application.domain.constraint.UserName;
14  import io.extact.rms.application.domain.constraint.UserTypeConstraint;
15  
16  @Schema(description = "ユーザ登録用DTO")
17  @Getter
18  @Setter
19  public class AddUserAccountDto {
20  
21      @Schema(required = true)
22      @LoginId
23      private String loginId;
24  
25      @Schema(required = true)
26      @Passowrd
27      private String password;
28  
29      @Schema(required = true)
30      @UserName
31      private String userName;
32  
33      @Schema(required = false)
34      @ItemName
35      private String phoneNumber;
36  
37      @Schema(required = false)
38      private String contact;
39  
40      @Schema(required = true)
41      @UserTypeConstraint
42      private UserType userType;
43  
44      public UserAccount toEntity() {
45          return UserAccount.ofTransient(loginId, password, userName, phoneNumber, contact, userType);
46      }
47  }