package com.red.circle.other.app.dto.clientobject.user.relation.cp;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * CP relationship dismiss result.
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class CpDismissApplyCO extends ClientObject {

  /**
   * Target user id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long cpUserId;

  /**
   * Relationship type: CP/BROTHER/SISTERS.
   */
  private String relationType;

  /**
   * Relationship status: DISMISSING/NONE.
   */
  private String status;

  /**
   * Dismiss cooling-off end timestamp.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long dismissEndTime;

  /**
   * Remaining cooling-off seconds.
   */
  private Long dismissRemainSeconds;

}
