package threads_account import ( "net/http" "haixun-backend/internal/logic/threads_account" "haixun-backend/internal/response" "haixun-backend/internal/svc" "haixun-backend/internal/types" "github.com/zeromicro/go-zero/rest/httpx" ) func ListThreadsAccountsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { l := threads_account.NewListThreadsAccountsLogic(r.Context(), svcCtx) data, err := l.ListThreadsAccounts() response.Write(r.Context(), w, data, err) } } func CreateThreadsAccountHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.CreateThreadsAccountReq if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewCreateThreadsAccountLogic(r.Context(), svcCtx) data, err := l.CreateThreadsAccount(&req) response.Write(r.Context(), w, data, err) } } func GetThreadsAccountHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ThreadsAccountPath if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewGetThreadsAccountLogic(r.Context(), svcCtx) data, err := l.GetThreadsAccount(&req) response.Write(r.Context(), w, data, err) } } func UpdateThreadsAccountHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.UpdateThreadsAccountHandlerReq if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewUpdateThreadsAccountLogic(r.Context(), svcCtx) data, err := l.UpdateThreadsAccount(&req.ThreadsAccountPath, &req.UpdateThreadsAccountReq) response.Write(r.Context(), w, data, err) } } func ActivateThreadsAccountHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ThreadsAccountPath if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewActivateThreadsAccountLogic(r.Context(), svcCtx) err := l.ActivateThreadsAccount(&req) response.Write(r.Context(), w, map[string]bool{"success": err == nil}, err) } } func GetThreadsAccountConnectionHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ThreadsAccountPath if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewGetThreadsAccountConnectionLogic(r.Context(), svcCtx) data, err := l.GetThreadsAccountConnection(&req) response.Write(r.Context(), w, data, err) } } func UpdateThreadsAccountConnectionHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.UpdateThreadsAccountConnectionHandlerReq if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewUpdateThreadsAccountConnectionLogic(r.Context(), svcCtx) data, err := l.UpdateThreadsAccountConnection(&req.ThreadsAccountPath, &req.UpdateThreadsAccountConnectionReq) response.Write(r.Context(), w, data, err) } } func ImportThreadsAccountSessionHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ImportThreadsAccountSessionHandlerReq if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewImportThreadsAccountSessionLogic(r.Context(), svcCtx) data, err := l.ImportThreadsAccountSession(&req.ThreadsAccountPath, &req.ImportThreadsAccountSessionReq) response.Write(r.Context(), w, data, err) } } func GetThreadsAccountAiSettingsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ThreadsAccountPath if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewGetThreadsAccountAiSettingsLogic(r.Context(), svcCtx) data, err := l.GetThreadsAccountAiSettings(&req) response.Write(r.Context(), w, data, err) } } func UpdateThreadsAccountAiSettingsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.UpdateThreadsAccountAiSettingsHandlerReq if err := httpx.Parse(r, &req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } if err := svcCtx.Validator.ValidateAll(&req); err != nil { response.Write(r.Context(), w, nil, response.WrapRequestError(err)) return } l := threads_account.NewUpdateThreadsAccountAiSettingsLogic(r.Context(), svcCtx) data, err := l.UpdateThreadsAccountAiSettings(&req.ThreadsAccountPath, &req.UpdateThreadsAccountAiSettingsReq) response.Write(r.Context(), w, data, err) } }