diff --git a/.gitignore b/.gitignore index c6cf6d0d..7183c552 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +.mirc .idea __debug_bin !*.example diff --git a/Makefile b/Makefile index 5bdaf0d5..1b103821 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ windows-x64: @CGO_ENABLED=$(CGO_ENABLED) GOOS=windows GOARCH=amd64 go build -pgo=auto -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $(RELEASE_WINDOWS_AMD64)/$(TARGET_BIN).exe .PHONY: generate -generate: gen-mir gen-rpc +generate: gen-mir gen-rpc gen-enum .PHONY: gen-mir gen-mir: @@ -92,6 +92,11 @@ gen-rpc: @buf generate proto @go fmt ./auto/rpc/... +.PHONY: gen-enum +gen-enum: + @go generate ./internal/model/enum/... + go fmt ./internal/model/enum/... + .PHONY: proto-mod proto-mod: @cd proto/ && buf mod update diff --git a/auto/api/m/v1/user.go b/auto/api/m/v1/user.go index a7f3c208..7b6842fe 100644 --- a/auto/api/m/v1/user.go +++ b/auto/api/m/v1/user.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/r/v1/user.go b/auto/api/r/v1/user.go index 0025c283..5fc6f743 100644 --- a/auto/api/r/v1/user.go +++ b/auto/api/r/v1/user.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/s/v1/user.go b/auto/api/s/v1/user.go index 6f22345d..053acf88 100644 --- a/auto/api/s/v1/user.go +++ b/auto/api/s/v1/user.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/admin.go b/auto/api/v1/admin.go index 733d19f6..3b0e9606 100644 --- a/auto/api/v1/admin.go +++ b/auto/api/v1/admin.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/alipay_priv.go b/auto/api/v1/alipay_priv.go index 43347cbb..3330907f 100644 --- a/auto/api/v1/alipay_priv.go +++ b/auto/api/v1/alipay_priv.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/alipay_pub.go b/auto/api/v1/alipay_pub.go index 56d23040..a6fdeef9 100644 --- a/auto/api/v1/alipay_pub.go +++ b/auto/api/v1/alipay_pub.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/core.go b/auto/api/v1/core.go index f933fb3b..2df5e66b 100644 --- a/auto/api/v1/core.go +++ b/auto/api/v1/core.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/followship.go b/auto/api/v1/followship.go index 208b9d90..b8f9bc09 100644 --- a/auto/api/v1/followship.go +++ b/auto/api/v1/followship.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/friendship.go b/auto/api/v1/friendship.go index b288249c..12e96946 100644 --- a/auto/api/v1/friendship.go +++ b/auto/api/v1/friendship.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/loose.go b/auto/api/v1/loose.go index 3794051b..4a77b98d 100644 --- a/auto/api/v1/loose.go +++ b/auto/api/v1/loose.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/priv.go b/auto/api/v1/priv.go index 8ebfc91f..f6ab299d 100644 --- a/auto/api/v1/priv.go +++ b/auto/api/v1/priv.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/pub.go b/auto/api/v1/pub.go index 2d9274d2..a9864d98 100644 --- a/auto/api/v1/pub.go +++ b/auto/api/v1/pub.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/relax.go b/auto/api/v1/relax.go index e1a3f0cc..45bf50e2 100644 --- a/auto/api/v1/relax.go +++ b/auto/api/v1/relax.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/site.go b/auto/api/v1/site.go index 918ba2ae..d8d412d9 100644 --- a/auto/api/v1/site.go +++ b/auto/api/v1/site.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/v1/trends.go b/auto/api/v1/trends.go index b7f26b58..f91ea61b 100644 --- a/auto/api/v1/trends.go +++ b/auto/api/v1/trends.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/auto/api/x/v1/user.go b/auto/api/x/v1/user.go index 963fd3a3..83b9d26a 100644 --- a/auto/api/x/v1/user.go +++ b/auto/api/x/v1/user.go @@ -1,6 +1,6 @@ // Code generated by go-mir. DO NOT EDIT. // versions: -// - mir 5.0.0 +// - mir 5.0.1 package v1 diff --git a/go.mod b/go.mod index 497b3686..e6e9cd2c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 github.com/RoaringBitmap/roaring v1.9.4 github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868 - github.com/alimy/mir/v5 v5.0.0 + github.com/alimy/mir/v5 v5.0.1 github.com/alimy/tryst v1.1.0 github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible github.com/allegro/bigcache/v3 v3.1.0 @@ -14,23 +14,24 @@ require ( github.com/cockroachdb/errors v1.11.3 github.com/disintegration/imaging v1.6.2 github.com/fatih/color v1.18.0 - github.com/getsentry/sentry-go v0.31.1 - github.com/getsentry/sentry-go/gin v0.31.1 + github.com/getsentry/sentry-go v0.32.0 + github.com/getsentry/sentry-go/gin v0.32.0 github.com/getsentry/sentry-go/logrus v0.31.1 github.com/gin-contrib/cors v1.7.2 github.com/gin-gonic/gin v1.10.0 github.com/go-resty/resty/v2 v2.12.0 - github.com/goccy/go-json v0.10.4 + github.com/goccy/go-json v0.10.5 github.com/gofrs/uuid/v5 v5.3.2 github.com/golang-jwt/jwt/v5 v5.2.1 github.com/golang-migrate/migrate/v4 v4.18.1 - github.com/grafana/pyroscope-go v1.2.0 + github.com/grafana/pyroscope-go v1.2.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.24.9+incompatible github.com/json-iterator/go v1.1.12 + github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 github.com/meilisearch/meilisearch-go v0.27.2 github.com/minio/minio-go/v7 v7.0.84 - github.com/onsi/ginkgo/v2 v2.19.0 - github.com/onsi/gomega v1.34.1 + github.com/onsi/ginkgo/v2 v2.23.4 + github.com/onsi/gomega v1.36.3 github.com/prometheus/client_golang v1.19.1 github.com/redis/rueidis v1.0.53 github.com/robfig/cron/v3 v3.0.1 @@ -51,7 +52,7 @@ require ( go.opentelemetry.io/otel/sdk v1.35.0 go.opentelemetry.io/otel/sdk/log v0.10.0 go.opentelemetry.io/otel/sdk/metric v1.34.0 - go.uber.org/automaxprocs v1.5.3 + go.uber.org/automaxprocs v1.6.0 golang.org/x/crypto v0.38.0 google.golang.org/grpc v1.71.1 google.golang.org/protobuf v1.36.5 @@ -95,7 +96,7 @@ require ( github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect + github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 // indirect diff --git a/go.sum b/go.sum index dcc6ec7b..f0e8016a 100644 --- a/go.sum +++ b/go.sum @@ -9,8 +9,8 @@ github.com/RoaringBitmap/roaring v1.9.4 h1:yhEIoH4YezLYT04s1nHehNO64EKFTop/wBhxv github.com/RoaringBitmap/roaring v1.9.4/go.mod h1:6AXUsoIEzDTFFQCe1RbGA6uFONMhvejWj5rqITANK90= github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868 h1:uFrPOl1VBt/Abfl2z+A/DFc+AwmFLxEHR1+Yq6cXvww= github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868/go.mod h1:srphKZ1i+yGXxl/LpBS7ZIECTjCTPzZzAMtJWoG3sLo= -github.com/alimy/mir/v5 v5.0.0 h1:cclOvvZXErSjWOJIKP/TGm20V43D7aQzOGiBs5cDtNg= -github.com/alimy/mir/v5 v5.0.0/go.mod h1:R76XQiU3K7T4V0aOcd4r5OeO7Gf8yTIVtnLbt1LLf2U= +github.com/alimy/mir/v5 v5.0.1 h1:tPGUo5C0hUNZhGwOFJjqn9wDJAdb3XJmNxI9KwejRl0= +github.com/alimy/mir/v5 v5.0.1/go.mod h1:R76XQiU3K7T4V0aOcd4r5OeO7Gf8yTIVtnLbt1LLf2U= github.com/alimy/tryst v1.1.0 h1:EiGiTLLw9n6bfg1WwnqoZTb1gnDHDHxozjfE/cuVjlI= github.com/alimy/tryst v1.1.0/go.mod h1:t/Ocn3Qd2P8Sg5VIL11s1H7cBCYZcDy+VNwiFHix+lI= github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible h1:8psS8a+wKfiLt1iVDX79F7Y6wUM49Lcha2FMXt4UM8g= @@ -75,10 +75,10 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= -github.com/getsentry/sentry-go v0.31.1 h1:ELVc0h7gwyhnXHDouXkhqTFSO5oslsRDk0++eyE0KJ4= -github.com/getsentry/sentry-go v0.31.1/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= -github.com/getsentry/sentry-go/gin v0.31.1 h1:lvOOO5j0o0IhYIXoHCmQ+D4ExhXWRCnDusV176dXWDA= -github.com/getsentry/sentry-go/gin v0.31.1/go.mod h1:iMF6gA5uO2t3KVMj4QpjLi9B0U+oMidAiHAdPcJMMdQ= +github.com/getsentry/sentry-go v0.32.0 h1:YKs+//QmwE3DcYtfKRH8/KyOOF/I6Qnx7qYGNHCGmCY= +github.com/getsentry/sentry-go v0.32.0/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= +github.com/getsentry/sentry-go/gin v0.32.0 h1:9wDh8sLkRNhjBra99kVFPdsTHs/9ADqMMHaW9huyIVc= +github.com/getsentry/sentry-go/gin v0.32.0/go.mod h1:4iRO82BCDcQzMCBq/phv4Px22p6pvNod3OqGLTopQe4= github.com/getsentry/sentry-go/logrus v0.31.1 h1:561777lxQWZl4qpte67Wp4zQB7V1oNVriZNN5hiOooI= github.com/getsentry/sentry-go/logrus v0.31.1/go.mod h1:UHhxir22yymjeM8dBN0LM+7Z98+cYFEev8V3AV1+UYU= github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw= @@ -110,8 +110,8 @@ github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM= -github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +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/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0= github.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -133,13 +133,13 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8= +github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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/grafana/pyroscope-go v1.2.0 h1:aILLKjTj8CS8f/24OPMGPewQSYlhmdQMBmol1d3KGj8= -github.com/grafana/pyroscope-go v1.2.0/go.mod h1:2GHr28Nr05bg2pElS+dDsc98f3JTUh2f6Fz1hWXrqwk= +github.com/grafana/pyroscope-go v1.2.2 h1:uvKCyZMD724RkaCEMrSTC38Yn7AnFe8S2wiAIYdDPCE= +github.com/grafana/pyroscope-go v1.2.2/go.mod h1:zzT9QXQAp2Iz2ZdS216UiV8y9uXJYQiGE1q8v1FyhqU= github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg= github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1 h1:e9Rjr40Z98/clHv5Yg79Is0NtosR5LXRvdr7o/6NwbA= @@ -194,6 +194,8 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 h1:9x+U2HGLrSw5ATTo469PQPkqzdoU7be46ryiCDO3boc= +github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= @@ -232,10 +234,10 @@ github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= -github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= -github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= -github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus= +github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= +github.com/onsi/gomega v1.36.3 h1:hID7cr8t3Wp26+cYnfcjR6HpJ00fdogN6dqZ1t6IylU= +github.com/onsi/gomega v1.36.3/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -368,8 +370,8 @@ go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= -go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= +go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= +go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= 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/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= diff --git a/internal/model/enum/builtin_enum.go b/internal/model/enum/builtin_enum.go index b2eeb1b7..149a747f 100644 --- a/internal/model/enum/builtin_enum.go +++ b/internal/model/enum/builtin_enum.go @@ -1,14 +1,14 @@ // Code generated by go-enum DO NOT EDIT. -// Version: -// Revision: -// Build Date: -// Built By: +// Version: v0.7.0 +// Revision: 03ade876e762757c985a1cde66576bd63f75d7cd +// Build Date: 2025-04-20T09:27:58+0000 +// Built By: alimy package enum import ( "database/sql/driver" - "encoding/json" + json "encoding/json" "errors" "fmt" "strconv" diff --git a/magefile.go b/magefile.go new file mode 100644 index 00000000..2720500d --- /dev/null +++ b/magefile.go @@ -0,0 +1,116 @@ +//go:build mage +// +build mage + +package main + +import ( + "fmt" + "go/build" + "os" + "os/exec" + "path/filepath" + + "github.com/alimy/mir/v5/core" + "github.com/alimy/mir/v5/engine" + "github.com/livekit/mageutil" +) + +var Default = Generate + +// regenerate mir and protobuf +func Generate() (err error) { + return anyFun(cleanAuto, Mir, Rpc, Enum, Fmt) +} + +// regenerate mir RESTful API interface +func Mir() error { + fmt.Println("Generating mir") + if err := engine.Generate( + core.UseGin(), + core.Schema("mirc"), + core.SinkPath("auto"), + core.WatchCtxDone(true), + core.RunMode(core.InSerialMode), + ); err != nil { + return err + } + return gofmt("./auto/api/...") +} + +// regenerate RPC API interface +func Rpc() error { + fmt.Println("Generating gRPC source code") + cmd := exec.Command("buf", "generate", "proto") + mageutil.ConnectStd(cmd) + if err := cmd.Run(); err != nil { + return err + } + return gofmt("./auto/rpc/...") +} + +func Enum() error { + fmt.Println("Generating Enum source code") + cmd := exec.Command("go", "generate", "./internal/model/enum/...") + mageutil.ConnectStd(cmd) + if err := cmd.Run(); err != nil { + return err + } + return gofmt("./internal/model/enum/...") +} + +// run tests +func Test() error { + fmt.Println("Testing start") + cmd := exec.Command("go", "test", "-race", "./...") + connectStd(cmd) + return cmd.Run() +} + +// format source code +func Fmt() error { + return gofmt("./...") +} + +func gofmt(pattern string) error { + fmt.Printf("Formating source code [%s]\n", pattern) + cmd := exec.Command("go", "fmt", pattern) + mageutil.ConnectStd(cmd) + return cmd.Run() +} + +func getToolPath(name string) (string, error) { + if p, err := exec.LookPath(name); err == nil { + return p, nil + } + // check under gopath + gopath := os.Getenv("GOPATH") + if gopath == "" { + gopath = build.Default.GOPATH + } + p := filepath.Join(gopath, "bin", name) + if _, err := os.Stat(p); err != nil { + return "", err + } + return p, nil +} + +func cleanAuto() error { + fmt.Println("Delete auto directory") + cmd := exec.Command("rm", "-rf", "auto") + connectStd(cmd) + return cmd.Run() +} + +func connectStd(cmd *exec.Cmd) { + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr +} + +func anyFun(fn ...func() error) (err error) { + for _, f := range fn { + if err = f(); err != nil { + break + } + } + return +} diff --git a/mirc/gen.go b/mirc/gen.go index 0e0009ac..2e77eece 100644 --- a/mirc/gen.go +++ b/mirc/gen.go @@ -18,8 +18,8 @@ import ( func main() { log.Println("[Mir] generate code start") if err := Generate( - Schema("web", "space", "localoss", "bot", "admin"), UseGin(), + Schema("web", "space", "localoss", "bot", "admin"), SinkPath("../auto"), WatchCtxDone(true), RunMode(InSerialMode), diff --git a/run.sh b/run.sh deleted file mode 100755 index bf4ee85f..00000000 --- a/run.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# eg.1 : sh run.sh -# eg.2, push all release: sh run.sh push -# eg.3, push all release with dev branch: sh run.sh push dev - -function push { - if [ -n "$1" ]; then - echo "git push origin $1:$1" - git push origin $1:$1 - - echo "git push alimy $1:$1" - git push alimy $1:$1 - - echo "git push bitbus $1:$1" - git push bitbus $1:$1 - else - push_all dev r/paopao-ce r/paopao-ce-plus r/paopao-ce-pro r/paopao-ce-xtra - fi -} - -function push_all { - if [ $# -eq 0 ]; then - push - else - while [ $# -gt 0 ]; do - push $1 - shift - done - fi -} - -case $1 in -"push") - shift - push_all $@ - ;; -"merge") - echo "merge command" - ;; -*) - push_all - ;; -esac \ No newline at end of file