63 lines
2.6 KiB
Go
63 lines
2.6 KiB
Go
package httpapi
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"git.118im.com/im_team/im_workbench/internal/accounts"
|
|
"git.118im.com/im_team/im_workbench/internal/auth"
|
|
"git.118im.com/im_team/im_workbench/internal/finance"
|
|
"git.118im.com/im_team/im_workbench/internal/mall"
|
|
"git.118im.com/im_team/im_workbench/internal/portal"
|
|
"git.118im.com/im_team/im_workbench/internal/tasks"
|
|
)
|
|
|
|
type API struct {
|
|
auth *auth.Authenticator
|
|
accounts *accounts.Service
|
|
portal *portal.Service
|
|
tasks *tasks.Service
|
|
mall *mall.Service
|
|
finance *finance.Service
|
|
}
|
|
|
|
func New(authenticator *auth.Authenticator, accountService *accounts.Service, portalService *portal.Service, taskService *tasks.Service, mallService *mall.Service, financeService *finance.Service) *API {
|
|
return &API{auth: authenticator, accounts: accountService, portal: portalService, tasks: taskService, mall: mallService, finance: financeService}
|
|
}
|
|
|
|
func (a *API) Register(mux *http.ServeMux) {
|
|
mux.HandleFunc("/v1/auth/register", a.accountRegister)
|
|
mux.HandleFunc("/v1/auth/login", a.accountLogin)
|
|
mux.HandleFunc("/v1/auth/logout", a.accountLogout)
|
|
mux.HandleFunc("/v1/me", a.memberProfile)
|
|
mux.HandleFunc("/v1/me/avatar", a.memberAvatar)
|
|
mux.HandleFunc("/v1/me/password", a.memberPassword)
|
|
mux.HandleFunc("/v1/me/trade-password", a.memberTradePassword)
|
|
mux.HandleFunc("/v1/home", a.home)
|
|
mux.HandleFunc("/v1/banners", a.banners)
|
|
mux.HandleFunc("/v1/contents/", a.content)
|
|
mux.HandleFunc("/v1/member-levels", a.memberLevels)
|
|
mux.HandleFunc("/v1/leaderboard", a.leaderboard)
|
|
mux.HandleFunc("/v1/customer-services", a.customerServices)
|
|
mux.HandleFunc("/v1/notices", a.notices)
|
|
mux.HandleFunc("/v1/task-halls", a.taskHalls)
|
|
mux.HandleFunc("/v1/tasks/eligibility", a.taskEligibility)
|
|
mux.HandleFunc("/v1/tasks/stats", a.taskStats)
|
|
mux.HandleFunc("/v1/task-orders/claim", a.taskClaim)
|
|
mux.HandleFunc("/v1/task-orders", a.taskOrders)
|
|
mux.HandleFunc("/v1/task-orders/", a.taskOrderResource)
|
|
mux.HandleFunc("/v1/manual-products", a.manualProducts)
|
|
mux.HandleFunc("/v1/manual-products/", a.manualProduct)
|
|
mux.HandleFunc("/v1/payment-accounts", a.paymentAccounts)
|
|
mux.HandleFunc("/v1/wallet/ledgers", a.walletLedgers)
|
|
mux.HandleFunc("/v1/recharge/channels", a.rechargeChannels)
|
|
mux.HandleFunc("/v1/recharge-orders", a.rechargeOrders)
|
|
mux.HandleFunc("/v1/recharge-orders/", a.rechargeOrder)
|
|
mux.HandleFunc("/v1/withdrawal-orders/quote", a.withdrawalQuote)
|
|
mux.HandleFunc("/v1/withdrawal-orders", a.withdrawalOrders)
|
|
mux.HandleFunc("/v1/withdrawal-orders/", a.withdrawalOrder)
|
|
}
|
|
|
|
func (a *API) Healthz(w http.ResponseWriter, r *http.Request) {
|
|
writeSuccess(w, r, map[string]any{"status": "ok", "service": "workbench"})
|
|
}
|