Files

123 lines
3.3 KiB
Go

package main
import (
"fmt"
)
/* Query Status */
func (w *WebData) sqlGetStatusByID(id string) (StatusFull, error) {
var result StatusFull
row := w.stmtGetStatusByID.QueryRow(id)
err := row.Scan(&result.ID, &result.UserID, &result.Domain, &result.JSON, &result.ArchiveIs, &result.ArchiveOrg, &result.ArchiveIsJSON, &result.ArchiveOrgJSON)
return result, err
}
func (w *WebData) sqlGetStatuses() ([]StatusFull, error) {
var results []StatusFull
rows, err := w.stmtGetStatuses.Query("%")
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result StatusFull
err = rows.Scan(&result.ID, &result.UserID, &result.Domain, &result.JSON, &result.ArchiveIs, &result.ArchiveOrg, &result.ArchiveIsJSON, &result.ArchiveOrgJSON)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}
func (w *WebData) sqlGetStatusesByUser(id string, domain string) ([]StatusFull, error) {
var results []StatusFull
rows, err := w.stmtGetStatusesByUser.Query(id, domain)
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result StatusFull
err = rows.Scan(&result.ID, &result.UserID, &result.Domain, &result.JSON, &result.ArchiveIs, &result.ArchiveOrg, &result.ArchiveIsJSON, &result.ArchiveOrgJSON)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}
func (w *WebData) sqlGetStatusesByMaxID(maxID string) ([]StatusFull, error) {
var results []StatusFull
rows, err := w.stmtGetStatuses.Query(maxID)
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result StatusFull
err = rows.Scan(&result.ID, &result.UserID, &result.Domain, &result.JSON, &result.ArchiveIs, &result.ArchiveOrg, &result.ArchiveIsJSON, &result.ArchiveOrgJSON)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}
func (w *WebData) sqlGetStatusesByContents(search string) ([]StatusFull, error) {
var results []StatusFull
rows, err := w.stmtGetStatusesByContent.Query(fmt.Sprintf("%%%s%%", search))
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result StatusFull
err = rows.Scan(&result.ID, &result.UserID, &result.Domain, &result.JSON, &result.ArchiveIs, &result.ArchiveOrg, &result.ArchiveIsJSON, &result.ArchiveOrgJSON)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}
/* Query User */
func (w *WebData) sqlGetUsers() ([]QueryUser, error) {
var results []QueryUser
rows, err := w.stmtGetUsers.Query()
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result QueryUser
err = rows.Scan(&result.ID, &result.UserID, &result.Username, &result.Domain, &result.LastStatus)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}
func (w *WebData) sqlGetUsersByDomain(domain string) ([]QueryUser, error) {
var results []QueryUser
rows, err := w.stmtGetUsersByDomain.Query(domain)
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var result QueryUser
err = rows.Scan(&result.ID, &result.UserID, &result.Username, &result.Domain, &result.LastStatus)
if err != nil {
return nil, err
}
results = append(results, result)
}
return results, nil
}