refactored for maintainability
This commit is contained in:
@@ -105,35 +105,33 @@ func (l *Logger) log(
|
||||
|
||||
// GetRecentLogs retrieves recent audit logs with pagination
|
||||
func (l *Logger) GetRecentLogs(ctx context.Context, pageOpts *db.PageOpts) (*db.AuditLogs, error) {
|
||||
tx, err := l.conn.BeginTx(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "conn.BeginTx")
|
||||
var logs *db.AuditLogs
|
||||
if err := db.WithTxFailSilently(ctx, l.conn, func(ctx context.Context, tx bun.Tx) error {
|
||||
var err error
|
||||
logs, err = db.GetAuditLogs(ctx, tx, pageOpts, nil)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "db.GetAuditLogs")
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return nil, errors.Wrap(err, "db.WithTxFailSilently")
|
||||
}
|
||||
defer func() { _ = tx.Rollback() }()
|
||||
|
||||
logs, err := db.GetAuditLogs(ctx, tx, pageOpts, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = tx.Commit() // read only transaction
|
||||
return logs, nil
|
||||
}
|
||||
|
||||
// GetLogsByUser retrieves audit logs for a specific user
|
||||
func (l *Logger) GetLogsByUser(ctx context.Context, userID int, pageOpts *db.PageOpts) (*db.AuditLogs, error) {
|
||||
tx, err := l.conn.BeginTx(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "conn.BeginTx")
|
||||
var logs *db.AuditLogs
|
||||
if err := db.WithTxFailSilently(ctx, l.conn, func(ctx context.Context, tx bun.Tx) error {
|
||||
var err error
|
||||
logs, err = db.GetAuditLogsByUser(ctx, tx, userID, pageOpts)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "db.GetAuditLogsByUser")
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return nil, errors.Wrap(err, "db.WithTxFailSilently")
|
||||
}
|
||||
defer func() { _ = tx.Rollback() }()
|
||||
|
||||
logs, err := db.GetAuditLogsByUser(ctx, tx, userID, pageOpts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_ = tx.Commit() // read only transaction
|
||||
return logs, nil
|
||||
}
|
||||
|
||||
@@ -145,20 +143,16 @@ func (l *Logger) CleanupOldLogs(ctx context.Context, daysToKeep int) (int, error
|
||||
|
||||
cutoffTime := time.Now().AddDate(0, 0, -daysToKeep).Unix()
|
||||
|
||||
tx, err := l.conn.BeginTx(ctx, nil)
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, "conn.BeginTx")
|
||||
}
|
||||
defer func() { _ = tx.Rollback() }()
|
||||
|
||||
count, err := db.CleanupOldAuditLogs(ctx, tx, cutoffTime)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
err = tx.Commit()
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, "tx.Commit")
|
||||
var count int
|
||||
if err := db.WithTxFailSilently(ctx, l.conn, func(ctx context.Context, tx bun.Tx) error {
|
||||
var err error
|
||||
count, err = db.CleanupOldAuditLogs(ctx, tx, cutoffTime)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "db.CleanupOldAuditLogs")
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return 0, errors.Wrap(err, "db.WithTxFailSilently")
|
||||
}
|
||||
return count, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user