Closed wagaru closed 3 years ago
Hi, 請問這部分有人接手了嗎?如果沒有我可以幫忙
麻煩你了,這部分在寫入的部分請參考原本推文的做法,在讀取的部分要增加判讀的程式這樣。
我這邊有些細節想確認一下, 我目前的理解是先根據boardID和filename找到article, 然後根據user id找到user 再從go-bbs那邊拿到推文紀錄, 最後做判斷, 這樣是對的嗎? 目前覺得奇怪的地方在於, 這樣的話, 我好像沒有從repository拿任何東西?
這些動作理論上是呼叫 repository 裡面的程式碼進行,而不是 usecase 直接呼叫 go-bbs 套件進行?
了解,那我在跟repository那邊確認一下
我當初理解是在這邊呼叫 usecase.repo.GetBoardArticle,然後再從結果去抓出該使用者的上箭頭以及下箭頭推文紀錄,可能以 +1、-1 的方式來代表並加總,最後得出的結果再和 appendType 比較看說是要 "送出上下箭頭推文 (呼叫 repo 的 function)" 還是 "重複送出上下箭頭推文所以 reject (可能直接回傳錯 error)"
這樣應該沒有直接摸到 go-bbs 的套件
理論上沒有直接摸到 go-bbs 套件
了解!感謝!我原本是想用usecase.GetBoardArticles去找,他回傳的type就會直接用到go-bbs的套件,那時沒注意到usecase.(repo.)GetBoardArticle
用到 go-bbs 所定義的 type (interface) 應該是沒問題的,我想 @PichuChen 的意思應該是不要在 usecase 中直接呼叫 go-bbs 定義的 function,像是直接呼叫 usecase.repo.db.xxx 之類的。
Hello, 還有一個問題, 如果一個user推過文, 在article裡是以user ID:↑這樣的形式出現嗎?
位置好像不太對?原本推文會有個推,變成那邊該顯示上下箭頭
OK. 所以應該是在user id 之前
我這邊大致上完成了 最後確認一下,我最後應該是叫repo那邊的function然後得到pushRecord?
對,因為你這邊是usecase, 因此呼叫底層應該呼叫repository 的
@kyho4515 想問一下目前這邊狀況到哪裡了?
我在等repository那邊的function, 如果需要的話我可以先弄個pr
那先推把,另外你也可以試試看把他推成Draft
我在等repository那邊的function, 如果需要的話我可以先弄個pr
Repository 那邊好了,可以幫忙REVIEW一下,可以的話我就把他merge
我把repo PR的問題貼過來這裡討論
幾個小地方想問, PushRecord的部分要在usecase產生嗎? 如果這樣建議把return的type修一下 另外, 跟這個PR有點關係的是, 如果推文的話, 應該會有推文的text, 但我看delivery那邊似乎沒傳到usecase裏, 但repo的input有text, 這部分delivery那邊可能要改一下?還有如果有appendtype(上下箭頭)和text要寫進file裡的話, 那是不是要寫進appendtype+userID+text才是ptt推文後的樣子? 附上delivery的連結好討論一點 delivery
對,在usecase產生
另外, 跟這個PR有點關係的是, 如果推文的話, 應該會有推文的text, 但我看delivery那邊似乎沒傳到usecase裏, 但repo的input有text, 這部分delivery那邊可能要改一下?還有如果有appendtype(上下箭頭)和text要寫進file裡的話, 那是不是要寫進appendtype+userID+text才是ptt推文後的樣子? 附上delivery的連結好討論一點 delivery
那這部分呢? 特別是第二部分我不太確定
這部分要確認一下
UpdateUsefulness
應該是可以不用附加內文,因為他的設計理念是類似 Stackoverflow 或是 Reddit 的上下箭頭,因此內文部分交由 Usecase 自行定義即可,頂多是把內文設定新增到 config file 讓利用端可以自行設定在箭頭推文的預設文字這樣?
OK. 所以他跟一般ptt上的推文不太一樣?
另外PushRecord的部分, 目前只有interface, 沒有對應的struct, TODO是寫用bbs.PushRecord, 不過go-bbs那邊好像也還沒實作
Repo那邊不是已經實作好了嗎?
目前看起來只有這個? PushRecord (剛剛貼到我那邊的repo, 不過內容是一樣的)
repo的PushRecord是直接傳nil, 我這邊要造一個正確的?還是我一樣nil直接return回去就好?
repo的PushRecord是直接傳nil, 我這邊要造一個正確的?還是我一樣nil直接return回去就好?
不是你這邊造啊,呼叫的方向是由 usecase 呼叫 repository?
對, 但現在repo的function如果執行正確, 回傳的是nil, nil (PushRecord, error)
我先推了一個版本, 再看要怎麼改吧
實作細節 / Details of Implement
期程 / Schedule
相關文件 / Documents
API文件