Commit dbf8aafa by Percy Quispe Huarcaya

chore: refactor imports

parent b308fdea
package config
import "intranet-synchronizer/internal/infrastructure/database/postgres"
import (
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
)
type PipelineDef struct {
Name string
......@@ -14,7 +16,7 @@ type PipelineDef struct {
var Pipelines = []PipelineDef{
{
Name: "students",
PGQuery: postgres.StudentQuery,
PGQuery: sql.StudentQuery,
MongoCollection: "students",
MongoDeletedCollection: "deleted_students",
IDField: "student_id",
......@@ -22,7 +24,7 @@ var Pipelines = []PipelineDef{
},
{
Name: "payment_plans",
PGQuery: postgres.PaymentPlanQuery,
PGQuery: sql.PaymentPlanQuery,
MongoCollection: "payment_plans",
MongoDeletedCollection: "deleted_payment_plans",
IDField: "payment_plan_id",
......@@ -30,7 +32,7 @@ var Pipelines = []PipelineDef{
},
{
Name: "parents",
PGQuery: postgres.ParentQuery,
PGQuery: sql.ParentQuery,
MongoCollection: "parents",
MongoDeletedCollection: "deleted_parents",
IDField: "parent_id",
......@@ -38,7 +40,7 @@ var Pipelines = []PipelineDef{
},
{
Name: "users",
PGQuery: postgres.UserQuery,
PGQuery: sql.UserQuery,
MongoCollection: "users",
MongoDeletedCollection: "deleted_users",
IDField: "user_id",
......@@ -46,7 +48,7 @@ var Pipelines = []PipelineDef{
},
{
Name: "professors",
PGQuery: postgres.ProfessorQuery,
PGQuery: sql.ProfessorQuery,
MongoCollection: "professors",
MongoDeletedCollection: "deleted_professors",
IDField: "professor_id",
......
......@@ -9,6 +9,7 @@ import (
"intranet-synchronizer/internal/domain/entities"
"intranet-synchronizer/internal/domain/repositories"
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
"intranet-synchronizer/pkg/jsonutil"
)
......@@ -49,7 +50,7 @@ func (f *ParentReader) FetchAll(ctx context.Context) ([]entities.SyncRow, error)
return nil
})
g.Go(func() error {
byID, _, err := FetchStudentBasics(gctx, f.pool, StudentQuery)
byID, _, err := FetchStudentBasics(gctx, f.pool, sql.StudentQuery)
if err != nil {
return err
}
......
package postgres
package sql
const PaymentPlanQuery = `
WITH tb_lista_plan_pago AS (select c.plan_de_pago_id as payment_plan_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).
// 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 (
"intranet-synchronizer/internal/domain/entities"
"intranet-synchronizer/internal/domain/repositories"
"intranet-synchronizer/internal/infrastructure/database/postgres/sql"
)
type UserReader struct {
......@@ -22,7 +23,7 @@ func NewUserReader(pool *Pool, query string) repositories.SourceReader {
}
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) {
......@@ -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) {
rows, err := f.pool.Pool.Query(ctx, UserByIDQuery, id)
rows, err := f.pool.Pool.Query(ctx, sql.UserByIDQuery, id)
if err != nil {
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