From f14dd95001ef116123039308ecd542383e586563 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:16:31 +0000 Subject: [PATCH 1/6] Initial plan From c2332c31b59450ff39f799881af4d42db7455411 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:22:39 +0000 Subject: [PATCH 2/6] chore: plan config feature tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --- bootstrap/providers.go | 2 +- config/cache.go | 8 +- config/database.go | 35 ++++----- config/filesystems.go | 7 +- config/http.go | 3 +- config/queue.go | 4 +- config/session.go | 7 +- go.mod | 80 ++++++++++--------- go.sum | 171 +++++++++++++++++++++++------------------ 9 files changed, 163 insertions(+), 154 deletions(-) diff --git a/bootstrap/providers.go b/bootstrap/providers.go index 13f2f3f..3e76b7c 100644 --- a/bootstrap/providers.go +++ b/bootstrap/providers.go @@ -58,6 +58,7 @@ func Providers() []foundation.ServiceProvider { &schedule.ServiceProvider{}, &filesystem.ServiceProvider{}, &testing.ServiceProvider{}, + &telemetry.ServiceProvider{}, &postgres.ServiceProvider{}, &mysql.ServiceProvider{}, &sqlserver.ServiceProvider{}, @@ -69,6 +70,5 @@ func Providers() []foundation.ServiceProvider { &redis.ServiceProvider{}, &gin.ServiceProvider{}, &fiber.ServiceProvider{}, - &telemetry.ServiceProvider{}, } } diff --git a/config/cache.go b/config/cache.go index b0e913c..796cf0b 100644 --- a/config/cache.go +++ b/config/cache.go @@ -3,19 +3,13 @@ package config import ( "github.com/goravel/framework/contracts/cache" redisfacades "github.com/goravel/redis/facades" - "goravel/app/facades" ) func init() { config := facades.Config() config.Add("cache", map[string]any{ - // Default Cache Store - // - // This option controls the default cache connection that gets used while - // using this caching library. This connection is used when another is - // not explicitly specified when executing a given caching function. - "default": config.Env("CACHE_STORE", "memory"), + "default": "redis", // Cache Stores // diff --git a/config/database.go b/config/database.go index 57a6d1b..271e8bc 100644 --- a/config/database.go +++ b/config/database.go @@ -13,17 +13,16 @@ import ( func init() { config := facades.Config() config.Add("database", map[string]any{ - // Default database connection name - "default": config.Env("DB_CONNECTION", "sqlite"), + "default": "sqlite", // Database connections "connections": map[string]any{ "postgres": map[string]any{ - "host": config.Env("DB_HOST", "127.0.0.1"), - "port": config.Env("DB_PORT", 5432), - "database": config.Env("DB_DATABASE", "forge"), - "username": config.Env("DB_USERNAME", ""), - "password": config.Env("DB_PASSWORD", ""), + "host": config.Env("DB_HOST"), + "port": config.Env("DB_PORT"), + "database": config.Env("DB_DATABASE"), + "username": config.Env("DB_USERNAME"), + "password": config.Env("DB_PASSWORD"), "sslmode": "disable", "singular": false, "prefix": "", @@ -33,11 +32,11 @@ func init() { }, }, "mysql": map[string]any{ - "host": config.Env("DB_HOST", "127.0.0.1"), - "port": config.Env("DB_PORT", 3306), - "database": config.Env("DB_DATABASE", "forge"), - "username": config.Env("DB_USERNAME", ""), - "password": config.Env("DB_PASSWORD", ""), + "host": config.Env("DB_HOST"), + "port": config.Env("DB_PORT"), + "database": config.Env("DB_DATABASE"), + "username": config.Env("DB_USERNAME"), + "password": config.Env("DB_PASSWORD"), "charset": "utf8mb4", "prefix": "", "singular": false, @@ -46,11 +45,11 @@ func init() { }, }, "sqlserver": map[string]any{ - "host": config.Env("DB_HOST", "127.0.0.1"), - "port": config.Env("DB_PORT", 3306), - "database": config.Env("DB_DATABASE", "forge"), - "username": config.Env("DB_USERNAME", ""), - "password": config.Env("DB_PASSWORD", ""), + "host": config.Env("DB_HOST"), + "port": config.Env("DB_PORT"), + "database": config.Env("DB_DATABASE"), + "username": config.Env("DB_USERNAME"), + "password": config.Env("DB_PASSWORD"), "charset": "utf8mb4", "prefix": "", "singular": false, @@ -112,7 +111,7 @@ func init() { "driver": "default", "table": "migrations", }, - + // Redis connections "redis": map[string]any{ "default": map[string]any{ "host": config.Env("REDIS_HOST", ""), diff --git a/config/filesystems.go b/config/filesystems.go index f21cd1b..d719220 100644 --- a/config/filesystems.go +++ b/config/filesystems.go @@ -14,12 +14,7 @@ import ( func init() { config := facades.Config() config.Add("filesystems", map[string]any{ - // Default Filesystem Disk - // - // Here you may specify the default filesystem disk that should be used - // by the framework. The "local" disk, as well as a variety of cloud - // based disks are available to your application. Just store away! - "default": config.Env("FILESYSTEM_DISK", "local"), + "default": "minio", // Filesystem Disks // diff --git a/config/http.go b/config/http.go index 8a548f1..a95c690 100644 --- a/config/http.go +++ b/config/http.go @@ -16,8 +16,7 @@ import ( func init() { config := facades.Config() config.Add("http", map[string]any{ - // HTTP Driver - "default": "gin", + "default": "fiber", // HTTP Drivers "drivers": map[string]any{ "gin": map[string]any{ diff --git a/config/queue.go b/config/queue.go index 983eccc..915e963 100644 --- a/config/queue.go +++ b/config/queue.go @@ -10,8 +10,7 @@ import ( func init() { config := facades.Config() config.Add("queue", map[string]any{ - // Default Queue Connection Name - "default": config.Env("QUEUE_CONNECTION", "sync"), + "default": "redis", // Queue Connections // @@ -40,7 +39,6 @@ func init() { "driver": "custom", "connection": "default", "queue": "default", - "concurrent": 5, "via": func() (queue.Driver, error) { return redisfacades.Queue("redis") // The `redis` value is the key of `connections` }, diff --git a/config/session.go b/config/session.go index bd2bace..08c8526 100644 --- a/config/session.go +++ b/config/session.go @@ -12,12 +12,7 @@ import ( func init() { config := facades.Config() config.Add("session", map[string]any{ - // Default Session Driver - // - // This option controls the default session "driver" that will be used on - // requests. By default, we will use the lightweight file session driver, but you - // may specify any of the other wonderful drivers provided here. - "default": config.Env("SESSION_DRIVER", "file"), + "default": "redis", // Session drivers // Available Drivers: "file", "custom" diff --git a/go.mod b/go.mod index 91b71a8..687efa7 100644 --- a/go.mod +++ b/go.mod @@ -4,22 +4,22 @@ go 1.25.0 require ( github.com/99designs/gqlgen v0.17.57 - github.com/gin-gonic/gin v1.11.0 - github.com/gofiber/fiber/v2 v2.52.11 + github.com/gin-gonic/gin v1.12.0 + github.com/gofiber/fiber/v2 v2.52.12 github.com/gofiber/template/html/v2 v2.1.3 - github.com/goravel/cos v1.17.0 + github.com/goravel/cos v1.17.1-0.20260309054913-248333145215 github.com/goravel/example-proto v0.0.1 - github.com/goravel/fiber v1.17.0 + github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07 github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e - github.com/goravel/gin v1.17.0 - github.com/goravel/minio v1.17.0 - github.com/goravel/mysql v1.17.0 - github.com/goravel/oss v1.17.0 - github.com/goravel/postgres v1.17.0 - github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f - github.com/goravel/s3 v1.17.0 + github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365 + github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409 + github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f + github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7 + github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9 + github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f + github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388 github.com/goravel/sqlite v1.17.0 - github.com/goravel/sqlserver v1.17.0 + github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422 github.com/gorilla/websocket v1.5.0 github.com/minio/minio-go/v7 v7.0.98 github.com/opentracing/opentracing-go v1.2.0 @@ -47,21 +47,22 @@ require ( github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible // indirect github.com/andybalholm/brotli v1.2.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2 v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.19.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0 // indirect - github.com/aws/smithy-go v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2 v1.41.3 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.11 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 // indirect + github.com/aws/smithy-go v1.24.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/bytedance/sonic v1.14.0 // indirect - github.com/bytedance/sonic/loader v0.3.0 // indirect + github.com/bytedance/gopkg v0.1.3 // indirect + github.com/bytedance/sonic v1.15.0 // indirect + github.com/bytedance/sonic/loader v0.5.0 // indirect github.com/catppuccin/go v0.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -98,13 +99,18 @@ require ( github.com/go-openapi/swag v0.22.7 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.27.0 // indirect + github.com/go-playground/validator/v10 v10.30.1 // indirect github.com/go-sql-driver/mysql v1.9.1 // indirect github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.18.0 // indirect + github.com/goccy/go-yaml v1.19.2 // indirect + github.com/gofiber/fiber/v3 v3.1.0 // indirect + github.com/gofiber/schema v1.7.0 // indirect github.com/gofiber/template v1.8.3 // indirect + github.com/gofiber/template/html/v3 v3.0.2 // indirect + github.com/gofiber/template/v2 v2.1.0 // indirect github.com/gofiber/utils v1.1.0 // indirect + github.com/gofiber/utils/v2 v2.0.2 // indirect github.com/goforj/godump v1.9.0 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect @@ -127,7 +133,7 @@ require ( github.com/jmoiron/sqlx v1.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.2 // indirect + github.com/klauspost/compress v1.18.4 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/klauspost/crc32 v1.3.0 // indirect github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect @@ -158,9 +164,9 @@ require ( github.com/philhofer/fwd v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pterm/pterm v0.12.82 // indirect - github.com/quic-go/qpack v0.5.1 // indirect - github.com/quic-go/quic-go v0.54.0 // indirect - github.com/redis/go-redis/v9 v9.17.3 // indirect + github.com/quic-go/qpack v0.6.0 // indirect + github.com/quic-go/quic-go v0.59.0 // indirect + github.com/redis/go-redis/v9 v9.18.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect github.com/rotisserie/eris v0.5.4 // indirect @@ -180,16 +186,17 @@ require ( github.com/swaggo/files/v2 v2.0.0 // indirect github.com/tencentyun/cos-go-sdk-v5 v0.7.72 // indirect github.com/tetratelabs/wazero v1.9.0 // indirect - github.com/tinylib/msgp v1.6.1 // indirect + github.com/tinylib/msgp v1.6.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect - github.com/ugorji/go/codec v1.3.0 // indirect + github.com/ugorji/go/codec v1.3.1 // indirect github.com/unrolled/secure v1.17.0 // indirect github.com/urfave/cli/v3 v3.6.2 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.69.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect + go.mongodb.org/mongo-driver/v2 v2.5.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 // indirect @@ -211,13 +218,12 @@ require ( go.opentelemetry.io/otel/trace v1.40.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.uber.org/atomic v1.11.0 // indirect - go.uber.org/mock v0.5.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/arch v0.20.0 // indirect + golang.org/x/arch v0.22.0 // indirect golang.org/x/crypto v0.48.0 // indirect golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect golang.org/x/mod v0.33.0 // indirect - golang.org/x/net v0.50.0 // indirect + golang.org/x/net v0.51.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.41.0 // indirect golang.org/x/term v0.40.0 // indirect diff --git a/go.sum b/go.sum index 14f85bb..1ff56dc 100644 --- a/go.sum +++ b/go.sum @@ -73,30 +73,30 @@ github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdK github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= -github.com/aws/aws-sdk-go-v2 v1.41.1 h1:ABlyEARCDLN034NhxlRUSZr4l71mh+T5KAeGh6cerhU= -github.com/aws/aws-sdk-go-v2 v1.41.1/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4/go.mod h1:IOAPF6oT9KCsceNTvvYMNHy0+kMF8akOjeDvPENWxp4= -github.com/aws/aws-sdk-go-v2/credentials v1.19.7 h1:tHK47VqqtJxOymRrNtUXN5SP/zUTvZKeLx4tH6PGQc8= -github.com/aws/aws-sdk-go-v2/credentials v1.19.7/go.mod h1:qOZk8sPDrxhf+4Wf4oT2urYJrYt3RejHSzgAquYeppw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 h1:xOLELNKGp2vsiteLsvLPwxC+mYmO6OZ8PYgiuPJzF8U= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17/go.mod h1:5M5CI3D12dNOtH3/mk6minaRwI2/37ifCURZISxA/IQ= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 h1:WWLqlh79iO48yLkj1v3ISRNiv+3KdQoZ6JWyfcsyQik= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17/go.mod h1:EhG22vHRrvF8oXSTYStZhJc1aUgKtnJe+aOiFEV90cM= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 h1:JqcdRG//czea7Ppjb+g/n4o8i/R50aTBHkA7vu0lK+k= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17/go.mod h1:CO+WeGmIdj/MlPel2KwID9Gt7CNq4M65HUfBW97liM0= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEdJbzUCEWkVXEXoqlXV72J5keC1GvILMOuD00E= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 h1:Z5EiPIzXKewUQK0QTMkutjiaPVeVYXX7KIqhXu/0fXs= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8/go.mod h1:FsTpJtvC4U1fyDXk7c71XoDv3HlRm8V3NiYLeYLh5YE= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 h1:RuNSMoozM8oXlgLG/n6WLaFGoea7/CddrCfIiSA+xdY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17/go.mod h1:F2xxQ9TZz5gDWsclCtPQscGpP0VUOc8RqgFM3vDENmU= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 h1:bGeHBsGZx0Dvu/eJC0Lh9adJa3M1xREcndxLNZlve2U= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17/go.mod h1:dcW24lbU0CzHusTE8LLHhRLI42ejmINN8Lcr22bwh/g= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0 h1:oeu8VPlOre74lBA/PMhxa5vewaMIMmILM+RraSyB8KA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0/go.mod h1:5jggDlZ2CLQhwJBiZJb4vfk4f0GxWdEDruWKEJ1xOdo= -github.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk= -github.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= +github.com/aws/aws-sdk-go-v2 v1.41.3 h1:4kQ/fa22KjDt13QCy1+bYADvdgcxpfH18f0zP542kZA= +github.com/aws/aws-sdk-go-v2 v1.41.3/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 h1:N4lRUXZpZ1KVEUn6hxtco/1d2lgYhNn1fHkkl8WhlyQ= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= +github.com/aws/aws-sdk-go-v2/credentials v1.19.11 h1:NdV8cwCcAXrCWyxArt58BrvZJ9pZ9Fhf9w6Uh5W3Uyc= +github.com/aws/aws-sdk-go-v2/credentials v1.19.11/go.mod h1:30yY2zqkMPdrvxBqzI9xQCM+WrlrZKSOpSJEsylVU+8= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 h1:/sECfyq2JTifMI2JPyZ4bdRN77zJmr6SrS1eL3augIA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19/go.mod h1:dMf8A5oAqr9/oxOfLkC/c2LU/uMcALP0Rgn2BD5LWn0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 h1:AWeJMk33GTBf6J20XJe6qZoRSJo0WfUhsMdUKhoODXE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19/go.mod h1:+GWrYoaAsV7/4pNHpwh1kiNLXkKaSoppxQq9lbH8Ejw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 h1:qi3e/dmpdONhj1RyIZdi6DKKpDXS5Lb8ftr3p7cyHJc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20/go.mod h1:V1K+TeJVD5JOk3D9e5tsX2KUdL7BlB+FV6cBhdobN8c= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 h1:XAq62tBTJP/85lFD5oqOOe7YYgWxY9LvWq8plyDvDVg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 h1:BYf7XNsJMzl4mObARUBUib+j2tf0U//JAAtTnYqvqCw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11/go.mod h1:aEUS4WrNk/+FxkBZZa7tVgp4pGH+kFGW40Y8rCPqt5g= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 h1:X1Tow7suZk9UCJHE1Iw9GMZJJl0dAnKXXP1NaSDHwmw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19/go.mod h1:/rARO8psX+4sfjUQXp5LLifjUt8DuATZ31WptNJTyQA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 h1:JnQeStZvPHFHeyky/7LbMlyQjUa+jIBj36OlWm0pzIk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19/go.mod h1:HGyasyHvYdFQeJhvDHfH7HXkHh57htcJGKDZ+7z+I24= +github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 h1:4ExZyubQ6LQQVuF2Qp9OsfEvsTdAWh5Gfwf6PgIdLdk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4/go.mod h1:NF3JcMGOiARAss1ld3WGORCw71+4ExDD2cbbdKS5PpA= +github.com/aws/smithy-go v1.24.2 h1:FzA3bu/nt/vDvmnkg+R8Xl46gmzEDam6mZ1hzmwXFng= +github.com/aws/smithy-go v1.24.2/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= @@ -107,10 +107,12 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= -github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= -github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= -github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= -github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= +github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= +github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= +github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= +github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= +github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= github.com/catppuccin/go v0.3.0 h1:d+0/YicIq+hSTo5oPuRi5kOpqkVA5tAsU6dNhvRu+aY= github.com/catppuccin/go v0.3.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= @@ -186,12 +188,14 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= -github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= +github.com/gin-gonic/gin v1.12.0 h1:b3YAbrZtnf8N//yjKeU2+MQsh2mY5htkZidOM7O0wG8= +github.com/gin-gonic/gin v1.12.0/go.mod h1:VxccKfsSllpKshkBWgVgRniFFAzFb9csfngsqANjnLc= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= @@ -214,8 +218,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= -github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= +github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI= github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU= @@ -223,16 +227,26 @@ github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPE github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= -github.com/gofiber/fiber/v2 v2.52.11 h1:5f4yzKLcBcF8ha1GQTWB+mpblWz3Vz6nSAbTL31HkWs= -github.com/gofiber/fiber/v2 v2.52.11/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/gofiber/fiber/v2 v2.52.12 h1:0LdToKclcPOj8PktUdIKo9BUohjjwfnQl42Dhw8/WUw= +github.com/gofiber/fiber/v2 v2.52.12/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= +github.com/gofiber/fiber/v3 v3.1.0 h1:1p4I820pIa+FGxfwWuQZ5rAyX0WlGZbGT6Hnuxt6hKY= +github.com/gofiber/fiber/v3 v3.1.0/go.mod h1:n2nYQovvL9z3Too/FGOfgtERjW3GQcAUqgfoezGBZdU= +github.com/gofiber/schema v1.7.0 h1:yNM+FNRZjyYEli9Ey0AXRBrAY9jTnb+kmGs3lJGPvKg= +github.com/gofiber/schema v1.7.0/go.mod h1:A/X5Ffyru4p9eBdp99qu+nzviHzQiZ7odLT+TwxWhbk= github.com/gofiber/template v1.8.3 h1:hzHdvMwMo/T2kouz2pPCA0zGiLCeMnoGsQZBTSYgZxc= github.com/gofiber/template v1.8.3/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8= github.com/gofiber/template/html/v2 v2.1.3 h1:n1LYBtmr9C0V/k/3qBblXyMxV5B0o/gpb6dFLp8ea+o= github.com/gofiber/template/html/v2 v2.1.3/go.mod h1:U5Fxgc5KpyujU9OqKzy6Kn6Qup6Tm7zdsISR+VpnHRE= +github.com/gofiber/template/html/v3 v3.0.2 h1:/Fh8UcEsB4uhf1QWNbYaAOwXxSORebJ2zXkb5tgG/TI= +github.com/gofiber/template/html/v3 v3.0.2/go.mod h1:9phaCZLPZq2nFNTZj9zrmR8FSA8ydtBQFL9SEsr4jqI= +github.com/gofiber/template/v2 v2.1.0 h1:vrLY6uEW2HdioJm6J5FGUpYZuapVQhHciNz21XQjR/4= +github.com/gofiber/template/v2 v2.1.0/go.mod h1:ohgpR/Ng90nJbK+IyNzrgR/XpnBNt862/oTF5G7SAmE= github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM= github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0= +github.com/gofiber/utils/v2 v2.0.2 h1:ShRRssz0F3AhTlAQcuEj54OEDtWF7+HJDwEi/aa6QLI= +github.com/gofiber/utils/v2 v2.0.2/go.mod h1:+9Ub4NqQ+IaJoTliq5LfdmOJAA/Hzwf4pXOxOa3RrJ0= github.com/goforj/godump v1.9.0 h1:Y/APfWKQKnJetXgVJxDqD7vEpTGSgAwbKJGmj0UAteI= github.com/goforj/godump v1.9.0/go.mod h1:/Vy+p50JtOkwsFN5dA1HQ7LS5gtPk3f61DaP4UR2o4s= github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= @@ -273,32 +287,32 @@ github.com/gookit/goutil v0.7.1 h1:AaFJPN9mrdeYBv8HOybri26EHGCC34WJVT7jUStGJsI= github.com/gookit/goutil v0.7.1/go.mod h1:vJS9HXctYTCLtCsZot5L5xF+O1oR17cDYO9R0HxBmnU= github.com/gookit/validate v1.5.6 h1:D6vbSZzreuKYpeeXm5FDDEJy3K5E4lcWsQE4saSMZbU= github.com/gookit/validate v1.5.6/go.mod h1:WYEHndRNepIIkM+6CtgEX9MQ9ToIQRhXxmz5oLHF/fc= -github.com/goravel/cos v1.17.0 h1:ovrSR8ZQbUWEN+BGhxwJrxrb64B+ryBLKwDPuX+WgCA= -github.com/goravel/cos v1.17.0/go.mod h1:f3GOwA8QdEGOuwCN6OIo71FFdP/IgtVTg/vedjcgIfg= +github.com/goravel/cos v1.17.1-0.20260309054913-248333145215 h1:anxc2d451Qg2LoUz93E5gATlaP85yVSWY4ACZruvvT8= +github.com/goravel/cos v1.17.1-0.20260309054913-248333145215/go.mod h1:lQt3sop/SGJeriHkWkJcp9BkuYAtdh1JwzF4bT+eh6k= github.com/goravel/example-proto v0.0.1 h1:ZxETeKREQWjuJ49bX/Hqj1NLR5Vyj489Ks6dRxYeQsk= github.com/goravel/example-proto v0.0.1/go.mod h1:I8IPsHr4Ndf7KxmdsRpBR2LQ0Geo48+pjv9IIWf3mZg= -github.com/goravel/fiber v1.17.0 h1:XMkuz29hJzaN5mW7dK70oc6FfMDUQeYPbrLyBQoiIA8= -github.com/goravel/fiber v1.17.0/go.mod h1:hu2eLwQ6u8ZDFsVWHeV1q0bh7g7PRQg0VZxceVr29Uc= +github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07 h1:McaAlNON4a5M906dgjsNT4hsgChEwiM+jmbYr7iDLpc= +github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07/go.mod h1:Ibpg/LJV5rzZ8YiNZSXOtfRrNHPo0ylgkrsO7fe9uUM= github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e h1:pUys/0n2jtlSvFVxTxeg/aWwIkY53sixMps6AWrdpD0= github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e/go.mod h1:bcEQ1Cvo2G9bM6aWWLYa6IiQvpamDe/7sP8FitIXEM8= -github.com/goravel/gin v1.17.0 h1:8H66v9GaYJR9UQ7C0VOef25/r8t/BAH9ZxlvxbHprlc= -github.com/goravel/gin v1.17.0/go.mod h1:n0W6V/H+E0mqO+Gh+UMjeBANZe//lpWJ6X7kF3kwxR8= -github.com/goravel/minio v1.17.0 h1:WGiPP/KZl/fuDpT9THRM83wjhLCqe1oIAyNVJvVjhS4= -github.com/goravel/minio v1.17.0/go.mod h1:lSltN7uu5r84IIkn+5txGiRVqu3cxSs08AtuVOi9kVM= -github.com/goravel/mysql v1.17.0 h1:iYIz0SHwntJSBlIBn7JXFZweMejgsiIepPHJaQuZPCo= -github.com/goravel/mysql v1.17.0/go.mod h1:07ZhQsHt15tYJZBonyoGP32elzf8dgNLDODNsja0RlE= -github.com/goravel/oss v1.17.0 h1:Rh9RQF5qDaPZTNDddf0wxj2I1LqjlffLWoXwlgOetyE= -github.com/goravel/oss v1.17.0/go.mod h1:gWBBYS6US/TlLbS6cU0dZm4KIshP+MjR9UDyg5oNSmc= -github.com/goravel/postgres v1.17.0 h1:xaOZiuS4SkYDwtyTz86cHqihSDYdu4DC9U7vHSjFvto= -github.com/goravel/postgres v1.17.0/go.mod h1:JPBxn06MGb0BOpdAUmfgwXU1Q884sQwoFsSyKl1TeXk= -github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f h1:pwkX8aIl6RLxH5CUPEwSG0FSDdVoaS8kYj+m+m6XKz0= -github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f/go.mod h1:qz5LA4aa19o1s1sedY2Z9fmPgU41TWXHIFDKyZOClvM= -github.com/goravel/s3 v1.17.0 h1:APKylit8XA4U5E3ffslZkihYzUcDeyruWth2P4kbaTY= -github.com/goravel/s3 v1.17.0/go.mod h1:vQk0fGs8DICAMFUxStmvt5NYQvszwGM5ayX40ePLAEk= +github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365 h1:ptVS05AVpTk1X7FwNAuN5rTdeq76VtQ7s4nhowjuyTk= +github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365/go.mod h1:rCw8+HUDt19sRd82EgJHisWzzzEaPGVSLNI48ULq7xI= +github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409 h1:CBjvFLIkhg+BTaObAljtN7tBGO/qcNcY5/EeOJWxuxw= +github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409/go.mod h1:NkOcxINeG80ZS8NtgDEnJ2WJedQO5oOtWxB306wqGVc= +github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f h1:/WeDVOC/JmGgchU+E8AbJRYSql3YSDO9+uAIvoI8KVA= +github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f/go.mod h1:GgcoOUn6o5K5WieawASC5AtOdwRuT3s3TwEvJUP2y5o= +github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7 h1:w/ZGC+e7Ou4HebG7Q8JWAzHNlHuZ5gxhfya5FON0GBM= +github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7/go.mod h1:zJFzsKmP+YuPRLO7YfO8jfzIP2BdsnpfMs0/jfXFYdc= +github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9 h1:W0nT/j6vlKuhX9McnGFqs8A1bVvARiNDqMloFrndlyE= +github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9/go.mod h1:zf8KLvZH2gqNbLdGS5v7DqYRslz10Em/5nhpyeHAv2A= +github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f h1:iFQ0es1svGPABWKWi68kpKzIvXu00+R6E4+imewpgZg= +github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f/go.mod h1:YF85sKYLZ+T3tjlqxQpEx+jJXgXxC2iFiJX77jbJ+So= +github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388 h1:O3VKtUxAzBjhGs8iVdmOh3Ppwyl06xJPxndHUwgRRfI= +github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388/go.mod h1:hFJXxpG6wLPYqrFBdX4NgPWYFfZm3BgEbvlcChk3PSY= github.com/goravel/sqlite v1.17.0 h1:GK/B9R7lYtQ6BkwyAZkens+/zKMDOKA+P8QDkHsCdg8= github.com/goravel/sqlite v1.17.0/go.mod h1:HMr0lNuTD4X6sIxccwnZ3A3FjadHaHhJBWlXS4NDgNg= -github.com/goravel/sqlserver v1.17.0 h1:vHZpPVXmgva2Ly0dHt/jES9vPO+d2iW0O63zUksaSZM= -github.com/goravel/sqlserver v1.17.0/go.mod h1:MDTIcFzvem86ROiC1bTlL9QvhC8At27lEvVYPINI0os= +github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422 h1:KdZUFjLRPOnZrd9CdjDyrHevYSJroeBHUZBJgcljWew= +github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422/go.mod h1:YQ7HsGoPkvukcZsVDEAfcFICk6iDVf0svuxCYosLou0= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -334,8 +348,8 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= -github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= +github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= @@ -438,12 +452,12 @@ github.com/pterm/pterm v0.12.36/go.mod h1:NjiL09hFhT/vWjQHSj1athJpx6H8cjpHXNAK5b github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkGTYf8s= github.com/pterm/pterm v0.12.82 h1:+D9wYhCaeaK0FIQoZtqbNQuNpe2lB2tajKKsTd5paVQ= github.com/pterm/pterm v0.12.82/go.mod h1:TyuyrPjnxfwP+ccJdBTeWHtd/e0ybQHkOS/TakajZCw= -github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= -github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= -github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= -github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= -github.com/redis/go-redis/v9 v9.17.3 h1:fN29NdNrE17KttK5Ndf20buqfDZwGNgoUr9qjl1DQx4= -github.com/redis/go-redis/v9 v9.17.3/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= +github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= +github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= +github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= +github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= +github.com/redis/go-redis/v9 v9.18.0 h1:pMkxYPkEbMPwRdenAzUNyFNrDgHx9U+DrBabWNfSRQs= +github.com/redis/go-redis/v9 v9.18.0/go.mod h1:k3ufPphLU5YXwNTUcCRXGxUoF1fqxnhFQmscfkCoDA0= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -471,6 +485,8 @@ github.com/samber/slog-multi v1.7.1/go.mod h1:A4KQC99deqfkCDJcL/cO3kX6McX7FffQAx github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shamaton/msgpack/v3 v3.1.0 h1:jsk0vEAqVvvS9+fTZ5/EcQ9tz860c9pWxJ4Iwecz8gU= +github.com/shamaton/msgpack/v3 v3.1.0/go.mod h1:DcQG8jrdrQCIxr3HlMYkiXdMhK+KfN2CitkyzsQV4uc= github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= @@ -498,6 +514,7 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -515,16 +532,16 @@ github.com/tencentyun/cos-go-sdk-v5 v0.7.72/go.mod h1:STbTNaNKq03u+gscPEGOahKzLc github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20250515025012-e0eec8a5d123/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I= github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= -github.com/tinylib/msgp v1.6.1 h1:ESRv8eL3u+DNHUoSAAQRE50Hm162zqAnBoGv9PzScPY= -github.com/tinylib/msgp v1.6.1/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA= +github.com/tinylib/msgp v1.6.3 h1:bCSxiTz386UTgyT1i0MSCvdbWjVW+8sG3PjkGsZQt4s= +github.com/tinylib/msgp v1.6.3/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= -github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +github.com/ugorji/go/codec v1.3.1 h1:waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY= +github.com/ugorji/go/codec v1.3.1/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/unrolled/secure v1.17.0 h1:Io7ifFgo99Bnh0J7+Q+qcMzWM6kaDPCA5FroFZEdbWU= github.com/unrolled/secure v1.17.0/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40= github.com/urfave/cli/v3 v3.6.2 h1:lQuqiPrZ1cIz8hz+HcrG0TNZFxU70dPZ3Yl+pSrH9A8= @@ -535,6 +552,8 @@ github.com/valyala/fasthttp v1.69.0 h1:fNLLESD2SooWeh2cidsuFtOcrEi4uB4m1mPrkJMZy github.com/valyala/fasthttp v1.69.0/go.mod h1:4wA4PfAraPlAsJ5jMSqCE2ug5tqUPwKXxVj8oNECGcw= github.com/vektah/gqlparser/v2 v2.5.19 h1:bhCPCX1D4WWzCDvkPl4+TP1N8/kLrWnp43egplt7iSg= github.com/vektah/gqlparser/v2 v2.5.19/go.mod h1:y7kvl5bBlDeuWIvLtA9849ncyvx6/lj06RsMrEjVy3U= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= @@ -543,6 +562,10 @@ github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod h1:Ohn+xnUBi github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +go.mongodb.org/mongo-driver/v2 v2.5.0 h1:yXUhImUjjAInNcpTcAlPHiT7bIXhshCTL3jVBkF3xaE= +go.mongodb.org/mongo-driver/v2 v2.5.0/go.mod h1:yOI9kBsufol30iFsl1slpdq1I0eHPzybRWdyYUs8K/0= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 h1:RN3ifU8y4prNWeEnQp2kRRHz8UwonAEYZl8tUzHEXAk= @@ -595,12 +618,12 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= -go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= -golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= +golang.org/x/arch v0.22.0 h1:c/Zle32i5ttqRXjdLyyHZESLD/bB90DCU1g9l/0YBDI= +golang.org/x/arch v0.22.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -654,8 +677,8 @@ golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= +golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= From c02d696b32446f5f3c164dd3378e681e2a5c5c6b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:23:40 +0000 Subject: [PATCH 3/6] test: add config feature coverage Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --- bootstrap/providers.go | 2 +- config/cache.go | 8 +- config/database.go | 35 +++---- config/filesystems.go | 7 +- config/http.go | 3 +- config/queue.go | 4 +- config/session.go | 7 +- go.mod | 80 ++++++++-------- go.sum | 171 +++++++++++++++-------------------- tests/feature/config_test.go | 96 ++++++++++++++++++++ 10 files changed, 250 insertions(+), 163 deletions(-) create mode 100644 tests/feature/config_test.go diff --git a/bootstrap/providers.go b/bootstrap/providers.go index 3e76b7c..13f2f3f 100644 --- a/bootstrap/providers.go +++ b/bootstrap/providers.go @@ -58,7 +58,6 @@ func Providers() []foundation.ServiceProvider { &schedule.ServiceProvider{}, &filesystem.ServiceProvider{}, &testing.ServiceProvider{}, - &telemetry.ServiceProvider{}, &postgres.ServiceProvider{}, &mysql.ServiceProvider{}, &sqlserver.ServiceProvider{}, @@ -70,5 +69,6 @@ func Providers() []foundation.ServiceProvider { &redis.ServiceProvider{}, &gin.ServiceProvider{}, &fiber.ServiceProvider{}, + &telemetry.ServiceProvider{}, } } diff --git a/config/cache.go b/config/cache.go index 796cf0b..b0e913c 100644 --- a/config/cache.go +++ b/config/cache.go @@ -3,13 +3,19 @@ package config import ( "github.com/goravel/framework/contracts/cache" redisfacades "github.com/goravel/redis/facades" + "goravel/app/facades" ) func init() { config := facades.Config() config.Add("cache", map[string]any{ - "default": "redis", + // Default Cache Store + // + // This option controls the default cache connection that gets used while + // using this caching library. This connection is used when another is + // not explicitly specified when executing a given caching function. + "default": config.Env("CACHE_STORE", "memory"), // Cache Stores // diff --git a/config/database.go b/config/database.go index 271e8bc..57a6d1b 100644 --- a/config/database.go +++ b/config/database.go @@ -13,16 +13,17 @@ import ( func init() { config := facades.Config() config.Add("database", map[string]any{ - "default": "sqlite", + // Default database connection name + "default": config.Env("DB_CONNECTION", "sqlite"), // Database connections "connections": map[string]any{ "postgres": map[string]any{ - "host": config.Env("DB_HOST"), - "port": config.Env("DB_PORT"), - "database": config.Env("DB_DATABASE"), - "username": config.Env("DB_USERNAME"), - "password": config.Env("DB_PASSWORD"), + "host": config.Env("DB_HOST", "127.0.0.1"), + "port": config.Env("DB_PORT", 5432), + "database": config.Env("DB_DATABASE", "forge"), + "username": config.Env("DB_USERNAME", ""), + "password": config.Env("DB_PASSWORD", ""), "sslmode": "disable", "singular": false, "prefix": "", @@ -32,11 +33,11 @@ func init() { }, }, "mysql": map[string]any{ - "host": config.Env("DB_HOST"), - "port": config.Env("DB_PORT"), - "database": config.Env("DB_DATABASE"), - "username": config.Env("DB_USERNAME"), - "password": config.Env("DB_PASSWORD"), + "host": config.Env("DB_HOST", "127.0.0.1"), + "port": config.Env("DB_PORT", 3306), + "database": config.Env("DB_DATABASE", "forge"), + "username": config.Env("DB_USERNAME", ""), + "password": config.Env("DB_PASSWORD", ""), "charset": "utf8mb4", "prefix": "", "singular": false, @@ -45,11 +46,11 @@ func init() { }, }, "sqlserver": map[string]any{ - "host": config.Env("DB_HOST"), - "port": config.Env("DB_PORT"), - "database": config.Env("DB_DATABASE"), - "username": config.Env("DB_USERNAME"), - "password": config.Env("DB_PASSWORD"), + "host": config.Env("DB_HOST", "127.0.0.1"), + "port": config.Env("DB_PORT", 3306), + "database": config.Env("DB_DATABASE", "forge"), + "username": config.Env("DB_USERNAME", ""), + "password": config.Env("DB_PASSWORD", ""), "charset": "utf8mb4", "prefix": "", "singular": false, @@ -111,7 +112,7 @@ func init() { "driver": "default", "table": "migrations", }, - // Redis connections + "redis": map[string]any{ "default": map[string]any{ "host": config.Env("REDIS_HOST", ""), diff --git a/config/filesystems.go b/config/filesystems.go index d719220..f21cd1b 100644 --- a/config/filesystems.go +++ b/config/filesystems.go @@ -14,7 +14,12 @@ import ( func init() { config := facades.Config() config.Add("filesystems", map[string]any{ - "default": "minio", + // Default Filesystem Disk + // + // Here you may specify the default filesystem disk that should be used + // by the framework. The "local" disk, as well as a variety of cloud + // based disks are available to your application. Just store away! + "default": config.Env("FILESYSTEM_DISK", "local"), // Filesystem Disks // diff --git a/config/http.go b/config/http.go index a95c690..8a548f1 100644 --- a/config/http.go +++ b/config/http.go @@ -16,7 +16,8 @@ import ( func init() { config := facades.Config() config.Add("http", map[string]any{ - "default": "fiber", + // HTTP Driver + "default": "gin", // HTTP Drivers "drivers": map[string]any{ "gin": map[string]any{ diff --git a/config/queue.go b/config/queue.go index 915e963..983eccc 100644 --- a/config/queue.go +++ b/config/queue.go @@ -10,7 +10,8 @@ import ( func init() { config := facades.Config() config.Add("queue", map[string]any{ - "default": "redis", + // Default Queue Connection Name + "default": config.Env("QUEUE_CONNECTION", "sync"), // Queue Connections // @@ -39,6 +40,7 @@ func init() { "driver": "custom", "connection": "default", "queue": "default", + "concurrent": 5, "via": func() (queue.Driver, error) { return redisfacades.Queue("redis") // The `redis` value is the key of `connections` }, diff --git a/config/session.go b/config/session.go index 08c8526..bd2bace 100644 --- a/config/session.go +++ b/config/session.go @@ -12,7 +12,12 @@ import ( func init() { config := facades.Config() config.Add("session", map[string]any{ - "default": "redis", + // Default Session Driver + // + // This option controls the default session "driver" that will be used on + // requests. By default, we will use the lightweight file session driver, but you + // may specify any of the other wonderful drivers provided here. + "default": config.Env("SESSION_DRIVER", "file"), // Session drivers // Available Drivers: "file", "custom" diff --git a/go.mod b/go.mod index 687efa7..91b71a8 100644 --- a/go.mod +++ b/go.mod @@ -4,22 +4,22 @@ go 1.25.0 require ( github.com/99designs/gqlgen v0.17.57 - github.com/gin-gonic/gin v1.12.0 - github.com/gofiber/fiber/v2 v2.52.12 + github.com/gin-gonic/gin v1.11.0 + github.com/gofiber/fiber/v2 v2.52.11 github.com/gofiber/template/html/v2 v2.1.3 - github.com/goravel/cos v1.17.1-0.20260309054913-248333145215 + github.com/goravel/cos v1.17.0 github.com/goravel/example-proto v0.0.1 - github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07 + github.com/goravel/fiber v1.17.0 github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e - github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365 - github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409 - github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f - github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7 - github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9 - github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f - github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388 + github.com/goravel/gin v1.17.0 + github.com/goravel/minio v1.17.0 + github.com/goravel/mysql v1.17.0 + github.com/goravel/oss v1.17.0 + github.com/goravel/postgres v1.17.0 + github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f + github.com/goravel/s3 v1.17.0 github.com/goravel/sqlite v1.17.0 - github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422 + github.com/goravel/sqlserver v1.17.0 github.com/gorilla/websocket v1.5.0 github.com/minio/minio-go/v7 v7.0.98 github.com/opentracing/opentracing-go v1.2.0 @@ -47,22 +47,21 @@ require ( github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible // indirect github.com/andybalholm/brotli v1.2.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go-v2 v1.41.3 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.19.11 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 // indirect - github.com/aws/smithy-go v1.24.2 // indirect + github.com/aws/aws-sdk-go-v2 v1.41.1 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.7 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0 // indirect + github.com/aws/smithy-go v1.24.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/bytedance/gopkg v0.1.3 // indirect - github.com/bytedance/sonic v1.15.0 // indirect - github.com/bytedance/sonic/loader v0.5.0 // indirect + github.com/bytedance/sonic v1.14.0 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/catppuccin/go v0.3.0 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -99,18 +98,13 @@ require ( github.com/go-openapi/swag v0.22.7 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.30.1 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-sql-driver/mysql v1.9.1 // indirect github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.19.2 // indirect - github.com/gofiber/fiber/v3 v3.1.0 // indirect - github.com/gofiber/schema v1.7.0 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect github.com/gofiber/template v1.8.3 // indirect - github.com/gofiber/template/html/v3 v3.0.2 // indirect - github.com/gofiber/template/v2 v2.1.0 // indirect github.com/gofiber/utils v1.1.0 // indirect - github.com/gofiber/utils/v2 v2.0.2 // indirect github.com/goforj/godump v1.9.0 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect @@ -133,7 +127,7 @@ require ( github.com/jmoiron/sqlx v1.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.18.4 // indirect + github.com/klauspost/compress v1.18.2 // indirect github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/klauspost/crc32 v1.3.0 // indirect github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect @@ -164,9 +158,9 @@ require ( github.com/philhofer/fwd v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pterm/pterm v0.12.82 // indirect - github.com/quic-go/qpack v0.6.0 // indirect - github.com/quic-go/quic-go v0.59.0 // indirect - github.com/redis/go-redis/v9 v9.18.0 // indirect + github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/quic-go v0.54.0 // indirect + github.com/redis/go-redis/v9 v9.17.3 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect github.com/rotisserie/eris v0.5.4 // indirect @@ -186,17 +180,16 @@ require ( github.com/swaggo/files/v2 v2.0.0 // indirect github.com/tencentyun/cos-go-sdk-v5 v0.7.72 // indirect github.com/tetratelabs/wazero v1.9.0 // indirect - github.com/tinylib/msgp v1.6.3 // indirect + github.com/tinylib/msgp v1.6.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect - github.com/ugorji/go/codec v1.3.1 // indirect + github.com/ugorji/go/codec v1.3.0 // indirect github.com/unrolled/secure v1.17.0 // indirect github.com/urfave/cli/v3 v3.6.2 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.69.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect - go.mongodb.org/mongo-driver/v2 v2.5.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 // indirect @@ -218,12 +211,13 @@ require ( go.opentelemetry.io/otel/trace v1.40.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.uber.org/atomic v1.11.0 // indirect + go.uber.org/mock v0.5.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/arch v0.22.0 // indirect + golang.org/x/arch v0.20.0 // indirect golang.org/x/crypto v0.48.0 // indirect golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect golang.org/x/mod v0.33.0 // indirect - golang.org/x/net v0.51.0 // indirect + golang.org/x/net v0.50.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.41.0 // indirect golang.org/x/term v0.40.0 // indirect diff --git a/go.sum b/go.sum index 1ff56dc..14f85bb 100644 --- a/go.sum +++ b/go.sum @@ -73,30 +73,30 @@ github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdK github.com/atomicgo/cursor v0.0.1/go.mod h1:cBON2QmmrysudxNBFthvMtN32r3jxVRIvzkUiF/RuIk= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= -github.com/aws/aws-sdk-go-v2 v1.41.3 h1:4kQ/fa22KjDt13QCy1+bYADvdgcxpfH18f0zP542kZA= -github.com/aws/aws-sdk-go-v2 v1.41.3/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 h1:N4lRUXZpZ1KVEUn6hxtco/1d2lgYhNn1fHkkl8WhlyQ= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11 h1:NdV8cwCcAXrCWyxArt58BrvZJ9pZ9Fhf9w6Uh5W3Uyc= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11/go.mod h1:30yY2zqkMPdrvxBqzI9xQCM+WrlrZKSOpSJEsylVU+8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 h1:/sECfyq2JTifMI2JPyZ4bdRN77zJmr6SrS1eL3augIA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19/go.mod h1:dMf8A5oAqr9/oxOfLkC/c2LU/uMcALP0Rgn2BD5LWn0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 h1:AWeJMk33GTBf6J20XJe6qZoRSJo0WfUhsMdUKhoODXE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19/go.mod h1:+GWrYoaAsV7/4pNHpwh1kiNLXkKaSoppxQq9lbH8Ejw= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 h1:qi3e/dmpdONhj1RyIZdi6DKKpDXS5Lb8ftr3p7cyHJc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20/go.mod h1:V1K+TeJVD5JOk3D9e5tsX2KUdL7BlB+FV6cBhdobN8c= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 h1:XAq62tBTJP/85lFD5oqOOe7YYgWxY9LvWq8plyDvDVg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 h1:BYf7XNsJMzl4mObARUBUib+j2tf0U//JAAtTnYqvqCw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11/go.mod h1:aEUS4WrNk/+FxkBZZa7tVgp4pGH+kFGW40Y8rCPqt5g= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 h1:X1Tow7suZk9UCJHE1Iw9GMZJJl0dAnKXXP1NaSDHwmw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19/go.mod h1:/rARO8psX+4sfjUQXp5LLifjUt8DuATZ31WptNJTyQA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 h1:JnQeStZvPHFHeyky/7LbMlyQjUa+jIBj36OlWm0pzIk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19/go.mod h1:HGyasyHvYdFQeJhvDHfH7HXkHh57htcJGKDZ+7z+I24= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 h1:4ExZyubQ6LQQVuF2Qp9OsfEvsTdAWh5Gfwf6PgIdLdk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4/go.mod h1:NF3JcMGOiARAss1ld3WGORCw71+4ExDD2cbbdKS5PpA= -github.com/aws/smithy-go v1.24.2 h1:FzA3bu/nt/vDvmnkg+R8Xl46gmzEDam6mZ1hzmwXFng= -github.com/aws/smithy-go v1.24.2/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aws/aws-sdk-go-v2 v1.41.1 h1:ABlyEARCDLN034NhxlRUSZr4l71mh+T5KAeGh6cerhU= +github.com/aws/aws-sdk-go-v2 v1.41.1/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4/go.mod h1:IOAPF6oT9KCsceNTvvYMNHy0+kMF8akOjeDvPENWxp4= +github.com/aws/aws-sdk-go-v2/credentials v1.19.7 h1:tHK47VqqtJxOymRrNtUXN5SP/zUTvZKeLx4tH6PGQc8= +github.com/aws/aws-sdk-go-v2/credentials v1.19.7/go.mod h1:qOZk8sPDrxhf+4Wf4oT2urYJrYt3RejHSzgAquYeppw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 h1:xOLELNKGp2vsiteLsvLPwxC+mYmO6OZ8PYgiuPJzF8U= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17/go.mod h1:5M5CI3D12dNOtH3/mk6minaRwI2/37ifCURZISxA/IQ= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 h1:WWLqlh79iO48yLkj1v3ISRNiv+3KdQoZ6JWyfcsyQik= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17/go.mod h1:EhG22vHRrvF8oXSTYStZhJc1aUgKtnJe+aOiFEV90cM= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 h1:JqcdRG//czea7Ppjb+g/n4o8i/R50aTBHkA7vu0lK+k= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17/go.mod h1:CO+WeGmIdj/MlPel2KwID9Gt7CNq4M65HUfBW97liM0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEdJbzUCEWkVXEXoqlXV72J5keC1GvILMOuD00E= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 h1:Z5EiPIzXKewUQK0QTMkutjiaPVeVYXX7KIqhXu/0fXs= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8/go.mod h1:FsTpJtvC4U1fyDXk7c71XoDv3HlRm8V3NiYLeYLh5YE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 h1:RuNSMoozM8oXlgLG/n6WLaFGoea7/CddrCfIiSA+xdY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17/go.mod h1:F2xxQ9TZz5gDWsclCtPQscGpP0VUOc8RqgFM3vDENmU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 h1:bGeHBsGZx0Dvu/eJC0Lh9adJa3M1xREcndxLNZlve2U= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17/go.mod h1:dcW24lbU0CzHusTE8LLHhRLI42ejmINN8Lcr22bwh/g= +github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0 h1:oeu8VPlOre74lBA/PMhxa5vewaMIMmILM+RraSyB8KA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0/go.mod h1:5jggDlZ2CLQhwJBiZJb4vfk4f0GxWdEDruWKEJ1xOdo= +github.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk= +github.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= @@ -107,12 +107,10 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= -github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= -github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= -github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= -github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= -github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= -github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= github.com/catppuccin/go v0.3.0 h1:d+0/YicIq+hSTo5oPuRi5kOpqkVA5tAsU6dNhvRu+aY= github.com/catppuccin/go v0.3.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= @@ -188,14 +186,12 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.12.0 h1:b3YAbrZtnf8N//yjKeU2+MQsh2mY5htkZidOM7O0wG8= -github.com/gin-gonic/gin v1.12.0/go.mod h1:VxccKfsSllpKshkBWgVgRniFFAzFb9csfngsqANjnLc= +github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= +github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= @@ -218,8 +214,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.30.1 h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w= -github.com/go-playground/validator/v10 v10.30.1/go.mod h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI= github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU= @@ -227,26 +223,16 @@ github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPE github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= -github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= -github.com/gofiber/fiber/v2 v2.52.12 h1:0LdToKclcPOj8PktUdIKo9BUohjjwfnQl42Dhw8/WUw= -github.com/gofiber/fiber/v2 v2.52.12/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= -github.com/gofiber/fiber/v3 v3.1.0 h1:1p4I820pIa+FGxfwWuQZ5rAyX0WlGZbGT6Hnuxt6hKY= -github.com/gofiber/fiber/v3 v3.1.0/go.mod h1:n2nYQovvL9z3Too/FGOfgtERjW3GQcAUqgfoezGBZdU= -github.com/gofiber/schema v1.7.0 h1:yNM+FNRZjyYEli9Ey0AXRBrAY9jTnb+kmGs3lJGPvKg= -github.com/gofiber/schema v1.7.0/go.mod h1:A/X5Ffyru4p9eBdp99qu+nzviHzQiZ7odLT+TwxWhbk= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/gofiber/fiber/v2 v2.52.11 h1:5f4yzKLcBcF8ha1GQTWB+mpblWz3Vz6nSAbTL31HkWs= +github.com/gofiber/fiber/v2 v2.52.11/go.mod h1:YEcBbO/FB+5M1IZNBP9FO3J9281zgPAreiI1oqg8nDw= github.com/gofiber/template v1.8.3 h1:hzHdvMwMo/T2kouz2pPCA0zGiLCeMnoGsQZBTSYgZxc= github.com/gofiber/template v1.8.3/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8= github.com/gofiber/template/html/v2 v2.1.3 h1:n1LYBtmr9C0V/k/3qBblXyMxV5B0o/gpb6dFLp8ea+o= github.com/gofiber/template/html/v2 v2.1.3/go.mod h1:U5Fxgc5KpyujU9OqKzy6Kn6Qup6Tm7zdsISR+VpnHRE= -github.com/gofiber/template/html/v3 v3.0.2 h1:/Fh8UcEsB4uhf1QWNbYaAOwXxSORebJ2zXkb5tgG/TI= -github.com/gofiber/template/html/v3 v3.0.2/go.mod h1:9phaCZLPZq2nFNTZj9zrmR8FSA8ydtBQFL9SEsr4jqI= -github.com/gofiber/template/v2 v2.1.0 h1:vrLY6uEW2HdioJm6J5FGUpYZuapVQhHciNz21XQjR/4= -github.com/gofiber/template/v2 v2.1.0/go.mod h1:ohgpR/Ng90nJbK+IyNzrgR/XpnBNt862/oTF5G7SAmE= github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM= github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0= -github.com/gofiber/utils/v2 v2.0.2 h1:ShRRssz0F3AhTlAQcuEj54OEDtWF7+HJDwEi/aa6QLI= -github.com/gofiber/utils/v2 v2.0.2/go.mod h1:+9Ub4NqQ+IaJoTliq5LfdmOJAA/Hzwf4pXOxOa3RrJ0= github.com/goforj/godump v1.9.0 h1:Y/APfWKQKnJetXgVJxDqD7vEpTGSgAwbKJGmj0UAteI= github.com/goforj/godump v1.9.0/go.mod h1:/Vy+p50JtOkwsFN5dA1HQ7LS5gtPk3f61DaP4UR2o4s= github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= @@ -287,32 +273,32 @@ github.com/gookit/goutil v0.7.1 h1:AaFJPN9mrdeYBv8HOybri26EHGCC34WJVT7jUStGJsI= github.com/gookit/goutil v0.7.1/go.mod h1:vJS9HXctYTCLtCsZot5L5xF+O1oR17cDYO9R0HxBmnU= github.com/gookit/validate v1.5.6 h1:D6vbSZzreuKYpeeXm5FDDEJy3K5E4lcWsQE4saSMZbU= github.com/gookit/validate v1.5.6/go.mod h1:WYEHndRNepIIkM+6CtgEX9MQ9ToIQRhXxmz5oLHF/fc= -github.com/goravel/cos v1.17.1-0.20260309054913-248333145215 h1:anxc2d451Qg2LoUz93E5gATlaP85yVSWY4ACZruvvT8= -github.com/goravel/cos v1.17.1-0.20260309054913-248333145215/go.mod h1:lQt3sop/SGJeriHkWkJcp9BkuYAtdh1JwzF4bT+eh6k= +github.com/goravel/cos v1.17.0 h1:ovrSR8ZQbUWEN+BGhxwJrxrb64B+ryBLKwDPuX+WgCA= +github.com/goravel/cos v1.17.0/go.mod h1:f3GOwA8QdEGOuwCN6OIo71FFdP/IgtVTg/vedjcgIfg= github.com/goravel/example-proto v0.0.1 h1:ZxETeKREQWjuJ49bX/Hqj1NLR5Vyj489Ks6dRxYeQsk= github.com/goravel/example-proto v0.0.1/go.mod h1:I8IPsHr4Ndf7KxmdsRpBR2LQ0Geo48+pjv9IIWf3mZg= -github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07 h1:McaAlNON4a5M906dgjsNT4hsgChEwiM+jmbYr7iDLpc= -github.com/goravel/fiber v1.17.1-0.20260309014444-09f486ccad07/go.mod h1:Ibpg/LJV5rzZ8YiNZSXOtfRrNHPo0ylgkrsO7fe9uUM= +github.com/goravel/fiber v1.17.0 h1:XMkuz29hJzaN5mW7dK70oc6FfMDUQeYPbrLyBQoiIA8= +github.com/goravel/fiber v1.17.0/go.mod h1:hu2eLwQ6u8ZDFsVWHeV1q0bh7g7PRQg0VZxceVr29Uc= github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e h1:pUys/0n2jtlSvFVxTxeg/aWwIkY53sixMps6AWrdpD0= github.com/goravel/framework v1.17.2-0.20260215045043-365219d1eb4e/go.mod h1:bcEQ1Cvo2G9bM6aWWLYa6IiQvpamDe/7sP8FitIXEM8= -github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365 h1:ptVS05AVpTk1X7FwNAuN5rTdeq76VtQ7s4nhowjuyTk= -github.com/goravel/gin v1.17.1-0.20260309021900-2917376cf365/go.mod h1:rCw8+HUDt19sRd82EgJHisWzzzEaPGVSLNI48ULq7xI= -github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409 h1:CBjvFLIkhg+BTaObAljtN7tBGO/qcNcY5/EeOJWxuxw= -github.com/goravel/minio v1.17.1-0.20260216040207-359f8dca7409/go.mod h1:NkOcxINeG80ZS8NtgDEnJ2WJedQO5oOtWxB306wqGVc= -github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f h1:/WeDVOC/JmGgchU+E8AbJRYSql3YSDO9+uAIvoI8KVA= -github.com/goravel/mysql v1.17.2-0.20260309003736-04a9e090e11f/go.mod h1:GgcoOUn6o5K5WieawASC5AtOdwRuT3s3TwEvJUP2y5o= -github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7 h1:w/ZGC+e7Ou4HebG7Q8JWAzHNlHuZ5gxhfya5FON0GBM= -github.com/goravel/oss v1.17.1-0.20260309045844-778c31cd58a7/go.mod h1:zJFzsKmP+YuPRLO7YfO8jfzIP2BdsnpfMs0/jfXFYdc= -github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9 h1:W0nT/j6vlKuhX9McnGFqs8A1bVvARiNDqMloFrndlyE= -github.com/goravel/postgres v1.17.2-0.20260309013424-22a6514a58f9/go.mod h1:zf8KLvZH2gqNbLdGS5v7DqYRslz10Em/5nhpyeHAv2A= -github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f h1:iFQ0es1svGPABWKWi68kpKzIvXu00+R6E4+imewpgZg= -github.com/goravel/redis v1.17.1-0.20260309055602-af1dd300a57f/go.mod h1:YF85sKYLZ+T3tjlqxQpEx+jJXgXxC2iFiJX77jbJ+So= -github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388 h1:O3VKtUxAzBjhGs8iVdmOh3Ppwyl06xJPxndHUwgRRfI= -github.com/goravel/s3 v1.17.1-0.20260309101914-549f06c65388/go.mod h1:hFJXxpG6wLPYqrFBdX4NgPWYFfZm3BgEbvlcChk3PSY= +github.com/goravel/gin v1.17.0 h1:8H66v9GaYJR9UQ7C0VOef25/r8t/BAH9ZxlvxbHprlc= +github.com/goravel/gin v1.17.0/go.mod h1:n0W6V/H+E0mqO+Gh+UMjeBANZe//lpWJ6X7kF3kwxR8= +github.com/goravel/minio v1.17.0 h1:WGiPP/KZl/fuDpT9THRM83wjhLCqe1oIAyNVJvVjhS4= +github.com/goravel/minio v1.17.0/go.mod h1:lSltN7uu5r84IIkn+5txGiRVqu3cxSs08AtuVOi9kVM= +github.com/goravel/mysql v1.17.0 h1:iYIz0SHwntJSBlIBn7JXFZweMejgsiIepPHJaQuZPCo= +github.com/goravel/mysql v1.17.0/go.mod h1:07ZhQsHt15tYJZBonyoGP32elzf8dgNLDODNsja0RlE= +github.com/goravel/oss v1.17.0 h1:Rh9RQF5qDaPZTNDddf0wxj2I1LqjlffLWoXwlgOetyE= +github.com/goravel/oss v1.17.0/go.mod h1:gWBBYS6US/TlLbS6cU0dZm4KIshP+MjR9UDyg5oNSmc= +github.com/goravel/postgres v1.17.0 h1:xaOZiuS4SkYDwtyTz86cHqihSDYdu4DC9U7vHSjFvto= +github.com/goravel/postgres v1.17.0/go.mod h1:JPBxn06MGb0BOpdAUmfgwXU1Q884sQwoFsSyKl1TeXk= +github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f h1:pwkX8aIl6RLxH5CUPEwSG0FSDdVoaS8kYj+m+m6XKz0= +github.com/goravel/redis v1.17.1-0.20260209063449-3355af77f62f/go.mod h1:qz5LA4aa19o1s1sedY2Z9fmPgU41TWXHIFDKyZOClvM= +github.com/goravel/s3 v1.17.0 h1:APKylit8XA4U5E3ffslZkihYzUcDeyruWth2P4kbaTY= +github.com/goravel/s3 v1.17.0/go.mod h1:vQk0fGs8DICAMFUxStmvt5NYQvszwGM5ayX40ePLAEk= github.com/goravel/sqlite v1.17.0 h1:GK/B9R7lYtQ6BkwyAZkens+/zKMDOKA+P8QDkHsCdg8= github.com/goravel/sqlite v1.17.0/go.mod h1:HMr0lNuTD4X6sIxccwnZ3A3FjadHaHhJBWlXS4NDgNg= -github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422 h1:KdZUFjLRPOnZrd9CdjDyrHevYSJroeBHUZBJgcljWew= -github.com/goravel/sqlserver v1.17.2-0.20260309013336-5520a4838422/go.mod h1:YQ7HsGoPkvukcZsVDEAfcFICk6iDVf0svuxCYosLou0= +github.com/goravel/sqlserver v1.17.0 h1:vHZpPVXmgva2Ly0dHt/jES9vPO+d2iW0O63zUksaSZM= +github.com/goravel/sqlserver v1.17.0/go.mod h1:MDTIcFzvem86ROiC1bTlL9QvhC8At27lEvVYPINI0os= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -348,8 +334,8 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= -github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= +github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= @@ -452,12 +438,12 @@ github.com/pterm/pterm v0.12.36/go.mod h1:NjiL09hFhT/vWjQHSj1athJpx6H8cjpHXNAK5b github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkGTYf8s= github.com/pterm/pterm v0.12.82 h1:+D9wYhCaeaK0FIQoZtqbNQuNpe2lB2tajKKsTd5paVQ= github.com/pterm/pterm v0.12.82/go.mod h1:TyuyrPjnxfwP+ccJdBTeWHtd/e0ybQHkOS/TakajZCw= -github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= -github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= -github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= -github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= -github.com/redis/go-redis/v9 v9.18.0 h1:pMkxYPkEbMPwRdenAzUNyFNrDgHx9U+DrBabWNfSRQs= -github.com/redis/go-redis/v9 v9.18.0/go.mod h1:k3ufPphLU5YXwNTUcCRXGxUoF1fqxnhFQmscfkCoDA0= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= +github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= +github.com/redis/go-redis/v9 v9.17.3 h1:fN29NdNrE17KttK5Ndf20buqfDZwGNgoUr9qjl1DQx4= +github.com/redis/go-redis/v9 v9.17.3/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -485,8 +471,6 @@ github.com/samber/slog-multi v1.7.1/go.mod h1:A4KQC99deqfkCDJcL/cO3kX6McX7FffQAx github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= -github.com/shamaton/msgpack/v3 v3.1.0 h1:jsk0vEAqVvvS9+fTZ5/EcQ9tz860c9pWxJ4Iwecz8gU= -github.com/shamaton/msgpack/v3 v3.1.0/go.mod h1:DcQG8jrdrQCIxr3HlMYkiXdMhK+KfN2CitkyzsQV4uc= github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= @@ -514,7 +498,6 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -532,16 +515,16 @@ github.com/tencentyun/cos-go-sdk-v5 v0.7.72/go.mod h1:STbTNaNKq03u+gscPEGOahKzLc github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20250515025012-e0eec8a5d123/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw= github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I= github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= -github.com/tinylib/msgp v1.6.3 h1:bCSxiTz386UTgyT1i0MSCvdbWjVW+8sG3PjkGsZQt4s= -github.com/tinylib/msgp v1.6.3/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA= +github.com/tinylib/msgp v1.6.1 h1:ESRv8eL3u+DNHUoSAAQRE50Hm162zqAnBoGv9PzScPY= +github.com/tinylib/msgp v1.6.1/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go/codec v1.3.1 h1:waO7eEiFDwidsBN6agj1vJQ4AG7lh2yqXyOXqhgQuyY= -github.com/ugorji/go/codec v1.3.1/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= +github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= github.com/unrolled/secure v1.17.0 h1:Io7ifFgo99Bnh0J7+Q+qcMzWM6kaDPCA5FroFZEdbWU= github.com/unrolled/secure v1.17.0/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40= github.com/urfave/cli/v3 v3.6.2 h1:lQuqiPrZ1cIz8hz+HcrG0TNZFxU70dPZ3Yl+pSrH9A8= @@ -552,8 +535,6 @@ github.com/valyala/fasthttp v1.69.0 h1:fNLLESD2SooWeh2cidsuFtOcrEi4uB4m1mPrkJMZy github.com/valyala/fasthttp v1.69.0/go.mod h1:4wA4PfAraPlAsJ5jMSqCE2ug5tqUPwKXxVj8oNECGcw= github.com/vektah/gqlparser/v2 v2.5.19 h1:bhCPCX1D4WWzCDvkPl4+TP1N8/kLrWnp43egplt7iSg= github.com/vektah/gqlparser/v2 v2.5.19/go.mod h1:y7kvl5bBlDeuWIvLtA9849ncyvx6/lj06RsMrEjVy3U= -github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= -github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= @@ -562,10 +543,6 @@ github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod h1:Ohn+xnUBi github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= -github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.mongodb.org/mongo-driver/v2 v2.5.0 h1:yXUhImUjjAInNcpTcAlPHiT7bIXhshCTL3jVBkF3xaE= -go.mongodb.org/mongo-driver/v2 v2.5.0/go.mod h1:yOI9kBsufol30iFsl1slpdq1I0eHPzybRWdyYUs8K/0= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 h1:RN3ifU8y4prNWeEnQp2kRRHz8UwonAEYZl8tUzHEXAk= @@ -618,12 +595,12 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= -go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/arch v0.22.0 h1:c/Zle32i5ttqRXjdLyyHZESLD/bB90DCU1g9l/0YBDI= -golang.org/x/arch v0.22.0/go.mod h1:dNHoOeKiyja7GTvF9NJS1l3Z2yntpQNzgrjh1cU103A= +golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= +golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -677,8 +654,8 @@ golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= -golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/tests/feature/config_test.go b/tests/feature/config_test.go new file mode 100644 index 0000000..d831d0a --- /dev/null +++ b/tests/feature/config_test.go @@ -0,0 +1,96 @@ +package feature + +import ( +"testing" +"time" + +"github.com/stretchr/testify/suite" + +"goravel/app/facades" +) + +type ConfigTestSuite struct { +suite.Suite +} + +func TestConfigTestSuite(t *testing.T) { +suite.Run(t, &ConfigTestSuite{}) +} + +func (s *ConfigTestSuite) TestEnv() { +s.T().Setenv("TESTS_CONFIG_ENV", "goravel") + +s.Equal("goravel", facades.Config().Env("TESTS_CONFIG_ENV")) +s.Equal("default", facades.Config().Env("TESTS_CONFIG_ENV_MISSING", "default")) +} + +func (s *ConfigTestSuite) TestEnvString() { +s.T().Setenv("TESTS_CONFIG_ENV_STRING", "goravel") + +s.Equal("goravel", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING")) +s.Equal("default", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING_MISSING", "default")) +} + +func (s *ConfigTestSuite) TestEnvBool() { +s.T().Setenv("TESTS_CONFIG_ENV_BOOL", "true") + +s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL")) +s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL_MISSING", true)) +} + +func (s *ConfigTestSuite) TestAddAndGet() { +facades.Config().Add("tests.config.any", "goravel") + +s.Equal("goravel", facades.Config().Get("tests.config.any")) +s.Equal("default", facades.Config().Get("tests.config.any.missing", "default")) +} + +func (s *ConfigTestSuite) TestGetString() { +facades.Config().Add("tests.config.string", "goravel") + +s.Equal("goravel", facades.Config().GetString("tests.config.string")) +s.Equal("default", facades.Config().GetString("tests.config.string.missing", "default")) +} + +func (s *ConfigTestSuite) TestGetInt() { +facades.Config().Add("tests.config.int", 1) + +s.Equal(1, facades.Config().GetInt("tests.config.int")) +s.Equal(2, facades.Config().GetInt("tests.config.int.missing", 2)) +} + +func (s *ConfigTestSuite) TestGetBool() { +facades.Config().Add("tests.config.bool", true) + +s.True(facades.Config().GetBool("tests.config.bool")) +s.True(facades.Config().GetBool("tests.config.bool.missing", true)) +} + +func (s *ConfigTestSuite) TestGetDuration() { +facades.Config().Add("tests.config.duration", 3*time.Second) + +s.Equal(3*time.Second, facades.Config().GetDuration("tests.config.duration")) +s.Equal(2*time.Second, facades.Config().GetDuration("tests.config.duration.missing", 2*time.Second)) +} + +func (s *ConfigTestSuite) TestUnmarshalKey() { +facades.Config().Add("tests.config.unmarshal", map[string]any{ +"name": "goravel", +"enabled": true, +"retries": 3, +}) + +type testConfig struct { +Name string `mapstructure:"name"` +Enabled bool `mapstructure:"enabled"` +Retries int `mapstructure:"retries"` +} + +var config testConfig +err := facades.Config().UnmarshalKey("tests.config.unmarshal", &config) +s.Require().NoError(err) +s.Equal(testConfig{Name: "goravel", Enabled: true, Retries: 3}, config) + +err = facades.Config().UnmarshalKey("tests.config.unmarshal", config) +s.Error(err) +} From 10b929fd042c46466c8f7bcbdc2b698f5fd8969a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:28:40 +0000 Subject: [PATCH 4/6] test: tighten config unmarshal error assertion Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --- tests/feature/config_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/feature/config_test.go b/tests/feature/config_test.go index d831d0a..0aaa4e0 100644 --- a/tests/feature/config_test.go +++ b/tests/feature/config_test.go @@ -91,6 +91,7 @@ err := facades.Config().UnmarshalKey("tests.config.unmarshal", &config) s.Require().NoError(err) s.Equal(testConfig{Name: "goravel", Enabled: true, Retries: 3}, config) -err = facades.Config().UnmarshalKey("tests.config.unmarshal", config) -s.Error(err) + err = facades.Config().UnmarshalKey("tests.config.unmarshal", config) + s.Error(err) + s.ErrorContains(err, "pointer") } From f19831ca5810a087820e6b4fdb326afb68c1e827 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 09:27:41 +0000 Subject: [PATCH 5/6] test: align config feature suite with bootstrap test pattern Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --- tests/feature/config_test.go | 94 ++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/tests/feature/config_test.go b/tests/feature/config_test.go index 0aaa4e0..bd3cf8f 100644 --- a/tests/feature/config_test.go +++ b/tests/feature/config_test.go @@ -1,95 +1,97 @@ package feature import ( -"testing" -"time" + "testing" + "time" -"github.com/stretchr/testify/suite" + "github.com/stretchr/testify/suite" -"goravel/app/facades" + "goravel/app/facades" + "goravel/tests" ) type ConfigTestSuite struct { -suite.Suite + suite.Suite + tests.TestCase } func TestConfigTestSuite(t *testing.T) { -suite.Run(t, &ConfigTestSuite{}) + suite.Run(t, &ConfigTestSuite{}) } func (s *ConfigTestSuite) TestEnv() { -s.T().Setenv("TESTS_CONFIG_ENV", "goravel") + s.T().Setenv("TESTS_CONFIG_ENV", "goravel") -s.Equal("goravel", facades.Config().Env("TESTS_CONFIG_ENV")) -s.Equal("default", facades.Config().Env("TESTS_CONFIG_ENV_MISSING", "default")) + s.Equal("goravel", facades.Config().Env("TESTS_CONFIG_ENV")) + s.Equal("default", facades.Config().Env("TESTS_CONFIG_ENV_MISSING", "default")) } func (s *ConfigTestSuite) TestEnvString() { -s.T().Setenv("TESTS_CONFIG_ENV_STRING", "goravel") + s.T().Setenv("TESTS_CONFIG_ENV_STRING", "goravel") -s.Equal("goravel", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING")) -s.Equal("default", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING_MISSING", "default")) + s.Equal("goravel", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING")) + s.Equal("default", facades.Config().EnvString("TESTS_CONFIG_ENV_STRING_MISSING", "default")) } func (s *ConfigTestSuite) TestEnvBool() { -s.T().Setenv("TESTS_CONFIG_ENV_BOOL", "true") + s.T().Setenv("TESTS_CONFIG_ENV_BOOL", "true") -s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL")) -s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL_MISSING", true)) + s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL")) + s.True(facades.Config().EnvBool("TESTS_CONFIG_ENV_BOOL_MISSING", true)) } func (s *ConfigTestSuite) TestAddAndGet() { -facades.Config().Add("tests.config.any", "goravel") + facades.Config().Add("tests.config.any", "goravel") -s.Equal("goravel", facades.Config().Get("tests.config.any")) -s.Equal("default", facades.Config().Get("tests.config.any.missing", "default")) + s.Equal("goravel", facades.Config().Get("tests.config.any")) + s.Equal("default", facades.Config().Get("tests.config.any.missing", "default")) } func (s *ConfigTestSuite) TestGetString() { -facades.Config().Add("tests.config.string", "goravel") + facades.Config().Add("tests.config.string", "goravel") -s.Equal("goravel", facades.Config().GetString("tests.config.string")) -s.Equal("default", facades.Config().GetString("tests.config.string.missing", "default")) + s.Equal("goravel", facades.Config().GetString("tests.config.string")) + s.Equal("default", facades.Config().GetString("tests.config.string.missing", "default")) } func (s *ConfigTestSuite) TestGetInt() { -facades.Config().Add("tests.config.int", 1) + facades.Config().Add("tests.config.int", 1) -s.Equal(1, facades.Config().GetInt("tests.config.int")) -s.Equal(2, facades.Config().GetInt("tests.config.int.missing", 2)) + s.Equal(1, facades.Config().GetInt("tests.config.int")) + s.Equal(2, facades.Config().GetInt("tests.config.int.missing", 2)) } func (s *ConfigTestSuite) TestGetBool() { -facades.Config().Add("tests.config.bool", true) + facades.Config().Add("tests.config.bool", true) -s.True(facades.Config().GetBool("tests.config.bool")) -s.True(facades.Config().GetBool("tests.config.bool.missing", true)) + s.True(facades.Config().GetBool("tests.config.bool")) + s.True(facades.Config().GetBool("tests.config.bool.missing", true)) } func (s *ConfigTestSuite) TestGetDuration() { -facades.Config().Add("tests.config.duration", 3*time.Second) + facades.Config().Add("tests.config.duration", 3*time.Second) -s.Equal(3*time.Second, facades.Config().GetDuration("tests.config.duration")) -s.Equal(2*time.Second, facades.Config().GetDuration("tests.config.duration.missing", 2*time.Second)) + s.Equal(3*time.Second, facades.Config().GetDuration("tests.config.duration")) + s.Equal(2*time.Second, facades.Config().GetDuration("tests.config.duration.missing", 2*time.Second)) } func (s *ConfigTestSuite) TestUnmarshalKey() { -facades.Config().Add("tests.config.unmarshal", map[string]any{ -"name": "goravel", -"enabled": true, -"retries": 3, -}) - -type testConfig struct { -Name string `mapstructure:"name"` -Enabled bool `mapstructure:"enabled"` -Retries int `mapstructure:"retries"` -} - -var config testConfig -err := facades.Config().UnmarshalKey("tests.config.unmarshal", &config) -s.Require().NoError(err) -s.Equal(testConfig{Name: "goravel", Enabled: true, Retries: 3}, config) + facades.Config().Add("tests.config.unmarshal", map[string]any{ + "name": "goravel", + "enabled": true, + "retries": 3, + }) + + type testConfig struct { + Name string `mapstructure:"name"` + Enabled bool `mapstructure:"enabled"` + Retries int `mapstructure:"retries"` + } + + var config testConfig + err := facades.Config().UnmarshalKey("tests.config.unmarshal", &config) + s.Require().NoError(err) + s.Equal(testConfig{Name: "goravel", Enabled: true, Retries: 3}, config) err = facades.Config().UnmarshalKey("tests.config.unmarshal", config) s.Error(err) From 714f8272f1f4a19f00faf7eb7a52bdc39b0e2b2c Mon Sep 17 00:00:00 2001 From: Bowen Date: Sat, 14 Mar 2026 21:32:18 +0800 Subject: [PATCH 6/6] optimize --- .github/workflows/test.yml | 2 +- tests/feature/cache_test.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6351ffe..28845ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,4 +44,4 @@ jobs: - name: Install dependencies run: go mod tidy - name: Run tests - run: go test -timeout 10m -v ./... + run: go test -timeout 10m -p 1 ./... diff --git a/tests/feature/cache_test.go b/tests/feature/cache_test.go index bdbc957..e8a4915 100644 --- a/tests/feature/cache_test.go +++ b/tests/feature/cache_test.go @@ -11,12 +11,14 @@ import ( "github.com/stretchr/testify/suite" "goravel/app/facades" + "goravel/tests" ) type contextKey string type CacheTestSuite struct { suite.Suite + tests.TestCase } func TestCacheTestSuite(t *testing.T) {