package store import ( "context" "errors" "github.com/jackc/pgx/v5" ) func (s *Store) IsMigrated(ctx context.Context, accountID int64, key string) (bool, error) { var one int err := s.Pool.QueryRow(ctx, `SELECT 1 FROM migrated_messages WHERE account_id=$1 AND message_key=$2`, accountID, key).Scan(&one) if errors.Is(err, pgx.ErrNoRows) { return false, nil } if err != nil { return false, err } return true, nil } func (s *Store) MarkMigrated(ctx context.Context, accountID int64, folder, key string) error { _, err := s.Pool.Exec(ctx, `INSERT INTO migrated_messages (account_id, folder, message_key) VALUES ($1,$2,$3) ON CONFLICT (account_id, message_key) DO NOTHING`, accountID, folder, key) return err }