# Schema data field 意思 ## Note : ```java String id; // 此筆記ID String type; // normal, reward, collaboration String department; // 科系 String subject; // 主科 String title; // title String headerEmail; // 建立筆記者 String headerName; // 建立筆記者 ArrayList<String> authorEmail; // 所有作者 ArrayList<String> authorName; // 所有作者 String managerEmail; // 共筆管理員 String professor; // 教授 String school; // 學校 ArrayList<String> liker; // 喜歡筆記的人 ArrayList<String> buyer; // 購買筆記的人 ArrayList<String> favoriter; // 收藏筆記的人 Integer likeCount; // 喜歡筆記的人數 Integer favoriteCount; // 收藏筆記的人數 Integer unlockCount; // 購買筆記的人數 Boolean downloadable; // 可否下載 Integer commentCount; // 留言數 ArrayList<Comment> comments; // 留言 Integer price; // 價格 Boolean isPublic; // 筆記是否公開 Boolean isSubmit; // 用於懸賞區投稿 Boolean quotable; // 可否引用 ArrayList<String> tag; ArrayList<String> hiddenTag; ArrayList<VersionContent> version; // 版本 ArrayList<String> contributors; String postID; // 紀錄貼文ID用於投稿後存在哪 Boolean isReference; // 是不是參考解 Boolean isBest; // 用於懸賞區看是否為最佳解 @JsonFormat(timezone = "GMT+08:00") Date publishDate; // publish 後更新 String description; // 大綱 ``` ## VersionContent in Note ```java String id; //此筆記ID String name; // 此筆記的name String slug; // 此筆記的slug @JsonFormat(timezone = "GMT+08:00") Date date; // 此筆記的最近修改時間 ArrayList<Content> content; // 此筆記之內容 ArrayList<String> picURL; // 此筆記的圖片連結 ArrayList<String> fileURL; // 此筆記的檔案連結 Boolean isTemp; // 看是暫存區還是版本號 ``` ## Content in VersionContent ```java String mycustom_html; String mycustom_components; String mycustom_assets; String mycustom_css; String mycustom_styles; ``` ## Comment : ```java String id; // 此Comment ID String author; // 此留言作者名字(可給自訂) String email; // 此留言作者email String content; //內容 Integer likeCount; // 愛心數 ArrayList<String> liker; // 按愛心的人 ``` ## Coin ```java String coin; // 填法: "+"+數字的字串 or "-"+數字的字串 ``` ## Folder : ```java String id; // 資料夾ID String folderName; // 資料夾名字 ArrayList<String> notes; // note's ID Boolean isPublic; // 是否公開 Boolean isFavorite; // 是否位於收藏區 String path; // 路徑 String parent; // 父資料夾 ArrayList<String> children; // 子資料夾 String creatorName; // 資料夾主人name ``` ## Post : ```java String id; // String type; // QA, reward, collaboration ArrayList<String> email; // 共筆筆記所有人 String author; // 貼文發起人email String authorName; // 貼文發起人name String department; // 科系 String subject; // 科目 String school; // 學校 String professor; // 教授 String title; // 標題 String content; // 內容 @JsonFormat(timezone = "GMT+08:00") Date date; // 日期 Integer bestPrice; // 最佳解金額 Integer referencePrice; // 參考解金額 Integer referenceNumber; // 剩餘參考解數目 Boolean isPublic; // 是否公開 ArrayList<Comment> comments; // 留言 Integer commentCount; // 留言數 ArrayList<String> answers; // to save note's ID , 共筆post存共筆note's ID,QA,Reward放入對應最佳解 @JsonFormat(timezone = "GMT+08:00") Date publishDate; // 發布日期(reward,collab) ArrayList<Vote> vote; // 投票 Integer collabNoteAuthorNumber; // 共筆人數 ArrayList<Apply> collabApply; // 共筆申請人以及留言 Boolean archive; // 此貼文是否封存 ``` ## Apply : ```java String wantEnterUsersEmail; // 申請人email String commentFromApplicant; // 申請人留言 ``` ## vote : ```java String id; // 投票ID Task task; // 底下解釋 ArrayList<String> agree; // 同意的人的 email ArrayList<String> disagree; // 不同意的人的 email String kickTarget; // 要踢掉的對象的 name String result; // 投票結果 ``` ## Task : ```java String id; // 此Task的ID int year; // 觸發的年份 int month; // 觸發的月份 int day; // 觸發的天號(一個月中的幾號) String voteID; // 隸屬的投票ID String postID; // 隸屬的貼文ID ``` ## User : ```java String id; // 此使用者ID String email; // 此使用者email String name; // 此使用者名字 String password; // 此使用者密碼(後端會加密) String verifyCode; // 此使用者驗證碼 boolean isAdmin; // 此使用者是否為管理員 boolean isActivate; // 此使用者是否驗證過 String profile; // 此使用者自我介紹 ArrayList<String> strength; // 此使用者擅長科目 ArrayList<String> folders; // 此使用者的所有folder ID ArrayList<String> subscribe; // 此使用者訂閱的人 ArrayList<String> bell; // 還不確定會不會用(先不用管) ArrayList<String> fans; // 此使用者的粉絲(誰追蹤此使用者) Integer coin; // 此使用者點數 String headshotPhoto; // 此使用者大頭貼 ArrayList<Message> notification; // 此使用者的推播清單(底下解釋) Integer unreadMessageCount; // 此使用者的未讀訊息 ``` ## Message ```java String id; // noteID or postID String type; // note or collaboration or reward or QnA UserObj userObj; // 此訊息來自誰 String message; // 訊息內容 String receiverEmail; ``` ## UserObj ```java String userObjEmail; // user's Email String userObjName; // user's Name String userObjAvatar; // user's photo ```