fsharp(todolist-api): feat: query for getting todos by id
Signed-off-by: prescientmoon <git@moonythm.dev>
This commit is contained in:
parent
973fb2c537
commit
3e1615f0a2
|
@ -7,6 +7,26 @@ let ConnectionString = "Server=127.0.0.1; Database=todo_api_db; User Id=suave; P
|
|||
|
||||
type Sql = SqlDataProvider<ConnectionString=ConnectionString, DatabaseVendor=Common.DatabaseProviderTypes.POSTGRESQL, CaseSensitivityChange=Common.CaseSensitivityChange.ORIGINAL>
|
||||
|
||||
type DbContext = Sql.dataContext
|
||||
module Context =
|
||||
type DbContext = Sql.dataContext
|
||||
|
||||
let getContext() = Sql.GetDataContext()
|
||||
|
||||
|
||||
module Types =
|
||||
open Context
|
||||
|
||||
type Todo = DbContext.``public.todosEntity``
|
||||
|
||||
module Queries =
|
||||
open Context
|
||||
open Types
|
||||
|
||||
let getTodosById id (ctx: DbContext): Todo option =
|
||||
query {
|
||||
for todo in ctx.Public.Todos do
|
||||
where (todo.Id = id)
|
||||
select todo
|
||||
}
|
||||
|> Seq.tryHead
|
||||
|
||||
type Todo = DbContext.``public.todosEntity``
|
||||
|
|
Loading…
Reference in a new issue