Refactor: Remove deprecated gRPC service files and implement new API structure

- Deleted old gRPC service definitions in `game_grpc.pb.go` and `public.go`.
- Added new API server implementations for objectstory, player, and shop services.
- Introduced configuration files for new APIs in `etc/*.yaml`.
- Created main entry points for each service in `objectstory.go`, `player.go`, and `shop.go`.
- Removed unused user update handler and user API files.
- Added utility functions for context management and HTTP header parsing.
- Introduced PostgreSQL backup configuration in `backup/postgreSql.yaml`.
This commit is contained in:
wwweww
2026-02-28 18:35:56 +08:00
parent d2f33b4b96
commit 19cc7a778c
349 changed files with 42548 additions and 1453 deletions
+11
View File
@@ -2,5 +2,16 @@ Name: file-api
Host: 0.0.0.0
Port: 8888
Prometheus:
Host: 0.0.0.0
Port: 4001
Path: /metrics
FileRpcConf:
Target: k8s://juwan/objectstory-rpc-svc:8080
#
#Log:
# Level: info
# k8s://juwan/<service name>:8080
@@ -11,8 +11,8 @@ import (
type Config struct {
rest.RestConf
FileRpcConf zrpc.RpcClientConf
Logger struct {
AccessSecret string
AccessExpire int64
}
//Logger struct {
// AccessSecret string
// AccessExpire int64
//}
}
@@ -31,7 +31,6 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
},
}...,
),
rest.WithJwt(serverCtx.Config.Logger.AccessSecret),
rest.WithPrefix("/api/v1"),
)
}
@@ -11,7 +11,7 @@ import (
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
"juwan-backend/app/objectstory/rpc/fileservice"
"juwan-backend/common/utils/contextx"
"juwan-backend/common/utils/contextj"
"github.com/zeromicro/go-zero/core/logx"
)
@@ -36,9 +36,9 @@ func (l *GetFileLogic) GetFile(req *types.GetFileReq) (string, error) {
return "", errors.New("file id is required")
}
userID, err := contextx.UserIDFrom(l.ctx)
userID, err := contextj.UserIDFrom(l.ctx)
if err != nil {
return "", contextx.ERRILLEGALUSER
return "", contextj.ERRILLEGALUSER
}
rpcResp, err := l.svcCtx.FileRpc.GetFileUrl(l.ctx, &fileservice.GetFileUrlReq{
@@ -13,7 +13,7 @@ import (
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
"juwan-backend/app/objectstory/rpc/fileservice"
"juwan-backend/common/utils/contextx"
"juwan-backend/common/utils/contextj"
"github.com/zeromicro/go-zero/core/logx"
)
@@ -42,7 +42,13 @@ func (l *UploadLogic) Upload(req *types.UploadReq, r *http.Request) (resp *types
if err != nil {
return nil, errors.New("file is required")
}
defer file.Close()
defer func() {
err := file.Close()
if err != nil {
logx.Errorf("failed to close file: %v", err)
return
}
}()
fileData, err := io.ReadAll(file)
if err != nil {
@@ -52,9 +58,9 @@ func (l *UploadLogic) Upload(req *types.UploadReq, r *http.Request) (resp *types
return nil, errors.New("empty file is not allowed")
}
userID, err := contextx.UserIDFrom(l.ctx)
userID, err := contextj.UserIDFrom(l.ctx)
if err != nil {
return nil, contextx.ERRILLEGALUSER
return nil, contextj.ERRILLEGALUSER
}
rpcResp, err := l.svcCtx.FileRpc.Upload(l.ctx, &fileservice.UploadFileMetadataReq{
+34
View File
@@ -0,0 +1,34 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package main
import (
"flag"
"fmt"
"juwan-backend/app/objectstory/api/internal/config"
"juwan-backend/app/objectstory/api/internal/handler"
"juwan-backend/app/objectstory/api/internal/svc"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/rest"
)
var configFile = flag.String("f", "etc/file-api.yaml", "the config file")
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
server := rest.MustNewServer(c.RestConf)
defer server.Stop()
ctx := svc.NewServiceContext(c)
handler.RegisterHandlers(server, ctx)
fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
server.Start()
}
+14 -14
View File
@@ -22,19 +22,19 @@ S3Conf:
Region: auto
UsePathStyle: true
DB:
Master: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-rw.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
Slave: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-ro.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
CacheConf:
- Host: "${REDIS_M_HOST}"
Type: node
Pass: "${REDIS_PASSWORD}"
User: "default"
- Host: "${REDIS_S_HOST}"
Type: node
Pass: "${REDIS_PASSWORD}"
User: "default"
#DB:
# Master: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-rw.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
# Slaves: "postgresql://${PD_USERNAME}:${DB_PASSWORD}@user-db-ro.juwan:${DB_PORT}/${DB_NAME}?sslmode=disable"
#
#CacheConf:
# - Host: "${REDIS_M_HOST}"
# Type: node
# Pass: "${REDIS_PASSWORD}"
# User: "default"
# - Host: "${REDIS_S_HOST}"
# Type: node
# Pass: "${REDIS_PASSWORD}"
# User: "default"
#
Log:
Level: info