Add commands engine

This commit is contained in:
Paul-Henri Froidmont 2025-02-28 05:40:32 +01:00
parent 1919e4b72c
commit 91584c18d5
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
9 changed files with 336 additions and 58 deletions

View file

@ -4,7 +4,9 @@ package clients
import zio.schema.*
import java.time.LocalDate
import zio.schema.annotation.discriminatorName
@discriminatorName("eventType")
enum ClientEvent derives Schema:
case Created(
lastName: ClientLastName,
@ -22,3 +24,9 @@ enum ClientEvent derives Schema:
phoneNumber: Option[PhoneNumberInput],
email: Option[Email],
address: Option[Address])
case Disabled(reason: ClientDisabledReason)
object ClientEvent:
given Schema[ClientEvent.Created] = DeriveSchema.gen
given Schema[ClientEvent.Updated] = DeriveSchema.gen
given Schema[ClientEvent.Disabled] = DeriveSchema.gen