From 313ce4455fe65dcc525a684c60b747ebea9e6fdc Mon Sep 17 00:00:00 2001 From: keven1024 Date: Sun, 14 Dec 2025 16:12:17 +0800 Subject: [PATCH] chore: update Go modules to version 1.25.5, restructure models into pkg/models, and remove unused model files for improved organization and dependency management --- backend/go.mod | 7 +-- backend/go.sum | 6 +- backend/internal/controllers/about.go | 2 +- backend/internal/controllers/download.go | 2 +- backend/internal/controllers/file.go | 2 +- backend/internal/controllers/image.go | 2 +- backend/internal/controllers/share.go | 2 +- backend/internal/controllers/stat.go | 2 +- .../internal/models/file_share_relational.go | 31 ---------- backend/internal/models/task.go | 35 ----------- go.work | 8 +++ go.work.sum | 31 ++++++++++ {backend/internal => pkg}/models/file.go | 2 +- .../models/file_share_relational.go | 2 +- pkg/models/go.mod | 13 ++++ pkg/models/go.sum | 7 +++ .../internal => pkg}/models/pickupcode.go | 3 +- {backend/internal => pkg}/models/share.go | 3 +- {backend/internal => pkg}/models/stat.go | 3 +- {worker/internal => pkg}/models/task.go | 3 +- pkg/utils/go.mod | 32 ++++++++++ pkg/utils/go.sum | 56 +++++++++++++++++ worker/go.mod | 7 +-- worker/go.sum | 6 +- worker/internal/models/file.go | 60 ------------------- worker/internal/services/file.go | 2 +- worker/internal/tasks/file.go | 2 +- worker/internal/tasks/image.go | 2 +- worker/internal/tasks/share.go | 2 +- 29 files changed, 175 insertions(+), 160 deletions(-) delete mode 100644 backend/internal/models/file_share_relational.go delete mode 100644 backend/internal/models/task.go create mode 100644 go.work create mode 100644 go.work.sum rename {backend/internal => pkg}/models/file.go (98%) rename {worker/internal => pkg}/models/file_share_relational.go (96%) create mode 100644 pkg/models/go.mod create mode 100644 pkg/models/go.sum rename {backend/internal => pkg}/models/pickupcode.go (96%) rename {backend/internal => pkg}/models/share.go (98%) rename {backend/internal => pkg}/models/stat.go (97%) rename {worker/internal => pkg}/models/task.go (97%) create mode 100644 pkg/utils/go.mod create mode 100644 pkg/utils/go.sum delete mode 100644 worker/internal/models/file.go diff --git a/backend/go.mod b/backend/go.mod index 6239f18..1d4b204 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -1,11 +1,8 @@ module backend -go 1.24.0 - -toolchain go1.24.3 +go 1.25.5 require ( - dario.cat/mergo v1.0.2 github.com/dustin/go-humanize v1.0.1 github.com/golang-jwt/jwt/v5 v5.3.0 github.com/gorilla/sessions v1.4.0 @@ -13,7 +10,7 @@ require ( github.com/labstack/echo-contrib v0.17.4 github.com/labstack/echo/v4 v4.13.4 github.com/matoous/go-nanoid/v2 v2.1.0 - github.com/redis/go-redis/v9 v9.14.0 + github.com/redis/go-redis/v9 v9.17.2 github.com/samber/lo v1.51.0 github.com/spf13/cast v1.10.0 github.com/spf13/viper v1.21.0 diff --git a/backend/go.sum b/backend/go.sum index 59ab6ab..6f5cef9 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,5 +1,3 @@ -dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= -dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= 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= @@ -54,8 +52,8 @@ github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/redis/go-redis/v9 v9.14.0 h1:u4tNCjXOyzfgeLN+vAZaW1xUooqWDqVEsZN0U01jfAE= -github.com/redis/go-redis/v9 v9.14.0/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw= +github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= +github.com/redis/go-redis/v9 v9.17.2/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= diff --git a/backend/internal/controllers/about.go b/backend/internal/controllers/about.go index a4ae534..0880265 100644 --- a/backend/internal/controllers/about.go +++ b/backend/internal/controllers/about.go @@ -1,9 +1,9 @@ package controllers import ( - "backend/internal/models" "backend/internal/utils" "encoding/json" + "pkg/models" "github.com/labstack/echo/v4" "github.com/samber/lo" diff --git a/backend/internal/controllers/download.go b/backend/internal/controllers/download.go index 4d42dbc..0b8a57d 100644 --- a/backend/internal/controllers/download.go +++ b/backend/internal/controllers/download.go @@ -1,11 +1,11 @@ package controllers import ( - "backend/internal/models" "backend/internal/utils" "backend/middleware" "errors" "fmt" + "pkg/models" "time" "github.com/golang-jwt/jwt/v5" diff --git a/backend/internal/controllers/file.go b/backend/internal/controllers/file.go index 2de837b..5c6b341 100644 --- a/backend/internal/controllers/file.go +++ b/backend/internal/controllers/file.go @@ -1,7 +1,6 @@ package controllers import ( - "backend/internal/models" "backend/internal/services" "backend/internal/utils" "encoding/json" @@ -10,6 +9,7 @@ import ( "mime/multipart" "os" "path/filepath" + "pkg/models" "time" "github.com/hibiken/asynq" diff --git a/backend/internal/controllers/image.go b/backend/internal/controllers/image.go index 05a7435..a45edce 100644 --- a/backend/internal/controllers/image.go +++ b/backend/internal/controllers/image.go @@ -1,11 +1,11 @@ package controllers import ( - "backend/internal/models" "backend/internal/utils" "backend/middleware" "encoding/json" "errors" + "pkg/models" "github.com/hibiken/asynq" "github.com/labstack/echo/v4" diff --git a/backend/internal/controllers/share.go b/backend/internal/controllers/share.go index 1cab032..0a5d1f2 100644 --- a/backend/internal/controllers/share.go +++ b/backend/internal/controllers/share.go @@ -1,11 +1,11 @@ package controllers import ( - "backend/internal/models" "backend/internal/utils" "backend/middleware" "encoding/json" "errors" + "pkg/models" "strings" "time" diff --git a/backend/internal/controllers/stat.go b/backend/internal/controllers/stat.go index 1bf34a5..aa8141b 100644 --- a/backend/internal/controllers/stat.go +++ b/backend/internal/controllers/stat.go @@ -1,9 +1,9 @@ package controllers import ( - "backend/internal/models" "backend/internal/utils" "encoding/json" + "pkg/models" "github.com/labstack/echo/v4" ) diff --git a/backend/internal/models/file_share_relational.go b/backend/internal/models/file_share_relational.go deleted file mode 100644 index 53c7b02..0000000 --- a/backend/internal/models/file_share_relational.go +++ /dev/null @@ -1,31 +0,0 @@ -package models - -import ( - "backend/internal/utils" - "encoding/json" - - "github.com/redis/go-redis/v9" -) - -func GetRedisFileShareRelational(fileId string) ([]string, error) { - rdb, ctx := utils.GetRedisClient() - fileShareRelationalUnmarshalData, err := rdb.HGet(ctx, "015:fileShareRelational", fileId).Result() - if err == redis.Nil { - return nil, nil - } - if err != nil { - return nil, err - } - var shareIDs []string - if err := json.Unmarshal([]byte(fileShareRelationalUnmarshalData), &shareIDs); err != nil { - return nil, err - } - return shareIDs, nil -} - -func SetRedisFileShareRelational(fileId string, shareIDs []string) error { - rdb, ctx := utils.GetRedisClient() - jsonData, _ := json.Marshal(shareIDs) - _, err := rdb.HSet(ctx, "015:fileShareRelational", fileId, string(jsonData)).Result() - return err -} diff --git a/backend/internal/models/task.go b/backend/internal/models/task.go deleted file mode 100644 index 26da36e..0000000 --- a/backend/internal/models/task.go +++ /dev/null @@ -1,35 +0,0 @@ -package models - -import ( - "backend/internal/utils" - "encoding/json" - "fmt" - "time" - - "github.com/redis/go-redis/v9" -) - -func GetRedisTaskInfo(taskId string) (*map[string]any, error) { - rdb, ctx := utils.GetRedisClient() - taskInfo := rdb.Get(ctx, fmt.Sprintf("015:taskInfoMap:%s", taskId)) - taskInfoUnmarshalData, err := taskInfo.Result() - if err == redis.Nil { - return nil, nil - } - if err != nil { - return nil, err - } - var taskInfoData map[string]any - - if err := json.Unmarshal([]byte(taskInfoUnmarshalData), &taskInfoData); err != nil { - return nil, err - } - return &taskInfoData, nil -} - -func SetRedisTaskInfo(taskId string, taskInfo map[string]any) error { - rdb, ctx := utils.GetRedisClient() - jsonData, _ := json.Marshal(taskInfo) - _, err := rdb.Set(ctx, fmt.Sprintf("015:taskInfoMap:%s", taskId), jsonData, time.Hour).Result() - return err -} diff --git a/go.work b/go.work new file mode 100644 index 0000000..8a1e812 --- /dev/null +++ b/go.work @@ -0,0 +1,8 @@ +go 1.25.5 + +use ( + ./backend + ./pkg/models + ./pkg/utils + ./worker +) diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 0000000..3c026a4 --- /dev/null +++ b/go.work.sum @@ -0,0 +1,31 @@ +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bmatcuk/doublestar/v4 v4.8.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/casbin/casbin/v2 v2.105.0/go.mod h1:Ee33aqGrmES+GNL17L0h9X28wXuo829wnNUnS0edAco= +github.com/casbin/govaluate v1.3.0/go.mod h1:G/UnbIjZk/0uMNaLwZZmFQrR72tYRZWQkO70si/iR7A= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= +github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488/go.mod h1:fGb/2+tgXXjhjHsTNdVEEMZNWA0quBnfrO+AfoDSAKw= +golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/backend/internal/models/file.go b/pkg/models/file.go similarity index 98% rename from backend/internal/models/file.go rename to pkg/models/file.go index fd8a985..2946bbe 100644 --- a/backend/internal/models/file.go +++ b/pkg/models/file.go @@ -1,8 +1,8 @@ package models import ( - "backend/internal/utils" "encoding/json" + "pkg/utils" "dario.cat/mergo" "github.com/redis/go-redis/v9" diff --git a/worker/internal/models/file_share_relational.go b/pkg/models/file_share_relational.go similarity index 96% rename from worker/internal/models/file_share_relational.go rename to pkg/models/file_share_relational.go index bd4843b..72f7923 100644 --- a/worker/internal/models/file_share_relational.go +++ b/pkg/models/file_share_relational.go @@ -2,7 +2,7 @@ package models import ( "encoding/json" - "worker/internal/utils" + "pkg/utils" "github.com/redis/go-redis/v9" ) diff --git a/pkg/models/go.mod b/pkg/models/go.mod new file mode 100644 index 0000000..a8a02ba --- /dev/null +++ b/pkg/models/go.mod @@ -0,0 +1,13 @@ +module pkg/models + +go 1.25.5 + +require ( + dario.cat/mergo v1.0.2 + github.com/redis/go-redis/v9 v9.17.2 +) + +require ( + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect +) diff --git a/pkg/models/go.sum b/pkg/models/go.sum new file mode 100644 index 0000000..ae0a2f2 --- /dev/null +++ b/pkg/models/go.sum @@ -0,0 +1,7 @@ +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= diff --git a/backend/internal/models/pickupcode.go b/pkg/models/pickupcode.go similarity index 96% rename from backend/internal/models/pickupcode.go rename to pkg/models/pickupcode.go index ec8f775..a2000cd 100644 --- a/backend/internal/models/pickupcode.go +++ b/pkg/models/pickupcode.go @@ -1,10 +1,11 @@ package models import ( - "backend/internal/utils" "fmt" "time" + "pkg/utils" + "github.com/redis/go-redis/v9" ) diff --git a/backend/internal/models/share.go b/pkg/models/share.go similarity index 98% rename from backend/internal/models/share.go rename to pkg/models/share.go index d3fa6ff..1b34911 100644 --- a/backend/internal/models/share.go +++ b/pkg/models/share.go @@ -1,11 +1,12 @@ package models import ( - "backend/internal/utils" "encoding/json" "fmt" "time" + "pkg/utils" + "dario.cat/mergo" "github.com/redis/go-redis/v9" ) diff --git a/backend/internal/models/stat.go b/pkg/models/stat.go similarity index 97% rename from backend/internal/models/stat.go rename to pkg/models/stat.go index baa1bf9..2a7d096 100644 --- a/backend/internal/models/stat.go +++ b/pkg/models/stat.go @@ -1,9 +1,10 @@ package models import ( - "backend/internal/utils" "encoding/json" + "pkg/utils" + "dario.cat/mergo" "github.com/redis/go-redis/v9" ) diff --git a/worker/internal/models/task.go b/pkg/models/task.go similarity index 97% rename from worker/internal/models/task.go rename to pkg/models/task.go index ce00b42..d350a04 100644 --- a/worker/internal/models/task.go +++ b/pkg/models/task.go @@ -4,7 +4,8 @@ import ( "encoding/json" "fmt" "time" - "worker/internal/utils" + + "pkg/utils" "github.com/redis/go-redis/v9" ) diff --git a/pkg/utils/go.mod b/pkg/utils/go.mod new file mode 100644 index 0000000..2b88912 --- /dev/null +++ b/pkg/utils/go.mod @@ -0,0 +1,32 @@ +module pkg/utils + +go 1.23.0 + +toolchain go1.24.11 + +require ( + github.com/hibiken/asynq v0.25.1 + github.com/redis/go-redis/v9 v9.17.2 + github.com/spf13/viper v1.21.0 +) + +require ( + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/robfig/cron/v3 v3.0.1 // indirect + github.com/sagikazarmark/locafero v0.11.0 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect + github.com/spf13/afero v1.15.0 // indirect + github.com/spf13/cast v1.10.0 // indirect + github.com/spf13/pflag v1.0.10 // indirect + github.com/subosito/gotenv v1.6.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.28.0 // indirect + golang.org/x/time v0.8.0 // indirect + google.golang.org/protobuf v1.35.2 // indirect +) diff --git a/pkg/utils/go.sum b/pkg/utils/go.sum new file mode 100644 index 0000000..83dc511 --- /dev/null +++ b/pkg/utils/go.sum @@ -0,0 +1,56 @@ +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +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/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hibiken/asynq v0.25.1 h1:phj028N0nm15n8O2ims+IvJ2gz4k2auvermngh9JhTw= +github.com/hibiken/asynq v0.25.1/go.mod h1:pazWNOLBu0FEynQRBvHA26qdIKRSmfdIfUm4HdsLmXg= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= +github.com/redis/go-redis/v9 v9.17.2/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= +github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= +github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +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/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= +google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/worker/go.mod b/worker/go.mod index 2561fb3..39905ff 100644 --- a/worker/go.mod +++ b/worker/go.mod @@ -1,13 +1,10 @@ module worker -go 1.24.0 - -toolchain go1.24.3 +go 1.25.5 require ( - dario.cat/mergo v1.0.2 github.com/hibiken/asynq v0.25.1 - github.com/redis/go-redis/v9 v9.14.0 + github.com/redis/go-redis/v9 v9.17.2 github.com/samber/lo v1.51.0 github.com/spf13/cast v1.10.0 github.com/spf13/viper v1.21.0 diff --git a/worker/go.sum b/worker/go.sum index 4541c74..1011804 100644 --- a/worker/go.sum +++ b/worker/go.sum @@ -1,5 +1,3 @@ -dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= -dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= 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= @@ -30,8 +28,8 @@ github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/redis/go-redis/v9 v9.14.0 h1:u4tNCjXOyzfgeLN+vAZaW1xUooqWDqVEsZN0U01jfAE= -github.com/redis/go-redis/v9 v9.14.0/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw= +github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= +github.com/redis/go-redis/v9 v9.17.2/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= diff --git a/worker/internal/models/file.go b/worker/internal/models/file.go deleted file mode 100644 index 09b0a75..0000000 --- a/worker/internal/models/file.go +++ /dev/null @@ -1,60 +0,0 @@ -package models - -import ( - "encoding/json" - "worker/internal/utils" - - "dario.cat/mergo" - "github.com/redis/go-redis/v9" -) - -type FileInfo struct { - FileSize int64 `json:"size"` - MimeType string `json:"mime_type"` - FileHash string `json:"hash"` - ChunkSize int64 `json:"chunk_size"` -} - -type FileType string - -const ( - FileTypeInit FileType = "init" - FileTypeUpload FileType = "already" -) - -type RedisFileInfo struct { - FileInfo - FileType FileType `json:"type"` - CreatedAt int64 `json:"created_at"` - Expire int64 `json:"expire"` // 只有上传文件(init)的时候有这个字段 -} - -func GetRedisFileInfo(fileId string) (*RedisFileInfo, error) { - rdb, ctx := utils.GetRedisClient() - fileInfoUnmarshalData, err := rdb.HGet(ctx, "015:fileInfoMap", fileId).Result() - if err == redis.Nil { - return nil, nil - } - if err != nil { - return nil, err - } - var fileInfoData RedisFileInfo - if err := json.Unmarshal([]byte(fileInfoUnmarshalData), &fileInfoData); err != nil { - return nil, err - } - return &fileInfoData, nil -} - -func SetRedisFileInfo(fileId string, fileInfo RedisFileInfo) error { - rdb, ctx := utils.GetRedisClient() - old_fileInfo, err := GetRedisFileInfo(fileId) - if err != nil { - return err - } - if old_fileInfo != nil { - mergo.Merge(&fileInfo, old_fileInfo) - } - jsonData, _ := json.Marshal(fileInfo) - _, err = rdb.HSet(ctx, "015:fileInfoMap", fileId, string(jsonData)).Result() - return err -} diff --git a/worker/internal/services/file.go b/worker/internal/services/file.go index ce71991..586835a 100644 --- a/worker/internal/services/file.go +++ b/worker/internal/services/file.go @@ -4,8 +4,8 @@ import ( "errors" "os" "path/filepath" + "pkg/models" "time" - "worker/internal/models" "worker/internal/utils" ) diff --git a/worker/internal/tasks/file.go b/worker/internal/tasks/file.go index fc736fc..54f7257 100644 --- a/worker/internal/tasks/file.go +++ b/worker/internal/tasks/file.go @@ -5,7 +5,7 @@ import ( "encoding/json" "os" "path/filepath" - "worker/internal/models" + "pkg/models" "worker/internal/utils" "github.com/hibiken/asynq" diff --git a/worker/internal/tasks/image.go b/worker/internal/tasks/image.go index 36c32cc..123ee07 100644 --- a/worker/internal/tasks/image.go +++ b/worker/internal/tasks/image.go @@ -7,7 +7,7 @@ import ( "fmt" "os/exec" "path/filepath" - "worker/internal/models" + "pkg/models" "worker/internal/services" "worker/internal/utils" diff --git a/worker/internal/tasks/share.go b/worker/internal/tasks/share.go index b3ff3ce..74878d2 100644 --- a/worker/internal/tasks/share.go +++ b/worker/internal/tasks/share.go @@ -5,7 +5,7 @@ import ( "encoding/json" "os" "path/filepath" - "worker/internal/models" + "pkg/models" "worker/internal/utils" "github.com/hibiken/asynq"