infrastructure

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseExtension added in v1.0.0

type BaseExtension interface {
	GetLoggedInUser(ctx context.Context) (*profileutils.UserInfo, error)
	GetLoggedInUserUID(ctx context.Context) (string, error)
	GetTenantIdentifiers(ctx context.Context) (*dto.TenantIdentifiers, error)
	NormalizeMSISDN(msisdn string) (*string, error)
	LoadDepsFromYAML() (*interserviceclient.DepsConfig, error)
	SetupISCclient(config interserviceclient.DepsConfig, serviceName string) (*interserviceclient.InterServiceClient, error)
	GetEnvVar(envName string) (string, error)
	ErrorMap(err error) map[string]string
	WriteJSONResponse(
		w http.ResponseWriter,
		source interface{},
		status int,
	)
	VerifyPubSubJWTAndDecodePayload(w http.ResponseWriter, r *http.Request) (*pubsubtools.PubSubPayload, error)
	GetPubSubTopic(m *pubsubtools.PubSubPayload) (string, error)
}

BaseExtension is an interface that represents some methods in base The `onboarding` service has a dependency on `base` library. Our first step to making some functions are testable is to remove the base dependency. This can be achieved with the below interface.

type Infrastructure

type Infrastructure struct {
	FHIR           repository.FHIR
	OpenConceptLab ServiceOCL
	BaseExtension  BaseExtension
	Upload         upload.ServiceUpload
	Pubsub         pubsubmessaging.ServicePubsub
}

Infrastructure ...

func NewInfrastructureInteractor

func NewInfrastructureInteractor(
	ext BaseExtension,
	fhir repository.FHIR,
	openconceptlab ServiceOCL,
	upload upload.ServiceUpload,
	pubsub pubsubmessaging.ServicePubsub,
) Infrastructure

NewInfrastructureInteractor initializes a new Infrastructure

type ServiceOCL added in v1.0.0

type ServiceOCL interface {
	MakeRequest(method string, path string, params url.Values, body io.Reader) (*http.Response, error)
	ListConcepts(
		ctx context.Context, org string, source string, verbose bool, q *string,
		sortAsc *string, sortDesc *string, conceptClass *string, dataType *string,
		locale *string, includeRetired *bool,
		includeMappings *bool, includeInverseMappings *bool, paginationInput *dto.Pagination) (*domain.ConceptPage, error)
	GetConcept(
		ctx context.Context, org string, source string, concept string,
		includeMappings bool, includeInverseMappings bool) (*domain.Concept, error)
}

ServiceOCL ...

Directories

Path Synopsis
datastore
services
openconceptlab
Package openconceptlab provides APIs to interact with an OpenConceptLab API server
Package openconceptlab provides APIs to interact with an OpenConceptLab API server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL