From 873e2a5ac7e4d0cd4cfd42025f31291409c37ba2 Mon Sep 17 00:00:00 2001 From: Sheep26 Date: Tue, 3 Dec 2024 17:11:14 +1300 Subject: [PATCH] get samba users --- route/v1.go | 5 +++++ route/v1/samba.go | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/route/v1.go b/route/v1.go index 19905ba..9904dd7 100644 --- a/route/v1.go +++ b/route/v1.go @@ -176,6 +176,11 @@ func InitV1Router() http.Handler { v1SharesGroup.DELETE("/:id", v1.DeleteSambaShares) v1SharesGroup.GET("/status", v1.GetSambaStatus) } + v1SharesGroup := v1SambaGroup.Group("/users") + v1SharesGroup.Use() + { + v1SharesGroup.GET("", v1.ListSambaUsers) + } } v1NotifyGroup := v1Group.Group("/notify") v1NotifyGroup.Use() diff --git a/route/v1/samba.go b/route/v1/samba.go index 70c6d72..170e9a6 100644 --- a/route/v1/samba.go +++ b/route/v1/samba.go @@ -17,6 +17,8 @@ import ( "os" "path/filepath" "strings" + "os/exec" + "strings" "github.com/IceWhaleTech/CasaOS-Common/utils/logger" "github.com/IceWhaleTech/CasaOS-Common/utils/systemctl" @@ -67,6 +69,18 @@ func GetSambaSharesList(ctx echo.Context) error { return ctx.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: shareList}) } +func ListSambaUsers(ctx echo.Context) error { + out, err := exec.Command("pdbedit -L").Output() + + if err != nil { + return ctx.JSON(common_err.SERVICE_ERROR, model.Result{Success: common_err.Failed, Message: common_err.GetMsg(common_err.Failed)}) + } + + users := strings.Split("\n") + + return ctx.JSON(common_err.SUCCESS, model.Result{Success: common_err.SUCCESS, Message: common_err.GetMsg(common_err.SUCCESS), Data: users}) +} + func PostSambaSharesCreate(ctx echo.Context) error { shares := []model.Shares{} ctx.Bind(&shares)