* refactor: rename queryannouncementhandler.go to queryAnnouncementLogic.go for clarity
* feat(panDomain): update subscription logic to use V2 handler for improved functionality
* refactor(subscribe): replace V2 handler with a unified Handler method for subscription logic
* feat(subscribe): implement user agent limit feature with configurable list
* fix(subscribe): improve error handling and logging for subscription requests
* feat(subscribe): add user agent limit configuration to system settings
* refactor(api): remove deprecated application-related endpoints and types
* refactor(swagger): remove deprecated app.json generation from swagger configuration
* refactor(swagger): remove deprecated app.json check from swagger configuration
* fix(subscribe): update delete method to use Where clause for improved query accuracy
* fix(subscribe): update Id field tag to use primaryKey and improve save method query
* fix(subscribe): update Id field tag to use primaryKey and improve model queries
* fix(subscribe): rename variable for clarity and add special handling for Stash user agent
* fix(email): convert RegisterStartTime and RegisterEndTime to time.Time for accurate query filtering
* refactor(log): consolidate logging models and update related logic for improved clarity and functionality
* fix(types): change Content field type in MessageLog to interface{} for improved flexibility
* fix(log): change MessageLog list to use value type for improved performance and memory efficiency
* fix(email): set EmailTypeVerify in task payload and update content type conversion for verification email
* fix(log): remove unused Id field from SystemLog during login log insertion
* fix(login): remove debug logs and error logging during user login process
* fix(log): add traffic reset logging for subscription resets
* fix(log): insert reset traffic log during subscription activation
* feat(log): add endpoints for retrieving and resetting subscribe traffic logs
* refactor(log): remove Reset Subscribe Traffic Log endpoint and related types
* feat(traffic): add traffic statistics logging and scheduling
* fix(subscribe): ensure active status and reset timestamps during traffic resets
* feat(api): enhance server and node management with new request/response structures
* refactor(api): rename OnlineUser to ServerOnlineUser for clarity
* feat(api): define OnlineUser type with SID and IP fields
* feat(server): implement server management handlers and database schema
* feat(api): add traffic log details filtering and enhance traffic log structures
* feat(api): migrate server and node data handling, update related structures and logic
* feat(server): implement server deletion logic with error handling
* feat(api): update log filtering to use ResetSubscribe type for subscription logs
* feat(api): standardize timestamp field across log structures
* feat(api): refactor cache key handling for server and user lists
* feat(api): enhance server status handling with protocol support and refactor related logic
* fix(traffic): adjust start date for traffic statistics and improve log deletion comment
* feat(api): implement daily traffic ranking for users and servers with error handling
* feat(api): update server total data response to use 'OnlineUsers' and implement daily traffic statistics logging
* feat(api): add log settings management with auto-clear and clear days configuration
* fix(log): correct category in log settings update query
* feat(routes): add handler for scheduled traffic statistics
* feat(model): add user counts struct and update queries for new and renewal users
* feat(api): add referral percentage and only first purchase fields to user model and requests
* feat(database): update user table to add referral percentage and only first purchase fields
* feat(api): add reset sort endpoints for server and node
* feat(api): add sort field to server model
* feat(api): implement sorting functionality for nodes and servers
* fix(database): add sort column to nodes table
* fix(model): enhance user statistics queries with new order and renewal order counts
* fix(log): update timestamp handling in login and registration logs
* fix(log): update sorting logic for server and user subscribe traffic logs
* fix(server): add server status handling based on last reported time
* fix(model): correct filter condition to use 'date' instead of 'data'
* fix(migration): add index for traffic log on timestamp, user_id, and subscribe_id
* fix(log): optimize user traffic rank data handling by using append instead of index assignment
* fix(filter): refactor node list creation to use append and remove duplicates from tags
* fix(node): add ServerId and Enabled fields to node update logic
* feat(tags): add endpoint to query all node tags
* fix(preview): add Preload parameter to FilterNodeList for improved data retrieval
* fix(log): date is empty
* feat(subscribe): add Language field to subscription models and update query logic
* feat(subscription): add Language parameter to GetSubscription request and update query logic
* fix(server): encode ServerKey in base64 and update last reported time for nodes
* feat: delete common GetSubscription
* feat(subscription): implement FilterList method for subscription queries and update related logic
* fix(subscribe): remove duplicate user agents in SubscribeHandler
* fix(push): initialize onlineUsers as a map in pushOnlineUsersLogic
* fix(reset): initialize subs as a map in clearCache method
* refactor(query): simplify node and tag filtering using InSet function
* feat(userlist): enhance GetServerUserListLogic with improved node and tag handling
* fix(userlist): correct node ID assignment and update query logic for tag filtering
* fix(userlist): correct node ID assignment in getServerUserListLogic
* refactor(query): streamline query construction for tag filtering
* fix(statistics): optimize server ranking data handling in QueryServerTotalDataLogic
* refactor(statistics): simplify server ranking data construction in QueryServerTotalDataLogic
* fix(statistics): correct server traffic data assignment in QueryServerTotalDataLogic
* fix(statistics): optimize yesterday's top 10 server traffic data assignment in QueryServerTotalDataLogic
* fix(middleware): remove duplicate elements from user agent list in PanDomainMiddleware
* feat(middleware): enhance user agent handling by querying client list in PanDomainMiddleware
* feat(client): subscribe_template
* feat(oauth): add user agent and IP logging to registration and login processes
* fix(balance): add timestamp to balance logs for payment, refund, and recharge transactions
* fix(log): correct comment for CommissionTypeRefund to improve clarity
* fix(log): replace magic number with constant for gift type in purchase checkout logic
* fix(log): rename OrderId to OrderNo for consistency in balance logging
* feat(log): add logging for balance, gift amount, and commission adjustments
* fix(user): correct placement of DeepCopy for user info update logic
* feat(log): add UserSubscribeId to FilterSubscribeLogRequest for enhanced filtering
* fix(purchase): streamline error handling and improve JSON marshaling for temporary orders
* fix(order): simplify commission handling and improve payload parsing logic
* fix(order): update commission calculation to actual payment amount minus gateway handling fee
* feat(payment): add support for CryptoSaaS payment platform and enhance configuration handling
* fix(balance): update QueryUserBalanceLog response structure to include balance log list
* fix(email): update task progress handling to use specific task ID for updates
* feat(quota): add quota task creation and querying endpoints with updated data structures
* fix(email): update task handling to use generic task model and improve error logging
* fix(order): improve error logging for database transaction and user cache updates
* feat(quota): enhance quota task management with new request structures and processing logic
* fix(quota): remove redundant quota task status endpoint from admin marketing routes
* fix(worker): update task completion status handling in worker logic
* fix(quota): update taskInfo to include current subscription count in quota logic
* doc(log): rename function for clarity and add cache cleanup comment
* fix(quota): update time handling in quota logic and correct subscriber ID query
* fix(quota): update time handling to use UnixMilli for start time in quota logic
* feat(protocol): add server protocol configuration query and enhance protocol options
* fix(quota): correct time range queries for start and expire times in quota logic
* fix(types): update plugin options to include 'none' in the plugin field
---------
Co-authored-by: Chang lue Tsen <tension@ppanel.dev>
853 lines
32 KiB
Go
853 lines
32 KiB
Go
// Code generated by goctl. DO NOT EDIT.
|
|
// goctl 1.7.2
|
|
|
|
package handler
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
adminAds "github.com/perfect-panel/server/internal/handler/admin/ads"
|
|
adminAnnouncement "github.com/perfect-panel/server/internal/handler/admin/announcement"
|
|
adminApplication "github.com/perfect-panel/server/internal/handler/admin/application"
|
|
adminAuthMethod "github.com/perfect-panel/server/internal/handler/admin/authMethod"
|
|
adminConsole "github.com/perfect-panel/server/internal/handler/admin/console"
|
|
adminCoupon "github.com/perfect-panel/server/internal/handler/admin/coupon"
|
|
adminDocument "github.com/perfect-panel/server/internal/handler/admin/document"
|
|
adminLog "github.com/perfect-panel/server/internal/handler/admin/log"
|
|
adminMarketing "github.com/perfect-panel/server/internal/handler/admin/marketing"
|
|
adminOrder "github.com/perfect-panel/server/internal/handler/admin/order"
|
|
adminPayment "github.com/perfect-panel/server/internal/handler/admin/payment"
|
|
adminServer "github.com/perfect-panel/server/internal/handler/admin/server"
|
|
adminSubscribe "github.com/perfect-panel/server/internal/handler/admin/subscribe"
|
|
adminSystem "github.com/perfect-panel/server/internal/handler/admin/system"
|
|
adminTicket "github.com/perfect-panel/server/internal/handler/admin/ticket"
|
|
adminTool "github.com/perfect-panel/server/internal/handler/admin/tool"
|
|
adminUser "github.com/perfect-panel/server/internal/handler/admin/user"
|
|
auth "github.com/perfect-panel/server/internal/handler/auth"
|
|
authOauth "github.com/perfect-panel/server/internal/handler/auth/oauth"
|
|
common "github.com/perfect-panel/server/internal/handler/common"
|
|
publicAnnouncement "github.com/perfect-panel/server/internal/handler/public/announcement"
|
|
publicDocument "github.com/perfect-panel/server/internal/handler/public/document"
|
|
publicOrder "github.com/perfect-panel/server/internal/handler/public/order"
|
|
publicPayment "github.com/perfect-panel/server/internal/handler/public/payment"
|
|
publicPortal "github.com/perfect-panel/server/internal/handler/public/portal"
|
|
publicSubscribe "github.com/perfect-panel/server/internal/handler/public/subscribe"
|
|
publicTicket "github.com/perfect-panel/server/internal/handler/public/ticket"
|
|
publicUser "github.com/perfect-panel/server/internal/handler/public/user"
|
|
server "github.com/perfect-panel/server/internal/handler/server"
|
|
"github.com/perfect-panel/server/internal/middleware"
|
|
"github.com/perfect-panel/server/internal/svc"
|
|
)
|
|
|
|
func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) {
|
|
adminAdsGroupRouter := router.Group("/v1/admin/ads")
|
|
adminAdsGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create Ads
|
|
adminAdsGroupRouter.POST("/", adminAds.CreateAdsHandler(serverCtx))
|
|
|
|
// Update Ads
|
|
adminAdsGroupRouter.PUT("/", adminAds.UpdateAdsHandler(serverCtx))
|
|
|
|
// Delete Ads
|
|
adminAdsGroupRouter.DELETE("/", adminAds.DeleteAdsHandler(serverCtx))
|
|
|
|
// Get Ads Detail
|
|
adminAdsGroupRouter.GET("/detail", adminAds.GetAdsDetailHandler(serverCtx))
|
|
|
|
// Get Ads List
|
|
adminAdsGroupRouter.GET("/list", adminAds.GetAdsListHandler(serverCtx))
|
|
}
|
|
|
|
adminAnnouncementGroupRouter := router.Group("/v1/admin/announcement")
|
|
adminAnnouncementGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create announcement
|
|
adminAnnouncementGroupRouter.POST("/", adminAnnouncement.CreateAnnouncementHandler(serverCtx))
|
|
|
|
// Update announcement
|
|
adminAnnouncementGroupRouter.PUT("/", adminAnnouncement.UpdateAnnouncementHandler(serverCtx))
|
|
|
|
// Delete announcement
|
|
adminAnnouncementGroupRouter.DELETE("/", adminAnnouncement.DeleteAnnouncementHandler(serverCtx))
|
|
|
|
// Get announcement
|
|
adminAnnouncementGroupRouter.GET("/detail", adminAnnouncement.GetAnnouncementHandler(serverCtx))
|
|
|
|
// Get announcement list
|
|
adminAnnouncementGroupRouter.GET("/list", adminAnnouncement.GetAnnouncementListHandler(serverCtx))
|
|
}
|
|
|
|
adminApplicationGroupRouter := router.Group("/v1/admin/application")
|
|
adminApplicationGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create subscribe application
|
|
adminApplicationGroupRouter.POST("/", adminApplication.CreateSubscribeApplicationHandler(serverCtx))
|
|
|
|
// Preview Template
|
|
adminApplicationGroupRouter.GET("/preview", adminApplication.PreviewSubscribeTemplateHandler(serverCtx))
|
|
|
|
// Update subscribe application
|
|
adminApplicationGroupRouter.PUT("/subscribe_application", adminApplication.UpdateSubscribeApplicationHandler(serverCtx))
|
|
|
|
// Delete subscribe application
|
|
adminApplicationGroupRouter.DELETE("/subscribe_application", adminApplication.DeleteSubscribeApplicationHandler(serverCtx))
|
|
|
|
// Get subscribe application list
|
|
adminApplicationGroupRouter.GET("/subscribe_application_list", adminApplication.GetSubscribeApplicationListHandler(serverCtx))
|
|
}
|
|
|
|
adminAuthMethodGroupRouter := router.Group("/v1/admin/auth-method")
|
|
adminAuthMethodGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get auth method config
|
|
adminAuthMethodGroupRouter.GET("/config", adminAuthMethod.GetAuthMethodConfigHandler(serverCtx))
|
|
|
|
// Update auth method config
|
|
adminAuthMethodGroupRouter.PUT("/config", adminAuthMethod.UpdateAuthMethodConfigHandler(serverCtx))
|
|
|
|
// Get email support platform
|
|
adminAuthMethodGroupRouter.GET("/email_platform", adminAuthMethod.GetEmailPlatformHandler(serverCtx))
|
|
|
|
// Get auth method list
|
|
adminAuthMethodGroupRouter.GET("/list", adminAuthMethod.GetAuthMethodListHandler(serverCtx))
|
|
|
|
// Get sms support platform
|
|
adminAuthMethodGroupRouter.GET("/sms_platform", adminAuthMethod.GetSmsPlatformHandler(serverCtx))
|
|
|
|
// Test email send
|
|
adminAuthMethodGroupRouter.POST("/test_email_send", adminAuthMethod.TestEmailSendHandler(serverCtx))
|
|
|
|
// Test sms send
|
|
adminAuthMethodGroupRouter.POST("/test_sms_send", adminAuthMethod.TestSmsSendHandler(serverCtx))
|
|
}
|
|
|
|
adminConsoleGroupRouter := router.Group("/v1/admin/console")
|
|
adminConsoleGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Query revenue statistics
|
|
adminConsoleGroupRouter.GET("/revenue", adminConsole.QueryRevenueStatisticsHandler(serverCtx))
|
|
|
|
// Query server total data
|
|
adminConsoleGroupRouter.GET("/server", adminConsole.QueryServerTotalDataHandler(serverCtx))
|
|
|
|
// Query ticket wait reply
|
|
adminConsoleGroupRouter.GET("/ticket", adminConsole.QueryTicketWaitReplyHandler(serverCtx))
|
|
|
|
// Query user statistics
|
|
adminConsoleGroupRouter.GET("/user", adminConsole.QueryUserStatisticsHandler(serverCtx))
|
|
}
|
|
|
|
adminCouponGroupRouter := router.Group("/v1/admin/coupon")
|
|
adminCouponGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create coupon
|
|
adminCouponGroupRouter.POST("/", adminCoupon.CreateCouponHandler(serverCtx))
|
|
|
|
// Update coupon
|
|
adminCouponGroupRouter.PUT("/", adminCoupon.UpdateCouponHandler(serverCtx))
|
|
|
|
// Delete coupon
|
|
adminCouponGroupRouter.DELETE("/", adminCoupon.DeleteCouponHandler(serverCtx))
|
|
|
|
// Batch delete coupon
|
|
adminCouponGroupRouter.DELETE("/batch", adminCoupon.BatchDeleteCouponHandler(serverCtx))
|
|
|
|
// Get coupon list
|
|
adminCouponGroupRouter.GET("/list", adminCoupon.GetCouponListHandler(serverCtx))
|
|
}
|
|
|
|
adminDocumentGroupRouter := router.Group("/v1/admin/document")
|
|
adminDocumentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create document
|
|
adminDocumentGroupRouter.POST("/", adminDocument.CreateDocumentHandler(serverCtx))
|
|
|
|
// Update document
|
|
adminDocumentGroupRouter.PUT("/", adminDocument.UpdateDocumentHandler(serverCtx))
|
|
|
|
// Delete document
|
|
adminDocumentGroupRouter.DELETE("/", adminDocument.DeleteDocumentHandler(serverCtx))
|
|
|
|
// Batch delete document
|
|
adminDocumentGroupRouter.DELETE("/batch", adminDocument.BatchDeleteDocumentHandler(serverCtx))
|
|
|
|
// Get document detail
|
|
adminDocumentGroupRouter.GET("/detail", adminDocument.GetDocumentDetailHandler(serverCtx))
|
|
|
|
// Get document list
|
|
adminDocumentGroupRouter.GET("/list", adminDocument.GetDocumentListHandler(serverCtx))
|
|
}
|
|
|
|
adminLogGroupRouter := router.Group("/v1/admin/log")
|
|
adminLogGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Filter balance log
|
|
adminLogGroupRouter.GET("/balance/list", adminLog.FilterBalanceLogHandler(serverCtx))
|
|
|
|
// Filter commission log
|
|
adminLogGroupRouter.GET("/commission/list", adminLog.FilterCommissionLogHandler(serverCtx))
|
|
|
|
// Filter email log
|
|
adminLogGroupRouter.GET("/email/list", adminLog.FilterEmailLogHandler(serverCtx))
|
|
|
|
// Filter gift log
|
|
adminLogGroupRouter.GET("/gift/list", adminLog.FilterGiftLogHandler(serverCtx))
|
|
|
|
// Filter login log
|
|
adminLogGroupRouter.GET("/login/list", adminLog.FilterLoginLogHandler(serverCtx))
|
|
|
|
// Get message log list
|
|
adminLogGroupRouter.GET("/message/list", adminLog.GetMessageLogListHandler(serverCtx))
|
|
|
|
// Filter mobile log
|
|
adminLogGroupRouter.GET("/mobile/list", adminLog.FilterMobileLogHandler(serverCtx))
|
|
|
|
// Filter register log
|
|
adminLogGroupRouter.GET("/register/list", adminLog.FilterRegisterLogHandler(serverCtx))
|
|
|
|
// Filter server traffic log
|
|
adminLogGroupRouter.GET("/server/traffic/list", adminLog.FilterServerTrafficLogHandler(serverCtx))
|
|
|
|
// Get log setting
|
|
adminLogGroupRouter.GET("/setting", adminLog.GetLogSettingHandler(serverCtx))
|
|
|
|
// Update log setting
|
|
adminLogGroupRouter.POST("/setting", adminLog.UpdateLogSettingHandler(serverCtx))
|
|
|
|
// Filter subscribe log
|
|
adminLogGroupRouter.GET("/subscribe/list", adminLog.FilterSubscribeLogHandler(serverCtx))
|
|
|
|
// Filter reset subscribe log
|
|
adminLogGroupRouter.GET("/subscribe/reset/list", adminLog.FilterResetSubscribeLogHandler(serverCtx))
|
|
|
|
// Filter user subscribe traffic log
|
|
adminLogGroupRouter.GET("/subscribe/traffic/list", adminLog.FilterUserSubscribeTrafficLogHandler(serverCtx))
|
|
|
|
// Filter traffic log details
|
|
adminLogGroupRouter.GET("/traffic/details", adminLog.FilterTrafficLogDetailsHandler(serverCtx))
|
|
}
|
|
|
|
adminMarketingGroupRouter := router.Group("/v1/admin/marketing")
|
|
adminMarketingGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get batch send email task list
|
|
adminMarketingGroupRouter.GET("/email/batch/list", adminMarketing.GetBatchSendEmailTaskListHandler(serverCtx))
|
|
|
|
// Get pre-send email count
|
|
adminMarketingGroupRouter.POST("/email/batch/pre-send-count", adminMarketing.GetPreSendEmailCountHandler(serverCtx))
|
|
|
|
// Create a batch send email task
|
|
adminMarketingGroupRouter.POST("/email/batch/send", adminMarketing.CreateBatchSendEmailTaskHandler(serverCtx))
|
|
|
|
// Get batch send email task status
|
|
adminMarketingGroupRouter.POST("/email/batch/status", adminMarketing.GetBatchSendEmailTaskStatusHandler(serverCtx))
|
|
|
|
// Stop a batch send email task
|
|
adminMarketingGroupRouter.POST("/email/batch/stop", adminMarketing.StopBatchSendEmailTaskHandler(serverCtx))
|
|
|
|
// Create a quota task
|
|
adminMarketingGroupRouter.POST("/quota/create", adminMarketing.CreateQuotaTaskHandler(serverCtx))
|
|
|
|
// Query quota task list
|
|
adminMarketingGroupRouter.GET("/quota/list", adminMarketing.QueryQuotaTaskListHandler(serverCtx))
|
|
|
|
// Query quota task pre-count
|
|
adminMarketingGroupRouter.POST("/quota/pre-count", adminMarketing.QueryQuotaTaskPreCountHandler(serverCtx))
|
|
}
|
|
|
|
adminOrderGroupRouter := router.Group("/v1/admin/order")
|
|
adminOrderGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create order
|
|
adminOrderGroupRouter.POST("/", adminOrder.CreateOrderHandler(serverCtx))
|
|
|
|
// Get order list
|
|
adminOrderGroupRouter.GET("/list", adminOrder.GetOrderListHandler(serverCtx))
|
|
|
|
// Update order status
|
|
adminOrderGroupRouter.PUT("/status", adminOrder.UpdateOrderStatusHandler(serverCtx))
|
|
}
|
|
|
|
adminPaymentGroupRouter := router.Group("/v1/admin/payment")
|
|
adminPaymentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create Payment Method
|
|
adminPaymentGroupRouter.POST("/", adminPayment.CreatePaymentMethodHandler(serverCtx))
|
|
|
|
// Update Payment Method
|
|
adminPaymentGroupRouter.PUT("/", adminPayment.UpdatePaymentMethodHandler(serverCtx))
|
|
|
|
// Delete Payment Method
|
|
adminPaymentGroupRouter.DELETE("/", adminPayment.DeletePaymentMethodHandler(serverCtx))
|
|
|
|
// Get Payment Method List
|
|
adminPaymentGroupRouter.GET("/list", adminPayment.GetPaymentMethodListHandler(serverCtx))
|
|
|
|
// Get supported payment platform
|
|
adminPaymentGroupRouter.GET("/platform", adminPayment.GetPaymentPlatformHandler(serverCtx))
|
|
}
|
|
|
|
adminServerGroupRouter := router.Group("/v1/admin/server")
|
|
adminServerGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create Server
|
|
adminServerGroupRouter.POST("/create", adminServer.CreateServerHandler(serverCtx))
|
|
|
|
// Delete Server
|
|
adminServerGroupRouter.POST("/delete", adminServer.DeleteServerHandler(serverCtx))
|
|
|
|
// Filter Server List
|
|
adminServerGroupRouter.GET("/list", adminServer.FilterServerListHandler(serverCtx))
|
|
|
|
// Check if there is any server or node to migrate
|
|
adminServerGroupRouter.GET("/migrate/has", adminServer.HasMigrateSeverNodeHandler(serverCtx))
|
|
|
|
// Migrate server and node data to new database
|
|
adminServerGroupRouter.POST("/migrate/run", adminServer.MigrateServerNodeHandler(serverCtx))
|
|
|
|
// Create Node
|
|
adminServerGroupRouter.POST("/node/create", adminServer.CreateNodeHandler(serverCtx))
|
|
|
|
// Delete Node
|
|
adminServerGroupRouter.POST("/node/delete", adminServer.DeleteNodeHandler(serverCtx))
|
|
|
|
// Filter Node List
|
|
adminServerGroupRouter.GET("/node/list", adminServer.FilterNodeListHandler(serverCtx))
|
|
|
|
// Reset node sort
|
|
adminServerGroupRouter.POST("/node/sort", adminServer.ResetSortWithNodeHandler(serverCtx))
|
|
|
|
// Toggle Node Status
|
|
adminServerGroupRouter.POST("/node/status/toggle", adminServer.ToggleNodeStatusHandler(serverCtx))
|
|
|
|
// Query all node tags
|
|
adminServerGroupRouter.GET("/node/tags", adminServer.QueryNodeTagHandler(serverCtx))
|
|
|
|
// Update Node
|
|
adminServerGroupRouter.POST("/node/update", adminServer.UpdateNodeHandler(serverCtx))
|
|
|
|
// Get Server Protocols
|
|
adminServerGroupRouter.GET("/protocols", adminServer.GetServerProtocolsHandler(serverCtx))
|
|
|
|
// Reset server sort
|
|
adminServerGroupRouter.POST("/server/sort", adminServer.ResetSortWithServerHandler(serverCtx))
|
|
|
|
// Update Server
|
|
adminServerGroupRouter.POST("/update", adminServer.UpdateServerHandler(serverCtx))
|
|
}
|
|
|
|
adminSubscribeGroupRouter := router.Group("/v1/admin/subscribe")
|
|
adminSubscribeGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Create subscribe
|
|
adminSubscribeGroupRouter.POST("/", adminSubscribe.CreateSubscribeHandler(serverCtx))
|
|
|
|
// Update subscribe
|
|
adminSubscribeGroupRouter.PUT("/", adminSubscribe.UpdateSubscribeHandler(serverCtx))
|
|
|
|
// Delete subscribe
|
|
adminSubscribeGroupRouter.DELETE("/", adminSubscribe.DeleteSubscribeHandler(serverCtx))
|
|
|
|
// Batch delete subscribe
|
|
adminSubscribeGroupRouter.DELETE("/batch", adminSubscribe.BatchDeleteSubscribeHandler(serverCtx))
|
|
|
|
// Get subscribe details
|
|
adminSubscribeGroupRouter.GET("/details", adminSubscribe.GetSubscribeDetailsHandler(serverCtx))
|
|
|
|
// Create subscribe group
|
|
adminSubscribeGroupRouter.POST("/group", adminSubscribe.CreateSubscribeGroupHandler(serverCtx))
|
|
|
|
// Update subscribe group
|
|
adminSubscribeGroupRouter.PUT("/group", adminSubscribe.UpdateSubscribeGroupHandler(serverCtx))
|
|
|
|
// Delete subscribe group
|
|
adminSubscribeGroupRouter.DELETE("/group", adminSubscribe.DeleteSubscribeGroupHandler(serverCtx))
|
|
|
|
// Batch delete subscribe group
|
|
adminSubscribeGroupRouter.DELETE("/group/batch", adminSubscribe.BatchDeleteSubscribeGroupHandler(serverCtx))
|
|
|
|
// Get subscribe group list
|
|
adminSubscribeGroupRouter.GET("/group/list", adminSubscribe.GetSubscribeGroupListHandler(serverCtx))
|
|
|
|
// Get subscribe list
|
|
adminSubscribeGroupRouter.GET("/list", adminSubscribe.GetSubscribeListHandler(serverCtx))
|
|
|
|
// Subscribe sort
|
|
adminSubscribeGroupRouter.POST("/sort", adminSubscribe.SubscribeSortHandler(serverCtx))
|
|
}
|
|
|
|
adminSystemGroupRouter := router.Group("/v1/admin/system")
|
|
adminSystemGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get Currency Config
|
|
adminSystemGroupRouter.GET("/currency_config", adminSystem.GetCurrencyConfigHandler(serverCtx))
|
|
|
|
// Update Currency Config
|
|
adminSystemGroupRouter.PUT("/currency_config", adminSystem.UpdateCurrencyConfigHandler(serverCtx))
|
|
|
|
// Get Node Multiplier
|
|
adminSystemGroupRouter.GET("/get_node_multiplier", adminSystem.GetNodeMultiplierHandler(serverCtx))
|
|
|
|
// Get invite config
|
|
adminSystemGroupRouter.GET("/invite_config", adminSystem.GetInviteConfigHandler(serverCtx))
|
|
|
|
// Update invite config
|
|
adminSystemGroupRouter.PUT("/invite_config", adminSystem.UpdateInviteConfigHandler(serverCtx))
|
|
|
|
// Get node config
|
|
adminSystemGroupRouter.GET("/node_config", adminSystem.GetNodeConfigHandler(serverCtx))
|
|
|
|
// Update node config
|
|
adminSystemGroupRouter.PUT("/node_config", adminSystem.UpdateNodeConfigHandler(serverCtx))
|
|
|
|
// get Privacy Policy Config
|
|
adminSystemGroupRouter.GET("/privacy", adminSystem.GetPrivacyPolicyConfigHandler(serverCtx))
|
|
|
|
// Update Privacy Policy Config
|
|
adminSystemGroupRouter.PUT("/privacy", adminSystem.UpdatePrivacyPolicyConfigHandler(serverCtx))
|
|
|
|
// Get register config
|
|
adminSystemGroupRouter.GET("/register_config", adminSystem.GetRegisterConfigHandler(serverCtx))
|
|
|
|
// Update register config
|
|
adminSystemGroupRouter.PUT("/register_config", adminSystem.UpdateRegisterConfigHandler(serverCtx))
|
|
|
|
// Set Node Multiplier
|
|
adminSystemGroupRouter.POST("/set_node_multiplier", adminSystem.SetNodeMultiplierHandler(serverCtx))
|
|
|
|
// setting telegram bot
|
|
adminSystemGroupRouter.POST("/setting_telegram_bot", adminSystem.SettingTelegramBotHandler(serverCtx))
|
|
|
|
// Get site config
|
|
adminSystemGroupRouter.GET("/site_config", adminSystem.GetSiteConfigHandler(serverCtx))
|
|
|
|
// Update site config
|
|
adminSystemGroupRouter.PUT("/site_config", adminSystem.UpdateSiteConfigHandler(serverCtx))
|
|
|
|
// Get subscribe config
|
|
adminSystemGroupRouter.GET("/subscribe_config", adminSystem.GetSubscribeConfigHandler(serverCtx))
|
|
|
|
// Update subscribe config
|
|
adminSystemGroupRouter.PUT("/subscribe_config", adminSystem.UpdateSubscribeConfigHandler(serverCtx))
|
|
|
|
// Get Team of Service Config
|
|
adminSystemGroupRouter.GET("/tos_config", adminSystem.GetTosConfigHandler(serverCtx))
|
|
|
|
// Update Team of Service Config
|
|
adminSystemGroupRouter.PUT("/tos_config", adminSystem.UpdateTosConfigHandler(serverCtx))
|
|
|
|
// Get Verify Code Config
|
|
adminSystemGroupRouter.GET("/verify_code_config", adminSystem.GetVerifyCodeConfigHandler(serverCtx))
|
|
|
|
// Update Verify Code Config
|
|
adminSystemGroupRouter.PUT("/verify_code_config", adminSystem.UpdateVerifyCodeConfigHandler(serverCtx))
|
|
|
|
// Get verify config
|
|
adminSystemGroupRouter.GET("/verify_config", adminSystem.GetVerifyConfigHandler(serverCtx))
|
|
|
|
// Update verify config
|
|
adminSystemGroupRouter.PUT("/verify_config", adminSystem.UpdateVerifyConfigHandler(serverCtx))
|
|
}
|
|
|
|
adminTicketGroupRouter := router.Group("/v1/admin/ticket")
|
|
adminTicketGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Update ticket status
|
|
adminTicketGroupRouter.PUT("/", adminTicket.UpdateTicketStatusHandler(serverCtx))
|
|
|
|
// Get ticket detail
|
|
adminTicketGroupRouter.GET("/detail", adminTicket.GetTicketHandler(serverCtx))
|
|
|
|
// Create ticket follow
|
|
adminTicketGroupRouter.POST("/follow", adminTicket.CreateTicketFollowHandler(serverCtx))
|
|
|
|
// Get ticket list
|
|
adminTicketGroupRouter.GET("/list", adminTicket.GetTicketListHandler(serverCtx))
|
|
}
|
|
|
|
adminToolGroupRouter := router.Group("/v1/admin/tool")
|
|
adminToolGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get System Log
|
|
adminToolGroupRouter.GET("/log", adminTool.GetSystemLogHandler(serverCtx))
|
|
|
|
// Restart System
|
|
adminToolGroupRouter.GET("/restart", adminTool.RestartSystemHandler(serverCtx))
|
|
|
|
// Get Version
|
|
adminToolGroupRouter.GET("/version", adminTool.GetVersionHandler(serverCtx))
|
|
}
|
|
|
|
adminUserGroupRouter := router.Group("/v1/admin/user")
|
|
adminUserGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Delete user
|
|
adminUserGroupRouter.DELETE("/", adminUser.DeleteUserHandler(serverCtx))
|
|
|
|
// Create user
|
|
adminUserGroupRouter.POST("/", adminUser.CreateUserHandler(serverCtx))
|
|
|
|
// Create user auth method
|
|
adminUserGroupRouter.POST("/auth_method", adminUser.CreateUserAuthMethodHandler(serverCtx))
|
|
|
|
// Delete user auth method
|
|
adminUserGroupRouter.DELETE("/auth_method", adminUser.DeleteUserAuthMethodHandler(serverCtx))
|
|
|
|
// Update user auth method
|
|
adminUserGroupRouter.PUT("/auth_method", adminUser.UpdateUserAuthMethodHandler(serverCtx))
|
|
|
|
// Get user auth method
|
|
adminUserGroupRouter.GET("/auth_method", adminUser.GetUserAuthMethodHandler(serverCtx))
|
|
|
|
// Update user basic info
|
|
adminUserGroupRouter.PUT("/basic", adminUser.UpdateUserBasicInfoHandler(serverCtx))
|
|
|
|
// Batch delete user
|
|
adminUserGroupRouter.DELETE("/batch", adminUser.BatchDeleteUserHandler(serverCtx))
|
|
|
|
// Current user
|
|
adminUserGroupRouter.GET("/current", adminUser.CurrentUserHandler(serverCtx))
|
|
|
|
// Get user detail
|
|
adminUserGroupRouter.GET("/detail", adminUser.GetUserDetailHandler(serverCtx))
|
|
|
|
// User device
|
|
adminUserGroupRouter.PUT("/device", adminUser.UpdateUserDeviceHandler(serverCtx))
|
|
|
|
// Delete user device
|
|
adminUserGroupRouter.DELETE("/device", adminUser.DeleteUserDeviceHandler(serverCtx))
|
|
|
|
// kick offline user device
|
|
adminUserGroupRouter.PUT("/device/kick_offline", adminUser.KickOfflineByUserDeviceHandler(serverCtx))
|
|
|
|
// Get user list
|
|
adminUserGroupRouter.GET("/list", adminUser.GetUserListHandler(serverCtx))
|
|
|
|
// Get user login logs
|
|
adminUserGroupRouter.GET("/login/logs", adminUser.GetUserLoginLogsHandler(serverCtx))
|
|
|
|
// Update user notify setting
|
|
adminUserGroupRouter.PUT("/notify", adminUser.UpdateUserNotifySettingHandler(serverCtx))
|
|
|
|
// Get user subcribe
|
|
adminUserGroupRouter.GET("/subscribe", adminUser.GetUserSubscribeHandler(serverCtx))
|
|
|
|
// Create user subcribe
|
|
adminUserGroupRouter.POST("/subscribe", adminUser.CreateUserSubscribeHandler(serverCtx))
|
|
|
|
// Update user subcribe
|
|
adminUserGroupRouter.PUT("/subscribe", adminUser.UpdateUserSubscribeHandler(serverCtx))
|
|
|
|
// Delete user subcribe
|
|
adminUserGroupRouter.DELETE("/subscribe", adminUser.DeleteUserSubscribeHandler(serverCtx))
|
|
|
|
// Get user subcribe by id
|
|
adminUserGroupRouter.GET("/subscribe/detail", adminUser.GetUserSubscribeByIdHandler(serverCtx))
|
|
|
|
// Get user subcribe devices
|
|
adminUserGroupRouter.GET("/subscribe/device", adminUser.GetUserSubscribeDevicesHandler(serverCtx))
|
|
|
|
// Get user subcribe logs
|
|
adminUserGroupRouter.GET("/subscribe/logs", adminUser.GetUserSubscribeLogsHandler(serverCtx))
|
|
|
|
// Get user subcribe reset traffic logs
|
|
adminUserGroupRouter.GET("/subscribe/reset/logs", adminUser.GetUserSubscribeResetTrafficLogsHandler(serverCtx))
|
|
|
|
// Get user subcribe traffic logs
|
|
adminUserGroupRouter.GET("/subscribe/traffic_logs", adminUser.GetUserSubscribeTrafficLogsHandler(serverCtx))
|
|
}
|
|
|
|
authGroupRouter := router.Group("/v1/auth")
|
|
|
|
{
|
|
// Check user is exist
|
|
authGroupRouter.GET("/check", auth.CheckUserHandler(serverCtx))
|
|
|
|
// Check user telephone is exist
|
|
authGroupRouter.GET("/check/telephone", auth.CheckUserTelephoneHandler(serverCtx))
|
|
|
|
// User login
|
|
authGroupRouter.POST("/login", auth.UserLoginHandler(serverCtx))
|
|
|
|
// User Telephone login
|
|
authGroupRouter.POST("/login/telephone", auth.TelephoneLoginHandler(serverCtx))
|
|
|
|
// User register
|
|
authGroupRouter.POST("/register", auth.UserRegisterHandler(serverCtx))
|
|
|
|
// User Telephone register
|
|
authGroupRouter.POST("/register/telephone", auth.TelephoneUserRegisterHandler(serverCtx))
|
|
|
|
// Reset password
|
|
authGroupRouter.POST("/reset", auth.ResetPasswordHandler(serverCtx))
|
|
|
|
// Reset password
|
|
authGroupRouter.POST("/reset/telephone", auth.TelephoneResetPasswordHandler(serverCtx))
|
|
}
|
|
|
|
authOauthGroupRouter := router.Group("/v1/auth/oauth")
|
|
|
|
{
|
|
// Apple Login Callback
|
|
authOauthGroupRouter.POST("/callback/apple", authOauth.AppleLoginCallbackHandler(serverCtx))
|
|
|
|
// OAuth login
|
|
authOauthGroupRouter.POST("/login", authOauth.OAuthLoginHandler(serverCtx))
|
|
|
|
// OAuth login get token
|
|
authOauthGroupRouter.POST("/login/token", authOauth.OAuthLoginGetTokenHandler(serverCtx))
|
|
}
|
|
|
|
commonGroupRouter := router.Group("/v1/common")
|
|
|
|
{
|
|
// Get Ads
|
|
commonGroupRouter.GET("/ads", common.GetAdsHandler(serverCtx))
|
|
|
|
// Check verification code
|
|
commonGroupRouter.POST("/check_verification_code", common.CheckVerificationCodeHandler(serverCtx))
|
|
|
|
// Get Client
|
|
commonGroupRouter.GET("/client", common.GetClientHandler(serverCtx))
|
|
|
|
// Get verification code
|
|
commonGroupRouter.POST("/send_code", common.SendEmailCodeHandler(serverCtx))
|
|
|
|
// Get sms verification code
|
|
commonGroupRouter.POST("/send_sms_code", common.SendSmsCodeHandler(serverCtx))
|
|
|
|
// Get global config
|
|
commonGroupRouter.GET("/site/config", common.GetGlobalConfigHandler(serverCtx))
|
|
|
|
// Get Privacy Policy
|
|
commonGroupRouter.GET("/site/privacy", common.GetPrivacyPolicyHandler(serverCtx))
|
|
|
|
// Get stat
|
|
commonGroupRouter.GET("/site/stat", common.GetStatHandler(serverCtx))
|
|
|
|
// Get Tos Content
|
|
commonGroupRouter.GET("/site/tos", common.GetTosHandler(serverCtx))
|
|
}
|
|
|
|
publicAnnouncementGroupRouter := router.Group("/v1/public/announcement")
|
|
publicAnnouncementGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Query announcement
|
|
publicAnnouncementGroupRouter.GET("/list", publicAnnouncement.QueryAnnouncementHandler(serverCtx))
|
|
}
|
|
|
|
publicDocumentGroupRouter := router.Group("/v1/public/document")
|
|
publicDocumentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get document detail
|
|
publicDocumentGroupRouter.GET("/detail", publicDocument.QueryDocumentDetailHandler(serverCtx))
|
|
|
|
// Get document list
|
|
publicDocumentGroupRouter.GET("/list", publicDocument.QueryDocumentListHandler(serverCtx))
|
|
}
|
|
|
|
publicOrderGroupRouter := router.Group("/v1/public/order")
|
|
publicOrderGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Close order
|
|
publicOrderGroupRouter.POST("/close", publicOrder.CloseOrderHandler(serverCtx))
|
|
|
|
// Get order
|
|
publicOrderGroupRouter.GET("/detail", publicOrder.QueryOrderDetailHandler(serverCtx))
|
|
|
|
// Get order list
|
|
publicOrderGroupRouter.GET("/list", publicOrder.QueryOrderListHandler(serverCtx))
|
|
|
|
// Pre create order
|
|
publicOrderGroupRouter.POST("/pre", publicOrder.PreCreateOrderHandler(serverCtx))
|
|
|
|
// purchase Subscription
|
|
publicOrderGroupRouter.POST("/purchase", publicOrder.PurchaseHandler(serverCtx))
|
|
|
|
// Recharge
|
|
publicOrderGroupRouter.POST("/recharge", publicOrder.RechargeHandler(serverCtx))
|
|
|
|
// Renewal Subscription
|
|
publicOrderGroupRouter.POST("/renewal", publicOrder.RenewalHandler(serverCtx))
|
|
|
|
// Reset traffic
|
|
publicOrderGroupRouter.POST("/reset", publicOrder.ResetTrafficHandler(serverCtx))
|
|
}
|
|
|
|
publicPaymentGroupRouter := router.Group("/v1/public/payment")
|
|
publicPaymentGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get available payment methods
|
|
publicPaymentGroupRouter.GET("/methods", publicPayment.GetAvailablePaymentMethodsHandler(serverCtx))
|
|
}
|
|
|
|
publicPortalGroupRouter := router.Group("/v1/public/portal")
|
|
|
|
{
|
|
// Purchase Checkout
|
|
publicPortalGroupRouter.POST("/order/checkout", publicPortal.PurchaseCheckoutHandler(serverCtx))
|
|
|
|
// Query Purchase Order
|
|
publicPortalGroupRouter.GET("/order/status", publicPortal.QueryPurchaseOrderHandler(serverCtx))
|
|
|
|
// Get available payment methods
|
|
publicPortalGroupRouter.GET("/payment-method", publicPortal.GetAvailablePaymentMethodsHandler(serverCtx))
|
|
|
|
// Pre Purchase Order
|
|
publicPortalGroupRouter.POST("/pre", publicPortal.PrePurchaseOrderHandler(serverCtx))
|
|
|
|
// Purchase subscription
|
|
publicPortalGroupRouter.POST("/purchase", publicPortal.PurchaseHandler(serverCtx))
|
|
|
|
// Get Subscription
|
|
publicPortalGroupRouter.GET("/subscribe", publicPortal.GetSubscriptionHandler(serverCtx))
|
|
}
|
|
|
|
publicSubscribeGroupRouter := router.Group("/v1/public/subscribe")
|
|
publicSubscribeGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get subscribe list
|
|
publicSubscribeGroupRouter.GET("/list", publicSubscribe.QuerySubscribeListHandler(serverCtx))
|
|
}
|
|
|
|
publicTicketGroupRouter := router.Group("/v1/public/ticket")
|
|
publicTicketGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Update ticket status
|
|
publicTicketGroupRouter.PUT("/", publicTicket.UpdateUserTicketStatusHandler(serverCtx))
|
|
|
|
// Create ticket
|
|
publicTicketGroupRouter.POST("/", publicTicket.CreateUserTicketHandler(serverCtx))
|
|
|
|
// Get ticket detail
|
|
publicTicketGroupRouter.GET("/detail", publicTicket.GetUserTicketDetailsHandler(serverCtx))
|
|
|
|
// Create ticket follow
|
|
publicTicketGroupRouter.POST("/follow", publicTicket.CreateUserTicketFollowHandler(serverCtx))
|
|
|
|
// Get ticket list
|
|
publicTicketGroupRouter.GET("/list", publicTicket.GetUserTicketListHandler(serverCtx))
|
|
}
|
|
|
|
publicUserGroupRouter := router.Group("/v1/public/user")
|
|
publicUserGroupRouter.Use(middleware.AuthMiddleware(serverCtx))
|
|
|
|
{
|
|
// Query User Affiliate Count
|
|
publicUserGroupRouter.GET("/affiliate/count", publicUser.QueryUserAffiliateHandler(serverCtx))
|
|
|
|
// Query User Affiliate List
|
|
publicUserGroupRouter.GET("/affiliate/list", publicUser.QueryUserAffiliateListHandler(serverCtx))
|
|
|
|
// Query User Balance Log
|
|
publicUserGroupRouter.GET("/balance_log", publicUser.QueryUserBalanceLogHandler(serverCtx))
|
|
|
|
// Update Bind Email
|
|
publicUserGroupRouter.PUT("/bind_email", publicUser.UpdateBindEmailHandler(serverCtx))
|
|
|
|
// Update Bind Mobile
|
|
publicUserGroupRouter.PUT("/bind_mobile", publicUser.UpdateBindMobileHandler(serverCtx))
|
|
|
|
// Bind OAuth
|
|
publicUserGroupRouter.POST("/bind_oauth", publicUser.BindOAuthHandler(serverCtx))
|
|
|
|
// Bind OAuth Callback
|
|
publicUserGroupRouter.POST("/bind_oauth/callback", publicUser.BindOAuthCallbackHandler(serverCtx))
|
|
|
|
// Bind Telegram
|
|
publicUserGroupRouter.GET("/bind_telegram", publicUser.BindTelegramHandler(serverCtx))
|
|
|
|
// Query User Commission Log
|
|
publicUserGroupRouter.GET("/commission_log", publicUser.QueryUserCommissionLogHandler(serverCtx))
|
|
|
|
// Query User Info
|
|
publicUserGroupRouter.GET("/info", publicUser.QueryUserInfoHandler(serverCtx))
|
|
|
|
// Get Login Log
|
|
publicUserGroupRouter.GET("/login_log", publicUser.GetLoginLogHandler(serverCtx))
|
|
|
|
// Update User Notify
|
|
publicUserGroupRouter.PUT("/notify", publicUser.UpdateUserNotifyHandler(serverCtx))
|
|
|
|
// Get OAuth Methods
|
|
publicUserGroupRouter.GET("/oauth_methods", publicUser.GetOAuthMethodsHandler(serverCtx))
|
|
|
|
// Update User Password
|
|
publicUserGroupRouter.PUT("/password", publicUser.UpdateUserPasswordHandler(serverCtx))
|
|
|
|
// Query User Subscribe
|
|
publicUserGroupRouter.GET("/subscribe", publicUser.QueryUserSubscribeHandler(serverCtx))
|
|
|
|
// Get Subscribe Log
|
|
publicUserGroupRouter.GET("/subscribe_log", publicUser.GetSubscribeLogHandler(serverCtx))
|
|
|
|
// Reset User Subscribe Token
|
|
publicUserGroupRouter.PUT("/subscribe_token", publicUser.ResetUserSubscribeTokenHandler(serverCtx))
|
|
|
|
// Unbind OAuth
|
|
publicUserGroupRouter.POST("/unbind_oauth", publicUser.UnbindOAuthHandler(serverCtx))
|
|
|
|
// Unbind Telegram
|
|
publicUserGroupRouter.POST("/unbind_telegram", publicUser.UnbindTelegramHandler(serverCtx))
|
|
|
|
// Unsubscribe
|
|
publicUserGroupRouter.POST("/unsubscribe", publicUser.UnsubscribeHandler(serverCtx))
|
|
|
|
// Pre Unsubscribe
|
|
publicUserGroupRouter.POST("/unsubscribe/pre", publicUser.PreUnsubscribeHandler(serverCtx))
|
|
|
|
// Verify Email
|
|
publicUserGroupRouter.POST("/verify_email", publicUser.VerifyEmailHandler(serverCtx))
|
|
}
|
|
|
|
serverGroupRouter := router.Group("/v1/server")
|
|
serverGroupRouter.Use(middleware.ServerMiddleware(serverCtx))
|
|
|
|
{
|
|
// Get server config
|
|
serverGroupRouter.GET("/config", server.GetServerConfigHandler(serverCtx))
|
|
|
|
// Push online users
|
|
serverGroupRouter.POST("/online", server.PushOnlineUsersHandler(serverCtx))
|
|
|
|
// Push user Traffic
|
|
serverGroupRouter.POST("/push", server.ServerPushUserTrafficHandler(serverCtx))
|
|
|
|
// Push server status
|
|
serverGroupRouter.POST("/status", server.ServerPushStatusHandler(serverCtx))
|
|
|
|
// Get user list
|
|
serverGroupRouter.GET("/user", server.GetServerUserListHandler(serverCtx))
|
|
}
|
|
|
|
serverV2GroupRouter := router.Group("/v2/server")
|
|
|
|
{
|
|
// Get Server Protocol Config
|
|
serverV2GroupRouter.GET("/:server_id", server.QueryServerProtocolConfigHandler(serverCtx))
|
|
}
|
|
}
|