processor

package
v0.0.0-...-a423d60 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewestLastUpdateTimestamp

func NewestLastUpdateTimestamp(lastUpdateValueFromDoc, lastUpdateValueFromDB, hashFromDB *string, hashFromDoc uint64) (*string, error)

NewestLastUpdateTimestamp returns the newest lastUpdate timestamp comparing the lastUpdate from doc and db

Types

type APIProcessor

type APIProcessor struct {
	// contains filtered or unexported fields
}

APIProcessor defines API processor

func NewAPIProcessor

func NewAPIProcessor(transact persistence.Transactioner, apiSvc APIService, entityTypeSvc EntityTypeService, entityTypeMappingSvc EntityTypeMappingService, bundleReferenceSvc BundleReferenceService, specSvc SpecService) *APIProcessor

NewAPIProcessor creates new instance of APIProcessor

func (*APIProcessor) Process

func (ap *APIProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, bundlesFromDB []*model.Bundle, packagesFromDB []*model.Package, apis []*model.APIDefinitionInput, resourceHashes map[string]uint64) ([]*model.APIDefinition, []*OrdFetchRequest, error)

Process re-syncs the apis passed as an argument.

type APIService

type APIService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, bundleID, packageID *string, in model.APIDefinitionInput, spec []*model.SpecInput, targetURLsPerBundle map[string]string, apiHash uint64, defaultBundleID string) (string, error)
	UpdateInManyBundles(ctx context.Context, resourceType resource.Type, id string, packageID *string, in model.APIDefinitionInput, specIn *model.SpecInput, defaultTargetURLPerBundle map[string]string, defaultTargetURLPerBundleToBeCreated map[string]string, bundleIDsToBeDeleted []string, apiHash uint64, defaultBundleID string) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.APIDefinition, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.APIDefinition, error)
}

APIService is responsible for the service-layer API operations.

type AspectEventResourceService

type AspectEventResourceService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, aspectID string, in model.AspectEventResourceInput) (string, error)
}

AspectEventResourceService is responsible for the service-layer Aspect Event Resource operations.

type AspectService

type AspectService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, integrationDependencyID string, in model.AspectInput) (string, error)
	DeleteByIntegrationDependencyID(ctx context.Context, integrationDependencyID string) error
}

AspectService is responsible for the service-layer Aspect operations.

type BundleReferenceService

type BundleReferenceService interface {
	GetBundleIDsForObject(ctx context.Context, objectType model.BundleReferenceObjectType, objectID *string) ([]string, error)
}

BundleReferenceService is responsible for the service-layer BundleReference operations.

type BundleService

type BundleService interface {
	CreateBundle(ctx context.Context, resourceType resource.Type, resourceID string, in model.BundleCreateInput, bndlHash uint64) (string, error)
	UpdateBundle(ctx context.Context, resourceType resource.Type, id string, in model.BundleUpdateInput, bndlHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationIDNoPaging(ctx context.Context, appID string) ([]*model.Bundle, error)
	ListByApplicationTemplateVersionIDNoPaging(ctx context.Context, appTemplateVersionID string) ([]*model.Bundle, error)
}

BundleService is responsible for the service-layer Bundle operations.

type CapabilityProcessor

type CapabilityProcessor struct {
	// contains filtered or unexported fields
}

CapabilityProcessor defines capability processor

func NewCapabilityProcessor

func NewCapabilityProcessor(transact persistence.Transactioner, capabilitySvc CapabilityService, specSvc SpecService) *CapabilityProcessor

NewCapabilityProcessor creates new instance of CapabilityProcessor

func (*CapabilityProcessor) Process

func (cp *CapabilityProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, packagesFromDB []*model.Package, capabilities []*model.CapabilityInput, resourceHashes map[string]uint64) ([]*model.Capability, []*OrdFetchRequest, error)

Process re-syncs the capabilities passed as an argument.

type CapabilityService

type CapabilityService interface {
	ListByApplicationID(ctx context.Context, appID string) ([]*model.Capability, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.Capability, error)
	Create(ctx context.Context, resourceType resource.Type, resourceID string, packageID *string, in model.CapabilityInput, spec []*model.SpecInput, capabilityHash uint64) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, packageID *string, in model.CapabilityInput, capabilityHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
}

CapabilityService is responsible for the service-layer Capability operations.

type DataProductProcessor

type DataProductProcessor struct {
	// contains filtered or unexported fields
}

DataProductProcessor defines Data Product processor

func NewDataProductProcessor

func NewDataProductProcessor(transact persistence.Transactioner, dataProductSvc DataProductService) *DataProductProcessor

NewDataProductProcessor creates new instance of DataProductProcessor

func (*DataProductProcessor) Process

func (id *DataProductProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, packagesFromDB []*model.Package, dataProducts []*model.DataProductInput, resourceHashes map[string]uint64) ([]*model.DataProduct, error)

Process re-syncs the data products passed as an argument.

type DataProductService

type DataProductService interface {
	ListByApplicationID(ctx context.Context, appID string) ([]*model.DataProduct, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.DataProduct, error)
	Create(ctx context.Context, resourceType resource.Type, resourceID string, packageID *string, in model.DataProductInput, dataProductHash uint64) (string, error)
	Update(ctx context.Context, resourceType resource.Type, resourceID string, id string, packageID *string, in model.DataProductInput, dataProductHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
}

DataProductService is responsible for the service-layer Data Product operations.

type EntityTypeMappingService

type EntityTypeMappingService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, in *model.EntityTypeMappingInput) (string, error)
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByOwnerResourceID(ctx context.Context, resourceID string, resourceType resource.Type) ([]*model.EntityTypeMapping, error)
}

EntityTypeMappingService is responsible for processing of entity type entities.

type EntityTypeProcessor

type EntityTypeProcessor struct {
	// contains filtered or unexported fields
}

EntityTypeProcessor defines entity type processor

func NewEntityTypeProcessor

func NewEntityTypeProcessor(transact persistence.Transactioner, entityTypeSvc EntityTypeService) *EntityTypeProcessor

NewEntityTypeProcessor creates new instance of EntityTypeProcessor

func (*EntityTypeProcessor) Process

func (ep *EntityTypeProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, entityTypes []*model.EntityTypeInput, packagesFromDB []*model.Package, resourceHashes map[string]uint64) ([]*model.EntityType, error)

Process re-syncs the entity types passed as an argument.

type EntityTypeService

type EntityTypeService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, packageID string, in model.EntityTypeInput, entityTypeHash uint64) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, packageID string, in model.EntityTypeInput, entityTypeHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.EntityType, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.EntityType, error)
}

EntityTypeService is responsible for the service-layer Entity Type operations.

type EventProcessor

type EventProcessor struct {
	// contains filtered or unexported fields
}

EventProcessor defines event processor

func NewEventProcessor

func NewEventProcessor(transact persistence.Transactioner, eventSvc EventService, entityTypeSvc EntityTypeService, entityTypeMappingSvc EntityTypeMappingService, bundleReferenceSvc BundleReferenceService, specSvc SpecService) *EventProcessor

NewEventProcessor creates new instance of EventProcessor

func (*EventProcessor) Process

func (ep *EventProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, bundlesFromDB []*model.Bundle, packagesFromDB []*model.Package, events []*model.EventDefinitionInput, resourceHashes map[string]uint64) ([]*model.EventDefinition, []*OrdFetchRequest, error)

Process re-syncs the events passed as an argument.

type EventService

type EventService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, bundleID, packageID *string, in model.EventDefinitionInput, specs []*model.SpecInput, bundleIDs []string, eventHash uint64, defaultBundleID string) (string, error)
	UpdateInManyBundles(ctx context.Context, resourceType resource.Type, id string, packageID *string, in model.EventDefinitionInput, specIn *model.SpecInput, bundleIDsFromBundleReference, bundleIDsForCreation, bundleIDsForDeletion []string, eventHash uint64, defaultBundleID string) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.EventDefinition, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.EventDefinition, error)
}

EventService is responsible for the service-layer Event operations.

