// Path: app/src/main/java/com/tsy/leanote/feature/note/bean/NoteFile.java
// @Entity
// public class NoteFile {
//     @Id
//     private Long id;
// 
//     private String noteid;
//     private String fileId;
//     private String localFileId;
//     private String type;
//     private String title;
//     private boolean hasBody;
//     private boolean isAttach;
//     @Generated(hash = 2026444157)
//     public NoteFile(Long id, String noteid, String fileId, String localFileId,
//             String type, String title, boolean hasBody, boolean isAttach) {
//         this.id = id;
//         this.noteid = noteid;
//         this.fileId = fileId;
//         this.localFileId = localFileId;
//         this.type = type;
//         this.title = title;
//         this.hasBody = hasBody;
//         this.isAttach = isAttach;
//     }
//     @Generated(hash = 1417941967)
//     public NoteFile() {
//     }
//     public Long getId() {
//         return this.id;
//     }
//     public void setId(Long id) {
//         this.id = id;
//     }
//     public String getNoteid() {
//         return this.noteid;
//     }
//     public void setNoteid(String noteid) {
//         this.noteid = noteid;
//     }
//     public String getFileId() {
//         return this.fileId;
//     }
//     public void setFileId(String fileId) {
//         this.fileId = fileId;
//     }
//     public String getLocalFileId() {
//         return this.localFileId;
//     }
//     public void setLocalFileId(String localFileId) {
//         this.localFileId = localFileId;
//     }
//     public String getType() {
//         return this.type;
//     }
//     public void setType(String type) {
//         this.type = type;
//     }
//     public String getTitle() {
//         return this.title;
//     }
//     public void setTitle(String title) {
//         this.title = title;
//     }
//     public boolean getHasBody() {
//         return this.hasBody;
//     }
//     public void setHasBody(boolean hasBody) {
//         this.hasBody = hasBody;
//     }
//     public boolean getIsAttach() {
//         return this.isAttach;
//     }
//     public void setIsAttach(boolean isAttach) {
//         this.isAttach = isAttach;
//     }
// }
// 
// Path: app/src/main/java/com/tsy/leanote/feature/user/bean/UserInfo.java
// @Entity
// public class UserInfo {
//     @Id
//     private Long id;
//     @Unique
//     private String uid;
//     private String username;
//     private String email;
//     private String logo;
//     private String token;
//     private boolean verified;       //邮箱是否认证
//     private int last_usn;       //上次同步usn
// 
//     @Generated(hash = 1860533007)
//     public UserInfo(Long id, String uid, String username, String email, String logo,
//             String token, boolean verified, int last_usn) {
//         this.id = id;
//         this.uid = uid;
//         this.username = username;
//         this.email = email;
//         this.logo = logo;
//         this.token = token;
//         this.verified = verified;
//         this.last_usn = last_usn;
//     }
// 
//     @Generated(hash = 1279772520)
//     public UserInfo() {
//     }
// 
//     @Override
//     public String toString() {
//         return "UserInfo{" +
//                 "id=" + id +
//                 ", uid='" + uid + '\'' +
//                 ", username='" + username + '\'' +
//                 ", email='" + email + '\'' +
//                 ", logo='" + logo + '\'' +
//                 ", token='" + token + '\'' +
//                 ", verified=" + verified +
//                 ", last_usn=" + last_usn +
//                 '}';
//     }
// 
//     public Long getId() {
//         return this.id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getUid() {
//         return this.uid;
//     }
// 
//     public void setUid(String uid) {
//         this.uid = uid;
//     }
// 
//     public String getUsername() {
//         return this.username;
//     }
// 
//     public void setUsername(String username) {
//         this.username = username;
//     }
// 
//     public String getEmail() {
//         return this.email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getLogo() {
//         return this.logo;
//     }
// 
//     public void setLogo(String logo) {
//         this.logo = logo;
//     }
// 
//     public String getToken() {
//         return this.token;
//     }
// 
//     public void setToken(String token) {
//         this.token = token;
//     }
// 
//     public boolean getVerified() {
//         return this.verified;
//     }
// 
//     public void setVerified(boolean verified) {
//         this.verified = verified;
//     }
// 
//     public int getLast_usn() {
//         return this.last_usn;
//     }
// 
//     public void setLast_usn(int last_usn) {
//         this.last_usn = last_usn;
//     }
// }


import com.tsy.leanote.feature.note.bean.NoteFile;
import com.tsy.leanote.feature.user.bean.UserInfo;
import org.json.JSONArray;
import java.util.ArrayList;
package com.tsy.leanote.feature.note.contract;




/**
 * Created by tsy on 2017/2/15.
 */

public interface NoteFileContract {
    interface Interactor {

        /**
         * 添加某篇note里所有file
         * @param noteid
         * @param noteFiles
         */
        void addNoteFiles(String noteid, JSONArray noteFiles);

        /**
         * 更新localFile
         * @param noteFiles
         */
        void updateLocalFile(JSONArray noteFiles);

