[ADD] AVANCE intranet

parent 5b0be4ed
......@@ -18,6 +18,7 @@ import (
"intranet-sycronizacion/internal/db"
"intranet-sycronizacion/internal/parents"
"intranet-sycronizacion/internal/paymentplans"
"intranet-sycronizacion/internal/professors"
"intranet-sycronizacion/internal/students"
appsync "intranet-sycronizacion/internal/sync"
"intranet-sycronizacion/internal/users"
......@@ -66,6 +67,8 @@ func main() {
reader = parents.NewQueryReader(pgPool, p.PGQuery)
case p.Name == "users":
reader = users.NewQueryReader(pgPool, p.PGQuery)
case p.Name == "professors":
reader = professors.NewQueryReader(pgPool, p.PGQuery)
case p.RequireEnrollmentID:
reader = db.NewFunctionReader(pgPool, p.PGFunction)
default:
......@@ -97,7 +100,7 @@ func main() {
svcByName[p.Name] = svc
}
router := api.NewRouter(svcByName["students"], svcByName["payment_plans"], svcByName["parents"], svcByName["users"],
router := api.NewRouter(svcByName["students"], svcByName["payment_plans"], svcByName["parents"], svcByName["users"], svcByName["professors"],
func(pingCtx context.Context) error { return pgPool.Ping(pingCtx) },
func(pingCtx context.Context) error { return mongoClient.Ping(pingCtx, nil) },
)
......
......@@ -15,6 +15,7 @@ type Handlers struct {
paymentPlansSvc *appsync.Service
parentsSvc *appsync.Service
usersSvc *appsync.Service
professorsSvc *appsync.Service
pgPing func(context.Context) error
mongoPing func(context.Context) error
}
......
......@@ -10,8 +10,8 @@ import (
)
// NewRouter construye el router de Gin y registra las rutas.
func NewRouter(studentsSvc, paymentPlansSvc, parentsSvc, usersSvc *appsync.Service, pgPing, mongoPing func(context.Context) error) *gin.Engine {
h := &Handlers{studentsSvc: studentsSvc, paymentPlansSvc: paymentPlansSvc, parentsSvc: parentsSvc, usersSvc: usersSvc, pgPing: pgPing, mongoPing: mongoPing}
func NewRouter(studentsSvc, paymentPlansSvc, parentsSvc, usersSvc, professorsSvc *appsync.Service, pgPing, mongoPing func(context.Context) error) *gin.Engine {
h := &Handlers{studentsSvc: studentsSvc, paymentPlansSvc: paymentPlansSvc, parentsSvc: parentsSvc, usersSvc: usersSvc, professorsSvc: professorsSvc, pgPing: pgPing, mongoPing: mongoPing}
r := gin.Default()
......@@ -29,5 +29,8 @@ func NewRouter(studentsSvc, paymentPlansSvc, parentsSvc, usersSvc *appsync.Servi
v1.POST("/sync/users/trigger", triggerHandler(usersSvc))
v1.GET("/sync/users/status", statusHandler(usersSvc))
v1.POST("/sync/professors/trigger", triggerHandler(professorsSvc))
v1.GET("/sync/professors/status", statusHandler(professorsSvc))
return r
}
......@@ -3,6 +3,7 @@ package config
import (
"intranet-sycronizacion/internal/parents"
"intranet-sycronizacion/internal/paymentplans"
"intranet-sycronizacion/internal/professors"
"intranet-sycronizacion/internal/students"
"intranet-sycronizacion/internal/users"
)
......@@ -53,4 +54,12 @@ var Pipelines = []PipelineDef{
IDField: "user_id",
StateID: 4,
},
{
Name: "professors",
PGQuery: professors.Query,
MongoCollection: "professors",
MongoDeletedCollection: "deleted_professors",
IDField: "professor_id",
StateID: 5,
},
}
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