return {
findById: flow(
findById,
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
NoSuchElementException: () => new Users.NotFound(),
})
),
findByEmail: flow(
findByEmail,
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
NoSuchElementException: () => new Users.NotFound(),
})
),
create: flow(
create,
Effect.map((result) => result.id),
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
NoSuchElementException: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
})
),
// ...
),
return {
findById: flow(
findById,
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
NoSuchElementException: () => new Users.NotFound(),
})
),
findByEmail: flow(
findByEmail,
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while finding the user")),
NoSuchElementException: () => new Users.NotFound(),
})
),
create: flow(
create,
Effect.map((result) => result.id),
Effect.catchTags({
ParseError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
SqlError: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
NoSuchElementException: (err) => Effect.zipRight(Effect.logError(err), Effect.dieMessage("Something went wrong while creating the user")),
})
),
// ...
),