        /**
         * 加载某个笔记下的所有pics（下载下来）
         * @param noteid
         */
// Path: app/src/main/java/com/tsy/leanote/feature/note/bean/NoteFile.java
// @Entity
// public class NoteFile {
//     @Id
//     private Long id;
// 
//     private String noteid;
//     private String fileId;
//     private String localFileId;
//     private String type;
//     private String title;
//     private boolean hasBody;
//     private boolean isAttach;
//     @Generated(hash = 2026444157)
//     public NoteFile(Long id, String noteid, String fileId, String localFileId,
//             String type, String title, boolean hasBody, boolean isAttach) {
//         this.id = id;
//         this.noteid = noteid;
//         this.fileId = fileId;
//         this.localFileId = localFileId;
//         this.type = type;
//         this.title = title;
//         this.hasBody = hasBody;
//         this.isAttach = isAttach;
//     }
//     @Generated(hash = 1417941967)
//     public NoteFile() {
//     }
//     public Long getId() {
//         return this.id;
//     }
//     public void setId(Long id) {
//         this.id = id;
//     }
//     public String getNoteid() {
//         return this.noteid;
//     }
//     public void setNoteid(String noteid) {
//         this.noteid = noteid;
//     }
//     public String getFileId() {
//         return this.fileId;
//     }
//     public void setFileId(String fileId) {
//         this.fileId = fileId;
//     }
//     public String getLocalFileId() {
//         return this.localFileId;
//     }
//     public void setLocalFileId(String localFileId) {
//         this.localFileId = localFileId;
//     }
//     public String getType() {
//         return this.type;
//     }
//     public void setType(String type) {
//         this.type = type;
//     }
//     public String getTitle() {
//         return this.title;
//     }
//     public void setTitle(String title) {
//         this.title = title;
//     }
//     public boolean getHasBody() {
//         return this.hasBody;
//     }
//     public void setHasBody(boolean hasBody) {
//         this.hasBody = hasBody;
//     }
//     public boolean getIsAttach() {
//         return this.isAttach;
//     }
//     public void setIsAttach(boolean isAttach) {
//         this.isAttach = isAttach;
//     }
// }
// 
// Path: app/src/main/java/com/tsy/leanote/feature/user/bean/UserInfo.java
// @Entity
// public class UserInfo {
//     @Id
//     private Long id;
//     @Unique
//     private String uid;
//     private String username;
//     private String email;
//     private String logo;
//     private String token;
//     private boolean verified;       //邮箱是否认证
//     private int last_usn;       //上次同步usn
// 
//     @Generated(hash = 1860533007)
//     public UserInfo(Long id, String uid, String username, String email, String logo,
//             String token, boolean verified, int last_usn) {
//         this.id = id;
//         this.uid = uid;
//         this.username = username;
//         this.email = email;
//         this.logo = logo;
//         this.token = token;
//         this.verified = verified;
//         this.last_usn = last_usn;
//     }
// 
//     @Generated(hash = 1279772520)
//     public UserInfo() {
//     }
// 
//     @Override
//     public String toString() {
//         return "UserInfo{" +
//                 "id=" + id +
//                 ", uid='" + uid + '\'' +
//                 ", username='" + username + '\'' +
//                 ", email='" + email + '\'' +
//                 ", logo='" + logo + '\'' +
//                 ", token='" + token + '\'' +
//                 ", verified=" + verified +
//                 ", last_usn=" + last_usn +
//                 '}';
//     }
// 
//     public Long getId() {
//         return this.id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getUid() {
//         return this.uid;
//     }
// 
//     public void setUid(String uid) {
//         this.uid = uid;
//     }
// 
//     public String getUsername() {
//         return this.username;
//     }
// 
//     public void setUsername(String username) {
//         this.username = username;
//     }
// 
//     public String getEmail() {
//         return this.email;
//     }
// 
//     public void setEmail(String email) {
//         this.email = email;
//     }
// 
//     public String getLogo() {
//         return this.logo;
//     }
// 
//     public void setLogo(String logo) {
//         this.logo = logo;
//     }
// 
//     public String getToken() {
//         return this.token;
//     }
// 
//     public void setToken(String token) {
//         this.token = token;
//     }
// 
//     public boolean getVerified() {
//         return this.verified;
//     }
// 
//     public void setVerified(boolean verified) {
//         this.verified = verified;
//     }
// 
//     public int getLast_usn() {
//         return this.last_usn;
//     }
// 
//     public void setLast_usn(int last_usn) {
//         this.last_usn = last_usn;
//     }
// }


// Path: app/src/main/java/com/tsy/leanote/feature/note/contract/NoteFileContract.java
import com.tsy.leanote.feature.note.bean.NoteFile;
import com.tsy.leanote.feature.user.bean.UserInfo;
import org.json.JSONArray;
import java.util.ArrayList;

package com.tsy.leanote.feature.note.contract;




/**
 * Created by tsy on 2017/2/15.
 */

public interface NoteFileContract {
    interface Interactor {

        /**
         * 添加某篇note里所有file
         * @param noteid
         * @param noteFiles
         */
        void addNoteFiles(String noteid, JSONArray noteFiles);

        /**
         * 更新localFile
         * @param noteFiles
         */
        void updateLocalFile(JSONArray noteFiles);

        /**
         * 加载某个笔记下的所有pics（下载下来）
         * @param noteid
         */
        void loadAllPics(UserInfo userInfo, String noteid, LoadAllPicsCallback callback);