remove unused lastfm models and migrations

This commit is contained in:
lyx0 2023-03-05 18:28:14 +00:00
parent 8fa67c9c97
commit e8b90e385c
4 changed files with 4 additions and 92 deletions

View file

@ -1,72 +0,0 @@
package data
import (
"database/sql"
"errors"
)
type LastFMUser struct {
ID int `json:"id"`
TwitchLogin string `json:"twitch_login"`
TwitchID string `json:"twitch_id"`
LastFMUser string `json:"lastfm_username"`
}
type LastFMUserModel struct {
DB *sql.DB
}
func (l LastFMUserModel) Get(login string) (*LastFMUser, error) {
query := `
SELECT id, twitch_login, twitch_id, lastfm_username
FROM lastfm_users
WHERE twitch_login = $1`
var lastfm LastFMUser
err := l.DB.QueryRow(query, login).Scan(
&lastfm.ID,
&lastfm.TwitchLogin,
&lastfm.TwitchID,
&lastfm.LastFMUser,
)
if err != nil {
switch {
case errors.Is(err, sql.ErrNoRows):
return nil, ErrRecordNotFound
default:
return nil, err
}
}
return &lastfm, nil
}
func (l LastFMUserModel) Insert(lastfm *LastFMUser) error {
query := `
INSERT into lastfm_users(twitch_login, twitch_id, lastfm_username)
VALUES ($1, $2, $3)
ON CONFLICT (twitch_id)
DO NOTHING
RETURNING id;
`
args := []interface{}{lastfm.TwitchLogin, lastfm.TwitchID, lastfm.LastFMUser}
result, err := l.DB.Exec(query, args...)
if err != nil {
return err
}
rowsAffected, err := result.RowsAffected()
if err != nil {
return err
}
if rowsAffected == 0 {
return ErrLastFMUserRecordAlreadyExists
}
return nil
}

View file

@ -43,10 +43,6 @@ type Models struct {
SetHelp(name, helptext string) error
Delete(name string) error
}
LastFMUsers interface {
Get(name string) (*LastFMUser, error)
Insert(lastfm *LastFMUser) error
}
Timers interface {
Get(name string) (*Timer, error)
Insert(timer *Timer) error
@ -58,10 +54,9 @@ type Models struct {
func NewModels(db *sql.DB) Models {
return Models{
Channels: ChannelModel{DB: db},
Users: UserModel{DB: db},
Commands: CommandModel{DB: db},
LastFMUsers: LastFMUserModel{DB: db},
Timers: TimerModel{DB: db},
Channels: ChannelModel{DB: db},
Users: UserModel{DB: db},
Commands: CommandModel{DB: db},
Timers: TimerModel{DB: db},
}
}

View file

@ -1 +0,0 @@
DROP TABLE IF EXISTS lastfm_users;

View file

@ -1,10 +0,0 @@
CREATE TABLE IF NOT EXISTS lastfm_users (
id bigserial PRIMARY KEY,
twitch_login text NOT NULL,
twitch_id text UNIQUE NOT NULL,
lastfm_username text NOT NULL
);
INSERT INTO lastfm_users (twitch_login,twitch_id,lastfm_username) VALUES
('nourylul','31437432','nouryqt');