move common code to pkg

This commit is contained in:
Pedro Pérez 2025-10-29 17:29:30 +01:00
parent 05ca5ac787
commit 4885dad4ab
6 changed files with 13 additions and 7 deletions

View File

@ -1,4 +1,4 @@
package domains package pkg
var ( var (
SQLSTATE_25P02 = "25P02" SQLSTATE_25P02 = "25P02"

3
pkg/go.mod Normal file
View File

@ -0,0 +1,3 @@
module pkg
go 1.25.2

View File

@ -1,4 +1,4 @@
package domains package pkg
import ( import (
"encoding/json" "encoding/json"

View File

@ -5,6 +5,7 @@ go 1.25.2
require ( require (
github.com/jackc/pgx/v5 v5.7.6 github.com/jackc/pgx/v5 v5.7.6
github.com/stretchr/testify v1.11.1 github.com/stretchr/testify v1.11.1
pkg v0.0.0-00010101000000-000000000000
) )
require ( require (
@ -20,3 +21,5 @@ require (
golang.org/x/text v0.24.0 // indirect golang.org/x/text v0.24.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
) )
replace pkg => ../pkg

View File

@ -8,13 +8,13 @@ import (
"io" "io"
"log/slog" "log/slog"
"net/http" "net/http"
"pkg"
"servicea/internal/app" "servicea/internal/app"
"servicea/internal/domains"
"time" "time"
) )
type Handler struct { type Handler struct {
domains.BaseHandler pkg.BaseHandler
s *Service s *Service
} }

View File

@ -3,7 +3,7 @@ package meteo
import ( import (
"context" "context"
"fmt" "fmt"
"servicea/internal/domains" "pkg"
"strings" "strings"
b "github.com/jackc/pgx/v5" b "github.com/jackc/pgx/v5"
@ -78,7 +78,7 @@ func (pgx *pgxRepo) insertBatch(ctx context.Context, tx b.Tx, fileChecksum strin
var batchID int var batchID int
err := tx.QueryRow(ctx, insertBatch, 0, fileChecksum).Scan(&batchID) err := tx.QueryRow(ctx, insertBatch, 0, fileChecksum).Scan(&batchID)
if err != nil { if err != nil {
if strings.Contains(err.Error(), domains.SQLSTATE_23505) { if strings.Contains(err.Error(), pkg.SQLSTATE_23505) {
return 0, ErrRecordAlreadyExists return 0, ErrRecordAlreadyExists
} }
return 0, fmt.Errorf("error inserting batch: %w", err) return 0, fmt.Errorf("error inserting batch: %w", err)
@ -107,7 +107,7 @@ func (pgx *pgxRepo) insertAcceptedMeteoData(ctx context.Context, tx b.Tx, batchI
rowsInserted++ rowsInserted++
if err != nil { if err != nil {
results.Close() results.Close()
if strings.Contains(err.Error(), domains.SQLSTATE_23505) { if strings.Contains(err.Error(), pkg.SQLSTATE_23505) {
return 0, ErrRecordAlreadyExists return 0, ErrRecordAlreadyExists
} }
return 0, fmt.Errorf("error executing batch command %d: %w", i, err) return 0, fmt.Errorf("error executing batch command %d: %w", i, err)