mirror of
https://github.com/ditatompel/xmr-remote-nodes.git
synced 2024-11-16 17:07:36 +00:00
Rename NewProberRepo
to NewProber
Also rename ProbersQueryParams to QueryProbers
This commit is contained in:
parent
ab82985bdf
commit
38320bc316
3 changed files with 24 additions and 21 deletions
|
@ -48,8 +48,8 @@ xmr-nodes probers list -s last_submit_ts -d asc sin1`,
|
|||
sortBy, _ := cmd.Flags().GetString("sort-by")
|
||||
sortDir, _ := cmd.Flags().GetString("sort-dir")
|
||||
|
||||
probersRepo := monero.NewProberRepo(database.GetDB())
|
||||
probers, err := probersRepo.Probers(monero.ProbersQueryParams{
|
||||
probersRepo := monero.NewProber()
|
||||
probers, err := probersRepo.Probers(monero.QueryProbers{
|
||||
Search: strings.Join(args, " "),
|
||||
SortBy: sortBy,
|
||||
SortDirection: sortDir,
|
||||
|
@ -108,7 +108,7 @@ This command will display the prober name and API key when successfully executed
|
|||
proberName = stringPrompt("Prober Name:")
|
||||
}
|
||||
|
||||
proberRepo := monero.NewProberRepo(database.GetDB())
|
||||
proberRepo := monero.NewProber()
|
||||
prober, err := proberRepo.Add(proberName)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
|
@ -135,7 +135,7 @@ var editProbersCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
proberName := stringPrompt("Prober Name:")
|
||||
proberRepo := monero.NewProberRepo(database.GetDB())
|
||||
proberRepo := monero.NewProber()
|
||||
err = proberRepo.Edit(proberId, proberName)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to update prober:", err)
|
||||
|
@ -161,7 +161,7 @@ var deleteProbersCmd = &cobra.Command{
|
|||
return
|
||||
}
|
||||
|
||||
proberRepo := monero.NewProberRepo(database.GetDB())
|
||||
proberRepo := monero.NewProber()
|
||||
err = proberRepo.Delete(proberId)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to delete prober:", err)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package handler
|
||||
|
||||
import (
|
||||
"xmr-remote-nodes/internal/database"
|
||||
"xmr-remote-nodes/internal/monero"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
|
@ -17,9 +16,7 @@ func CheckProber(c *fiber.Ctx) error {
|
|||
})
|
||||
}
|
||||
|
||||
proberRepo := monero.NewProberRepo(database.GetDB())
|
||||
|
||||
prober, err := proberRepo.CheckApi(key)
|
||||
prober, err := monero.NewProber().CheckApi(key)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{
|
||||
"status": "error",
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
type ProberRepository interface {
|
||||
Add(name string) (Prober, error)
|
||||
Edit(id int, name string) error
|
||||
Probers(q ProbersQueryParams) ([]Prober, error)
|
||||
Probers(q QueryProbers) ([]Prober, error)
|
||||
CheckApi(key string) (Prober, error)
|
||||
Delete(id int) error
|
||||
}
|
||||
|
@ -28,10 +28,14 @@ type Prober struct {
|
|||
LastSubmitTs int64 `json:"last_submit_ts" db:"last_submit_ts"`
|
||||
}
|
||||
|
||||
func NewProberRepo(db *database.DB) ProberRepository {
|
||||
return &ProberRepo{db}
|
||||
// Initializes a new ProberRepository
|
||||
//
|
||||
// NOTE: This "prober" is different with "probe" which is used to fetch a new job
|
||||
func NewProber() ProberRepository {
|
||||
return &ProberRepo{db: database.GetDB()}
|
||||
}
|
||||
|
||||
// Add a new prober machine
|
||||
func (repo *ProberRepo) Add(name string) (Prober, error) {
|
||||
apiKey := uuid.New()
|
||||
query := `
|
||||
|
@ -51,6 +55,7 @@ func (repo *ProberRepo) Add(name string) (Prober, error) {
|
|||
return Prober{Name: name, ApiKey: apiKey}, nil
|
||||
}
|
||||
|
||||
// Edit an existing prober
|
||||
func (repo *ProberRepo) Edit(id int, name string) error {
|
||||
query := `UPDATE tbl_prober SET name = ? WHERE id = ?`
|
||||
res, err := repo.db.Exec(query, name, id)
|
||||
|
@ -67,6 +72,7 @@ func (repo *ProberRepo) Edit(id int, name string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Delete an existing prober
|
||||
func (repo *ProberRepo) Delete(id int) error {
|
||||
res, err := repo.db.Exec(`DELETE FROM tbl_prober WHERE id = ?`, id)
|
||||
if err != nil {
|
||||
|
@ -82,13 +88,13 @@ func (repo *ProberRepo) Delete(id int) error {
|
|||
return err
|
||||
}
|
||||
|
||||
type ProbersQueryParams struct {
|
||||
type QueryProbers struct {
|
||||
Search string
|
||||
SortBy string
|
||||
SortDirection string
|
||||
}
|
||||
|
||||
func (repo *ProberRepo) Probers(q ProbersQueryParams) ([]Prober, error) {
|
||||
func (repo *ProberRepo) Probers(q QueryProbers) ([]Prober, error) {
|
||||
queryParams := []interface{}{}
|
||||
whereQueries := []string{}
|
||||
where := ""
|
||||
|
@ -103,7 +109,7 @@ func (repo *ProberRepo) Probers(q ProbersQueryParams) ([]Prober, error) {
|
|||
where = "WHERE " + strings.Join(whereQueries, " AND ")
|
||||
}
|
||||
|
||||
probers := []Prober{}
|
||||
var probers []Prober
|
||||
|
||||
allowedSort := []string{"id", "last_submit_ts"}
|
||||
sortBy := "last_submit_ts"
|
||||
|
@ -133,18 +139,18 @@ func (repo *ProberRepo) Probers(q ProbersQueryParams) ([]Prober, error) {
|
|||
defer row.Close()
|
||||
|
||||
for row.Next() {
|
||||
prober := Prober{}
|
||||
err = row.Scan(&prober.Id, &prober.Name, &prober.ApiKey, &prober.LastSubmitTs)
|
||||
var p Prober
|
||||
err = row.Scan(&p.Id, &p.Name, &p.ApiKey, &p.LastSubmitTs)
|
||||
if err != nil {
|
||||
return probers, err
|
||||
}
|
||||
probers = append(probers, prober)
|
||||
probers = append(probers, p)
|
||||
}
|
||||
return probers, nil
|
||||
}
|
||||
|
||||
func (repo *ProberRepo) CheckApi(key string) (Prober, error) {
|
||||
prober := Prober{}
|
||||
var p Prober
|
||||
query := `
|
||||
SELECT
|
||||
id,
|
||||
|
@ -156,6 +162,6 @@ func (repo *ProberRepo) CheckApi(key string) (Prober, error) {
|
|||
WHERE
|
||||
api_key = ?
|
||||
LIMIT 1`
|
||||
err := repo.db.QueryRow(query, key).Scan(&prober.Id, &prober.Name, &prober.ApiKey, &prober.LastSubmitTs)
|
||||
return prober, err
|
||||
err := repo.db.QueryRow(query, key).Scan(&p.Id, &p.Name, &p.ApiKey, &p.LastSubmitTs)
|
||||
return p, err
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue