add expo, massively simplify svelte and solid examples
This commit is contained in:
@@ -1,16 +1,19 @@
|
||||
package todo
|
||||
|
||||
import (
|
||||
"cmp"
|
||||
"context"
|
||||
"net/http"
|
||||
"slices"
|
||||
"time"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"connectrpc.com/validate"
|
||||
"context"
|
||||
"<@var(context.project.goprefix)>/<@var(context.project.name)>/db"
|
||||
"github.com/<@var(context.project.name)>/<@var(context.project.name)>/db"
|
||||
todov1 "<@var(context.project.goprefix)>/<@var(context.project.name)>/gen/todo/v1"
|
||||
"<@var(context.project.goprefix)>/<@var(context.project.name)>/gen/todo/v1/todov1connect"
|
||||
. "<@var(context.project.goprefix)>/<@var(context.project.name)>/utils"
|
||||
. "<@var(context.project.goprefix)>/glstack-test/utils"
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
type TodoServer struct{}
|
||||
@@ -46,9 +49,9 @@ func (srv *TodoServer) ListTodos(ctx context.Context, req *connect.Request[todov
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reponseTodos := []*todov1.Todo{}
|
||||
responseTodos := []*todov1.Todo{}
|
||||
for _, todo := range todos {
|
||||
reponseTodos = append(reponseTodos, &todov1.Todo{
|
||||
responseTodos = append(responseTodos, &todov1.Todo{
|
||||
Id: StrPtr(todo.ID.String()),
|
||||
Task: todo.Task,
|
||||
CreatedAt: StrPtr(todo.CreatedAt.Time.Format(time.RFC3339)),
|
||||
@@ -56,10 +59,25 @@ func (srv *TodoServer) ListTodos(ctx context.Context, req *connect.Request[todov
|
||||
Done: BoolPtr(todo.Done.Bool),
|
||||
})
|
||||
}
|
||||
slices.SortFunc(responseTodos, func(a, b *todov1.Todo) int {
|
||||
dateCmp := cmp.Compare(a.GetCreatedAt(), b.GetCreatedAt())
|
||||
return dateCmp
|
||||
})
|
||||
slices.SortFunc(responseTodos, func(a, b *todov1.Todo) int {
|
||||
var boolToInt = func(b bool) int {
|
||||
if b {
|
||||
return 1
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
doneCmp := cmp.Compare(boolToInt(*a.Done), boolToInt(*b.Done))
|
||||
return doneCmp
|
||||
})
|
||||
|
||||
return &connect.Response[todov1.ListTodosResponse]{
|
||||
Msg: &todov1.ListTodosResponse{
|
||||
Todos: reponseTodos,
|
||||
Todos: responseTodos,
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user