Skip to content

Commit

Permalink
Merge pull request #93 from jwdeveloper/develop-1.8.4
Browse files Browse the repository at this point in the history
Added User instance to LiveUserDataMapper Response to access the retrieved user
  • Loading branch information
kohlerpop1 authored Jul 27, 2024
2 parents 0f6ee58 + 05e18ef commit bf42f65
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
*/
package io.github.jwdeveloper.tiktok.data.requests;

import io.github.jwdeveloper.tiktok.data.models.users.User;
import lombok.*;

public class LiveUserData {
Expand All @@ -44,6 +45,7 @@ public static class Response {
private final UserStatus userStatus;
private final String roomId;
private final long startTime;
private final User user;

public boolean isLiveOnline() {
return userStatus == LiveUserData.UserStatus.Live || userStatus == LiveUserData.UserStatus.LivePaused;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public GiftsData.Response fetchRoomGiftsData(String room_id) {

@Override
public LiveUserData.Response fetchLiveUserData(LiveUserData.Request request) {
return new LiveUserData.Response("", LiveUserData.UserStatus.Live, "offline_room_id", 0);
return new LiveUserData.Response("", LiveUserData.UserStatus.Live, "offline_room_id", 0, null);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@
package io.github.jwdeveloper.tiktok.http.mappers;

import com.google.gson.*;
import io.github.jwdeveloper.tiktok.data.models.Picture;
import io.github.jwdeveloper.tiktok.data.models.users.User;
import io.github.jwdeveloper.tiktok.data.requests.LiveUserData;
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveRequestException;

import java.util.List;
import java.util.logging.Logger;

public class LiveUserDataMapper
Expand All @@ -40,17 +43,18 @@ public LiveUserData.Response map(String json, Logger logger) {
throw new TikTokLiveRequestException("fetchRoomIdFromTiktokApi -> Unable to fetch roomID, contact the developer");
}
if (message.equals("user_not_found")) {
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1);
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1, null);
}
//live -> status 2
//live paused -> 3
//not live -> status 4
var element = jsonObject.get("data");
if (element.isJsonNull()) {
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1);
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1, null);
}
var data = element.getAsJsonObject();
var user = data.getAsJsonObject("user");
var stats = data.getAsJsonObject("stats");
var roomId = user.get("roomId").getAsString();
var status = user.get("status").getAsInt();

Expand All @@ -64,10 +68,19 @@ public LiveUserData.Response map(String json, Logger logger) {
default -> LiveUserData.UserStatus.NotFound;
};

return new LiveUserData.Response(json, statusEnum, roomId, startTime);
User foundUser = new User(
Long.parseLong(user.get("id").getAsString()),
user.get("uniqueId").getAsString(),
user.get("nickname").getAsString(),
new Picture(user.get("avatarLarger").getAsString()),
stats.get("followingCount").getAsLong(),
stats.get("followerCount").getAsLong(),
List.of());

return new LiveUserData.Response(json, statusEnum, roomId, startTime, foundUser);
} catch (JsonSyntaxException | IllegalStateException e) {
logger.warning("Malformed Json: '"+json+"' - Error Message: "+e.getMessage());
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1);
return new LiveUserData.Response(json, LiveUserData.UserStatus.NotFound, "", -1, null);
}
}
}

0 comments on commit bf42f65

Please sign in to comment.