package controller import ( "arimelody-web/account/model" "github.com/jmoiron/sqlx" ) func GetAccount(db *sqlx.DB, username string) (*model.Account, error) { var account = model.Account{} err := db.Get(&account, "SELECT * FROM account WHERE username=$1", username) if err != nil { return nil, err } return &account, nil } func GetAccountByEmail(db *sqlx.DB, email string) (*model.Account, error) { var account = model.Account{} err := db.Get(&account, "SELECT * FROM account WHERE email=$1", email) if err != nil { return nil, err } return &account, nil } func CreateAccount(db *sqlx.DB, account *model.Account) error { _, err := db.Exec( "INSERT INTO account (username, password, email, avatar_url) " + "VALUES ($1, $2, $3, $4)", account.Username, account.Password, account.Email, account.AvatarURL) return err } func UpdateAccount(db *sqlx.DB, account *model.Account) error { _, err := db.Exec( "UPDATE account " + "SET username=$2, password=$3, email=$4, avatar_url=$5) " + "WHERE id=$1", account.ID, account.Username, account.Password, account.Email, account.AvatarURL) return err } func DeleteAccount(db *sqlx.DB, accountID string) error { _, err := db.Exec("DELETE FROM account WHERE id=$1", accountID) return err }