mirror of
https://codeberg.org/pluja/kycnot.me
synced 2024-10-01 01:05:59 -04:00
logging improvements and ensure unique names
This commit is contained in:
parent
9f6b310676
commit
41448ea966
@ -1,11 +1,14 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/pluja/pocketbase"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type PbClient struct {
|
||||
@ -49,7 +52,7 @@ func (p *PbClient) GetServices(filters, sort string) ([]Service, error) {
|
||||
|
||||
response, err := collection.List(params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.New("database error")
|
||||
}
|
||||
|
||||
return response.Items, nil
|
||||
@ -67,7 +70,7 @@ func (p *PbClient) GetServiceByNameOrUrl(id string) (*Service, error) {
|
||||
|
||||
response, err := collection.List(params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.New("database error")
|
||||
}
|
||||
|
||||
if len(response.Items) > 0 {
|
||||
@ -85,7 +88,7 @@ func (p *PbClient) GetServiceByNameOrUrl(id string) (*Service, error) {
|
||||
})
|
||||
return &service, nil
|
||||
} else {
|
||||
return nil, fmt.Errorf("Service not found.")
|
||||
return nil, errors.New("service not found")
|
||||
}
|
||||
|
||||
}
|
||||
@ -99,7 +102,7 @@ func (p *PbClient) GetServiceById(id string) (*Service, error) {
|
||||
|
||||
response, err := collection.OneWithParams(id, params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.New("service not found")
|
||||
}
|
||||
|
||||
return &response, nil
|
||||
@ -110,7 +113,11 @@ func (p *PbClient) CreateService(service Service) error {
|
||||
|
||||
_, err := collection.Create(service)
|
||||
if err != nil {
|
||||
return err
|
||||
if strings.Contains(err.Error(), "validation_not_unique") {
|
||||
return errors.New("a service with this name already exsits, check out /pending page")
|
||||
}
|
||||
log.Debug().Err(err).Msg("could not create service")
|
||||
return errors.New("could not create service")
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -121,7 +128,7 @@ func (p *PbClient) UpdateService(id string, service Service) error {
|
||||
|
||||
err := collection.Update(id, service)
|
||||
if err != nil {
|
||||
return err
|
||||
return fmt.Errorf("could not update: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -132,7 +139,7 @@ func (p *PbClient) GetAttribute(id string) (*Attribute, error) {
|
||||
|
||||
response, err := collection.One(id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("could not get service: %v", err)
|
||||
}
|
||||
|
||||
return &response, nil
|
||||
@ -155,7 +162,7 @@ func (p *PbClient) GetAttributes(filters, sort string) ([]Attribute, error) {
|
||||
|
||||
response, err := collection.List(params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("could not list: %s", err)
|
||||
}
|
||||
|
||||
return response.Items, nil
|
||||
@ -166,7 +173,7 @@ func (p *PbClient) CreateAttribute(attribute Attribute) error {
|
||||
|
||||
_, err := collection.Create(attribute)
|
||||
if err != nil {
|
||||
return err
|
||||
return fmt.Errorf("could not create attribute: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -53,7 +53,7 @@ func (s *Server) handleApiPicture(c iris.Context) {
|
||||
|
||||
service, err := database.Pb.GetServiceById(id)
|
||||
if err != nil || service.LogoURL == "" {
|
||||
log.Error().Err(err).Msg("GetPicture: Could not get service or logo URL is empty")
|
||||
log.Debug().Err(err).Msg("GetPicture: Could not get service or logo URL is empty")
|
||||
respondWithPlaceholder(c, service.Name)
|
||||
return
|
||||
}
|
||||
@ -76,7 +76,7 @@ func (s *Server) handleApiPicture(c iris.Context) {
|
||||
|
||||
bodyBytes, _ := io.ReadAll(resp.Body)
|
||||
if len(bodyBytes) == 0 {
|
||||
log.Error().Msg("GetPicture: Empty response body")
|
||||
log.Debug().Msg("GetPicture: Empty response body")
|
||||
respondWithPlaceholder(c, service.Name)
|
||||
return
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ func (s *Server) handleApiService(c iris.Context) {
|
||||
|
||||
service, err := database.Pb.GetServiceByNameOrUrl(serviceName)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
log.Debug().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package server
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"github.com/kataras/iris/v12"
|
||||
@ -65,7 +66,7 @@ func (s *Server) handleIndex(c iris.Context) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Could not get services from Pocketbase")
|
||||
log.Debug().Err(err).Msg("Could not get services from Pocketbase")
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -100,7 +101,7 @@ func (s *Server) handleService(c iris.Context) {
|
||||
|
||||
service, err := database.Pb.GetServiceByNameOrUrl(serviceName)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
log.Debug().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -130,7 +131,7 @@ func (s *Server) handleScoreSummary(c iris.Context) {
|
||||
|
||||
service, err := database.Pb.GetServiceByNameOrUrl(serviceName)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
log.Debug().Err(err).Msgf("Could not get service %v from database", serviceName)
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -146,7 +147,7 @@ func (s *Server) handleAttribute(c iris.Context) {
|
||||
// Get service from database by name
|
||||
attribute, err := database.Pb.GetAttribute(attributeId)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("Could not get attribute %v from database", attributeId)
|
||||
log.Debug().Err(err).Msgf("Could not get attribute %v from database", attributeId)
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -157,7 +158,7 @@ func (s *Server) handleAttribute(c iris.Context) {
|
||||
"-score",
|
||||
)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msgf("Could not get services with attribute %v from database", attributeId)
|
||||
log.Debug().Err(err).Msgf("Could not get services with attribute %v from database", attributeId)
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -183,7 +184,7 @@ func (s *Server) handleRequestServiceForm(c iris.Context) {
|
||||
|
||||
attributes, err := database.Pb.GetAttributes("", "-rating")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Could not get attributes from database")
|
||||
log.Debug().Err(err).Msg("Could not get attributes from database")
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -236,7 +237,7 @@ func (s *Server) handleNostr(c iris.Context) {
|
||||
func (s *Server) handlePending(c iris.Context) {
|
||||
services, err := database.Pb.GetServices("pending=true", "score")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Could not get services from database")
|
||||
log.Debug().Err(err).Msg("Could not get services from database")
|
||||
c.HTML("<h3>%s</h3>", err.Error())
|
||||
return
|
||||
}
|
||||
@ -278,26 +279,26 @@ func (s *Server) handlePostRequestServiceForm(c iris.Context) {
|
||||
log.Debug().Msg("Handling request service form")
|
||||
var data RequestFormData
|
||||
if err := c.ReadForm(&data); err != nil {
|
||||
log.Error().Err(err).Msg("Could not parse form data")
|
||||
log.Debug().Err(err).Msg("Could not parse form data")
|
||||
c.Redirect("/request/service?error=Invalid%20Form", iris.StatusSeeOther)
|
||||
return
|
||||
}
|
||||
|
||||
log.Printf("Nonce: %v, ID: %v", data.PowNonce, data.PowId)
|
||||
if !s.PowChallenger.PowVerifyProof(data.PowId, data.PowNonce) {
|
||||
log.Error().Msg("Invalid PoW")
|
||||
log.Debug().Msg("Invalid PoW")
|
||||
c.Redirect("/request/service?error=Invalid%20Captcha", iris.StatusSeeOther)
|
||||
return
|
||||
}
|
||||
|
||||
if data.KYCLevel < 0 || data.KYCLevel >= 4 {
|
||||
log.Error().Msgf("Invalid KYC Level value: %v", c.FormValue("kyc_level"))
|
||||
log.Debug().Msgf("Invalid KYC Level value: %v", c.FormValue("kyc_level"))
|
||||
c.Redirect("/request/service?error=Invalid%20KYC%20Level", iris.StatusSeeOther)
|
||||
return
|
||||
}
|
||||
|
||||
if len(data.Attributes) < 1 {
|
||||
log.Error().Msgf("Invalid number of attributes: %v", len(data.Attributes))
|
||||
log.Debug().Msgf("Invalid number of attributes: %v", len(data.Attributes))
|
||||
c.Redirect("/request/service?error=You%20must%20select%20at%20least%203%20attributes", iris.StatusSeeOther)
|
||||
return
|
||||
}
|
||||
@ -346,8 +347,8 @@ func (s *Server) handlePostRequestServiceForm(c iris.Context) {
|
||||
// Save service to database
|
||||
err := database.Pb.CreateService(service)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Could not save service to database")
|
||||
c.Redirect("/request/service?error=internal-error", iris.StatusSeeOther)
|
||||
log.Debug().Err(err).Msg("Could not save service to database")
|
||||
c.Redirect(fmt.Sprintf("/request/service?error=%s", url.QueryEscape(err.Error())), iris.StatusSeeOther)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -26,11 +26,7 @@ func InitTosScraperDaemon() {
|
||||
trigerScraping()
|
||||
}
|
||||
for {
|
||||
|
||||
if config.Conf.Dev {
|
||||
//duration = 1 * time.Hour
|
||||
log.Debug().Bool("DevMode", config.Conf.Dev).Msgf("Next scraping in %v", duration)
|
||||
}
|
||||
log.Info().Msgf("Next scraping in %v", duration)
|
||||
|
||||
// Set the ticker for that duration
|
||||
ticker := time.NewTicker(duration)
|
||||
@ -58,7 +54,7 @@ func InitTosScraperDaemon() {
|
||||
}
|
||||
|
||||
func trigerScraping() {
|
||||
log.Debug().Msg("Starting scraper...")
|
||||
log.Info().Msg("Starting ToS analysis...")
|
||||
// Get all the Services from the DB
|
||||
services, err := database.Pb.GetServices("pending=false && listed=true", "")
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user