func()

in api/internal/handler/data_loader/route_import.go [202:261]


func (h *ImportHandler) createEntities(ctx context.Context, data *loader.DataSets) map[store.HubKey][]string {
	errs := make(map[store.HubKey][]string)

	for _, route := range data.Routes {
		_, err := h.routeStore.Create(ctx, &route)
		if err != nil {
			errs[store.HubKeyRoute] = append(errs[store.HubKeyRoute], err.Error())
		}
	}
	for _, upstream := range data.Upstreams {
		_, err := h.upstreamStore.Create(ctx, &upstream)
		if err != nil {
			errs[store.HubKeyUpstream] = append(errs[store.HubKeyUpstream], err.Error())
		}
	}
	for _, service := range data.Services {
		_, err := h.serviceStore.Create(ctx, &service)
		if err != nil {
			errs[store.HubKeyService] = append(errs[store.HubKeyService], err.Error())
		}
	}
	for _, consumer := range data.Consumers {
		_, err := h.consumerStore.Create(ctx, &consumer)
		if err != nil {
			errs[store.HubKeyConsumer] = append(errs[store.HubKeyConsumer], err.Error())
		}
	}
	for _, ssl := range data.SSLs {
		_, err := h.sslStore.Create(ctx, &ssl)
		if err != nil {
			errs[store.HubKeySsl] = append(errs[store.HubKeySsl], err.Error())
		}
	}
	for _, route := range data.StreamRoutes {
		_, err := h.streamRouteStore.Create(ctx, &route)
		if err != nil {
			errs[store.HubKeyStreamRoute] = append(errs[store.HubKeyStreamRoute], err.Error())
		}
	}
	for _, plugin := range data.GlobalPlugins {
		_, err := h.globalPluginStore.Create(ctx, &plugin)
		if err != nil {
			errs[store.HubKeyGlobalRule] = append(errs[store.HubKeyGlobalRule], err.Error())
		}
	}
	for _, config := range data.PluginConfigs {
		_, err := h.pluginConfigStore.Create(ctx, &config)
		if err != nil {
			errs[store.HubKeyPluginConfig] = append(errs[store.HubKeyPluginConfig], err.Error())
		}
	}
	for _, proto := range data.Protos {
		_, err := h.protoStore.Create(ctx, &proto)
		if err != nil {
			errs[store.HubKeyProto] = append(errs[store.HubKeyProto], err.Error())
		}
	}

	return errs
}