123 lines
3.3 KiB
Go
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
|
|
}
|