server/internal/types/types.go
2025-09-03 11:57:12 -04:00

2527 lines
78 KiB
Go

// Code generated by goctl. DO NOT EDIT.
// goctl 1.7.2
package types
type Ads struct {
Id int `json:"id"`
Title string `json:"title"`
Type string `json:"type"`
Content string `json:"content"`
Description string `json:"description"`
TargetURL string `json:"target_url"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
Status int `json:"status"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type AlipayNotifyResponse struct {
ReturnCode string `json:"return_code"`
}
type Announcement struct {
Id int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Show *bool `json:"show"`
Pinned *bool `json:"pinned"`
Popup *bool `json:"popup"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type AnyTLS struct {
Port int `json:"port" validate:"required"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type AppUserSubcbribe struct {
Id int64 `json:"id"`
Name string `json:"name"`
Upload int64 `json:"upload"`
Traffic int64 `json:"traffic"`
Download int64 `json:"download"`
DeviceLimit int64 `json:"device_limit"`
StartTime string `json:"start_time"`
ExpireTime string `json:"expire_time"`
List []AppUserSubscbribeNode `json:"list"`
}
type AppUserSubscbribeNode struct {
Id int64 `json:"id"`
Name string `json:"name"`
Uuid string `json:"uuid"`
Protocol string `json:"protocol"`
RelayMode string `json:"relay_mode"`
RelayNode string `json:"relay_node"`
ServerAddr string `json:"server_addr"`
SpeedLimit int `json:"speed_limit"`
Tags []string `json:"tags"`
Traffic int64 `json:"traffic"`
TrafficRatio float64 `json:"traffic_ratio"`
Upload int64 `json:"upload"`
Config string `json:"config"`
Country string `json:"country"`
City string `json:"city"`
Latitude string `json:"latitude"`
Longitude string `json:"longitude"`
CreatedAt int64 `json:"created_at"`
Download int64 `json:"download"`
}
type AppleLoginCallbackRequest struct {
Code string `form:"code"`
IDToken string `form:"id_token"`
State string `form:"state"`
}
type Application struct {
Id int64 `json:"id"`
Icon string `json:"icon"`
Name string `json:"name"`
Description string `json:"description"`
SubscribeType string `json:"subscribe_type"`
}
type ApplicationPlatform struct {
IOS []*ApplicationVersion `json:"ios,omitempty"`
MacOS []*ApplicationVersion `json:"macos,omitempty"`
Linux []*ApplicationVersion `json:"linux,omitempty"`
Android []*ApplicationVersion `json:"android,omitempty"`
Windows []*ApplicationVersion `json:"windows,omitempty"`
Harmony []*ApplicationVersion `json:"harmony,omitempty"`
}
type ApplicationResponse struct {
Applications []ApplicationResponseInfo `json:"applications"`
}
type ApplicationResponseInfo struct {
Id int64 `json:"id"`
Name string `json:"name"`
Icon string `json:"icon"`
Description string `json:"description"`
SubscribeType string `json:"subscribe_type"`
Platform ApplicationPlatform `json:"platform"`
}
type ApplicationVersion struct {
Id int64 `json:"id"`
Url string `json:"url"`
Version string `json:"version" validate:"required"`
Description string `json:"description"`
IsDefault bool `json:"is_default"`
}
type AuthConfig struct {
Mobile MobileAuthenticateConfig `json:"mobile"`
Email EmailAuthticateConfig `json:"email"`
Register PubilcRegisterConfig `json:"register"`
}
type AuthMethodConfig struct {
Id int64 `json:"id"`
Method string `json:"method"`
Config interface{} `json:"config"`
Enabled bool `json:"enabled"`
}
type BalanceLog struct {
Type uint16 `json:"type"`
UserId int64 `json:"user_id"`
Amount int64 `json:"amount"`
OrderId int64 `json:"order_id,omitempty"`
Balance int64 `json:"balance"`
Timestamp int64 `json:"timestamp"`
}
type BatchDeleteCouponRequest struct {
Ids []int64 `json:"ids" validate:"required"`
}
type BatchDeleteDocumentRequest struct {
Ids []int64 `json:"ids" validate:"required"`
}
type BatchDeleteSubscribeGroupRequest struct {
Ids []int64 `json:"ids" validate:"required"`
}
type BatchDeleteSubscribeRequest struct {
Ids []int64 `json:"ids" validate:"required"`
}
type BatchDeleteUserRequest struct {
Ids []int64 `json:"ids" validate:"required"`
}
type BatchSendEmailTask struct {
Id int64 `json:"id"`
Subject string `json:"subject"`
Content string `json:"content"`
Recipients string `json:"recipients"`
Scope string `json:"scope"`
RegisterStartTime int64 `json:"register_start_time"`
RegisterEndTime int64 `json:"register_end_time"`
Additional string `json:"additional"`
Scheduled int64 `json:"scheduled"`
Interval uint8 `json:"interval"`
Limit uint64 `json:"limit"`
Status uint8 `json:"status"`
Errors string `json:"errors"`
Total uint64 `json:"total"`
Current uint64 `json:"current"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type BindOAuthCallbackRequest struct {
Method string `json:"method"`
Callback interface{} `json:"callback"`
}
type BindOAuthRequest struct {
Method string `json:"method"`
Redirect string `json:"redirect"`
}
type BindOAuthResponse struct {
Redirect string `json:"redirect"`
}
type BindTelegramResponse struct {
Url string `json:"url"`
ExpiredAt int64 `json:"expired_at"`
}
type CheckUserRequest struct {
Email string `form:"email" validate:"required"`
}
type CheckUserResponse struct {
Exist bool `json:"exist"`
}
type CheckVerificationCodeRequest struct {
Method string `json:"method" validate:"required,oneof=email mobile"`
Account string `json:"account" validate:"required"`
Code string `json:"code" validate:"required"`
Type uint8 `json:"type" validate:"required"`
}
type CheckVerificationCodeRespone struct {
Status bool `json:"status"`
}
type CheckoutOrderRequest struct {
OrderNo string `json:"orderNo"`
ReturnUrl string `json:"returnUrl,omitempty"`
}
type CheckoutOrderResponse struct {
Type string `json:"type"`
CheckoutUrl string `json:"checkout_url,omitempty"`
Stripe *StripePayment `json:"stripe,omitempty"`
}
type CloseOrderRequest struct {
OrderNo string `json:"orderNo" validate:"required"`
}
type CommissionLog struct {
Type uint16 `json:"type"`
UserId int64 `json:"user_id"`
Amount int64 `json:"amount"`
OrderNo string `json:"order_no"`
Timestamp int64 `json:"timestamp"`
}
type Coupon struct {
Id int64 `json:"id"`
Name string `json:"name"`
Code string `json:"code"`
Count int64 `json:"count"`
Type uint8 `json:"type"`
Discount int64 `json:"discount"`
StartTime int64 `json:"start_time"`
ExpireTime int64 `json:"expire_time"`
UserLimit int64 `json:"user_limit"`
Subscribe []int64 `json:"subscribe"`
UsedCount int64 `json:"used_count"`
Enable bool `json:"enable"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type CreateAdsRequest struct {
Title string `json:"title"`
Type string `json:"type"`
Content string `json:"content"`
Description string `json:"description"`
TargetURL string `json:"target_url"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
Status int `json:"status"`
}
type CreateAnnouncementRequest struct {
Title string `json:"title" validate:"required"`
Content string `json:"content" validate:"required"`
}
type CreateBatchSendEmailTaskRequest struct {
Subject string `json:"subject"`
Content string `json:"content"`
Scope string `json:"scope"`
RegisterStartTime int64 `json:"register_start_time,omitempty"`
RegisterEndTime int64 `json:"register_end_time,omitempty"`
Additional string `json:"additional,omitempty"`
Scheduled int64 `json:"scheduled,omitempty"`
Interval uint8 `json:"interval,omitempty"`
Limit uint64 `json:"limit,omitempty"`
}
type CreateCouponRequest struct {
Name string `json:"name" validate:"required"`
Code string `json:"code,omitempty"`
Count int64 `json:"count,omitempty"`
Type uint8 `json:"type" validate:"required"`
Discount int64 `json:"discount" validate:"required"`
StartTime int64 `json:"start_time" validate:"required"`
ExpireTime int64 `json:"expire_time" validate:"required"`
UserLimit int64 `json:"user_limit,omitempty"`
Subscribe []int64 `json:"subscribe,omitempty"`
UsedCount int64 `json:"used_count,omitempty"`
Enable *bool `json:"enable,omitempty"`
}
type CreateDocumentRequest struct {
Title string `json:"title" validate:"required"`
Content string `json:"content" validate:"required"`
Tags []string `json:"tags,omitempty" `
Show *bool `json:"show"`
}
type CreateNodeRequest struct {
Name string `json:"name"`
Tags []string `json:"tags,omitempty"`
Port uint16 `json:"port"`
Address string `json:"address"`
ServerId int64 `json:"server_id"`
Protocol string `json:"protocol"`
Enabled *bool `json:"enabled"`
}
type CreateOrderRequest struct {
UserId int64 `json:"user_id" validate:"required"`
Type uint8 `json:"type" validate:"required"`
Quantity int64 `json:"quantity,omitempty"`
Price int64 `json:"price" validate:"required"`
Amount int64 `json:"amount" validate:"required"`
Discount int64 `json:"discount,omitempty"`
Coupon string `json:"coupon,omitempty"`
CouponDiscount int64 `json:"coupon_discount,omitempty"`
Commission int64 `json:"commission"`
FeeAmount int64 `json:"fee_amount" validate:"required"`
PaymentId int64 `json:"payment_id" validate:"required"`
TradeNo string `json:"trade_no,omitempty"`
Status uint8 `json:"status,omitempty"`
SubscribeId int64 `json:"subscribe_id,omitempty"`
}
type CreatePaymentMethodRequest struct {
Name string `json:"name" validate:"required"`
Platform string `json:"platform" validate:"required"`
Description string `json:"description"`
Icon string `json:"icon,omitempty"`
Domain string `json:"domain,omitempty"`
Config interface{} `json:"config" validate:"required"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent,omitempty"`
FeeAmount int64 `json:"fee_amount,omitempty"`
Enable *bool `json:"enable" validate:"required"`
}
type CreateServerRequest struct {
Name string `json:"name"`
Country string `json:"country,omitempty"`
City string `json:"city,omitempty"`
Ratio float32 `json:"ratio"`
Address string `json:"address"`
Sort int `json:"sort,omitempty"`
Protocols []Protocol `json:"protocols"`
}
type CreateSubscribeApplicationRequest struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Icon string `json:"icon,omitempty"`
Scheme string `json:"scheme,omitempty"`
UserAgent string `json:"user_agent"`
IsDefault bool `json:"is_default"`
SubscribeTemplate string `json:"template"`
OutputFormat string `json:"output_format"`
DownloadLink DownloadLink `json:"download_link"`
}
type CreateSubscribeGroupRequest struct {
Name string `json:"name" validate:"required"`
Description string `json:"description"`
}
type CreateSubscribeRequest struct {
Name string `json:"name" validate:"required"`
Description string `json:"description"`
UnitPrice int64 `json:"unit_price"`
UnitTime string `json:"unit_time"`
Discount []SubscribeDiscount `json:"discount"`
Replacement int64 `json:"replacement"`
Inventory int64 `json:"inventory"`
Traffic int64 `json:"traffic"`
SpeedLimit int64 `json:"speed_limit"`
DeviceLimit int64 `json:"device_limit"`
Quota int64 `json:"quota"`
GroupId int64 `json:"group_id"`
Nodes []int64 `json:"nodes"`
NodeTags []string `json:"node_tags"`
Show *bool `json:"show"`
Sell *bool `json:"sell"`
DeductionRatio int64 `json:"deduction_ratio"`
AllowDeduction *bool `json:"allow_deduction"`
ResetCycle int64 `json:"reset_cycle"`
RenewalReset *bool `json:"renewal_reset"`
}
type CreateTicketFollowRequest struct {
TicketId int64 `json:"ticket_id" validate:"required"`
From string `json:"from" validate:"required"`
Type uint8 `json:"type" validate:"required"`
Content string `json:"content" validate:"required"`
}
type CreateUserAuthMethodRequest struct {
UserId int64 `json:"user_id"`
AuthType string `json:"auth_type"`
AuthIdentifier string `json:"auth_identifier"`
}
type CreateUserRequest struct {
Email string `json:"email"`
Telephone string `json:"telephone"`
TelephoneAreaCode string `json:"telephone_area_code"`
Password string `json:"password"`
ProductId int64 `json:"product_id"`
Duration int64 `json:"duration"`
ReferralPercentage uint8 `json:"referral_percentage"`
OnlyFirstPurchase bool `json:"only_first_purchase"`
RefererUser string `json:"referer_user"`
ReferCode string `json:"refer_code"`
Balance int64 `json:"balance"`
Commission int64 `json:"commission"`
GiftAmount int64 `json:"gift_amount"`
IsAdmin bool `json:"is_admin"`
}
type CreateUserSubscribeRequest struct {
UserId int64 `json:"user_id"`
ExpiredAt int64 `json:"expired_at"`
Traffic int64 `json:"traffic"`
SubscribeId int64 `json:"subscribe_id"`
}
type CreateUserTicketFollowRequest struct {
TicketId int64 `json:"ticket_id"`
From string `json:"from"`
Type uint8 `json:"type"`
Content string `json:"content"`
}
type CreateUserTicketRequest struct {
Title string `json:"title"`
Description string `json:"description"`
}
type Currency struct {
CurrencyUnit string `json:"currency_unit"`
CurrencySymbol string `json:"currency_symbol"`
}
type CurrencyConfig struct {
AccessKey string `json:"access_key"`
CurrencyUnit string `json:"currency_unit"`
CurrencySymbol string `json:"currency_symbol"`
}
type DeleteAdsRequest struct {
Id int64 `json:"id"`
}
type DeleteAnnouncementRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteCouponRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteDocumentRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteNodeRequest struct {
Id int64 `json:"id"`
}
type DeletePaymentMethodRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteServerRequest struct {
Id int64 `json:"id"`
}
type DeleteSubscribeApplicationRequest struct {
Id int64 `json:"id"`
}
type DeleteSubscribeGroupRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteSubscribeRequest struct {
Id int64 `json:"id" validate:"required"`
}
type DeleteUserAuthMethodRequest struct {
UserId int64 `json:"user_id"`
AuthType string `json:"auth_type"`
}
type DeleteUserDeivceRequest struct {
Id int64 `json:"id"`
}
type DeleteUserSubscribeRequest struct {
UserSubscribeId int64 `json:"user_subscribe_id"`
}
type Document struct {
Id int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
Tags []string `json:"tags"`
Show bool `json:"show"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type DownloadLink struct {
IOS string `json:"ios,omitempty"`
Android string `json:"android,omitempty"`
Windows string `json:"windows,omitempty"`
Mac string `json:"mac,omitempty"`
Linux string `json:"linux,omitempty"`
Harmony string `json:"harmony,omitempty"`
}
type EPayNotifyRequest struct {
Pid int64 `json:"pid" form:"pid"`
TradeNo string `json:"trade_no" form:"trade_no"`
OutTradeNo string `json:"out_trade_no" form:"out_trade_no"`
Type string `json:"type" form:"type"`
Name string `json:"name" form:"name"`
Money string `json:"money" form:"money"`
TradeStatus string `json:"trade_status" form:"trade_status"`
Param string `json:"param" form:"param"`
Sign string `json:"sign" form:"sign"`
SignType string `json:"sign_type" form:"sign_type"`
}
type EmailAuthticateConfig struct {
Enable bool `json:"enable"`
EnableVerify bool `json:"enable_verify"`
EnableDomainSuffix bool `json:"enable_domain_suffix"`
DomainSuffixList string `json:"domain_suffix_list"`
}
type FilterBalanceLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterBalanceLogResponse struct {
Total int64 `json:"total"`
List []BalanceLog `json:"list"`
}
type FilterCommissionLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterCommissionLogResponse struct {
Total int64 `json:"total"`
List []CommissionLog `json:"list"`
}
type FilterEmailLogResponse struct {
Total int64 `json:"total"`
List []MessageLog `json:"list"`
}
type FilterGiftLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterGiftLogResponse struct {
Total int64 `json:"total"`
List []GiftLog `json:"list"`
}
type FilterLogParams struct {
Page int `form:"page"`
Size int `form:"size"`
Date string `form:"date,optional"`
Search string `form:"search,optional"`
}
type FilterLoginLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterLoginLogResponse struct {
Total int64 `json:"total"`
List []LoginLog `json:"list"`
}
type FilterMobileLogResponse struct {
Total int64 `json:"total"`
List []MessageLog `json:"list"`
}
type FilterNodeListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Search string `form:"search,omitempty"`
}
type FilterNodeListResponse struct {
Total int64 `json:"total"`
List []Node `json:"list"`
}
type FilterRegisterLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterRegisterLogResponse struct {
Total int64 `json:"total"`
List []RegisterLog `json:"list"`
}
type FilterResetSubscribeLogRequest struct {
FilterLogParams
UserSubscribeId int64 `form:"user_subscribe_id,optional"`
}
type FilterResetSubscribeLogResponse struct {
Total int64 `json:"total"`
List []ResetSubscribeLog `json:"list"`
}
type FilterServerListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Search string `form:"search,omitempty"`
}
type FilterServerListResponse struct {
Total int64 `json:"total"`
List []Server `json:"list"`
}
type FilterServerTrafficLogRequest struct {
FilterLogParams
ServerId int64 `form:"server_id,optional"`
}
type FilterServerTrafficLogResponse struct {
Total int64 `json:"total"`
List []ServerTrafficLog `json:"list"`
}
type FilterSubscribeLogRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
}
type FilterSubscribeLogResponse struct {
Total int64 `json:"total"`
List []SubscribeLog `json:"list"`
}
type FilterSubscribeTrafficRequest struct {
FilterLogParams
UserId int64 `form:"user_id,optional"`
UserSubscribeId int64 `form:"user_subscribe_id,optional"`
}
type FilterSubscribeTrafficResponse struct {
Total int64 `json:"total"`
List []UserSubscribeTrafficLog `json:"list"`
}
type FilterTrafficLogDetailsRequest struct {
FilterLogParams
ServerId int64 `form:"server_id,optional"`
SubscribeId int64 `form:"subscribe_id,optional"`
UserId int64 `form:"user_id,optional"`
}
type FilterTrafficLogDetailsResponse struct {
Total int64 `json:"total"`
List []TrafficLogDetails `json:"list"`
}
type Follow struct {
Id int64 `json:"id"`
TicketId int64 `json:"ticket_id"`
From string `json:"from"`
Type uint8 `json:"type"`
Content string `json:"content"`
CreatedAt int64 `json:"created_at"`
}
type GetAdsDetailRequest struct {
Id int64 `form:"id"`
}
type GetAdsListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Status *int `form:"status,omitempty"`
Search string `form:"search,omitempty"`
}
type GetAdsListResponse struct {
Total int64 `json:"total"`
List []Ads `json:"list"`
}
type GetAdsRequest struct {
Device string `form:"device"`
Position string `form:"position"`
}
type GetAdsResponse struct {
List []Ads `json:"list"`
}
type GetAnnouncementListRequest struct {
Page int64 `form:"page"`
Size int64 `form:"size"`
Show *bool `form:"show,omitempty"`
Pinned *bool `form:"pinned,omitempty"`
Popup *bool `form:"popup,omitempty"`
Search string `form:"search,omitempty"`
}
type GetAnnouncementListResponse struct {
Total int64 `json:"total"`
List []Announcement `json:"list"`
}
type GetAnnouncementRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetAuthMethodConfigRequest struct {
Method string `form:"method"`
}
type GetAuthMethodListResponse struct {
List []AuthMethodConfig `json:"list"`
}
type GetAvailablePaymentMethodsResponse struct {
List []PaymentMethod `json:"list"`
}
type GetBatchSendEmailTaskListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Scope string `form:"scope,omitempty"`
Status *uint8 `form:"status,omitempty"`
}
type GetBatchSendEmailTaskListResponse struct {
Total int64 `json:"total"`
List []BatchSendEmailTask `json:"list"`
}
type GetBatchSendEmailTaskStatusRequest struct {
Id int64 `json:"id"`
}
type GetBatchSendEmailTaskStatusResponse struct {
Status uint8 `json:"status"`
Current int64 `json:"current"`
Total int64 `json:"total"`
Errors string `json:"errors"`
}
type GetCouponListRequest struct {
Page int64 `form:"page" validate:"required"`
Size int64 `form:"size" validate:"required"`
Subscribe int64 `form:"subscribe,omitempty"`
Search string `form:"search,omitempty"`
}
type GetCouponListResponse struct {
Total int64 `json:"total"`
List []Coupon `json:"list"`
}
type GetDetailRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetDocumentDetailRequest struct {
Id int64 `json:"id" validate:"required"`
}
type GetDocumentListRequest struct {
Page int64 `form:"page" validate:"required"`
Size int64 `form:"size" validate:"required"`
Tag string `form:"tag,omitempty"`
Search string `form:"search,omitempty"`
}
type GetDocumentListResponse struct {
Total int64 `json:"total"`
List []Document `json:"list"`
}
type GetGlobalConfigResponse struct {
Site SiteConfig `json:"site"`
Verify VeifyConfig `json:"verify"`
Auth AuthConfig `json:"auth"`
Invite InviteConfig `json:"invite"`
Currency Currency `json:"currency"`
Subscribe SubscribeConfig `json:"subscribe"`
VerifyCode PubilcVerifyCodeConfig `json:"verify_code"`
OAuthMethods []string `json:"oauth_methods"`
WebAd bool `json:"web_ad"`
}
type GetLoginLogRequest struct {
Page int `form:"page"`
Size int `form:"size"`
}
type GetLoginLogResponse struct {
List []UserLoginLog `json:"list"`
Total int64 `json:"total"`
}
type GetMessageLogListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Type uint8 `form:"type"`
Search string `form:"search,optional"`
}
type GetMessageLogListResponse struct {
Total int64 `json:"total"`
List []MessageLog `json:"list"`
}
type GetNodeMultiplierResponse struct {
Periods []TimePeriod `json:"periods"`
}
type GetOAuthMethodsResponse struct {
Methods []UserAuthMethod `json:"methods"`
}
type GetOrderListRequest struct {
Page int64 `form:"page" validate:"required"`
Size int64 `form:"size" validate:"required"`
UserId int64 `form:"user_id,omitempty"`
Status uint8 `form:"status,omitempty"`
SubscribeId int64 `form:"subscribe_id,omitempty"`
Search string `form:"search,omitempty"`
}
type GetOrderListResponse struct {
Total int64 `json:"total"`
List []Order `json:"list"`
}
type GetPaymentMethodListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Platform string `form:"platform,omitempty"`
Search string `form:"search,omitempty"`
Enable *bool `form:"enable,omitempty"`
}
type GetPaymentMethodListResponse struct {
Total int64 `json:"total"`
List []PaymentMethodDetail `json:"list"`
}
type GetPreSendEmailCountRequest struct {
Scope string `json:"scope"`
RegisterStartTime int64 `json:"register_start_time,omitempty"`
RegisterEndTime int64 `json:"register_end_time,omitempty"`
}
type GetPreSendEmailCountResponse struct {
Count int64 `json:"count"`
}
type GetServerConfigRequest struct {
ServerCommon
}
type GetServerConfigResponse struct {
Basic ServerBasic `json:"basic"`
Protocol string `json:"protocol"`
Config interface{} `json:"config"`
}
type GetServerProtocolsRequest struct {
Id int64 `form:"id"`
}
type GetServerProtocolsResponse struct {
Protocols []Protocol `json:"protocols"`
}
type GetServerUserListRequest struct {
ServerCommon
}
type GetServerUserListResponse struct {
Users []ServerUser `json:"users"`
}
type GetStatResponse struct {
User int64 `json:"user"`
Node int64 `json:"node"`
Country int64 `json:"country"`
Protocol []string `json:"protocol"`
}
type GetSubscribeApplicationListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
}
type GetSubscribeApplicationListResponse struct {
Total int64 `json:"total"`
List []SubscribeApplication `json:"list"`
}
type GetSubscribeClientResponse struct {
Total int64 `json:"total"`
List []SubscribeClient `json:"list"`
}
type GetSubscribeDetailsRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetSubscribeGroupListResponse struct {
List []SubscribeGroup `json:"list"`
Total int64 `json:"total"`
}
type GetSubscribeListRequest struct {
Page int64 `form:"page" validate:"required"`
Size int64 `form:"size" validate:"required"`
GroupId int64 `form:"group_id,omitempty"`
Search string `form:"search,omitempty"`
}
type GetSubscribeListResponse struct {
List []SubscribeItem `json:"list"`
Total int64 `json:"total"`
}
type GetSubscribeLogRequest struct {
Page int `form:"page"`
Size int `form:"size"`
}
type GetSubscribeLogResponse struct {
List []UserSubscribeLog `json:"list"`
Total int64 `json:"total"`
}
type GetSubscriptionResponse struct {
List []Subscribe `json:"list"`
}
type GetTicketListRequest struct {
Page int64 `form:"page"`
Size int64 `form:"size"`
UserId int64 `form:"user_id,omitempty"`
Status *uint8 `form:"status,omitempty"`
Search string `form:"search,omitempty"`
}
type GetTicketListResponse struct {
Total int64 `json:"total"`
List []Ticket `json:"list"`
}
type GetTicketRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetTosResponse struct {
TosContent string `json:"tos_content"`
}
type GetUserAuthMethodRequest struct {
UserId int64 `json:"user_id"`
}
type GetUserAuthMethodResponse struct {
AuthMethods []UserAuthMethod `json:"auth_methods"`
}
type GetUserListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Search string `form:"search,omitempty"`
UserId *int64 `form:"user_id,omitempty"`
SubscribeId *int64 `form:"subscribe_id,omitempty"`
UserSubscribeId *int64 `form:"user_subscribe_id,omitempty"`
}
type GetUserListResponse struct {
Total int64 `json:"total"`
List []User `json:"list"`
}
type GetUserLoginLogsRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserId int64 `form:"user_id"`
}
type GetUserLoginLogsResponse struct {
List []UserLoginLog `json:"list"`
Total int64 `json:"total"`
}
type GetUserSubscribeByIdRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetUserSubscribeDevicesRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserId int64 `form:"user_id"`
SubscribeId int64 `form:"subscribe_id"`
}
type GetUserSubscribeDevicesResponse struct {
List []UserDevice `json:"list"`
Total int64 `json:"total"`
}
type GetUserSubscribeListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserId int64 `form:"user_id"`
}
type GetUserSubscribeListResponse struct {
List []UserSubscribe `json:"list"`
Total int64 `json:"total"`
}
type GetUserSubscribeLogsRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserId int64 `form:"user_id"`
SubscribeId int64 `form:"subscribe_id,omitempty"`
}
type GetUserSubscribeLogsResponse struct {
List []UserSubscribeLog `json:"list"`
Total int64 `json:"total"`
}
type GetUserSubscribeResetTrafficLogsRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserSubscribeId int64 `form:"user_subscribe_id"`
}
type GetUserSubscribeResetTrafficLogsResponse struct {
List []ResetSubscribeTrafficLog `json:"list"`
Total int64 `json:"total"`
}
type GetUserSubscribeTrafficLogsRequest struct {
Page int `form:"page"`
Size int `form:"size"`
UserId int64 `form:"user_id"`
SubscribeId int64 `form:"subscribe_id"`
StartTime int64 `form:"start_time"`
EndTime int64 `form:"end_time"`
}
type GetUserSubscribeTrafficLogsResponse struct {
List []TrafficLog `json:"list"`
Total int64 `json:"total"`
}
type GetUserTicketDetailRequest struct {
Id int64 `form:"id" validate:"required"`
}
type GetUserTicketListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Status *uint8 `form:"status,omitempty"`
Search string `form:"search,omitempty"`
}
type GetUserTicketListResponse struct {
Total int64 `json:"total"`
List []Ticket `json:"list"`
}
type GiftLog struct {
Type uint16 `json:"type"`
UserId int64 `json:"user_id"`
OrderNo string `json:"order_no"`
SubscribeId int64 `json:"subscribe_id"`
Amount int64 `json:"amount"`
Balance int64 `json:"balance"`
Remark string `json:"remark,omitempty"`
Timestamp int64 `json:"timestamp"`
}
type GoogleLoginCallbackRequest struct {
Code string `form:"code"`
State string `form:"state"`
}
type HasMigrateSeverNodeResponse struct {
HasMigrate bool `json:"has_migrate"`
}
type Hysteria2 struct {
Port int `json:"port" validate:"required"`
HopPorts string `json:"hop_ports" validate:"required"`
HopInterval int `json:"hop_interval" validate:"required"`
ObfsPassword string `json:"obfs_password" validate:"required"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type InviteConfig struct {
ForcedInvite bool `json:"forced_invite"`
ReferralPercentage int64 `json:"referral_percentage"`
OnlyFirstPurchase bool `json:"only_first_purchase"`
}
type KickOfflineRequest struct {
Id int64 `json:"id"`
}
type LogResponse struct {
List interface{} `json:"list"`
}
type LogSetting struct {
AutoClear *bool `json:"auto_clear"`
ClearDays int64 `json:"clear_days"`
}
type LoginLog struct {
UserId int64 `json:"user_id"`
Method string `json:"method"`
LoginIP string `json:"login_ip"`
UserAgent string `json:"user_agent"`
Success bool `json:"success"`
Timestamp int64 `json:"timestamp"`
}
type LoginResponse struct {
Token string `json:"token"`
}
type MessageLog struct {
Id int64 `json:"id"`
Type uint8 `json:"type"`
Platform string `json:"platform"`
To string `json:"to"`
Subject string `json:"subject"`
Content interface{} `json:"content"`
Status uint8 `json:"status"`
CreatedAt int64 `json:"created_at"`
}
type MigrateServerNodeResponse struct {
Succee uint64 `json:"succee"`
Fail uint64 `json:"fail"`
Message string `json:"message,omitempty"`
}
type MobileAuthenticateConfig struct {
Enable bool `json:"enable"`
EnableWhitelist bool `json:"enable_whitelist"`
Whitelist []string `json:"whitelist"`
}
type Node struct {
Id int64 `json:"id"`
Name string `json:"name"`
Tags []string `json:"tags"`
Port uint16 `json:"port"`
Address string `json:"address"`
ServerId int64 `json:"server_id"`
Protocol string `json:"protocol"`
Enabled *bool `json:"enabled"`
Sort int `json:"sort,omitempty"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type NodeConfig struct {
NodeSecret string `json:"node_secret"`
NodePullInterval int64 `json:"node_pull_interval"`
NodePushInterval int64 `json:"node_push_interval"`
}
type NodeRelay struct {
Host string `json:"host"`
Port int `json:"port"`
Prefix string `json:"prefix"`
}
type OAthLoginRequest struct {
Method string `json:"method" validate:"required"` // google, facebook, apple, telegram, github etc.
Redirect string `json:"redirect"`
}
type OAuthLoginGetTokenRequest struct {
Method string `json:"method" validate:"required"` // google, facebook, apple, telegram, github etc.
Callback interface{} `json:"callback" validate:"required"`
}
type OAuthLoginResponse struct {
Redirect string `json:"redirect"`
}
type OnlineUser struct {
SID int64 `json:"uid"`
IP string `json:"ip"`
}
type OnlineUsersRequest struct {
ServerCommon
Users []OnlineUser `json:"users"`
}
type Order struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
OrderNo string `json:"order_no"`
Type uint8 `json:"type"`
Quantity int64 `json:"quantity"`
Price int64 `json:"price"`
Amount int64 `json:"amount"`
GiftAmount int64 `json:"gift_amount"`
Discount int64 `json:"discount"`
Coupon string `json:"coupon"`
CouponDiscount int64 `json:"coupon_discount"`
Commission int64 `json:"commission,omitempty"`
Payment PaymentMethod `json:"payment"`
FeeAmount int64 `json:"fee_amount"`
TradeNo string `json:"trade_no"`
Status uint8 `json:"status"`
SubscribeId int64 `json:"subscribe_id"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type OrderDetail struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
OrderNo string `json:"order_no"`
Type uint8 `json:"type"`
Quantity int64 `json:"quantity"`
Price int64 `json:"price"`
Amount int64 `json:"amount"`
GiftAmount int64 `json:"gift_amount"`
Discount int64 `json:"discount"`
Coupon string `json:"coupon"`
CouponDiscount int64 `json:"coupon_discount"`
Commission int64 `json:"commission,omitempty"`
Payment PaymentMethod `json:"payment"`
Method string `json:"method"`
FeeAmount int64 `json:"fee_amount"`
TradeNo string `json:"trade_no"`
Status uint8 `json:"status"`
SubscribeId int64 `json:"subscribe_id"`
Subscribe Subscribe `json:"subscribe"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type OrdersStatistics struct {
Date string `json:"date,omitempty"`
AmountTotal int64 `json:"amount_total"`
NewOrderAmount int64 `json:"new_order_amount"`
RenewalOrderAmount int64 `json:"renewal_order_amount"`
List []OrdersStatistics `json:"list,omitempty"`
}
type PaymentConfig struct {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Platform string `json:"platform" validate:"required"`
Description string `json:"description"`
Icon string `json:"icon,omitempty"`
Domain string `json:"domain,omitempty"`
Config interface{} `json:"config" validate:"required"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent,omitempty"`
FeeAmount int64 `json:"fee_amount,omitempty"`
Enable *bool `json:"enable" validate:"required"`
}
type PaymentMethod struct {
Id int64 `json:"id"`
Name string `json:"name"`
Platform string `json:"platform"`
Description string `json:"description"`
Icon string `json:"icon"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent"`
FeeAmount int64 `json:"fee_amount"`
}
type PaymentMethodDetail struct {
Id int64 `json:"id"`
Name string `json:"name"`
Platform string `json:"platform"`
Description string `json:"description"`
Icon string `json:"icon"`
Domain string `json:"domain"`
Config interface{} `json:"config"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent"`
FeeAmount int64 `json:"fee_amount"`
Enable bool `json:"enable"`
NotifyURL string `json:"notify_url"`
}
type PlatformInfo struct {
Platform string `json:"platform"`
PlatformUrl string `json:"platform_url"`
PlatformFieldDescription map[string]string `json:"platform_field_description"`
}
type PlatformResponse struct {
List []PlatformInfo `json:"list"`
}
type PortalPurchaseRequest struct {
AuthType string `json:"auth_type"`
Identifier string `json:"identifier"`
Password string `json:"password,omitempty"`
Payment int64 `json:"payment"`
SubscribeId int64 `json:"subscribe_id"`
Quantity int64 `json:"quantity"`
Coupon string `json:"coupon,omitempty"`
InviteCode string `json:"invite_code,omitempty"`
TurnstileToken string `json:"turnstile_token,omitempty"`
}
type PortalPurchaseResponse struct {
OrderNo string `json:"order_no"`
}
type PreOrderResponse struct {
Price int64 `json:"price"`
Amount int64 `json:"amount"`
Discount int64 `json:"discount"`
GiftAmount int64 `json:"gift_amount"`
Coupon string `json:"coupon"`
CouponDiscount int64 `json:"coupon_discount"`
FeeAmount int64 `json:"fee_amount"`
}
type PrePurchaseOrderRequest struct {
Payment int64 `json:"payment,omitempty"`
SubscribeId int64 `json:"subscribe_id"`
Quantity int64 `json:"quantity"`
Coupon string `json:"coupon,omitempty"`
}
type PrePurchaseOrderResponse struct {
Price int64 `json:"price"`
Amount int64 `json:"amount"`
Discount int64 `json:"discount"`
Coupon string `json:"coupon"`
CouponDiscount int64 `json:"coupon_discount"`
FeeAmount int64 `json:"fee_amount"`
}
type PreRenewalOrderResponse struct {
OrderNo string `json:"orderNo"`
}
type PreUnsubscribeRequest struct {
Id int64 `json:"id"`
}
type PreUnsubscribeResponse struct {
DeductionAmount int64 `json:"deduction_amount"`
}
type PreviewSubscribeTemplateRequest struct {
Id int64 `form:"id"`
}
type PreviewSubscribeTemplateResponse struct {
Template string `json:"template"` // 预览的模板内容
}
type PrivacyPolicyConfig struct {
PrivacyPolicy string `json:"privacy_policy"`
}
type Protocol struct {
Type string `json:"type"`
Port uint16 `json:"port"`
Security string `json:"security,omitempty"`
SNI string `json:"sni,omitempty"`
AllowInsecure bool `json:"allow_insecure,omitempty"`
Fingerprint string `json:"fingerprint,omitempty"`
RealityServerAddr string `json:"reality_server_addr,omitempty"`
RealityServerPort int `json:"reality_server_port,omitempty"`
RealityPrivateKey string `json:"reality_private_key,omitempty"`
RealityPublicKey string `json:"reality_public_key,omitempty"`
RealityShortId string `json:"reality_short_id,omitempty"`
Transport string `json:"transport,omitempty"`
Host string `json:"host,omitempty"`
Path string `json:"path,omitempty"`
ServiceName string `json:"service_name,omitempty"`
Cipher string `json:"cipher,omitempty"`
ServerKey string `json:"server_key,omitempty"`
Flow string `json:"flow,omitempty"`
HopPorts string `json:"hop_ports,omitempty"`
HopInterval int `json:"hop_interval,omitempty"`
ObfsPassword string `json:"obfs_password,omitempty"`
DisableSNI bool `json:"disable_sni,omitempty"`
ReduceRtt bool `json:"reduce_rtt,omitempty"`
UDPRelayMode string `json:"udp_relay_mode,omitempty"`
CongestionController string `json:"congestion_controller,omitempty"`
}
type PubilcRegisterConfig struct {
StopRegister bool `json:"stop_register"`
EnableIpRegisterLimit bool `json:"enable_ip_register_limit"`
IpRegisterLimit int64 `json:"ip_register_limit"`
IpRegisterLimitDuration int64 `json:"ip_register_limit_duration"`
}
type PubilcVerifyCodeConfig struct {
VerifyCodeInterval int64 `json:"verify_code_interval"`
}
type PurchaseOrderRequest struct {
SubscribeId int64 `json:"subscribe_id"`
Quantity int64 `json:"quantity" validate:"required,gt=0"`
Payment int64 `json:"payment,omitempty"`
Coupon string `json:"coupon,omitempty"`
}
type PurchaseOrderResponse struct {
OrderNo string `json:"order_no"`
}
type QueryAnnouncementRequest struct {
Page int `form:"page"`
Size int `form:"size"`
Pinned *bool `form:"pinned"`
Popup *bool `form:"popup"`
}
type QueryAnnouncementResponse struct {
Total int64 `json:"total"`
List []Announcement `json:"announcements"`
}
type QueryDocumentDetailRequest struct {
Id int64 `form:"id" validate:"required"`
}
type QueryDocumentListResponse struct {
Total int64 `json:"total"`
List []Document `json:"list"`
}
type QueryNodeTagResponse struct {
Tags []string `json:"tags"`
}
type QueryOrderDetailRequest struct {
OrderNo string `form:"order_no" validate:"required"`
}
type QueryOrderListRequest struct {
Page int `form:"page" validate:"required"`
Size int `form:"size" validate:"required"`
}
type QueryOrderListResponse struct {
Total int64 `json:"total"`
List []OrderDetail `json:"list"`
}
type QueryPurchaseOrderRequest struct {
AuthType string `form:"auth_type"`
Identifier string `form:"identifier"`
OrderNo string `form:"order_no"`
}
type QueryPurchaseOrderResponse struct {
OrderNo string `json:"order_no"`
Subscribe Subscribe `json:"subscribe"`
Quantity int64 `json:"quantity"`
Price int64 `json:"price"`
Amount int64 `json:"amount"`
Discount int64 `json:"discount"`
Coupon string `json:"coupon"`
CouponDiscount int64 `json:"coupon_discount"`
FeeAmount int64 `json:"fee_amount"`
Payment PaymentMethod `json:"payment"`
Status uint8 `json:"status"`
CreatedAt int64 `json:"created_at"`
Token string `json:"token,omitempty"`
}
type QuerySubscribeGroupListResponse struct {
List []SubscribeGroup `json:"list"`
Total int64 `json:"total"`
}
type QuerySubscribeListResponse struct {
List []Subscribe `json:"list"`
Total int64 `json:"total"`
}
type QueryUserAffiliateCountResponse struct {
Registers int64 `json:"registers"`
TotalCommission int64 `json:"total_commission"`
}
type QueryUserAffiliateListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
}
type QueryUserAffiliateListResponse struct {
List []UserAffiliate `json:"list"`
Total int64 `json:"total"`
}
type QueryUserBalanceLogListResponse struct {
List []BalanceLog `json:"list"`
Total int64 `json:"total"`
}
type QueryUserCommissionLogListRequest struct {
Page int `form:"page"`
Size int `form:"size"`
}
type QueryUserCommissionLogListResponse struct {
List []CommissionLog `json:"list"`
Total int64 `json:"total"`
}
type QueryUserSubscribeListResponse struct {
List []UserSubscribe `json:"list"`
Total int64 `json:"total"`
}
type RechargeOrderRequest struct {
Amount int64 `json:"amount"`
Payment int64 `json:"payment"`
}
type RechargeOrderResponse struct {
OrderNo string `json:"order_no"`
}
type RegisterConfig struct {
StopRegister bool `json:"stop_register"`
EnableTrial bool `json:"enable_trial"`
TrialSubscribe int64 `json:"trial_subscribe"`
TrialTime int64 `json:"trial_time"`
TrialTimeUnit string `json:"trial_time_unit"`
EnableIpRegisterLimit bool `json:"enable_ip_register_limit"`
IpRegisterLimit int64 `json:"ip_register_limit"`
IpRegisterLimitDuration int64 `json:"ip_register_limit_duration"`
}
type RegisterLog struct {
UserId int64 `json:"user_id"`
AuthMethod string `json:"auth_method"`
Identifier string `json:"identifier"`
RegisterIP string `json:"register_ip"`
UserAgent string `json:"user_agent"`
Timestamp int64 `json:"timestamp"`
}
type RenewalOrderRequest struct {
UserSubscribeID int64 `json:"user_subscribe_id"`
Quantity int64 `json:"quantity"`
Payment int64 `json:"payment"`
Coupon string `json:"coupon,omitempty"`
}
type RenewalOrderResponse struct {
OrderNo string `json:"order_no"`
}
type ResetPasswordRequest struct {
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
Code string `json:"code,optional"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type ResetSortRequest struct {
Sort []SortItem `json:"sort"`
}
type ResetSubscribeLog struct {
Type uint16 `json:"type"`
UserId int64 `json:"user_id"`
UserSubscribeId int64 `json:"user_subscribe_id"`
OrderNo string `json:"order_no,omitempty"`
Timestamp int64 `json:"timestamp"`
}
type ResetSubscribeTrafficLog struct {
Id int64 `json:"id"`
Type uint16 `json:"type"`
UserSubscribeId int64 `json:"user_subscribe_id"`
OrderNo string `json:"order_no,omitempty"`
Timestamp int64 `json:"timestamp"`
}
type ResetTrafficOrderRequest struct {
UserSubscribeID int64 `json:"user_subscribe_id"`
Payment int64 `json:"payment"`
}
type ResetTrafficOrderResponse struct {
OrderNo string `json:"order_no"`
}
type ResetUserSubscribeTokenRequest struct {
UserSubscribeId int64 `json:"user_subscribe_id"`
}
type RevenueStatisticsResponse struct {
Today OrdersStatistics `json:"today"`
Monthly OrdersStatistics `json:"monthly"`
All OrdersStatistics `json:"all"`
}
type SecurityConfig struct {
SNI string `json:"sni"`
AllowInsecure *bool `json:"allow_insecure"`
Fingerprint string `json:"fingerprint"`
RealityServerAddr string `json:"reality_server_addr"`
RealityServerPort int `json:"reality_server_port"`
RealityPrivateKey string `json:"reality_private_key"`
RealityPublicKey string `json:"reality_public_key"`
RealityShortId string `json:"reality_short_id"`
}
type SendCodeRequest struct {
Email string `json:"email" validate:"required"`
Type uint8 `json:"type" validate:"required"`
}
type SendCodeResponse struct {
Code string `json:"code,omitempty"`
Status bool `json:"status"`
}
type SendSmsCodeRequest struct {
Type uint8 `json:"type" validate:"required"`
Telephone string `json:"telephone" validate:"required"`
TelephoneAreaCode string `json:"telephone_area_code" validate:"required"`
}
type Server struct {
Id int64 `json:"id"`
Name string `json:"name"`
Country string `json:"country"`
City string `json:"city"`
Ratio float32 `json:"ratio"`
Address string `json:"address"`
Sort int `json:"sort"`
Protocols []Protocol `json:"protocols"`
LastReportedAt int64 `json:"last_reported_at"`
Status ServerStatus `json:"status"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type ServerBasic struct {
PushInterval int64 `json:"push_interval"`
PullInterval int64 `json:"pull_interval"`
}
type ServerCommon struct {
Protocol string `form:"protocol"`
ServerId int64 `form:"server_id"`
SecretKey string `form:"secret_key"`
}
type ServerGroup struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type ServerOnlineIP struct {
IP string `json:"ip"`
Protocol string `json:"protocol"`
}
type ServerOnlineUser struct {
IP []ServerOnlineIP `json:"ip"`
UserId int64 `json:"user_id"`
Subscribe string `json:"subscribe"`
SubscribeId int64 `json:"subscribe_id"`
Traffic int64 `json:"traffic"`
ExpiredAt int64 `json:"expired_at"`
}
type ServerPushStatusRequest struct {
ServerCommon
Cpu float64 `json:"cpu"`
Mem float64 `json:"mem"`
Disk float64 `json:"disk"`
UpdatedAt int64 `json:"updated_at"`
}
type ServerPushUserTrafficRequest struct {
ServerCommon
Traffic []UserTraffic `json:"traffic"`
}
type ServerRuleGroup struct {
Id int64 `json:"id"`
Icon string `json:"icon"`
Name string `json:"name" validate:"required"`
Type string `json:"type"`
Tags []string `json:"tags"`
Rules string `json:"rules"`
Enable bool `json:"enable"`
Default bool `json:"default"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type ServerStatus struct {
Cpu float64 `json:"cpu"`
Mem float64 `json:"mem"`
Disk float64 `json:"disk"`
Protocol string `json:"protocol"`
Online []ServerOnlineUser `json:"online"`
Status string `json:"status"`
}
type ServerTotalDataResponse struct {
OnlineUsers int64 `json:"online_users"`
OnlineServers int64 `json:"online_servers"`
OfflineServers int64 `json:"offline_servers"`
TodayUpload int64 `json:"today_upload"`
TodayDownload int64 `json:"today_download"`
MonthlyUpload int64 `json:"monthly_upload"`
MonthlyDownload int64 `json:"monthly_download"`
UpdatedAt int64 `json:"updated_at"`
ServerTrafficRankingToday []ServerTrafficData `json:"server_traffic_ranking_today"`
ServerTrafficRankingYesterday []ServerTrafficData `json:"server_traffic_ranking_yesterday"`
UserTrafficRankingToday []UserTrafficData `json:"user_traffic_ranking_today"`
UserTrafficRankingYesterday []UserTrafficData `json:"user_traffic_ranking_yesterday"`
}
type ServerTrafficData struct {
ServerId int64 `json:"server_id"`
Name string `json:"name"`
Upload int64 `json:"upload"`
Download int64 `json:"download"`
}
type ServerTrafficLog struct {
ServerId int64 `json:"server_id"` // Server ID
Upload int64 `json:"upload"` // Upload traffic in bytes
Download int64 `json:"download"` // Download traffic in bytes
Total int64 `json:"total"` // Total traffic in bytes (Upload + Download)
Date string `json:"date"` // Date in YYYY-MM-DD format
Details bool `json:"details"` // Whether to show detailed traffic
}
type ServerUser struct {
Id int64 `json:"id"`
UUID string `json:"uuid"`
SpeedLimit int64 `json:"speed_limit"`
DeviceLimit int64 `json:"device_limit"`
}
type SetNodeMultiplierRequest struct {
Periods []TimePeriod `json:"periods"`
}
type Shadowsocks struct {
Method string `json:"method" validate:"required"`
Port int `json:"port" validate:"required"`
ServerKey string `json:"server_key"`
}
type ShadowsocksProtocol struct {
Port int `json:"port"`
Method string `json:"method"`
}
type SiteConfig struct {
Host string `json:"host"`
SiteName string `json:"site_name"`
SiteDesc string `json:"site_desc"`
SiteLogo string `json:"site_logo"`
Keywords string `json:"keywords"`
CustomHTML string `json:"custom_html"`
CustomData string `json:"custom_data"`
}
type SiteCustomDataContacts struct {
Email string `json:"email"`
Telephone string `json:"telephone"`
Address string `json:"address"`
}
type SortItem struct {
Id int64 `json:"id" validate:"required"`
Sort int64 `json:"sort" validate:"required"`
}
type StopBatchSendEmailTaskRequest struct {
Id int64 `json:"id"`
}
type StripePayment struct {
Method string `json:"method"`
ClientSecret string `json:"client_secret"`
PublishableKey string `json:"publishable_key"`
}
type Subscribe struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
UnitPrice int64 `json:"unit_price"`
UnitTime string `json:"unit_time"`
Discount []SubscribeDiscount `json:"discount"`
Replacement int64 `json:"replacement"`
Inventory int64 `json:"inventory"`
Traffic int64 `json:"traffic"`
SpeedLimit int64 `json:"speed_limit"`
DeviceLimit int64 `json:"device_limit"`
Quota int64 `json:"quota"`
GroupId int64 `json:"group_id"`
Nodes []int64 `json:"nodes"`
NodeTags []string `json:"node_tags"`
Show bool `json:"show"`
Sell bool `json:"sell"`
Sort int64 `json:"sort"`
DeductionRatio int64 `json:"deduction_ratio"`
AllowDeduction bool `json:"allow_deduction"`
ResetCycle int64 `json:"reset_cycle"`
RenewalReset bool `json:"renewal_reset"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type SubscribeApplication struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Icon string `json:"icon,omitempty"`
Scheme string `json:"scheme,omitempty"`
UserAgent string `json:"user_agent"`
IsDefault bool `json:"is_default"`
SubscribeTemplate string `json:"template"`
OutputFormat string `json:"output_format"`
DownloadLink DownloadLink `json:"download_link,omitempty"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type SubscribeClient struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Icon string `json:"icon,omitempty"`
Scheme string `json:"scheme,omitempty"`
IsDefault bool `json:"is_default"`
DownloadLink DownloadLink `json:"download_link,omitempty"`
}
type SubscribeConfig struct {
SingleModel bool `json:"single_model"`
SubscribePath string `json:"subscribe_path"`
SubscribeDomain string `json:"subscribe_domain"`
PanDomain bool `json:"pan_domain"`
UserAgentLimit bool `json:"user_agent_limit"`
UserAgentList string `json:"user_agent_list"`
}
type SubscribeDiscount struct {
Quantity int64 `json:"quantity"`
Discount int64 `json:"discount"`
}
type SubscribeGroup struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type SubscribeItem struct {
Subscribe
Sold int64 `json:"sold"`
}
type SubscribeLog struct {
UserId int64 `json:"user_id"`
Token string `json:"token"`
UserAgent string `json:"user_agent"`
ClientIP string `json:"client_ip"`
UserSubscribeId int64 `json:"user_subscribe_id"`
Timestamp int64 `json:"timestamp"`
}
type SubscribeSortRequest struct {
Sort []SortItem `json:"sort"`
}
type SubscribeType struct {
SubscribeTypes []string `json:"subscribe_types"`
}
type TelegramConfig struct {
TelegramBotToken string `json:"telegram_bot_token"`
TelegramGroupUrl string `json:"telegram_group_url"`
TelegramNotify bool `json:"telegram_notify"`
TelegramWebHookDomain string `json:"telegram_web_hook_domain"`
}
type TelephoneCheckUserRequest struct {
Telephone string `form:"telephone" validate:"required"`
TelephoneAreaCode string `json:"telephone_area_code" validate:"required"`
}
type TelephoneCheckUserResponse struct {
Exist bool `json:"exist"`
}
type TelephoneLoginRequest struct {
Telephone string `json:"telephone" validate:"required"`
TelephoneCode string `json:"telephone_code"`
TelephoneAreaCode string `json:"telephone_area_code" validate:"required"`
Password string `json:"password"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type TelephoneRegisterRequest struct {
Telephone string `json:"telephone" validate:"required"`
TelephoneAreaCode string `json:"telephone_area_code" validate:"required"`
Password string `json:"password" validate:"required"`
Invite string `json:"invite,optional"`
Code string `json:"code,optional"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type TelephoneResetPasswordRequest struct {
Telephone string `json:"telephone" validate:"required"`
TelephoneAreaCode string `json:"telephone_area_code" validate:"required"`
Password string `json:"password" validate:"required"`
Code string `json:"code,optional"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type TestEmailSendRequest struct {
Email string `json:"email" validate:"required"`
}
type TestSmsSendRequest struct {
AreaCode string `json:"area_code" validate:"required"`
Telephone string `json:"telephone" validate:"required"`
}
type Ticket struct {
Id int64 `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
UserId int64 `json:"user_id"`
Follows []Follow `json:"follow,omitempty"`
Status uint8 `json:"status"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type TicketWaitRelpyResponse struct {
Count int64 `json:"count"`
}
type TimePeriod struct {
StartTime string `json:"start_time"`
EndTime string `json:"end_time"`
Multiplier float32 `json:"multiplier"`
}
type ToggleNodeStatusRequest struct {
Id int64 `json:"id"`
Enable *bool `json:"enable"`
}
type TosConfig struct {
TosContent string `json:"tos_content"`
}
type TrafficLog struct {
Id int64 `json:"id"`
ServerId int64 `json:"server_id"`
UserId int64 `json:"user_id"`
SubscribeId int64 `json:"subscribe_id"`
Download int64 `json:"download"`
Upload int64 `json:"upload"`
Timestamp int64 `json:"timestamp"`
}
type TrafficLogDetails struct {
Id int64 `json:"id"`
ServerId int64 `json:"server_id"`
UserId int64 `json:"user_id"`
SubscribeId int64 `json:"subscribe_id"`
Download int64 `json:"download"`
Upload int64 `json:"upload"`
Timestamp int64 `json:"timestamp"`
}
type TransportConfig struct {
Path string `json:"path"`
Host string `json:"host"`
ServiceName string `json:"service_name"`
}
type Trojan struct {
Port int `json:"port" validate:"required"`
Transport string `json:"transport" validate:"required"`
TransportConfig TransportConfig `json:"transport_config"`
Security string `json:"security" validate:"required"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type TrojanProtocol struct {
Host string `json:"host"`
Port int `json:"port"`
EnableTLS *bool `json:"enable_tls"`
TLSConfig string `json:"tls_config"`
Network string `json:"network"`
Transport string `json:"transport"`
}
type Tuic struct {
Port int `json:"port" validate:"required"`
DisableSNI bool `json:"disable_sni"`
ReduceRtt bool `json:"reduce_rtt"`
UDPRelayMode string `json:"udp_relay_mode"`
CongestionController string `json:"congestion_controller"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type UnbindOAuthRequest struct {
Method string `json:"method"`
}
type UnsubscribeRequest struct {
Id int64 `json:"id"`
}
type UpdateAdsRequest struct {
Id int64 `json:"id"`
Title string `json:"title"`
Type string `json:"type"`
Content string `json:"content"`
Description string `json:"description"`
TargetURL string `json:"target_url"`
StartTime int64 `json:"start_time"`
EndTime int64 `json:"end_time"`
Status int `json:"status"`
}
type UpdateAnnouncementEnableRequest struct {
Id int64 `json:"id" validate:"required"`
Enable *bool `json:"enable" validate:"required"`
}
type UpdateAnnouncementRequest struct {
Id int64 `json:"id" validate:"required"`
Title string `json:"title"`
Content string `json:"content"`
Show *bool `json:"show"`
Pinned *bool `json:"pinned"`
Popup *bool `json:"popup"`
}
type UpdateAuthMethodConfigRequest struct {
Id int64 `json:"id"`
Method string `json:"method"`
Config interface{} `json:"config"`
Enabled *bool `json:"enabled"`
}
type UpdateBindEmailRequest struct {
Email string `json:"email" validate:"required"`
}
type UpdateBindMobileRequest struct {
AreaCode string `json:"area_code" validate:"required"`
Mobile string `json:"mobile" validate:"required"`
Code string `json:"code" validate:"required"`
}
type UpdateCouponRequest struct {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Code string `json:"code,omitempty"`
Count int64 `json:"count,omitempty"`
Type uint8 `json:"type" validate:"required"`
Discount int64 `json:"discount" validate:"required"`
StartTime int64 `json:"start_time" validate:"required"`
ExpireTime int64 `json:"expire_time" validate:"required"`
UserLimit int64 `json:"user_limit,omitempty"`
Subscribe []int64 `json:"subscribe,omitempty"`
UsedCount int64 `json:"used_count,omitempty"`
Enable *bool `json:"enable,omitempty"`
}
type UpdateDocumentRequest struct {
Id int64 `json:"id" validate:"required"`
Title string `json:"title" validate:"required"`
Content string `json:"content" validate:"required"`
Tags []string `json:"tags,omitempty" `
Show *bool `json:"show"`
}
type UpdateNodeRequest struct {
Id int64 `json:"id"`
Name string `json:"name"`
Tags []string `json:"tags,omitempty"`
Port uint16 `json:"port"`
Address string `json:"address"`
ServerId int64 `json:"server_id"`
Protocol string `json:"protocol"`
Enabled *bool `json:"enabled"`
}
type UpdateOrderStatusRequest struct {
Id int64 `json:"id" validate:"required"`
Status uint8 `json:"status" validate:"required"`
PaymentId int64 `json:"payment_id,omitempty"`
TradeNo string `json:"trade_no,omitempty"`
}
type UpdatePaymentMethodRequest struct {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Platform string `json:"platform" validate:"required"`
Description string `json:"description"`
Icon string `json:"icon,omitempty"`
Domain string `json:"domain,omitempty"`
Config interface{} `json:"config" validate:"required"`
FeeMode uint `json:"fee_mode"`
FeePercent int64 `json:"fee_percent,omitempty"`
FeeAmount int64 `json:"fee_amount,omitempty"`
Enable *bool `json:"enable" validate:"required"`
}
type UpdateServerRequest struct {
Id int64 `json:"id"`
Name string `json:"name"`
Country string `json:"country,omitempty"`
City string `json:"city,omitempty"`
Ratio float32 `json:"ratio"`
Address string `json:"address"`
Sort int `json:"sort,omitempty"`
Protocols []Protocol `json:"protocols"`
}
type UpdateSubscribeApplicationRequest struct {
Id int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Icon string `json:"icon,omitempty"`
Scheme string `json:"scheme,omitempty"`
UserAgent string `json:"user_agent"`
IsDefault bool `json:"is_default"`
SubscribeTemplate string `json:"template"`
OutputFormat string `json:"output_format"`
DownloadLink DownloadLink `json:"download_link,omitempty"`
}
type UpdateSubscribeGroupRequest struct {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Description string `json:"description"`
}
type UpdateSubscribeRequest struct {
Id int64 `json:"id" validate:"required"`
Name string `json:"name" validate:"required"`
Description string `json:"description"`
UnitPrice int64 `json:"unit_price"`
UnitTime string `json:"unit_time"`
Discount []SubscribeDiscount `json:"discount"`
Replacement int64 `json:"replacement"`
Inventory int64 `json:"inventory"`
Traffic int64 `json:"traffic"`
SpeedLimit int64 `json:"speed_limit"`
DeviceLimit int64 `json:"device_limit"`
Quota int64 `json:"quota"`
GroupId int64 `json:"group_id"`
Nodes []int64 `json:"nodes"`
NodeTags []string `json:"node_tags"`
Show *bool `json:"show"`
Sell *bool `json:"sell"`
Sort int64 `json:"sort"`
DeductionRatio int64 `json:"deduction_ratio"`
AllowDeduction *bool `json:"allow_deduction"`
ResetCycle int64 `json:"reset_cycle"`
RenewalReset *bool `json:"renewal_reset"`
}
type UpdateTicketStatusRequest struct {
Id int64 `json:"id" validate:"required"`
Status *uint8 `json:"status" validate:"required"`
}
type UpdateUserAuthMethodRequest struct {
UserId int64 `json:"user_id"`
AuthType string `json:"auth_type"`
AuthIdentifier string `json:"auth_identifier"`
}
type UpdateUserBasiceInfoRequest struct {
UserId int64 `json:"user_id" validate:"required"`
Password string `json:"password"`
Avatar string `json:"avatar"`
Balance int64 `json:"balance"`
Commission int64 `json:"commission"`
ReferralPercentage uint8 `json:"referral_percentage"`
OnlyFirstPurchase bool `json:"only_first_purchase"`
GiftAmount int64 `json:"gift_amount"`
Telegram int64 `json:"telegram"`
ReferCode string `json:"refer_code"`
RefererId int64 `json:"referer_id"`
Enable bool `json:"enable"`
IsAdmin bool `json:"is_admin"`
}
type UpdateUserNotifyRequest struct {
EnableBalanceNotify *bool `json:"enable_balance_notify"`
EnableLoginNotify *bool `json:"enable_login_notify"`
EnableSubscribeNotify *bool `json:"enable_subscribe_notify"`
EnableTradeNotify *bool `json:"enable_trade_notify"`
}
type UpdateUserNotifySettingRequest struct {
UserId int64 `json:"user_id" validate:"required"`
EnableBalanceNotify bool `json:"enable_balance_notify"`
EnableLoginNotify bool `json:"enable_login_notify"`
EnableSubscribeNotify bool `json:"enable_subscribe_notify"`
EnableTradeNotify bool `json:"enable_trade_notify"`
}
type UpdateUserPasswordRequest struct {
Password string `json:"password" validate:"required"`
}
type UpdateUserSubscribeRequest struct {
UserSubscribeId int64 `json:"user_subscribe_id"`
SubscribeId int64 `json:"subscribe_id"`
Traffic int64 `json:"traffic"`
ExpiredAt int64 `json:"expired_at"`
Upload int64 `json:"upload"`
Download int64 `json:"download"`
}
type UpdateUserTicketStatusRequest struct {
Id int64 `json:"id" validate:"required"`
Status *uint8 `json:"status" validate:"required"`
}
type User struct {
Id int64 `json:"id"`
Avatar string `json:"avatar"`
Balance int64 `json:"balance"`
Commission int64 `json:"commission"`
ReferralPercentage uint8 `json:"referral_percentage"`
OnlyFirstPurchase bool `json:"only_first_purchase"`
GiftAmount int64 `json:"gift_amount"`
Telegram int64 `json:"telegram"`
ReferCode string `json:"refer_code"`
RefererId int64 `json:"referer_id"`
Enable bool `json:"enable"`
IsAdmin bool `json:"is_admin,omitempty"`
EnableBalanceNotify bool `json:"enable_balance_notify"`
EnableLoginNotify bool `json:"enable_login_notify"`
EnableSubscribeNotify bool `json:"enable_subscribe_notify"`
EnableTradeNotify bool `json:"enable_trade_notify"`
AuthMethods []UserAuthMethod `json:"auth_methods"`
UserDevices []UserDevice `json:"user_devices"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
DeletedAt int64 `json:"deleted_at,omitempty"`
IsDel bool `json:"is_del,omitempty"`
}
type UserAffiliate struct {
Avatar string `json:"avatar"`
Identifier string `json:"identifier"`
RegisteredAt int64 `json:"registered_at"`
Enable bool `json:"enable"`
}
type UserAuthMethod struct {
AuthType string `json:"auth_type"`
AuthIdentifier string `json:"auth_identifier"`
Verified bool `json:"verified"`
}
type UserDevice struct {
Id int64 `json:"id"`
Ip string `json:"ip"`
Identifier string `json:"identifier"`
UserAgent string `json:"user_agent"`
Online bool `json:"online"`
Enabled bool `json:"enabled"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type UserLoginLog struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
LoginIP string `json:"login_ip"`
UserAgent string `json:"user_agent"`
Success bool `json:"success"`
Timestamp int64 `json:"timestamp"`
}
type UserLoginRequest struct {
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type UserRegisterRequest struct {
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
Invite string `json:"invite,optional"`
Code string `json:"code,optional"`
IP string `header:"X-Original-Forwarded-For"`
UserAgent string `header:"User-Agent"`
CfToken string `json:"cf_token,optional"`
}
type UserStatistics struct {
Date string `json:"date,omitempty"`
Register int64 `json:"register"`
NewOrderUsers int64 `json:"new_order_users"`
RenewalOrderUsers int64 `json:"renewal_order_users"`
List []UserStatistics `json:"list,omitempty"`
}
type UserStatisticsResponse struct {
Today UserStatistics `json:"today"`
Monthly UserStatistics `json:"monthly"`
All UserStatistics `json:"all"`
}
type UserSubscribe struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
OrderId int64 `json:"order_id"`
SubscribeId int64 `json:"subscribe_id"`
Subscribe Subscribe `json:"subscribe"`
StartTime int64 `json:"start_time"`
ExpireTime int64 `json:"expire_time"`
FinishedAt int64 `json:"finished_at"`
ResetTime int64 `json:"reset_time"`
Traffic int64 `json:"traffic"`
Download int64 `json:"download"`
Upload int64 `json:"upload"`
Token string `json:"token"`
Status uint8 `json:"status"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type UserSubscribeDetail struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
User User `json:"user"`
OrderId int64 `json:"order_id"`
SubscribeId int64 `json:"subscribe_id"`
Subscribe Subscribe `json:"subscribe"`
StartTime int64 `json:"start_time"`
ExpireTime int64 `json:"expire_time"`
ResetTime int64 `json:"reset_time"`
Traffic int64 `json:"traffic"`
Download int64 `json:"download"`
Upload int64 `json:"upload"`
Token string `json:"token"`
Status uint8 `json:"status"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type UserSubscribeLog struct {
Id int64 `json:"id"`
UserId int64 `json:"user_id"`
UserSubscribeId int64 `json:"user_subscribe_id"`
Token string `json:"token"`
IP string `json:"ip"`
UserAgent string `json:"user_agent"`
Timestamp int64 `json:"timestamp"`
}
type UserSubscribeTrafficLog struct {
SubscribeId int64 `json:"subscribe_id"` // Subscribe ID
UserId int64 `json:"user_id"` // User ID
Upload int64 `json:"upload"` // Upload traffic in bytes
Download int64 `json:"download"` // Download traffic in bytes
Total int64 `json:"total"` // Total traffic in bytes (Upload + Download)
Date string `json:"date"` // Date in YYYY-MM-DD format
Details bool `json:"details"` // Whether to show detailed traffic
}
type UserTraffic struct {
SID int64 `json:"uid"`
Upload int64 `json:"upload"`
Download int64 `json:"download"`
}
type UserTrafficData struct {
SID int64 `json:"sid"`
Upload int64 `json:"upload"`
Download int64 `json:"download"`
}
type VeifyConfig struct {
TurnstileSiteKey string `json:"turnstile_site_key"`
EnableLoginVerify bool `json:"enable_login_verify"`
EnableRegisterVerify bool `json:"enable_register_verify"`
EnableResetPasswordVerify bool `json:"enable_reset_password_verify"`
}
type VerifyCodeConfig struct {
VerifyCodeExpireTime int64 `json:"verify_code_expire_time"`
VerifyCodeLimit int64 `json:"verify_code_limit"`
VerifyCodeInterval int64 `json:"verify_code_interval"`
}
type VerifyConfig struct {
TurnstileSiteKey string `json:"turnstile_site_key"`
TurnstileSecret string `json:"turnstile_secret"`
EnableLoginVerify bool `json:"enable_login_verify"`
EnableRegisterVerify bool `json:"enable_register_verify"`
EnableResetPasswordVerify bool `json:"enable_reset_password_verify"`
}
type VerifyEmailRequest struct {
Email string `json:"email" validate:"required"`
Code string `json:"code" validate:"required"`
}
type VersionResponse struct {
Version string `json:"version"`
}
type Vless struct {
Port int `json:"port" validate:"required"`
Flow string `json:"flow" validate:"required"`
Transport string `json:"transport" validate:"required"`
TransportConfig TransportConfig `json:"transport_config"`
Security string `json:"security" validate:"required"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type VlessProtocol struct {
Host string `json:"host"`
Port int `json:"port"`
Network string `json:"network"`
Transport string `json:"transport"`
Security string `json:"security"`
SecurityConfig string `json:"security_config"`
XTLS string `json:"xtls"`
}
type Vmess struct {
Port int `json:"port" validate:"required"`
Transport string `json:"transport" validate:"required"`
TransportConfig TransportConfig `json:"transport_config"`
Security string `json:"security" validate:"required"`
SecurityConfig SecurityConfig `json:"security_config"`
}
type VmessProtocol struct {
Host string `json:"host"`
Port int `json:"port"`
EnableTLS *bool `json:"enable_tls"`
TLSConfig string `json:"tls_config"`
Network string `json:"network"`
Transport string `json:"transport"`
}