@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof UserRelationship other)) {
            return super.equals(obj);
        }

        if (hasOwnerId() != other.hasOwnerId()) {
            return false;
        }
        if (hasOwnerId()) {
            if (getOwnerId() != other.getOwnerId()) {
                return false;
            }
        }
        if (hasRelatedUserId() != other.hasRelatedUserId()) {
            return false;
        }
        if (hasRelatedUserId()) {
            if (getRelatedUserId() != other.getRelatedUserId()) {
                return false;
            }
        }
        if (hasBlockDate() != other.hasBlockDate()) {
            return false;
        }
        if (hasBlockDate()) {
            if (getBlockDate() != other.getBlockDate()) {
                return false;
            }
        }
        if (hasGroupIndex() != other.hasGroupIndex()) {
            return false;
        }
        if (hasGroupIndex()) {
            if (getGroupIndex() != other.getGroupIndex()) {
                return false;
            }
        }
        if (hasEstablishmentDate() != other.hasEstablishmentDate()) {
            return false;
        }
        if (hasEstablishmentDate()) {
            if (getEstablishmentDate() != other.getEstablishmentDate()) {
                return false;
            }
        }
        if (hasName() != other.hasName()) {
            return false;
        }
        if (hasName()) {
            if (!getName().equals(other.getName())) {
                return false;
            }
        }
        if (hasNote() != other.hasNote()) {
            return false;
        }
        if (hasNote()) {
            if (!getNote().equals(other.getNote())) {
                return false;
            }
        }
        return getCustomAttributesList().equals(other.getCustomAttributesList())
                && getUnknownFields().equals(other.getUnknownFields());
    }
<code>repeated .im.turms.proto.Value custom_attributes = 15;</code>
turms-server-common/src/main/java/im/turms/server/common/access/client/dto/model/user/UserRelationship.java