Skip to content

Instantly share code, notes, and snippets.

View retroryan's full-sized avatar

Ryan Knight retroryan

  • www.grandcloud.com
  • Park City, Utah
View GitHub Profile
@retroryan
retroryan / gist:faa2ad045242c2617f72021bf72a864b
Last active July 13, 2018 06:43
Introduction to Fauna Shell
#Create a Class
CreateClass({ name: "orders" })
#Create an Index
CreateIndex(
{
name: "orders_index",
source: Class("orders"),
values: [{ field: ["data", "orderId"], reverse:true }, { field: ["ref"] }],
serialized: true
@retroryan
retroryan / gist:7448032411c415330cc5fd81ff549b3b
Last active July 13, 2018 07:09
Event-Sourcing with FaunaDB
#create class
CreateClass({ name: "ledger" })
#create index
CreateIndex(
{
name: "UNIQUE_ENTRY_CONSTRAINT",
source: Class("ledger"),
terms: [{ field: ["data", "clientId"] }],
values: [{ field: ["data", "counter"] }],
import zhttp.service.{ChannelFactory, Client, EventLoopGroup}
import zio.{Tag, ZEnvironment, ZIO, ZLayer}
trait NumService:
val get: ZIO[Any, Throwable, Int]
final case class NumServiceLive(c: ChannelFactory, e: EventLoopGroup) extends NumService:
val url = "https://random-num-x5ht4amjia-uc.a.run.app/"
val get: ZIO[Any, Throwable, Int] =
val request =