use base context to handle the cases where the user IP address is unavailable

This commit is contained in:
MaysWind
2026-04-09 23:44:53 +08:00
parent fcedb3147d
commit d44798bf0f
6 changed files with 18 additions and 2 deletions
@@ -383,7 +383,7 @@ func (c *DataTableTransactionDataImporter) ParseImportedData(ctx core.Context, u
Comment: description,
GeoLongitude: geoLongitude,
GeoLatitude: geoLatitude,
CreatedIp: "127.0.0.1",
CreatedIp: ctx.ClientIP(),
},
TagIds: tagIds,
OriginalCategoryName: subCategoryName,
+1
View File
@@ -5,6 +5,7 @@ import "context"
// Context is the base context of ezBookkeeping
type Context interface {
context.Context
ClientIP() string
GetContextId() string
GetClientLocale() string
}
+5
View File
@@ -12,6 +12,11 @@ type CliContext struct {
command *cli.Command
}
// ClientIP returns the client IP address, for CLI context, it always returns the loopback address
func (c *CliContext) ClientIP() string {
return "127.0.0.1"
}
// GetContextId returns the current context id
func (c *CliContext) GetContextId() string {
return ""
+5
View File
@@ -14,6 +14,11 @@ type CronContext struct {
cronJobInterval time.Duration
}
// ClientIP returns the client IP address, for cron job context, it always returns the loopback address
func (c *CronContext) ClientIP() string {
return "127.0.0.1"
}
// GetContextId returns the current context id
func (c *CronContext) GetContextId() string {
return c.contextId
+5
View File
@@ -9,6 +9,11 @@ type NullContext struct {
context.Context
}
// ClientIP returns the client IP address, for null context, it always returns the loopback address
func (c *NullContext) ClientIP() string {
return "127.0.0.1"
}
// GetContextId returns the current context id
func (c *NullContext) GetContextId() string {
return nullContextId
+1 -1
View File
@@ -778,7 +778,7 @@ func (s *TransactionService) CreateScheduledTransactions(c core.Context, current
Amount: template.Amount,
HideAmount: template.HideAmount,
Comment: template.Comment,
CreatedIp: "127.0.0.1",
CreatedIp: c.ClientIP(),
ScheduledCreated: true,
}