type IntegrationDependencyProcessor

type IntegrationDependencyProcessor struct {
	// contains filtered or unexported fields
}

IntegrationDependencyProcessor defines Integration Dependency processor

func NewIntegrationDependencyProcessor

func NewIntegrationDependencyProcessor(transact persistence.Transactioner, integrationDependencySvc IntegrationDependencyService, aspectSvc AspectService, aspectEventResourceSvc AspectEventResourceService) *IntegrationDependencyProcessor

NewIntegrationDependencyProcessor creates new instance of IntegrationDependencyProcessor

func (*IntegrationDependencyProcessor) Process

func (id *IntegrationDependencyProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, packagesFromDB []*model.Package, integrationDependencies []*model.IntegrationDependencyInput, resourceHashes map[string]uint64) ([]*model.IntegrationDependency, error)

Process re-syncs the integration dependencies passed as an argument.

type IntegrationDependencyService

type IntegrationDependencyService interface {
	ListByApplicationID(ctx context.Context, appID string) ([]*model.IntegrationDependency, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.IntegrationDependency, error)
	Create(ctx context.Context, resourceType resource.Type, resourceID string, packageID *string, in model.IntegrationDependencyInput, integrationDependencyHash uint64) (string, error)
	Update(ctx context.Context, resourceType resource.Type, resourceID string, id string, packageID *string, in model.IntegrationDependencyInput, integrationDependencyHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
}

IntegrationDependencyService is responsible for the service-layer Integration Dependency operations.

type OrdFetchRequest

type OrdFetchRequest struct {
	*model.FetchRequest
	RefObjectOrdID string
}

OrdFetchRequest defines fetch request

type PackageProcessor

type PackageProcessor struct {
	// contains filtered or unexported fields
}

PackageProcessor defines package processor

func NewPackageProcessor

func NewPackageProcessor(transact persistence.Transactioner, packageSvc PackageService) *PackageProcessor

NewPackageProcessor creates new instance of PackageProcessor

func (*PackageProcessor) Process

func (pp *PackageProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, packages []*model.PackageInput, resourceHashes map[string]uint64) ([]*model.Package, error)

Process re-syncs the packages passed as an argument.

type PackageService

type PackageService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, in model.PackageInput, pkgHash uint64) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, in model.PackageInput, pkgHash uint64) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.Package, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.Package, error)
}

PackageService is responsible for the service-layer Package operations.

type ProductProcessor

type ProductProcessor struct {
	// contains filtered or unexported fields
}

ProductProcessor defines product processor

func NewProductProcessor

func NewProductProcessor(transact persistence.Transactioner, productSvc ProductService) *ProductProcessor

NewProductProcessor creates new instance of ProductProcessor

func (*ProductProcessor) Process

func (pp *ProductProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, products []*model.ProductInput) ([]*model.Product, error)

Process re-syncs the products passed as an argument.

type ProductService

type ProductService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, in model.ProductInput) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, in model.ProductInput) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.Product, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appID string) ([]*model.Product, error)
}

ProductService is responsible for the service-layer Product operations.

type SpecService

type SpecService interface {
	CreateByReferenceObjectID(ctx context.Context, in model.SpecInput, resourceType resource.Type, objectType model.SpecReferenceObjectType, objectID string) (string, error)
	CreateByReferenceObjectIDWithDelayedFetchRequest(ctx context.Context, in model.SpecInput, resourceType resource.Type, objectType model.SpecReferenceObjectType, objectID string) (string, *model.FetchRequest, error)
	DeleteByReferenceObjectID(ctx context.Context, resourceType resource.Type, objectType model.SpecReferenceObjectType, objectID string) error
	GetByID(ctx context.Context, id string, objectType model.SpecReferenceObjectType) (*model.Spec, error)
	ListFetchRequestsByReferenceObjectIDs(ctx context.Context, tenant string, objectIDs []string, objectType model.SpecReferenceObjectType) ([]*model.FetchRequest, error)
	ListFetchRequestsByReferenceObjectIDsGlobal(ctx context.Context, objectIDs []string, objectType model.SpecReferenceObjectType) ([]*model.FetchRequest, error)
	UpdateSpecOnly(ctx context.Context, spec model.Spec) error
	UpdateSpecOnlyGlobal(ctx context.Context, spec model.Spec) error
	ListIDByReferenceObjectID(ctx context.Context, resourceType resource.Type, objectType model.SpecReferenceObjectType, objectID string) ([]string, error)
	GetByIDGlobal(ctx context.Context, id string) (*model.Spec, error)
}

