init: 提交 files 服务初始代码

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zxr
2026-08-03 23:51:21 +08:00
commit d29693343b
33 changed files with 2067 additions and 0 deletions

40
cmd/cli/main.go Normal file
View File

@@ -0,0 +1,40 @@
package main
import (
"fmt"
"os"
"git.apinb.com/ops/files/internal/config"
"git.apinb.com/ops/files/internal/impl"
"git.apinb.com/ops/files/internal/models"
)
const ServiceKey = "Files"
func main() {
if len(os.Args) < 2 || os.Args[1] == "help" {
printHelp()
return
}
switch os.Args[1] {
case "migrate":
config.New(ServiceKey)
impl.NewImpl()
if err := models.InitData(); err != nil {
panic(err)
}
default:
fmt.Printf("未知命令: %s\n", os.Args[1])
printHelp()
}
}
func printHelp() {
fmt.Println("文件服务 CLI 工具")
fmt.Println("\n用法:")
fmt.Println(" ops-files-cli <command>")
fmt.Println("\n可用命令:")
fmt.Println(" help - 显示帮助信息")
fmt.Println(" migrate - 迁移文件元数据表")
}

36
cmd/main/main.go Normal file
View File

@@ -0,0 +1,36 @@
package main
import (
"fmt"
"git.apinb.com/bsm-sdk/core/infra"
"git.apinb.com/bsm-sdk/core/middleware"
"git.apinb.com/ops/files/internal/config"
"git.apinb.com/ops/files/internal/impl"
"git.apinb.com/ops/files/internal/jobs"
"git.apinb.com/ops/files/internal/models"
"git.apinb.com/ops/files/internal/routers"
"github.com/gin-gonic/gin"
)
const ServiceKey = "Files"
func main() {
config.New(ServiceKey)
impl.NewImpl()
if err := models.InitData(); err != nil {
panic(err)
}
jobs.StartPendingUploadCleanup()
app := gin.Default()
middleware.Mode(app)
app.Use(middleware.Cors())
app.Use(gin.Recovery())
app.HEAD("/", infra.Health)
routers.Register(ServiceKey, app)
if err := app.Run(fmt.Sprintf(":%s", config.Spec.Port)); err != nil {
panic(err)
}
}