Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { ServiceName string `env:"SERVICE_NAME" envDefault:"events-processing-platform"` Logger logger.Config EventStoreConfig eventstoredb.EventStoreConfig GrpcClientConfig config.GrpcClientConfig Neo4j config.Neo4jConfig PostgresConfig config.PostgresConfig PostgresAsyncConfig config.PostgresAsyncConfig Jaeger tracing.JaegerConfig RabbitMQConfig config.RabbitMQConfig Subscriptions Subscriptions Services Services EventNotifications EventNotifications Temporal config.TemporalConfig }
func InitConfig ¶
type ContractSubscription ¶
type ContractSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_GROUP_NAME" envDefault:"contract-v3" validate:"required"` Prefix string `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_PREFIX" envDefault:"contract-" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` MessageTimeoutSec int32 `env:"EVENT_STORE_SUBSCRIPTIONS_CONTRACT_MESSAGE_TIMEOUT" envDefault:"120" validate:"required,gte=0"` }
type EventNotifications ¶
type EventNotifications struct { SlackConfig struct { InternalAlertsRegisteredWebhook string `env:"SLACK_INTERNAL_ALERTS_REGISTERED_WEBHOOK" envDefault:""` } }
type GraphSubscription ¶
type GraphSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_GRAPH_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_GRAPH_GROUP_NAME" envDefault:"graph-v5" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_GRAPH_POOL_SIZE" envDefault:"10" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_GRAPH_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` CheckpointLowerBound int32 `env:"EVENT_STORE_SUBSCRIPTIONS_GRAPH_CHECKPOINT_LOWER_BOUND" envDefault:"10" validate:"required,gte=0"` }
type InvoiceSubscription ¶
type InvoiceSubscription struct { Enabled bool `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_GROUP_NAME" envDefault:"invoice-v3" validate:"required"` PoolSize int `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` MessageTimeoutSec int32 `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_MESSAGE_TIMEOUT" envDefault:"300" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_CLIENT_BUFFER_SIZE" envDefault:"5" validate:"required,gte=0"` IgnoreEvents bool `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_IGNORE_EVENTS" envDefault:"false"` PdfConverterUrl string `env:"EVENT_STORE_INVOICE_NOTIFICATIONS_PDF_CONVERTER_URL" envDefault:"http://localhost:11006"` }
type LocationValidationSubscription ¶
type LocationValidationSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_LOCATION_VALIDATION_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_LOCATION_VALIDATION_GROUP_NAME" envDefault:"locationValidation-v3" validate:"required"` Prefix string `env:"EVENT_STORE_SUBSCRIPTIONS_LOCATION_PREFIX" envDefault:"location-" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_LOCATION_VALIDATION_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_LOCATION_VALIDATION_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` }
type NotificationsSubscription ¶
type NotificationsSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_GROUP_NAME" envDefault:"notifications-v3" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` IgnoreEvents bool `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_IGNORE_EVENTS" envDefault:"true"` RedirectUrl string `env:"EVENT_STORE_SUBSCRIPTIONS_NOTIFICATIONS_REDIRECT_URL" envDefault:"https://app.openline.dev"` }
type OrganizationSubscription ¶
type OrganizationSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_GROUP_NAME" envDefault:"organization-v3" validate:"required"` Prefix string `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_PREFIX" envDefault:"organization-" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` MessageTimeoutSec int32 `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_MESSAGE_TIMEOUT" envDefault:"180" validate:"required,gte=0"` CheckpointLowerBound int32 `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_CHECKPOINT_LOWER_BOUND" envDefault:"10" validate:"required,gte=0"` DeletePersistentSubscription bool `env:"EVENT_STORE_SUBSCRIPTIONS_ORGANIZATION_DELETE_SUBSCRIPTION" envDefault:"false"` }
type PhoneNumberValidationSubscription ¶
type PhoneNumberValidationSubscription struct { Enabled bool `env:"EVENT_STORE_SUBSCRIPTIONS_PHONE_NUMBER_VALIDATION_ENABLED" envDefault:"true"` GroupName string `env:"EVENT_STORE_SUBSCRIPTIONS_PHONE_NUMBER_VALIDATION_GROUP_NAME" envDefault:"phoneNumberValidation-v3" validate:"required"` Prefix string `env:"EVENT_STORE_SUBSCRIPTIONS_PHONE_NUMBER_PREFIX" envDefault:"phone_number-" validate:"required"` PoolSize int `env:"EVENT_STORE_SUBSCRIPTIONS_PHONE_NUMBER_VALIDATION_POOL_SIZE" envDefault:"5" validate:"required,gte=0"` BufferSizeClient uint32 `env:"EVENT_STORE_SUBSCRIPTIONS_PHONE_NUMBER_VALIDATION_CLIENT_BUFFER_SIZE" envDefault:"10" validate:"required,gte=0"` }
type Services ¶
type Services struct { EnrichmentApi struct { Url string `env:"ENRICHMENT_API_URL" validate:"required"` ApiKey string `env:"ENRICHMENT_API_KEY" validate:"required"` } ValidationApi struct { Url string `env:"VALIDATION_API_URL" validate:"required"` ApiKey string `env:"VALIDATION_API_KEY" validate:"required"` } Ai struct { ApiPath string `env:"AI_API_PATH,required" envDefault:"N/A"` ApiKey string `env:"AI_API_KEY,required" envDefault:"N/A"` } OpenAi struct { Organization string `env:"OPENAI_ORGANIZATION,required" envDefault:""` } Anthropic struct { IndustryLookupPrompt1 string `` /* 2050-byte string literal not displayed */ IndustryLookupPrompt2 string `` /* 1839-byte string literal not displayed */ EmailSummaryPrompt string `env:"ANTHROPIC_EMAIL_SUMMARY_PROMPT,required" envDefault:"Make a 120 characters summary for this html email: %v"` EmailActionsItemsPrompt string `` /* 283-byte string literal not displayed */ LocationEnrichmentPrompt string `` /* 996-byte string literal not displayed */ } Novu config.NovuConfig FileStoreApiConfig fsc.FileStoreApiConfig CustomerOsApi struct { ApiUrl string `env:"CUSTOMER_OS_API_URL" envDefault:"https://api.customeros.ai" validate:"required"` } }
type Subscriptions ¶
type Subscriptions struct { GraphSubscription GraphSubscription PhoneNumberValidationSubscription PhoneNumberValidationSubscription LocationValidationSubscription LocationValidationSubscription OrganizationSubscription OrganizationSubscription ContractSubscription ContractSubscription NotificationsSubscription NotificationsSubscription InvoiceSubscription InvoiceSubscription }
Click to show internal directories.
Click to hide internal directories.