package com.ffii.core.user.req;

import java.time.LocalDate;
import java.util.List;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/** @author Fung */
public class UpdateUserReq {

  @NotNull
  private Boolean locked;

  @Size(max = 90)
  @NotBlank
  private String name;

  private String firstname;
  private String lastname;
  private LocalDate expiryDate;
  private String locale;
  @NotBlank
  private String landingPage;
  private String remarks;

  @NotBlank
  @Email
  private String email;
  // @NotBlank
  private String department;

  @NotNull
  private Integer deptId;
  @NotNull
  private List<Integer> addGroupIds;
  @NotNull
  private List<Integer> removeGroupIds;

  @NotNull
  private List<Integer> addAuthIds;
  @NotNull
  private List<Integer> removeAuthIds;

  public Boolean getLocked() {
    return locked;
  }

  public void setLocked(Boolean locked) {
    this.locked = locked;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public LocalDate getExpiryDate() {
    return expiryDate;
  }

  public void setExpiryDate(LocalDate expiryDate) {
    this.expiryDate = expiryDate;
  }

  public String getFirstname() {
    return firstname;
  }

  public void setFirstName(String firstname) {
    this.firstname = firstname;
  }

  public String getLastname() {
    return lastname;
  }

  public void setLastname(String lastname) {
    this.lastname = lastname;
  }

  public Integer getDeptId() {
    return deptId;
  }

  public void setDeptId(Integer deptId) {
    this.deptId = deptId;
  }

  public String getLocale() {
    return locale;
  }

  public void setLocale(String locale) {
    this.locale = locale;
  }

  public void setFirstname(String firstname) {
    this.firstname = firstname;
  }

  public List<Integer> getAddGroupIds() {
    return addGroupIds;
  }

  public void setAddGroupIds(List<Integer> addGroupIds) {
    this.addGroupIds = addGroupIds;
  }

  public List<Integer> getRemoveGroupIds() {
    return removeGroupIds;
  }

  public void setRemoveGroupIds(List<Integer> removeGroupIds) {
    this.removeGroupIds = removeGroupIds;
  }

  public List<Integer> getAddAuthIds() {
    return addAuthIds;
  }

  public void setAddAuthIds(List<Integer> addAuthIds) {
    this.addAuthIds = addAuthIds;
  }

  public List<Integer> getRemoveAuthIds() {
    return removeAuthIds;
  }

  public void setRemoveAuthIds(List<Integer> removeAuthIds) {
    this.removeAuthIds = removeAuthIds;
  }

  public String getRemarks() {
    return remarks;
  }

  public void setRemarks(String remarks) {
    this.remarks = remarks;
  }

  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  public String getDepartment() {
    return department;
  }

  public void setDepartment(String department) {
    this.department = department;
  }

  public String getLandingPage() {
    return landingPage;
  }

  public void setLandingPage(String landingPage) {
    this.landingPage = landingPage;
  }

}
