fix: address PR review thread issues
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/d4d6ebbb-2508-484e-accf-c891be54750f Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
This commit is contained in:
co-authored by
devitq
parent
1f22be3401
commit
50923e2e5a
+15
-4
@@ -30,23 +30,33 @@ class JellyfinEventService(
|
||||
itemId: String,
|
||||
payload: Map<String, Any>?,
|
||||
) {
|
||||
if (jellyfinEventRepository.exists(eventId = eventId)) {
|
||||
val payloadJson = payload?.let { objectMapper.writeValueAsString(it) }
|
||||
val inserted =
|
||||
jellyfinEventRepository.save(
|
||||
eventId = eventId,
|
||||
serverId = serverId,
|
||||
eventType = eventType,
|
||||
occurredAt = occurredAt,
|
||||
jellyfinUserId = jellyfinUserId,
|
||||
jellyfinItemId = itemId,
|
||||
payload = payloadJson,
|
||||
)
|
||||
if (inserted != 1) {
|
||||
return
|
||||
}
|
||||
|
||||
val payloadJson = payload?.let { objectMapper.writeValueAsString(it) }
|
||||
jellyfinEventRepository.save(eventId, serverId, eventType, occurredAt, jellyfinUserId, itemId, payloadJson)
|
||||
|
||||
try {
|
||||
if (playbackEventTypes.contains(eventType)) {
|
||||
val localUser = userRepository.findAll().firstOrNull { it.jellyfinUserId == jellyfinUserId }
|
||||
if (localUser == null) {
|
||||
jellyfinEventRepository.delete(eventId)
|
||||
businessMetricsService.recordJellyfinUnmappedUser()
|
||||
return
|
||||
}
|
||||
|
||||
val film = filmRepository.findByJellyfinItemId(itemId)
|
||||
if (film == null) {
|
||||
jellyfinEventRepository.delete(eventId)
|
||||
businessMetricsService.recordBackendWriteFailure()
|
||||
return
|
||||
}
|
||||
@@ -63,6 +73,7 @@ class JellyfinEventService(
|
||||
} catch (
|
||||
@Suppress("TooGenericExceptionCaught") ex: RuntimeException,
|
||||
) {
|
||||
jellyfinEventRepository.delete(eventId)
|
||||
businessMetricsService.recordBackendWriteFailure()
|
||||
throw ex
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user