Commit dbf8aafa by Percy Quispe Huarcaya

chore: refactor imports

parent b308fdea
package config package config
import "intranet-synchronizer/internal/infrastructure/database/postgres" import (
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
)
type PipelineDef struct { type PipelineDef struct {
Name string Name string
...@@ -14,7 +16,7 @@ type PipelineDef struct { ...@@ -14,7 +16,7 @@ type PipelineDef struct {
var Pipelines = []PipelineDef{ var Pipelines = []PipelineDef{
{ {
Name: "students", Name: "students",
PGQuery: postgres.StudentQuery, PGQuery: sql.StudentQuery,
MongoCollection: "students", MongoCollection: "students",
MongoDeletedCollection: "deleted_students", MongoDeletedCollection: "deleted_students",
IDField: "student_id", IDField: "student_id",
...@@ -22,7 +24,7 @@ var Pipelines = []PipelineDef{ ...@@ -22,7 +24,7 @@ var Pipelines = []PipelineDef{
}, },
{ {
Name: "payment_plans", Name: "payment_plans",
PGQuery: postgres.PaymentPlanQuery, PGQuery: sql.PaymentPlanQuery,
MongoCollection: "payment_plans", MongoCollection: "payment_plans",
MongoDeletedCollection: "deleted_payment_plans", MongoDeletedCollection: "deleted_payment_plans",
IDField: "payment_plan_id", IDField: "payment_plan_id",
...@@ -30,7 +32,7 @@ var Pipelines = []PipelineDef{ ...@@ -30,7 +32,7 @@ var Pipelines = []PipelineDef{
}, },
{ {
Name: "parents", Name: "parents",
PGQuery: postgres.ParentQuery, PGQuery: sql.ParentQuery,
MongoCollection: "parents", MongoCollection: "parents",
MongoDeletedCollection: "deleted_parents", MongoDeletedCollection: "deleted_parents",
IDField: "parent_id", IDField: "parent_id",
...@@ -38,7 +40,7 @@ var Pipelines = []PipelineDef{ ...@@ -38,7 +40,7 @@ var Pipelines = []PipelineDef{
}, },
{ {
Name: "users", Name: "users",
PGQuery: postgres.UserQuery, PGQuery: sql.UserQuery,
MongoCollection: "users", MongoCollection: "users",
MongoDeletedCollection: "deleted_users", MongoDeletedCollection: "deleted_users",
IDField: "user_id", IDField: "user_id",
...@@ -46,7 +48,7 @@ var Pipelines = []PipelineDef{ ...@@ -46,7 +48,7 @@ var Pipelines = []PipelineDef{
}, },
{ {
Name: "professors", Name: "professors",
PGQuery: postgres.ProfessorQuery, PGQuery: sql.ProfessorQuery,
MongoCollection: "professors", MongoCollection: "professors",
MongoDeletedCollection: "deleted_professors", MongoDeletedCollection: "deleted_professors",
IDField: "professor_id", IDField: "professor_id",
......
...@@ -9,6 +9,7 @@ import ( ...@@ -9,6 +9,7 @@ import (
"intranet-synchronizer/internal/domain/entities" "intranet-synchronizer/internal/domain/entities"
"intranet-synchronizer/internal/domain/repositories" "intranet-synchronizer/internal/domain/repositories"
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
"intranet-synchronizer/pkg/jsonutil" "intranet-synchronizer/pkg/jsonutil"
) )
...@@ -49,7 +50,7 @@ func (f *ParentReader) FetchAll(ctx context.Context) ([]entities.SyncRow, error) ...@@ -49,7 +50,7 @@ func (f *ParentReader) FetchAll(ctx context.Context) ([]entities.SyncRow, error)
return nil return nil
}) })
g.Go(func() error { g.Go(func() error {
byID, _, err := FetchStudentBasics(gctx, f.pool, StudentQuery) byID, _, err := FetchStudentBasics(gctx, f.pool, sql.StudentQuery)
if err != nil { if err != nil {
return err return err
} }
......
package postgres package sql
const ParentQuery = ` const ParentQuery = `
SELECT pp.persona_id as parent_id, SELECT pp.persona_id as parent_id,
......
package postgres package sql
const PaymentPlanQuery = ` const PaymentPlanQuery = `
WITH tb_lista_plan_pago AS (select c.plan_de_pago_id as payment_plan_id, WITH tb_lista_plan_pago AS (select c.plan_de_pago_id as payment_plan_id,
......
package postgres package sql
const ProfessorQuery = ` const ProfessorQuery = `
SELECT profesor_id as professor_id, SELECT profesor_id as professor_id,
......
package postgres package sql
// StudentQuery es el SQL crudo de la tubería de estudiantes: junta estudiante + persona + matrícula + apertura (sede/nivel/grado). // StudentQuery es el SQL crudo de la tubería de estudiantes: junta estudiante + persona + matrícula + apertura (sede/nivel/grado).
// Los planes de pago son una tubería aparte (payment_plans) — no se anidan en el documento de estudiante. // Los planes de pago son una tubería aparte (payment_plans) — no se anidan en el documento de estudiante.
......
package sql
const UserQuery = `
SELECT user_id,
user_login,
user_password,
user_creation_date,
parent_id,
user_status
FROM intranet.users;
`
const UserByIDQuery = `
SELECT user_id,
user_login,
user_password,
user_creation_date,
parent_id,
user_status
FROM intranet.users
WHERE user_id = $1;
`
package postgres
const UserQuery = `
SELECT user_id, user_login, user_password, user_creation_date, parent_id, user_status
FROM intranet.users;
`
const UserByIDQuery = `
SELECT user_id, user_login, user_password, user_creation_date, parent_id, user_status
FROM intranet.users
WHERE user_id = $1;
`
...@@ -10,6 +10,7 @@ import ( ...@@ -10,6 +10,7 @@ import (
"intranet-synchronizer/internal/domain/entities" "intranet-synchronizer/internal/domain/entities"
"intranet-synchronizer/internal/domain/repositories" "intranet-synchronizer/internal/domain/repositories"
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
) )
type UserReader struct { type UserReader struct {
...@@ -22,7 +23,7 @@ func NewUserReader(pool *Pool, query string) repositories.SourceReader { ...@@ -22,7 +23,7 @@ func NewUserReader(pool *Pool, query string) repositories.SourceReader {
} }
func NewUserRowReader(pool *Pool) repositories.SourceRowReader { func NewUserRowReader(pool *Pool) repositories.SourceRowReader {
return &UserReader{pool: pool, query: UserByIDQuery} return &UserReader{pool: pool, query: sql.UserByIDQuery}
} }
func scanUserRow(row pgx.CollectableRow) (entities.SyncRow, error) { func scanUserRow(row pgx.CollectableRow) (entities.SyncRow, error) {
...@@ -63,7 +64,7 @@ func (f *UserReader) FetchAll(ctx context.Context) ([]entities.SyncRow, error) { ...@@ -63,7 +64,7 @@ func (f *UserReader) FetchAll(ctx context.Context) ([]entities.SyncRow, error) {
} }
func (f *UserReader) FetchByID(ctx context.Context, id int) (entities.SyncRow, bool, error) { func (f *UserReader) FetchByID(ctx context.Context, id int) (entities.SyncRow, bool, error) {
rows, err := f.pool.Pool.Query(ctx, UserByIDQuery, id) rows, err := f.pool.Pool.Query(ctx, sql.UserByIDQuery, id)
if err != nil { if err != nil {
return entities.SyncRow{}, false, fmt.Errorf("query user %d: %w", id, err) return entities.SyncRow{}, false, fmt.Errorf("query user %d: %w", id, err)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment