diff options
author | Jakob Odersky <jakob@inpher.io> | 2019-11-25 19:41:31 -0500 |
---|---|---|
committer | Jakob Odersky <jakob@inpher.io> | 2019-11-26 13:40:36 -0500 |
commit | 614cfa4da4db82d1eba5efe2eb982814dacd90f5 (patch) | |
tree | 0ebe4e00e37b543abb32d0e3d7bd87e165ea0a4c /server/src/Message.scala | |
parent | 23350eb38acc57200f961d46142254691441b5fa (diff) | |
download | scala-tutorial-614cfa4da4db82d1eba5efe2eb982814dacd90f5.tar.gz scala-tutorial-614cfa4da4db82d1eba5efe2eb982814dacd90f5.tar.bz2 scala-tutorial-614cfa4da4db82d1eba5efe2eb982814dacd90f5.zip |
Add message model
Diffstat (limited to 'server/src/Message.scala')
-rw-r--r-- | server/src/Message.scala | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/server/src/Message.scala b/server/src/Message.scala new file mode 100644 index 0000000..55b4602 --- /dev/null +++ b/server/src/Message.scala @@ -0,0 +1,26 @@ +import java.time.Instant + +case class Message( + author: String, + date: Long, // seconds since epoch + content: String +) + +object Message { + + // A ReadWriter is used to serialize a message to JSON. + // The call to macroRW will generate a readwriter through compiler-time + // introspection. By default, the mapping of a case class to JSON is pretty + // straightforward. A message: + // Message("John Smith", 0, "Hello, World!") + // will get rendered as + // { + // "author": "John Smith", + // "date": 0, + // "message": "Hello, World!" + // } + // + implicit def messageRW: upickle.default.ReadWriter[Message] = + upickle.default.macroRW[Message] + +} |