SpecService is responsible for the service-layer Specification operations.

type TombstoneProcessor

type TombstoneProcessor struct {
	// contains filtered or unexported fields
}

TombstoneProcessor defines tombstone processor

func NewTombstoneProcessor

func NewTombstoneProcessor(transact persistence.Transactioner, tombstoneSvc TombstoneService) *TombstoneProcessor

NewTombstoneProcessor creates new instance of TombstoneProcessor

func (*TombstoneProcessor) Process

func (tp *TombstoneProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, tombstones []*model.TombstoneInput) ([]*model.Tombstone, error)

Process re-syncs the tombstones passed as an argument.

type TombstoneService

type TombstoneService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, in model.TombstoneInput) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, in model.TombstoneInput) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.Tombstone, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appID string) ([]*model.Tombstone, error)
}

TombstoneService is responsible for the service-layer Tombstone operations.

type TombstonedResourcesDeleter

type TombstonedResourcesDeleter struct {
	// contains filtered or unexported fields
}

TombstonedResourcesDeleter defines tombstoned resources deleter

func NewTombstonedResourcesDeleter

func NewTombstonedResourcesDeleter(transact persistence.Transactioner, packageSvc PackageService, apiSvc APIService, eventSvc EventService, entityTypeSvc EntityTypeService, capabilitySvc CapabilityService, integrationDependencySvc IntegrationDependencyService, dataProductSvc DataProductService, vendorSvc VendorService, productSvc ProductService, bundleSvc BundleService) *TombstonedResourcesDeleter

NewTombstonedResourcesDeleter creates new instance of TombstonedResourcesDeleter

func (*TombstonedResourcesDeleter) Delete

func (td *TombstonedResourcesDeleter) Delete(ctx context.Context, resourceType resource.Type, vendorsFromDB []*model.Vendor, productsFromDB []*model.Product, packagesFromDB []*model.Package, bundlesFromDB []*model.Bundle, apisFromDB []*model.APIDefinition, eventsFromDB []*model.EventDefinition, entityTypesFromDB []*model.EntityType, capabilitiesFromDB []*model.Capability, integrationDependenciesFromDB []*model.IntegrationDependency, dataProductsFromDB []*model.DataProduct, tombstonesFromDB []*model.Tombstone, fetchRequests []*OrdFetchRequest) ([]*OrdFetchRequest, error)

Delete deletes all tombstoned resources.

type VendorProcessor

type VendorProcessor struct {
	// contains filtered or unexported fields
}

VendorProcessor defines vendor processor

func NewVendorProcessor

func NewVendorProcessor(transact persistence.Transactioner, vendorSvc VendorService) *VendorProcessor

NewVendorProcessor creates new instance of VendorProcessor

func (*VendorProcessor) Process

func (vp *VendorProcessor) Process(ctx context.Context, resourceType resource.Type, resourceID string, vendors []*model.VendorInput) ([]*model.Vendor, error)

Process re-syncs the vendors passed as an argument.

type VendorService

type VendorService interface {
	Create(ctx context.Context, resourceType resource.Type, resourceID string, in model.VendorInput) (string, error)
	Update(ctx context.Context, resourceType resource.Type, id string, in model.VendorInput) error
	Delete(ctx context.Context, resourceType resource.Type, id string) error
	ListByApplicationID(ctx context.Context, appID string) ([]*model.Vendor, error)
	ListByApplicationTemplateVersionID(ctx context.Context, appTemplateVersionID string) ([]*model.Vendor, error)
}

VendorService is responsible for the service-layer Vendor operations.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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