ekuinox / red_drink

気持ち的には家のサーバのダッシュボード的なのが作りたい

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

APIつくる

ekuinox opened this issue · comments

そういうことです

作ったモデルに対して操作するやつを一通り欲しい

雑過ぎるしやる時はいくつかissue別で分けてやりたい

webのほうもいじったほうが良い気がする 考え直しがいる

RESTやるなら多分こういうのもやめた方がいいんだよなあ

pub fn get_token(session: Session, connection: Connection) -> Json<Option<GetTokenResponse>> {
Json(session.tap(|data| {
data.dot_get(GITHUB_ACCESS_TOKEN_PATH).ok().flatten().map(|value: serde_json::Value| {
value.as_str().map(|token| { token.to_string() })
}).flatten()
}).map(|token| {
create_api_client(&token)
.get("https://api.github.com/user")
.send()
.map(|response| {
response.json::<GetAuthenticatedUserResponse>().ok().and_then(|authenticated_user_response| {
User::find_or_new_by_github_id(authenticated_user_response.id as i32, &connection).map(|user| {
GetTokenResponse {
red_drink_id: user.id,
token: token,
username: authenticated_user_response.login,
avatar_url: authenticated_user_response.avatar_url,
display_name: authenticated_user_response.name,
id: authenticated_user_response.id
}
}).ok()
})
}).ok().flatten()
}).flatten())
}

rocketでteraかなんかでトークン埋め込んでそれ使うようにした方がいいんじゃないのか いやあなんもわからん
認証に関してもまだ考えないといけないことしかないと思う おれはどうしたらいい

おれはユーザ認証をどうしたいのか