refactor: rename database tables for notification entities to improve clarity and consistency

This commit is contained in:
2026-07-02 16:04:18 +08:00
parent c5225d8c97
commit a0d26fa3a3
7 changed files with 51 additions and 51 deletions
+12 -12
View File
@@ -16,7 +16,7 @@ func (s *Store) CreateRule(ctx context.Context, r *model.Rule, channelIDs []int)
}
defer tx.Rollback()
query := `INSERT INTO rule (source_id, event, template_id, conditions, enabled) VALUES (?, ?, ?, ?, ?)`
query := `INSERT INTO notification_rule (source_id, event, template_id, conditions, enabled) VALUES (?, ?, ?, ?, ?)`
condsJSON, err := marshalJSON(r.Conditions)
if err != nil {
return fmt.Errorf("marshal conditions: %w", err)
@@ -29,7 +29,7 @@ func (s *Store) CreateRule(ctx context.Context, r *model.Rule, channelIDs []int)
r.ID = int(id)
for _, chID := range channelIDs {
_, err := tx.ExecContext(ctx, `INSERT INTO rule_channel (rule_id, channel_id, enabled) VALUES (?, ?, 1)`, r.ID, chID)
_, err := tx.ExecContext(ctx, `INSERT INTO notification_rule_channel (rule_id, channel_id, enabled) VALUES (?, ?, 1)`, r.ID, chID)
if err != nil {
return fmt.Errorf("add rule_channel: %w", err)
}
@@ -40,7 +40,7 @@ func (s *Store) CreateRule(ctx context.Context, r *model.Rule, channelIDs []int)
func (s *Store) GetRule(ctx context.Context, id int) (*model.Rule, error) {
var r model.Rule
var condsBytes []byte
row := s.DB.QueryRowContext(ctx, `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM rule WHERE id = ?`, id)
row := s.DB.QueryRowContext(ctx, `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM notification_rule WHERE id = ?`, id)
if err := row.Scan(&r.ID, &r.SourceID, &r.Event, &r.TemplateID, &condsBytes, &r.Enabled, &r.CreatedAt, &r.UpdatedAt); err != nil {
return nil, fmt.Errorf("get rule %d: %w", id, err)
}
@@ -54,7 +54,7 @@ func (s *Store) GetRule(ctx context.Context, id int) (*model.Rule, error) {
func (s *Store) GetRuleBySourceEvent(ctx context.Context, sourceID int, event string) (*model.Rule, error) {
var r model.Rule
var condsBytes []byte
query := `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM rule WHERE source_id = ? AND event = ? AND enabled = 1`
query := `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM notification_rule WHERE source_id = ? AND event = ? AND enabled = 1`
row := s.DB.QueryRowContext(ctx, query, sourceID, event)
if err := row.Scan(&r.ID, &r.SourceID, &r.Event, &r.TemplateID, &condsBytes, &r.Enabled, &r.CreatedAt, &r.UpdatedAt); err != nil {
return nil, fmt.Errorf("get rule by source+event: %w", err)
@@ -67,7 +67,7 @@ func (s *Store) GetRuleBySourceEvent(ctx context.Context, sourceID int, event st
}
func (s *Store) ListRules(ctx context.Context) ([]model.Rule, error) {
rows, err := s.DB.QueryContext(ctx, `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM rule ORDER BY id`)
rows, err := s.DB.QueryContext(ctx, `SELECT id, source_id, event, template_id, conditions, enabled, created_at, updated_at FROM notification_rule ORDER BY id`)
if err != nil {
return nil, fmt.Errorf("list rules: %w", err)
}
@@ -86,18 +86,18 @@ func (s *Store) UpdateRule(ctx context.Context, id int, r *model.Rule, channelID
if err != nil {
return fmt.Errorf("marshal conditions: %w", err)
}
_, err = tx.ExecContext(ctx, `UPDATE rule SET source_id=?, event=?, template_id=?, conditions=?, enabled=? WHERE id=?`,
_, err = tx.ExecContext(ctx, `UPDATE notification_rule SET source_id=?, event=?, template_id=?, conditions=?, enabled=? WHERE id=?`,
r.SourceID, r.Event, r.TemplateID, condsJSON, r.Enabled, id)
if err != nil {
return fmt.Errorf("update rule: %w", err)
}
if channelIDs != nil {
if _, err := tx.ExecContext(ctx, `DELETE FROM rule_channel WHERE rule_id = ?`, id); err != nil {
if _, err := tx.ExecContext(ctx, `DELETE FROM notification_rule_channel WHERE rule_id = ?`, id); err != nil {
return fmt.Errorf("delete rule channels: %w", err)
}
for _, chID := range channelIDs {
_, err := tx.ExecContext(ctx, `INSERT INTO rule_channel (rule_id, channel_id, enabled) VALUES (?, ?, 1)`, id, chID)
_, err := tx.ExecContext(ctx, `INSERT INTO notification_rule_channel (rule_id, channel_id, enabled) VALUES (?, ?, 1)`, id, chID)
if err != nil {
return fmt.Errorf("add rule_channel: %w", err)
}
@@ -107,7 +107,7 @@ func (s *Store) UpdateRule(ctx context.Context, id int, r *model.Rule, channelID
}
func (s *Store) DeleteRule(ctx context.Context, id int) error {
_, err := s.DB.ExecContext(ctx, `DELETE FROM rule WHERE id = ?`, id)
_, err := s.DB.ExecContext(ctx, `DELETE FROM notification_rule WHERE id = ?`, id)
if err != nil {
return fmt.Errorf("delete rule %d: %w", id, err)
}
@@ -119,7 +119,7 @@ func (s *Store) SetRuleEnabled(ctx context.Context, id int, enabled bool) error
if enabled {
v = 1
}
_, err := s.DB.ExecContext(ctx, `UPDATE rule SET enabled = ? WHERE id = ?`, v, id)
_, err := s.DB.ExecContext(ctx, `UPDATE notification_rule SET enabled = ? WHERE id = ?`, v, id)
if err != nil {
return fmt.Errorf("set rule enabled %d: %w", id, err)
}
@@ -128,7 +128,7 @@ func (s *Store) SetRuleEnabled(ctx context.Context, id int, enabled bool) error
func (s *Store) GetRuleChannels(ctx context.Context, ruleID int) ([]model.RuleChannel, error) {
var rcs []model.RuleChannel
err := s.DB.SelectContext(ctx, &rcs, `SELECT id, rule_id, channel_id, enabled FROM rule_channel WHERE rule_id = ? AND enabled = 1`, ruleID)
err := s.DB.SelectContext(ctx, &rcs, `SELECT id, rule_id, channel_id, enabled FROM notification_rule_channel WHERE rule_id = ? AND enabled = 1`, ruleID)
if err != nil {
return nil, fmt.Errorf("get rule channels: %w", err)
}
@@ -140,7 +140,7 @@ func (s *Store) SetRuleChannelEnabled(ctx context.Context, ruleID, channelID int
if enabled {
v = 1
}
_, err := s.DB.ExecContext(ctx, `UPDATE rule_channel SET enabled = ? WHERE rule_id = ? AND channel_id = ?`, v, ruleID, channelID)
_, err := s.DB.ExecContext(ctx, `UPDATE notification_rule_channel SET enabled = ? WHERE rule_id = ? AND channel_id = ?`, v, ruleID, channelID)
if err != nil {
return fmt.Errorf("set rule channel enabled %d/%d: %w", ruleID, channelID, err)
}