Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit 023581a

Browse files
committed
Provide defaults for some properties of tipeeestream events
Fixes #132
1 parent ad0a166 commit 023581a

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/tipeeestream/impl/TipeeestreamEventInputImpl.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.codeoverflow.chatoverflow.requirement.service.tipeeestream.impl
22

33
import java.time.OffsetDateTime
44
import java.time.format.{DateTimeFormatter, DateTimeFormatterBuilder}
5-
import java.util.Currency
5+
import java.util.{Currency, Locale}
66

77
import org.codeoverflow.chatoverflow.WithLogger
88
import org.codeoverflow.chatoverflow.api.io.dto.User
@@ -32,9 +32,10 @@ class TipeeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipee
3232
val event = eventJson.json
3333
val parameter = event.getJSONObject("parameters")
3434
val user = new User(parameter.getString("username"))
35-
val message = parameter.getString("formattedMessage")
35+
val message = parameter.optString("formattedMessage")
3636
val amount = parameter.getDouble("amount").toFloat
37-
val currency = Currency.getInstance(parameter.getString("currency"))
37+
val currency = if (parameter.has("currency")) Currency.getInstance(parameter.getString("currency"))
38+
else Currency.getInstance(Locale.getDefault)
3839
val time = OffsetDateTime.parse(event.getString("created_at"), DATE_FORMATTER)
3940
val donation = new TipeeestreamDonation(user, amount, currency, time, message)
4041
call(new TipeeestreamDonationEvent(donation))
@@ -54,8 +55,8 @@ class TipeeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipee
5455
val parameter = event.getJSONObject("parameters")
5556
val user = new User(parameter.getString("username"))
5657
val time = OffsetDateTime.parse(event.getString("created_at"), DATE_FORMATTER)
57-
val resub = parameter.getInt("resub")
58-
val provider = TipeeestreamProvider.parse(event.getString("origin"))
58+
val resub = parameter.optInt("resub", 0)
59+
val provider = TipeeestreamProvider.parse(event.optString("origin"))
5960
val sub = new TipeeestreamSubscription(user, resub, time, provider)
6061
call(new TipeeestreamSubscriptionEvent(sub))
6162
} catch {
@@ -74,7 +75,7 @@ class TipeeestreamEventInputImpl extends EventInputImpl[TipeeestreamEvent, Tipee
7475
val parameter = event.getJSONObject("parameters")
7576
val user = new User(parameter.getString("username"))
7677
val time = OffsetDateTime.parse(event.getString("created_at"), DATE_FORMATTER)
77-
val provider = TipeeestreamProvider.parse(event.getString("origin"))
78+
val provider = TipeeestreamProvider.parse(event.optString("origin"))
7879
val follow = new TipeeestreamFollow(user, time, provider)
7980
call(new TipeeestreamFollowEvent(follow))
8081
} catch {

0 commit comments

Comments
 (0)