From 2b530fbe7ee05ebeca74908d9e1520bbf2656c4d Mon Sep 17 00:00:00 2001 From: absc Date: Sun, 11 Aug 2024 20:49:48 +0000 Subject: [PATCH] Added some more detailed responses to the JSON API calls. --- dudeswave/src/dudeswave_auth_handler.erl | 6 +++--- dudeswave/src/dudeswave_user_handler.erl | 13 ++++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/dudeswave/src/dudeswave_auth_handler.erl b/dudeswave/src/dudeswave_auth_handler.erl index 2efb235..009d3ac 100644 --- a/dudeswave/src/dudeswave_auth_handler.erl +++ b/dudeswave/src/dudeswave_auth_handler.erl @@ -146,7 +146,7 @@ resource_exists(Req, State) -> #{dudename := User} = cowboy_req:match_cookies([dudename], Req), {ok, Bucket} = maps:find(bucket, State), - case dudeswave_auth:user_details(User, Bucket) of + case dudeswave_auth:details(User, Bucket) of [] -> Resp = json:encode(#{<<"error">> => <<"user does not exists">>}), Req0 = cowboy_req:reply(404, #{}, Resp, Req), @@ -193,8 +193,8 @@ delete_completed(Req, State) -> {false, Req, State}. % login(Req, State) -> - {ok, Cookies} = maps:find(State, cookies), - {ok, Bucket} = maps:find(State, bucket), + {ok, Cookies} = maps:find(cookies, State), + {ok, Bucket} = maps:find(bucket, State), {ok, Data, Req0} = cowboy_req:read_body(Req), #{<<"user">> := User, <<"password">> := Pass} = json:decode(Data), diff --git a/dudeswave/src/dudeswave_user_handler.erl b/dudeswave/src/dudeswave_user_handler.erl index 50f2183..1f62931 100644 --- a/dudeswave/src/dudeswave_user_handler.erl +++ b/dudeswave/src/dudeswave_user_handler.erl @@ -182,7 +182,10 @@ forbidden(Req, State) -> {ok, Bucket} = maps:find(cookies, State), case dudeswave_auth:authenticate({cookie, User, Auth}, Bucket) of - {error, service_unavailable} -> exit(service_unavailable); + {error, service_unavailable} -> + Resp = json:encode(#{<<"error">> => <<"internal server error">>}), + Req0 = cowboy_req:reply(500, #{}, Resp, Req), + {true, Req0, State}; true -> Resp = json:encode(#{<<"error">> => <<"authentication required">>}), Req0 = cowboy_req:reply(403, #{}, Resp, Req), @@ -275,10 +278,10 @@ create_user(Req, State) -> Resp = json:encode(#{<<"result">> => <<"created">>}), Req0 = cowboy_req:reply(201, #{}, Resp, Req), {true, Req0, []}; - {error, Reason} -> + {error, _} -> Resp = json:encode(#{<<"error">> => <<"internal server error">>}), Req0 = cowboy_req:reply(500, #{}, Resp, Req), - {false, Req0, Reason} + {false, Req0, State} end. modify_user(Req, State) -> @@ -293,10 +296,10 @@ modify_user(Req, State) -> Resp = json:encode(#{<<"result">> => <<"details updated">>}), Req0 = cowboy_req:reply(200, #{}, Resp, Req), {true, Req0, []}; - {error, Reason} -> + {error, _} -> Resp = json:encode(#{<<"error">> => <<"internal server error">>}), Req0 = cowboy_req:reply(500, #{}, Resp, Req), - {false, Req0, Reason} + {false, Req0, State} end. user_details(Req, State) ->