Fix tests on CI (2)
All checks were successful
Build Docker and Deploy / Build Docker Container (push) Successful in 48s
Build Docker and Deploy / Run Unit-Tests (push) Successful in 8m38s
Build Docker and Deploy / Deploy to Server (push) Successful in 9s

This commit is contained in:
2025-05-11 20:32:49 +02:00
parent 56db0929d1
commit cc13f8a0f3
8 changed files with 42 additions and 574 deletions

View File

@@ -3,6 +3,7 @@ package logic
import (
scn "blackforestbytes.com/simplecloudnotifier"
"blackforestbytes.com/simplecloudnotifier/db"
ct "blackforestbytes.com/simplecloudnotifier/db/cursortoken"
"blackforestbytes.com/simplecloudnotifier/db/simplectx"
"blackforestbytes.com/simplecloudnotifier/google"
"blackforestbytes.com/simplecloudnotifier/models"
@@ -20,6 +21,7 @@ import (
"os"
"os/signal"
"strings"
"sync"
"syscall"
"time"
)
@@ -36,6 +38,7 @@ type Application struct {
IsRunning *syncext.AtomicBool
RequestLogQueue chan models.RequestLog
MainDatabaseLock golock.RWMutex
RequestDatabaseLock sync.Mutex
keyTokenLastUsedDCI *dataext.SyncMap[models.KeyTokenID, *dataext.DelayedCombiningInvoker]
}
@@ -46,6 +49,7 @@ func NewApp(db *DBPool) *Application {
IsRunning: syncext.NewAtomicBool(false),
RequestLogQueue: make(chan models.RequestLog, 8192),
MainDatabaseLock: golock.NewCASMutex(),
RequestDatabaseLock: sync.Mutex{},
keyTokenLastUsedDCI: dataext.NewSyncMap[models.KeyTokenID, *dataext.DelayedCombiningInvoker](),
}
}
@@ -353,3 +357,10 @@ func (app *Application) InsertRequestLog(data models.RequestLog) {
log.Error().Msg("failed to insert request-log (queue full)")
}
}
func (app *Application) ListRequestLogs(ctx *simplectx.SimpleContext, filter models.RequestLogFilter, pageSize *int, start ct.CursorToken) ([]models.RequestLog, ct.CursorToken, error) {
app.RequestDatabaseLock.Lock()
defer app.RequestDatabaseLock.Unlock()
return app.Database.Requests.ListRequestLogs(ctx, filter, pageSize, start)
}

View File

@@ -7,6 +7,7 @@ import (
primarydb "blackforestbytes.com/simplecloudnotifier/db/impl/primary"
requestsdb "blackforestbytes.com/simplecloudnotifier/db/impl/requests"
"context"
"fmt"
)
type DBPool struct {
@@ -19,17 +20,17 @@ func NewDBPool(conf scn.Config) (*DBPool, error) {
dbprimary, err := primarydb.NewPrimaryDatabase(conf)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to create primary database: %w", err)
}
dbrequests, err := requestsdb.NewRequestsDatabase(conf)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to create requests database: %w", err)
}
dblogs, err := logsdb.NewLogsDatabase(conf)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to create logs database: %w", err)
}
return &DBPool{