Compare commits
No commits in common. "640ffe4d757588ff8916cb615bdf98cb2fd0fbd3" and "2d0d384d1e631848fca7046bf2005747614add64" have entirely different histories.
640ffe4d75
...
2d0d384d1e
|
@ -146,7 +146,7 @@ resource_exists(Req, State) ->
|
||||||
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
||||||
{ok, Bucket} = maps:find(bucket, State),
|
{ok, Bucket} = maps:find(bucket, State),
|
||||||
|
|
||||||
case dudeswave_auth:details(User, Bucket) of
|
case dudeswave_auth:user_details(User, Bucket) of
|
||||||
[] ->
|
[] ->
|
||||||
Resp = json:encode(#{<<"error">> => <<"user does not exists">>}),
|
Resp = json:encode(#{<<"error">> => <<"user does not exists">>}),
|
||||||
Req0 = cowboy_req:reply(404, #{}, Resp, Req),
|
Req0 = cowboy_req:reply(404, #{}, Resp, Req),
|
||||||
|
@ -193,8 +193,8 @@ delete_completed(Req, State) -> {false, Req, State}.
|
||||||
%
|
%
|
||||||
|
|
||||||
login(Req, State) ->
|
login(Req, State) ->
|
||||||
{ok, Cookies} = maps:find(cookies, State),
|
{ok, Cookies} = maps:find(State, cookies),
|
||||||
{ok, Bucket} = maps:find(bucket, State),
|
{ok, Bucket} = maps:find(State, bucket),
|
||||||
|
|
||||||
{ok, Data, Req0} = cowboy_req:read_body(Req),
|
{ok, Data, Req0} = cowboy_req:read_body(Req),
|
||||||
#{<<"user">> := User, <<"password">> := Pass} = json:decode(Data),
|
#{<<"user">> := User, <<"password">> := Pass} = json:decode(Data),
|
||||||
|
|
|
@ -181,11 +181,8 @@ forbidden(Req, State) ->
|
||||||
dudename], Req),
|
dudename], Req),
|
||||||
{ok, Bucket} = maps:find(cookies, State),
|
{ok, Bucket} = maps:find(cookies, State),
|
||||||
|
|
||||||
case dudeswave_auth:authenticate(User, Auth, Bucket) of
|
case dudeswave_auth:authenticate({cookie, User, Auth}, Bucket) of
|
||||||
{error, service_unavailable} ->
|
{error, service_unavailable} -> exit(service_unavailable);
|
||||||
Resp = json:encode(#{<<"error">> => <<"internal server error">>}),
|
|
||||||
Req0 = cowboy_req:reply(500, #{}, Resp, Req),
|
|
||||||
{true, Req0, State};
|
|
||||||
true ->
|
true ->
|
||||||
Resp = json:encode(#{<<"error">> => <<"authentication required">>}),
|
Resp = json:encode(#{<<"error">> => <<"authentication required">>}),
|
||||||
Req0 = cowboy_req:reply(403, #{}, Resp, Req),
|
Req0 = cowboy_req:reply(403, #{}, Resp, Req),
|
||||||
|
@ -218,7 +215,7 @@ resource_exists(Req, State) ->
|
||||||
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
||||||
{ok, Bucket} = maps:find(bucket, State),
|
{ok, Bucket} = maps:find(bucket, State),
|
||||||
|
|
||||||
case dudeswave_auth:details(User, Bucket) of
|
case dudeswave_auth:user_details(User, Bucket) of
|
||||||
[] ->
|
[] ->
|
||||||
Resp = json:encode(#{<<"error">> => <<"user does not exists">>}),
|
Resp = json:encode(#{<<"error">> => <<"user does not exists">>}),
|
||||||
Req0 = cowboy_req:reply(404, #{}, Resp, Req),
|
Req0 = cowboy_req:reply(404, #{}, Resp, Req),
|
||||||
|
@ -271,37 +268,35 @@ create_user(Req, State) ->
|
||||||
{ok, Bucket} = maps:find(bucket, State),
|
{ok, Bucket} = maps:find(bucket, State),
|
||||||
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
||||||
|
|
||||||
{ok, Data, Req0} = cowboy_req:read_body(Req),
|
#{<<"password">> := Pass, <<"email">> := Email} = json:decode(cowboy_req:body(req)),
|
||||||
#{<<"password">> := Pass, <<"email">> := Email} = json:decode(Data),
|
|
||||||
|
|
||||||
case dudeswave_auth:new(User, Pass, Email, Bucket) of
|
case dudeswave_auth:new_user(User, Pass, Email, Bucket) of
|
||||||
ok ->
|
ok ->
|
||||||
Resp = json:encode(#{<<"result">> => <<"created">>}),
|
Resp = json:encode(#{<<"result">> => <<"created">>}),
|
||||||
Req1 = cowboy_req:reply(201, #{}, Resp, Req0),
|
Req0 = cowboy_req:reply(201, #{}, Resp, Req),
|
||||||
{true, Req1, []};
|
{true, Req0, []};
|
||||||
{error, _} ->
|
{error, Reason} ->
|
||||||
Resp = json:encode(#{<<"error">> => <<"internal server error">>}),
|
Resp = json:encode(#{<<"error">> => <<"internal server error">>}),
|
||||||
Req1 = cowboy_req:reply(500, #{}, Resp, Req0),
|
Req0 = cowboy_req:reply(500, #{}, Resp, Req),
|
||||||
{false, Req1, State}
|
{false, Req0, Reason}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
modify_user(Req, State) ->
|
modify_user(Req, State) ->
|
||||||
{ok, Bucket} = maps:find(bucket, State),
|
{ok, Bucket} = maps:find(bucket, State),
|
||||||
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
#{dudename := User} = cowboy_req:match_cookies([dudename], Req),
|
||||||
|
|
||||||
{ok, Data, Req0} = cowboy_req:read_body(Req),
|
|
||||||
#{<<"email">> := Email, <<"description">> := Desc,
|
#{<<"email">> := Email, <<"description">> := Desc,
|
||||||
<<"name">> := Name} = json:decode(Data),
|
<<"name">> := Name} = json:decode(cowboy_req:body(req)),
|
||||||
|
|
||||||
case dudeswave_auth:update(User, Name, Email, Desc, Bucket) of
|
case dudeswave_auth:update(User, Name, Email, Desc, Bucket) of
|
||||||
ok ->
|
ok ->
|
||||||
Resp = json:encode(#{<<"result">> => <<"details updated">>}),
|
Resp = json:encode(#{<<"result">> => <<"details updated">>}),
|
||||||
Req0 = cowboy_req:reply(200, #{}, Resp, Req),
|
Req0 = cowboy_req:reply(200, #{}, Resp, Req),
|
||||||
{true, Req0, []};
|
{true, Req0, []};
|
||||||
{error, _} ->
|
{error, Reason} ->
|
||||||
Resp = json:encode(#{<<"error">> => <<"internal server error">>}),
|
Resp = json:encode(#{<<"error">> => <<"internal server error">>}),
|
||||||
Req0 = cowboy_req:reply(500, #{}, Resp, Req),
|
Req0 = cowboy_req:reply(500, #{}, Resp, Req),
|
||||||
{false, Req0, State}
|
{false, Req0, Reason}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
user_details(Req, State) ->
|
user_details(Req, State) ->
|
||||||
|
|
Loading…
Reference in New Issue