@@ -38,6 +38,7 @@ import (
3838 forecastingv1 "github.com/meridianhub/meridian/api/proto/meridian/forecasting/v1"
3939 identityv1 "github.com/meridianhub/meridian/api/proto/meridian/identity/v1"
4040 internalaccountv1 "github.com/meridianhub/meridian/api/proto/meridian/internal_account/v1"
41+ mappingv1 "github.com/meridianhub/meridian/api/proto/meridian/mapping/v1"
4142 marketinformationv1 "github.com/meridianhub/meridian/api/proto/meridian/market_information/v1"
4243 partyv1 "github.com/meridianhub/meridian/api/proto/meridian/party/v1"
4344 paymentorderv1 "github.com/meridianhub/meridian/api/proto/meridian/payment_order/v1"
@@ -84,6 +85,7 @@ import (
8485 refcache "github.com/meridianhub/meridian/services/reference-data/cache"
8586 refcel "github.com/meridianhub/meridian/services/reference-data/cel"
8687 refhandler "github.com/meridianhub/meridian/services/reference-data/handler"
88+ refmapping "github.com/meridianhub/meridian/services/reference-data/mapping"
8789 refnode "github.com/meridianhub/meridian/services/reference-data/node"
8890 refregistry "github.com/meridianhub/meridian/services/reference-data/registry"
8991 refsaga "github.com/meridianhub/meridian/services/reference-data/saga"
@@ -371,7 +373,9 @@ func registerServices(
371373 {"internal-account" , func () error {
372374 return wireInternalAccount (grpcServer , conns .gormDB ("internal-account" ), refDataComps , logger )
373375 }},
374- {"control-plane" , func () error { return wireControlPlane (grpcServer , conns .pgxPool ("control-plane" ), logger ) }},
376+ {"control-plane" , func () error {
377+ return wireControlPlane (grpcServer , conns .pgxPool ("control-plane" ), conns .gormDB ("tenant" ), logger )
378+ }},
375379 {"audit" , func () error { return wireAudit (grpcServer , conns .gormDB ("tenant" ), logger ) }}, // audit uses platform DB
376380 {"identity" , func () error { return wireIdentity (grpcServer , conns .gormDB ("identity" ), logger ) }},
377381 } {
@@ -497,10 +501,21 @@ func wireReferenceData(server *grpc.Server, pool *pgxpool.Pool, logger *slog.Log
497501 return nil , fmt .Errorf ("account type service: %w" , err )
498502 }
499503
504+ mappingRepo := refmapping .NewPostgresRepository (pool )
505+ mappingValidator , err := refmapping .NewValidator (compiler )
506+ if err != nil {
507+ return nil , fmt .Errorf ("mapping validator: %w" , err )
508+ }
509+ mappingSvc , err := refhandler .NewMappingService (mappingRepo , mappingValidator , logger )
510+ if err != nil {
511+ return nil , fmt .Errorf ("mapping service: %w" , err )
512+ }
513+
500514 referencedatav1 .RegisterReferenceDataServiceServer (server , refDataSvc )
501515 referencedatav1 .RegisterNodeServiceServer (server , nodeSvc )
502516 referencedatav1 .RegisterAccountTypeRegistryServiceServer (server , acctTypeSvc )
503517 sagav1 .RegisterSagaRegistryServiceServer (server , sagaSvc )
518+ mappingv1 .RegisterMappingServiceServer (server , mappingSvc )
504519 logger .Info ("registered reference-data service" )
505520 return & refDataComponents {
506521 accountTypeRegistry : acctTypeReg ,
@@ -823,7 +838,7 @@ func wireIdentity(server *grpc.Server, db *gorm.DB, logger *slog.Logger) error {
823838
824839// ─── Control Plane Wiring ────────────────────────────────────────────────────
825840
826- func wireControlPlane (server * grpc.Server , pool * pgxpool.Pool , logger * slog.Logger ) error {
841+ func wireControlPlane (server * grpc.Server , pool * pgxpool.Pool , db * gorm. DB , logger * slog.Logger ) error {
827842 // Register ApplyManifestService without executor for now.
828843 // HandlerDeps (reference-data, internal-account, operational-gateway gRPC clients)
829844 // will be wired in a follow-up once cross-service connections are established here.
@@ -835,6 +850,16 @@ func wireControlPlane(server *grpc.Server, pool *pgxpool.Pool, logger *slog.Logg
835850 return err
836851 }
837852 logger .Info ("registered control-plane service (ApplyManifestService)" )
853+
854+ // Register ManifestHistoryService for manifest version history queries.
855+ if err := controlplaneservice .RegisterManifestHistoryService (server , controlplaneservice.ManifestHistoryServiceConfig {
856+ DB : db ,
857+ Logger : logger ,
858+ }); err != nil {
859+ return err
860+ }
861+ logger .Info ("registered control-plane service (ManifestHistoryService)" )
862+
838863 return nil
839864}
840865
0 commit comments