📝Scrapbox REST APIのwrapperを実装する
設計
あまり参考にならなそうなので止めた
結局一つのAPIごとに固有の関数名を振るしかなさそう
APIと関数名との対応及び実装状況
pathごとに機能が分割されているとは言い難い
pages/
getPage
POSTのみ
updatePageAccessed
getPageText
getPageIconURL
URLを組み立てるだけにする
getLinks
searchForPages
listPages
任意ページ分だけ取得するやつとasync generator版も提供したい
replaceLinks
✅ code/
getCodeBlock
✅ table/
getTable
commits/
getCommits
deleted-pages/
GET:
getDeletedPage
DELETE:
clearDeletedPage
✅ page-snapshots/
getSnapshots
projects/
GET:
listProjects()
POST: projectの新規作成
createProject()
searchJoinedProjects
searchWatchList
GET: project情報の取得
getProject
POST: テーマの変更など
setTheme
setProjectName
GET: 登録されているSlack webhook URLsを取得
getSlackNotifications
POST: Slack webhook URLの追加
registerSlackNotification
GET: 招待リンクの取得
getInvitationLink
POST: 招待リンクのreset
resetInvitationLink
project-backup/
getBackupIds
getBackup
page-data/
exportPages
importPages
ensureGeneratingPageMetadata
stream/
getStream
listDeletedPages
feed/
getRSS
users/
GET: ユーザー情報取得
getProfile
POST: ユーザー情報変更
setProfile
gcs/
getStorageUsage
settings/
getEnvironmentalVariables
google-map/
URLを組み立てるだけでいいや
getGoogleMapImageURL
Google Map操作用JSを取得する
これは流石にいらないだろ
embed-text/
getWebPageTitle
getTweetInfo
login/
getGyazoToken()
いっぱいあるな……
まあ一個ずつ実装してくか。
先に共通設計を考えたほうがいい気もする……
helper関数
使いやすいようにしたもの
readLinks
pagenationを意識せずに使える
bulk: true
でresponseごとに返す
型定義が難しかったので、2つの関数に分けた
readLinksBulk()
readLinks()
searchForProjects
async generatorで結果を返す
searchProjectsBulk()
searchProjects()
getCSRFToken