package com.kfzs.duanduan.data.graph.provider.user;

// @formatter:off
import com.kfzs.duanduan.data.graph.provider.base.BaseModel;

import java.util.Date;

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

/**
 * A user info which is part of a team.
 */
@SuppressWarnings({"WeakerAccess", "unused"})
public interface UserModel extends BaseModel {

    /**
     * Primary key.
     */
    long getId();

    /**
     * uid at user of this user.
     */
    int getUid();

    /**
     * user_name of this user.
     * Cannot be {@code null}.
     */
    @NonNull
    String getUserName();

    /**
     * update time of this user.
     */
    long getUpdateTime();

    /**
     * phone of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getPhone();

    /**
     * nickname of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getNickname();

    /**
     * user_icon of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getUserIcon();

    /**
     * avatar of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getAvatar();

    /**
     * open_id of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getOpenId();

    /**
     * mail of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getMail();

    /**
     * refresh_token of this user.
     * Can be {@code null}.
     */
    @Nullable
    String getRefreshToken();
}
