Files
sms-server-cli/token.go
T
2026-06-08 15:45:25 +08:00

49 lines
1.8 KiB
Go

package smscli
import (
"context"
"fmt"
)
// AdminListUserTokens 管理员获取令牌列表,可按 UserID、Status 筛选。
// GET /api/sms/admin/token/list
func (c *Client) AdminListUserTokens(ctx context.Context, q TokenListQuery) (PaginationResult[SmsUserToken], error) {
params := mergeParams(paginationParams(q.PaginationQuery), map[string]interface{}{
"user_id": q.UserID,
"status": q.Status,
})
return get[PaginationResult[SmsUserToken]](c, ctx, "/api/sms/admin/token/list", buildQuery(params))
}
// AdminGetUserToken 管理员获取指定令牌详情。
// GET /api/sms/admin/token/:id
func (c *Client) AdminGetUserToken(ctx context.Context, id uint) (SmsUserToken, error) {
return get[SmsUserToken](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id), nil)
}
// AdminCreateUserToken 管理员创建令牌(可指定 UserID)。
// POST /api/sms/admin/token
func (c *Client) AdminCreateUserToken(ctx context.Context, req AdminCreateTokenReq) (SmsUserToken, error) {
return post[SmsUserToken](c, ctx, "/api/sms/admin/token", req)
}
// AdminUpdateUserToken 管理员更新指定令牌。
// PUT /api/sms/admin/token/:id
func (c *Client) AdminUpdateUserToken(ctx context.Context, id uint, req UpdateTokenReq) (SmsUserToken, error) {
return put[SmsUserToken](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id), req)
}
// AdminDeleteUserToken 管理员删除指定令牌。
// DELETE /api/sms/admin/token/:id
func (c *Client) AdminDeleteUserToken(ctx context.Context, id uint) error {
_, err := del[any](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id))
return err
}
// AdminToggleUserToken 管理员切换令牌的启用/禁用状态。
// POST /api/sms/admin/token/:id/toggle
func (c *Client) AdminToggleUserToken(ctx context.Context, id uint) error {
_, err := post[any](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d/toggle", id), nil)
return err
}