solidarity transport updates
This commit is contained in:
23
services/carpool.go
Normal file
23
services/carpool.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"git.coopgo.io/coopgo-platform/carpool-service/servers/grpc/proto"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type CarpoolService struct {
|
||||
proto.CarpoolServiceClient
|
||||
}
|
||||
|
||||
func NewCarpoolService(dial string) (*CarpoolService, error) {
|
||||
conn, err := grpc.Dial(dial, grpc.WithInsecure())
|
||||
|
||||
client := proto.NewCarpoolServiceClient(conn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &CarpoolService{
|
||||
CarpoolServiceClient: client,
|
||||
}, nil
|
||||
}
|
||||
@@ -91,6 +91,37 @@ func (s *ServicesHandler) GetAccountsInNamespace(namespace string) (accounts []s
|
||||
|
||||
return
|
||||
}
|
||||
func (s *ServicesHandler) GetAccountsInNamespaceMap(namespace string) (accounts map[string]storage.Account, err error) {
|
||||
accounts = map[string]storage.Account{}
|
||||
request := &mobilityaccounts.GetAccountsRequest{
|
||||
Namespaces: []string{namespace},
|
||||
}
|
||||
resp, err := s.GRPC.MobilityAccounts.GetAccounts(context.TODO(), request)
|
||||
|
||||
if err == nil {
|
||||
for _, v := range resp.Accounts {
|
||||
accounts[v.Id] = v.ToStorageType()
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *ServicesHandler) GetAccountsInNamespacesMap(namespaces []string) (accounts map[string]storage.Account, err error) {
|
||||
accounts = map[string]storage.Account{}
|
||||
request := &mobilityaccounts.GetAccountsRequest{
|
||||
Namespaces: namespaces,
|
||||
}
|
||||
resp, err := s.GRPC.MobilityAccounts.GetAccounts(context.TODO(), request)
|
||||
|
||||
if err == nil {
|
||||
for _, v := range resp.Accounts {
|
||||
accounts[v.Id] = v.ToStorageType()
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *ServicesHandler) GetAccount(id string) (account storage.Account, err error) {
|
||||
request := &mobilityaccounts.GetAccountRequest{
|
||||
|
||||
@@ -2,32 +2,53 @@ package services
|
||||
|
||||
import (
|
||||
agenda "git.coopgo.io/coopgo-platform/agenda/grpcapi"
|
||||
carpoolservice "git.coopgo.io/coopgo-platform/carpool-service/servers/grpc/proto"
|
||||
diags "git.coopgo.io/coopgo-platform/diags/grpcapi"
|
||||
fleets "git.coopgo.io/coopgo-platform/fleets/grpcapi"
|
||||
"git.coopgo.io/coopgo-platform/geography/handlers/admin"
|
||||
groupsmanagement "git.coopgo.io/coopgo-platform/groups-management/grpcapi"
|
||||
mobilityaccounts "git.coopgo.io/coopgo-platform/mobility-accounts/grpcapi"
|
||||
multimodal "git.coopgo.io/coopgo-platform/multimodal-routing/handlers"
|
||||
"git.coopgo.io/coopgo-platform/multimodal-routing/libs/transit/motis"
|
||||
"git.coopgo.io/coopgo-platform/payments/pricing"
|
||||
"git.coopgo.io/coopgo-platform/routing-service"
|
||||
"git.coopgo.io/coopgo-platform/sms"
|
||||
solidaritytransport "git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen"
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type ServicesHandler struct {
|
||||
GRPC GRPCServices
|
||||
GRPC GRPCServices
|
||||
InteropCarpool *multimodal.CarpoolRoutingHandler
|
||||
Routing routing.RoutingService
|
||||
TransitRouting *motis.ClientWithResponses
|
||||
SMS *sms.SMSHandler
|
||||
Pricing pricing.PricingService
|
||||
Geography admin.AdminIndex
|
||||
}
|
||||
|
||||
type GRPCServices struct {
|
||||
MobilityAccounts mobilityaccounts.MobilityAccountsClient
|
||||
GroupsManagement groupsmanagement.GroupsManagementClient
|
||||
Fleets fleets.FleetsClient
|
||||
Agenda agenda.AgendaClient
|
||||
Diags diags.DiagsClient
|
||||
MobilityAccounts mobilityaccounts.MobilityAccountsClient
|
||||
GroupsManagement groupsmanagement.GroupsManagementClient
|
||||
Fleets fleets.FleetsClient
|
||||
Agenda agenda.AgendaClient
|
||||
SolidarityTransport solidaritytransport.SolidarityTransportClient
|
||||
CarpoolService carpoolservice.CarpoolServiceClient
|
||||
Diags diags.DiagsClient
|
||||
}
|
||||
|
||||
func NewServicesHandler(cfg *viper.Viper) (*ServicesHandler, error) {
|
||||
var (
|
||||
mobilityAccountsDial = cfg.GetString("services.grpc.mobilityaccounts.dial")
|
||||
groupsManagementDial = cfg.GetString("services.grpc.groupsmanagement.dial")
|
||||
fleetsDial = cfg.GetString("services.grpc.fleets.dial")
|
||||
agendaDial = cfg.GetString("services.grpc.agenda.dial")
|
||||
mobilityAccountsDial = cfg.GetString("services.grpc.mobilityaccounts.dial")
|
||||
groupsManagementDial = cfg.GetString("services.grpc.groupsmanagement.dial")
|
||||
fleetsDial = cfg.GetString("services.grpc.fleets.dial")
|
||||
agendaDial = cfg.GetString("services.grpc.agenda.dial")
|
||||
solidarityTransportDial = cfg.GetString("services.grpc.solidaritytransport.dial")
|
||||
carpoolServiceDial = cfg.GetString("services.grpc.carpoolservice.dial")
|
||||
routing_service_type = cfg.GetString("routing.type")
|
||||
valhalla_base_url = cfg.GetString("routing.valhalla.base_url")
|
||||
|
||||
// diagsDial = cfg.GetString("services.grpc.diags.dial")
|
||||
)
|
||||
mobilityAccounts, err := NewMobilityAccountService(mobilityAccountsDial)
|
||||
@@ -37,20 +58,31 @@ func NewServicesHandler(cfg *viper.Viper) (*ServicesHandler, error) {
|
||||
}
|
||||
|
||||
groupsManagement, err := NewGroupsManagementService(groupsManagementDial)
|
||||
log.Error().Err(err).Msg("Groups mgmt service issue")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Groups mgmt service issue")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
fleetsSvc, err := NewFleetsService(fleetsDial)
|
||||
log.Error().Err(err).Msg("Fleets service issue")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Fleets service issue")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
agendaSvc, err := NewAgendaService(agendaDial)
|
||||
log.Error().Err(err).Msg("Agenda service issue")
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Agenda service issue")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
solidarityTransportSvc, err := NewSolidarityTransportService(solidarityTransportDial)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Solidarity Transport service issue")
|
||||
return nil, err
|
||||
}
|
||||
carpoolSvc, err := NewCarpoolService(carpoolServiceDial)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Carpool service service issue")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -59,14 +91,61 @@ func NewServicesHandler(cfg *viper.Viper) (*ServicesHandler, error) {
|
||||
//if err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
routing, err := routing.NewRoutingService(routing_service_type, valhalla_base_url)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Could not initiate the routing service")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
carpoolRouting, err := multimodal.NewCarpoolRoutingHandler(cfg.Sub("multimodal.modes.carpool"))
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Could not initiate the carpool routing service")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
motisRouting, err := motis.NewClientWithResponses(cfg.GetString("multimodal.modes.transit.motis.server"))
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Could not initiate the transit routing service")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pricing_type := cfg.GetString("payments.pricing.type")
|
||||
if pricing_type == "" {
|
||||
pricing_type = "mms43"
|
||||
}
|
||||
pricingService, err := pricing.NewPricingService(pricing_type)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Could not initiate the pricing service")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
smsHandler, err := sms.NewSMSHandler(cfg.Sub("sms"))
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Could not initiate the SMS handler")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
geography, err := admin.NewAdminIndex(cfg.Sub("geography"))
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("could not initiate admin index")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &ServicesHandler{
|
||||
GRPC: GRPCServices{
|
||||
MobilityAccounts: mobilityAccounts,
|
||||
GroupsManagement: groupsManagement,
|
||||
Fleets: fleetsSvc,
|
||||
Agenda: agendaSvc,
|
||||
MobilityAccounts: mobilityAccounts,
|
||||
GroupsManagement: groupsManagement,
|
||||
Fleets: fleetsSvc,
|
||||
Agenda: agendaSvc,
|
||||
SolidarityTransport: solidarityTransportSvc,
|
||||
CarpoolService: carpoolSvc,
|
||||
// Diags: diagsSvc,
|
||||
},
|
||||
Routing: routing,
|
||||
InteropCarpool: carpoolRouting,
|
||||
TransitRouting: motisRouting,
|
||||
SMS: smsHandler,
|
||||
Pricing: pricingService,
|
||||
Geography: geography,
|
||||
}, nil
|
||||
}
|
||||
|
||||
23
services/solidaritytransport.go
Normal file
23
services/solidaritytransport.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type SolidarityTransportService struct {
|
||||
gen.SolidarityTransportClient
|
||||
}
|
||||
|
||||
func NewSolidarityTransportService(dial string) (*SolidarityTransportService, error) {
|
||||
conn, err := grpc.Dial(dial, grpc.WithInsecure())
|
||||
|
||||
client := gen.NewSolidarityTransportClient(conn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &SolidarityTransportService{
|
||||
SolidarityTransportClient: client,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user