Browse Source

Added RetrievePage for other tables

master
Jordan Mason 3 years ago
parent
commit
1e640d5f93
No known key found for this signature in database
GPG Key ID: E94DACD6EF62D989
  1. 228
      database.go

228
database.go

@ -485,6 +485,71 @@ func (c *CompanionApp) Retrieve() error { @@ -485,6 +485,71 @@ func (c *CompanionApp) Retrieve() error {
return nil
}
func (c *CompanionApp) RetrievePage(pageSize int32, page int32) ([]CompanionApp, error) {
db := openDB()
defer db.Close()
var parms []interface{}
statement := "SELECT * FROM companionapp WHERE"
first := true
if c.AppName != "" {
parms = append(parms, c.AppName)
if !first {
statement += " AND "
} else {
first = false
}
statement += " AppName = ? "
}
if c.APKLink != "" {
parms = append(parms, c.APKLink)
if !first {
statement += " AND "
} else {
first = false
}
statement += " APKLink = ? "
}
if c.GlassAppID != "" {
parms = append(parms, c.GlassAppID)
if !first {
statement += " AND "
} else {
first = false
}
statement += " GlassAppID = ? "
}
if c.AppID != "" {
parms = append(parms, c.AppID)
if !first {
statement += " AND "
} else {
first = false
}
statement += " AppID = ? "
}
statement += fmt.Sprintf(" LIMIT %+v OFFSET %+v", pageSize, pageSize * page)
LogMsg("Attempting to query using the following statement: %+v\nParams: %+v", statement, parms)
rows, err := db.Query(statement, parms...)
if err != nil {
return nil, err
}
var ret []CompanionApp
for rows.Next() {
var c2 CompanionApp
rows.Scan(&c2.AppName, &c2.APKLink, &c2.GlassAppID, &c2.AppID)
ret = append(ret, c2)
}
LogMsg("DB Returned: %+v", c)
return ret, nil
}
func (d *DownloadStats) Retrieve() error {
db := openDB()
defer db.Close()
@ -544,6 +609,69 @@ func (d *DownloadStats) Retrieve() error { @@ -544,6 +609,69 @@ func (d *DownloadStats) Retrieve() error {
return nil
}
func (d *DownloadStats) RetrievePage(pageSize int32, page int32) ([]DownloadStats, error) {
db := openDB()
defer db.Close()
var parms []interface{}
statement := "SELECT * FROM downloadstats WHERE"
first := true
if d.Identifier != "" {
parms = append(parms, d.Identifier)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Identifier = ? "
}
if d.Rating != "" {
parms = append(parms, d.Rating)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Rating = ? "
}
if d.Review != "" {
parms = append(parms, d.Review)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Review = ? "
}
if d.GlassAppID != "" {
parms = append(parms, d.GlassAppID)
if !first {
statement += " AND "
} else {
first = false
}
statement += " GlassAppID = ? "
}
statement += fmt.Sprintf(" LIMIT %+v OFFSET %+v", pageSize, pageSize * page)
LogMsg("Attempting to query using the following statement: %+v\nParams: %+v", statement, parms)
rows, err := db.Query(statement, parms...)
if err != nil {
return nil, err
}
var ret []DownloadStats
for rows.Next() {
var d2 DownloadStats
rows.Scan(&d2.Identifier, &d2.Rating, &d2.Review, &d2.GlassAppID)
ret = append(ret, d2)
}
LogMsg("DB Returned: %+v", d)
return ret, nil
}
func (a *AuthToken) Retrieve() error {
db := openDB()
defer db.Close()
@ -640,6 +768,106 @@ func (a *AuthToken) Retrieve() error { @@ -640,6 +768,106 @@ func (a *AuthToken) Retrieve() error {
}
func (a *AuthToken) RetrievePage(pageSize int32, page int32) ([]AuthToken, error) {
db := openDB()
defer db.Close()
var parms []interface{}
statement := "SELECT * FROM authtoken WHERE"
first := true
if a.Identifier != "" {
parms = append(parms, a.Identifier)
statement += " Identifier = ? "
first = false
}
if a.Email != "" {
parms = append(parms, a.Email)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Email = ? "
}
if a.Username != "" {
parms = append(parms, a.Username)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Username = ? "
}
if a.PasswordHash != "" {
parms = append(parms, a.PasswordHash)
if !first {
statement += " AND "
} else {
first = false
}
statement += " PasswordHash = ? "
}
if a.LastIP != "" {
parms = append(parms, a.LastIP)
if !first {
statement += " AND "
} else {
first = false
}
statement += " LastIP = ? "
}
if a.AuthToken != "" {
parms = append(parms, a.AuthToken)
if !first {
statement += " AND "
} else {
first = false
}
statement += " AuthToken = ? "
}
if a.PreviousHash != "" {
parms = append(parms, a.PreviousHash)
if !first {
statement += " AND "
} else {
first = false
}
statement += " PreviousHash = ? "
}
if a.Current != "" {
parms = append(parms, a.Current)
if !first {
statement += " AND "
} else {
first = false
}
statement += " Current = ? "
}
statement += fmt.Sprintf(" LIMIT %+v OFFSET %+v", pageSize, pageSize * page)
LogMsg("Attempting to query using the following statement: %+v\nParams: %+v", statement, parms)
rows, err := db.Query(statement, parms...)
if err != nil {
return nil, err
}
var ret []AuthToken
for rows.Next() {
var a2 AuthToken
rows.Scan(&a2.Identifier, &a2.Email, &a2.Username, &a2.PasswordHash, &a2.LastIP, &a2.AuthToken,
&a2.PreviousHash, &a2.Current)
ret = append(ret, a2)
}
LogMsg("DB Returned: %+v", a)
return ret, nil
}
func (u *User) Delete() {
db := openDB()
defer db.Close()

Loading…
Cancel
Save