258 Commits

Author SHA1 Message Date
Chang lue Tsen
1a6cced814 fix(docs): update Docker pull and run commands to use official ppanel image 2025-10-02 18:27:21 +09:00
Chang lue Tsen
bf24e1756a fix(checkSubscriptionLogic): update status filter to include inactive subscriptions 2025-10-02 17:41:42 +09:00
Chang lue Tsen
4e7a6e9e41 fix(previewSubscribeTemplateLogic): add enabled filter to node list query 2025-10-02 16:51:32 +09:00
Chang lue Tsen
6c7d45a640 fix(subscribeLogic): correct protocol JSON formatting and add server ID 2025-10-02 16:51:24 +09:00
Chang lue Tsen
c835e751ac feat(node): update Hysteria protocol to use new naming convention 2025-09-29 11:30:23 -04:00
Chang lue Tsen
3fb23e3106 refactor(adapter): delete old adapter 2025-09-29 11:22:36 -04:00
Chang lue Tsen
766e210f06 fix(node): update FilterNodeParams to use NodeId and adjust query logic for tags 2025-09-29 11:18:47 -04:00
Chang lue Tsen
2de76104ad fix(tests): update time format in TestNewNodeMultiplierManager and add new time period 2025-09-29 15:18:58 +09:00
Chang lue Tsen
453ad18303 feat(node): add PreViewNodeMultiplier endpoint and response structure 2025-09-29 13:12:37 +09:00
Chang lue Tsen
02f0d711ba fix(manager): update time parsing format in isInTimePeriod function 2025-09-29 13:11:51 +09:00
Chang lue Tsen
d6fcff1fee fix(node): NodeId filter to FilterNodeParams and update cache clearing logic 2025-09-29 10:22:11 +09:00
Ember Moth
25c7eb3927
fix(purchase): resolve balance payment transaction inconsistency causing Internal Server Error (#81) 2025-09-28 12:34:18 -04:00
Chang lue Tsen
9777a0c61a fix(purchase): update payment processing to use CryptoSaaSPayment method 2025-09-28 12:28:44 -04:00
Chang lue Tsen
d74d636735 feat(traffic): add protocol handling and update traffic statistics calculation 2025-09-28 11:31:21 -04:00
Chang lue Tsen
5aa9bb61b7 refactor(server): remove Ratio field from Server struct and update adapter logic 2025-09-28 11:18:33 -04:00
Chang lue Tsen
42a31048b4 fix(subscribe): ignore subscription expiration check in Generate Subscribe 2025-09-28 11:14:54 -04:00
Chang lue Tsen
0179e9837c refactor(api): remove Ratio field from NodeConfig and related structures 2025-09-28 11:14:43 -04:00
Chang lue Tsen
0d1df5f905 feat(config): enhance NodeConfig with TrafficReportThreshold, IPStrategy, DNS, Block, and Outbound fields 2025-09-28 19:06:29 +09:00
Chang lue Tsen
64f0bcc55a feat(cache): implement cache clearing for node operations and add delete methods 2025-09-27 11:24:29 -04:00
Chang lue Tsen
d2ca3eb961 fix(subscribe): add Enabled filter to node query parameters 2025-09-27 10:18:08 -04:00
Chang lue Tsen
c1c324878b fix(traffic): skip logs with zero upload and download values 2025-09-27 10:16:28 -04:00
Chang lue Tsen
5ca4179285 feat(user): add OnlyFirstPurchase field to user creation logic 2025-09-27 10:13:41 -04:00
Chang lue Tsen
9ce6141b5a fix(log): correct model reference in SystemLog creation 2025-09-27 10:11:58 -04:00
Chang lue Tsen
56352de870 chore(deploy): comment out server deployment steps in workflow 2025-09-27 10:11:10 -04:00
Chang lue Tsen
4ad18a8b70 fix(model): update save method to use specific ID for record updates 2025-09-16 11:20:48 -04:00
Chang lue Tsen
596434454c feat(client): add additional options for Shadowsocks and Vless protocols 2025-09-16 11:20:39 -04:00
Chang lue Tsen
b5c756af35 feat(subscribe): update subscribe path 2025-09-16 10:39:19 -04:00
Chang lue Tsen
621eda41c2 fix(client): Shadowrocket template 2025-09-16 10:26:39 -04:00
Chang lue Tsen
900096ed12 fix(coupon): add check for zero count in coupon usage validation 2025-09-16 10:17:18 -04:00
Chang lue Tsen
26fe430d7c fix(subscribe): update status filter in subscription count query 2025-09-16 10:16:56 -04:00
Chang lue Tsen
0c55d173cb fix(model): add sorting to server and node queries 2025-09-16 10:10:11 -04:00
Chang lue Tsen
537dab1c3b fix(quota): simplify gift amount calculation 2025-09-16 09:53:03 -04:00
Leif Draven
4b2976a670
fix(schema): remove unnecessary AUTO_INCREMENT values from initial schema (#79)
Co-authored-by: Chang lue Tsen <tension@ppanel.dev>
2025-09-16 09:33:28 -04:00
Chang lue Tsen
38491ddc0d Merge branch 'master' into develop 2025-09-14 11:34:07 -04:00
Leif Draven
e895180388
Develop (#76)
* 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>
2025-09-14 09:50:22 -04:00
Chang lue Tsen
435283f962 fix(types): update plugin options to include 'none' in the plugin field 2025-09-14 09:46:14 -04:00
Chang lue Tsen
b0ffb15825 fix(quota): correct time range queries for start and expire times in quota logic 2025-09-14 09:43:21 -04:00
Chang lue Tsen
2c5efa2026 feat(protocol): add server protocol configuration query and enhance protocol options 2025-09-13 14:20:04 -04:00
Chang lue Tsen
c1c913cb00 fix(quota): update time handling to use UnixMilli for start time in quota logic 2025-09-13 14:12:33 -04:00
Chang lue Tsen
cf4792cdc8 fix(quota): update time handling in quota logic and correct subscriber ID query 2025-09-13 14:02:49 -04:00
Chang lue Tsen
9b0e1b1e0f doc(log): rename function for clarity and add cache cleanup comment 2025-09-11 11:42:20 -04:00
Chang lue Tsen
6bc0fb4d90 fix(quota): update taskInfo to include current subscription count in quota logic 2025-09-11 06:29:12 -04:00
Chang lue Tsen
32633920b5 fix(worker): update task completion status handling in worker logic 2025-09-11 06:24:52 -04:00
Chang lue Tsen
d55bad712c fix(quota): remove redundant quota task status endpoint from admin marketing routes 2025-09-10 14:54:31 -04:00
Chang lue Tsen
3f5aac239b feat(quota): enhance quota task management with new request structures and processing logic 2025-09-10 14:53:48 -04:00
Chang lue Tsen
83c1c14b01 fix(order): improve error logging for database transaction and user cache updates 2025-09-10 10:41:29 -04:00
Chang lue Tsen
1c1365d862 fix(email): update task handling to use generic task model and improve error logging 2025-09-10 09:02:54 -04:00
Chang lue Tsen
d1be5febc3 feat(quota): add quota task creation and querying endpoints with updated data structures 2025-09-09 13:39:05 -04:00
Chang lue Tsen
f4c6bd919b fix(email): update task progress handling to use specific task ID for updates 2025-09-08 12:53:28 -04:00
Chang lue Tsen
31cdcd2cb9 fix(balance): update QueryUserBalanceLog response structure to include balance log list 2025-09-07 11:59:34 -04:00