extract parsing ?since
parent
ab933e3c53
commit
e7b3418932
|
|
@ -37,7 +37,7 @@ func newConfig(ctx context.Context) (Config, error) {
|
|||
|
||||
func newConfigFromEnv(ctx context.Context, getEnv func(string) string) (Config, error) {
|
||||
def := Config{
|
||||
Port: 8080,
|
||||
Port: 38080,
|
||||
OllamaModel: "gemma:2b",
|
||||
}
|
||||
|
||||
|
|
|
|||
7
main.go
7
main.go
|
|
@ -107,13 +107,10 @@ func newHandlerGetAPIV1Threads(cfg Config) http.HandlerFunc {
|
|||
return
|
||||
}
|
||||
|
||||
since := time.Unix(0, 0)
|
||||
if sinceS := r.URL.Query().Get("since"); sinceS == "" {
|
||||
} else if n, err := strconv.ParseInt(sinceS, 10, 64); err != nil {
|
||||
since, err := parseSince(r.URL.Query().Get("since"))
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||||
return
|
||||
} else {
|
||||
since = time.Unix(n, 0)
|
||||
}
|
||||
|
||||
threads, err := cfg.storage.ThreadsSince(r.Context(), since)
|
||||
|
|
|
|||
10
storage.go
10
storage.go
|
|
@ -19,14 +19,18 @@ func NewStorage(driver Driver) Storage {
|
|||
return Storage{driver: driver}
|
||||
}
|
||||
|
||||
func (s Storage) MessagesSince(ctx context.Context, t time.Time) ([]Message, error) {
|
||||
return s.messagesWhere(ctx, func(m Message) bool {
|
||||
return !t.After(m.Time())
|
||||
})
|
||||
}
|
||||
|
||||
func (s Storage) Threads(ctx context.Context) ([]string, error) {
|
||||
return s.ThreadsSince(ctx, time.Unix(0, 0))
|
||||
}
|
||||
|
||||
func (s Storage) ThreadsSince(ctx context.Context, t time.Time) ([]string, error) {
|
||||
messages, err := s.messagesWhere(ctx, func(m Message) bool {
|
||||
return !t.After(m.Time())
|
||||
})
|
||||
messages, err := s.MessagesSince(ctx, t)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue