Skip to content
This repository was archived by the owner on Sep 2, 2022. It is now read-only.

Commit b27a68d

Browse files
authored
Merge pull request #4139 from prisma/DateTimeInSubscriptionsSpec
Subscription DateTime Bug
2 parents a1bed6a + 1df06a3 commit b27a68d

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

server/servers/api/src/main/scala/com/prisma/api/mutactions/SubscriptionEvents.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ object SubscriptionEvents {
3333

3434
private def fromUpdateResult(project: Project, mutationId: Id, result: UpdateNodeResult): PublishSubscriptionEvent = {
3535
val previousValues: Map[String, Any] = result.previousValues.data
36-
.filterKeys(k => result.namesOfUpdatedFields.contains(k))
3736
.filterValues(v => v != NullGCValue && !v.isInstanceOf[RootGCValue])
3837
.toMapStringAny + ("id" -> result.previousValues.id.value)
3938

server/servers/api/src/main/scala/com/prisma/util/coolArgs/GcConverters.scala

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ case class GCCreatePrismaArgsConverter(model: Model) {
8282
def toPrismaArgsFromJson(json: JsValue): PrismaArgs = {
8383

8484
def fromSingleJsValue(jsValue: JsValue, field: ScalarField): GCValue = jsValue match {
85+
case JsString(x) if field.typeIdentifier == TypeIdentifier.DateTime => DateTimeGCValue(new DateTime(x))
8586
case JsString(x) => StringGCValue(x)
8687
case JsNumber(x) if field.typeIdentifier == TypeIdentifier.Int => IntGCValue(x.toInt)
8788
case JsNumber(x) if field.typeIdentifier == TypeIdentifier.Float => FloatGCValue(x.toDouble)
@@ -93,15 +94,16 @@ case class GCCreatePrismaArgsConverter(model: Model) {
9394
val gCValue: JsLookupResult = json \ field.name
9495
val asOption = gCValue.toOption
9596
val converted = asOption match {
96-
case None => NullGCValue
97-
case Some(JsNull) => NullGCValue
98-
case Some(JsString(x)) => StringGCValue(x)
99-
case Some(JsNumber(x)) if field.typeIdentifier == TypeIdentifier.Int => IntGCValue(x.toInt)
100-
case Some(JsNumber(x)) if field.typeIdentifier == TypeIdentifier.Float => FloatGCValue(x.toDouble)
101-
case Some(JsBoolean(x)) => BooleanGCValue(x)
102-
case Some(JsArray(x)) if field.isList => ListGCValue(x.map(v => fromSingleJsValue(v, field)).toVector)
103-
case Some(x: JsValue) if field.typeIdentifier == TypeIdentifier.Json => JsonGCValue(x)
104-
case x => sys.error("Not implemented yet: " + x)
97+
case None => NullGCValue
98+
case Some(JsNull) => NullGCValue
99+
case Some(JsString(x)) if field.typeIdentifier == TypeIdentifier.DateTime => DateTimeGCValue(new DateTime(x))
100+
case Some(JsString(x)) => StringGCValue(x)
101+
case Some(JsNumber(x)) if field.typeIdentifier == TypeIdentifier.Int => IntGCValue(x.toInt)
102+
case Some(JsNumber(x)) if field.typeIdentifier == TypeIdentifier.Float => FloatGCValue(x.toDouble)
103+
case Some(JsBoolean(x)) => BooleanGCValue(x)
104+
case Some(JsArray(x)) if field.isList => ListGCValue(x.map(v => fromSingleJsValue(v, field)).toVector)
105+
case Some(x: JsValue) if field.typeIdentifier == TypeIdentifier.Json => JsonGCValue(x)
106+
case x => sys.error("Not implemented yet: " + x)
105107

106108
}
107109
field.name -> converted

0 commit comments

Comments
 (0)