Post-Migrator/services/migration/post-result.go

61 lines
1.6 KiB
Go

package migration
import (
"database/sql"
"log"
)
type PostResult struct {
WordpressId int
SlowtwitchId int
OldUrl string
OldUrlStatus int
NewUrl string
IsSuccess bool
ErrorMessage string
}
func GetAllPostResults(db *sql.DB) []PostResult {
var results []PostResult
rows, err := db.Query("select WordpressId, SlowtwitchId, OldUrl, OldUrlStatus, NewUrl, (IsSuccess = b'1'), ErrorMessage from PostResults")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
result := PostResult{}
err = rows.Scan(&result.WordpressId, &result.SlowtwitchId, &result.OldUrl, &result.OldUrlStatus, &result.NewUrl, &result.IsSuccess, &result.ErrorMessage)
if err != nil {
log.Fatal(err)
}
results = append(results, result)
}
return results
}
func CreatePostResult(parameters PostResult, db *sql.DB) (int, error) {
result, err := db.Exec("insert into PostResults (WordpressId, SlowtwitchId, OldUrl, OldUrlStatus, NewUrl, IsSuccess, ErrorMessage) values (?, ?, ?, ?, ?, ?, ?)", parameters.WordpressId, parameters.SlowtwitchId, parameters.OldUrl, parameters.OldUrlStatus, parameters.NewUrl, parameters.IsSuccess, parameters.ErrorMessage)
if err != nil {
return 0, err
} else {
id, err := result.LastInsertId()
if err != nil {
return 0, err
}
return int(id), nil
}
}
func GetWordpressPostIdBySlowtwitchPostId(slowtwitchPostId int, db *sql.DB) (int, error) {
var wordpressId int
post := db.QueryRow("select WordpressId from PostResults where SlowtwitchId = (?)", slowtwitchPostId)
err := post.Scan(&wordpressId)
return wordpressId, err
}