diff --git a/apps/roster/src/rest/rest_chat_csv.erl b/apps/roster/src/rest/rest_chat_csv.erl index 5bcdcdd4258ddbb1fa2d783095ee37a34e1d495d..cfd953a8c7502086e16fe7a959c86e722c4f5c60 100644 --- a/apps/roster/src/rest/rest_chat_csv.erl +++ b/apps/roster/src/rest/rest_chat_csv.erl @@ -134,7 +134,7 @@ extract_chat_data(ChatHistory, Members) -> end || #'Message'{created = TimeCreated, from = PhoneId, - files = [#'Desc'{mime = PayloadType, payload = Payload}]} <- ChatHistory + files = [#'Desc'{mime = PayloadType, payload = Payload} | _]} <- ChatHistory ]. -spec extract_user_id(binary()) -> non_neg_integer(). @@ -157,12 +157,10 @@ format_date({Year, Month, Day}) -> io_lib:format("~2..0w/~2..0w/~w", [Day, Month format_time({Hour, Min, Sec}) -> io_lib:format("~2..0w:~2..0w:~2..0w", [Hour, Min, Sec]). -spec format_message(PayloadType::binary(), Payload::binary()) -> binary() | list(binary()). -format_message(<<"text">>, Payload) -> Payload; -format_message(<<"file">>, Payload) -> [<<"File: ">>, Payload]; -format_message(<<"link">>, Payload) -> [<<"Link: ">>, Payload]; -format_message(<<"photo">>, Payload) -> [<<"Photo: ">>, Payload]; -format_message(<<"video">>, Payload) -> [<<"Video: ">>, Payload]; -format_message(<<"location">>, Payload) -> [<<"Location: ">>, Payload]. +format_message(<<"text">>, Payload) -> Payload; +format_message(<>, Payload) -> + [io_lib:format("~s~s: ", [string:uppercase(FirstLetter), Rest]), Payload]; +format_message(_, Payload) -> [<<"Unknown: ">>, Payload]. -spec get_username_by_id(Id::non_neg_integer()) -> string(). get_username_by_id(Id) -> @@ -194,7 +192,7 @@ get_group_chat_name(RoomId) -> -spec get_chat_history(Feed::tuple()) -> list(#'Message'{}). get_chat_history(Feed) -> - case roster_db:get_chain('Message', Feed) of + case roster_db:get_chain('Message', roster:feed_key(Feed)) of [] -> throw({no_chat_history, Feed}); History -> History end.