fix(api): fix unmatched position parsing
This commit is contained in:
parent
1748691db1
commit
188d876b1c
|
@ -506,16 +506,16 @@ parse_position(<<"front">>) ->
|
||||||
{ok, ?CMD_MOVE_FRONT};
|
{ok, ?CMD_MOVE_FRONT};
|
||||||
parse_position(<<"rear">>) ->
|
parse_position(<<"rear">>) ->
|
||||||
{ok, ?CMD_MOVE_REAR};
|
{ok, ?CMD_MOVE_REAR};
|
||||||
|
parse_position(<<"before:">>) ->
|
||||||
|
{error, <<"Invalid parameter. Cannot be placed before an empty target">>};
|
||||||
|
parse_position(<<"after:">>) ->
|
||||||
|
{error, <<"Invalid parameter. Cannot be placed after an empty target">>};
|
||||||
parse_position(<<"before:", Before/binary>>) ->
|
parse_position(<<"before:", Before/binary>>) ->
|
||||||
{ok, ?CMD_MOVE_BEFORE(Before)};
|
{ok, ?CMD_MOVE_BEFORE(Before)};
|
||||||
parse_position(<<"after:", After/binary>>) ->
|
parse_position(<<"after:", After/binary>>) ->
|
||||||
{ok, ?CMD_MOVE_AFTER(After)};
|
{ok, ?CMD_MOVE_AFTER(After)};
|
||||||
parse_position(<<"before:">>) ->
|
|
||||||
{error, {invalid_parameter, position}};
|
|
||||||
parse_position(<<"after:">>) ->
|
|
||||||
{error, {invalid_parameter, position}};
|
|
||||||
parse_position(_) ->
|
parse_position(_) ->
|
||||||
{error, {invalid_parameter, position}}.
|
{error, <<"Invalid parameter. Unknow position">>}.
|
||||||
|
|
||||||
position_example() ->
|
position_example() ->
|
||||||
#{ front =>
|
#{ front =>
|
||||||
|
|
|
@ -353,9 +353,13 @@ return(_, {error, Reason}) ->
|
||||||
parse_position(#{<<"position">> := <<"front">>}, _) -> front;
|
parse_position(#{<<"position">> := <<"front">>}, _) -> front;
|
||||||
parse_position(#{<<"position">> := <<"rear">>}, _) -> rear;
|
parse_position(#{<<"position">> := <<"rear">>}, _) -> rear;
|
||||||
parse_position(#{<<"position">> := <<"before:", Name/binary>>}, Name) ->
|
parse_position(#{<<"position">> := <<"before:", Name/binary>>}, Name) ->
|
||||||
{error, <<"Can't before:self">>};
|
{error, <<"Invalid parameter. Cannot be placed before itself">>};
|
||||||
parse_position(#{<<"position">> := <<"after:", Name/binary>>}, Name) ->
|
parse_position(#{<<"position">> := <<"after:", Name/binary>>}, Name) ->
|
||||||
{error, <<"Can't after:self">>};
|
{error, <<"Invalid parameter. Cannot be placed after itself">>};
|
||||||
|
parse_position(#{<<"position">> := <<"before:">>}, _Name) ->
|
||||||
|
{error, <<"Invalid parameter. Cannot be placed before an empty target">>};
|
||||||
|
parse_position(#{<<"position">> := <<"after:">>}, _Name) ->
|
||||||
|
{error, <<"Invalid parameter. Cannot be placed after an empty target">>};
|
||||||
parse_position(#{<<"position">> := <<"before:", Before/binary>>}, _Name) ->
|
parse_position(#{<<"position">> := <<"before:", Before/binary>>}, _Name) ->
|
||||||
{before, binary_to_list(Before)};
|
{before, binary_to_list(Before)};
|
||||||
parse_position(#{<<"position">> := <<"after:", After/binary>>}, _Name) ->
|
parse_position(#{<<"position">> := <<"after:", After/binary>>}, _Name) ->
|
||||||
|
|
Loading…
Reference in New Issue