github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/eventing.go (about) 1 package model 2 3 import ( 4 "fmt" 5 "net/url" 6 ) 7 8 // EventingConfiguration missing godoc 9 type EventingConfiguration struct { 10 DefaultURL url.URL 11 } 12 13 // RuntimeEventingConfiguration missing godoc 14 type RuntimeEventingConfiguration struct { 15 EventingConfiguration 16 } 17 18 // NewRuntimeEventingConfiguration missing godoc 19 func NewRuntimeEventingConfiguration(rawEventURL string) (*RuntimeEventingConfiguration, error) { 20 validURL, err := url.Parse(rawEventURL) 21 if err != nil { 22 return nil, err 23 } 24 25 return &RuntimeEventingConfiguration{ 26 EventingConfiguration: EventingConfiguration{ 27 DefaultURL: *validURL, 28 }, 29 }, nil 30 } 31 32 // AppPathURL missing godoc 33 const AppPathURL = "/%s/v1/events" 34 35 // ApplicationEventingConfiguration missing godoc 36 type ApplicationEventingConfiguration struct { 37 EventingConfiguration 38 } 39 40 // NewApplicationEventingConfiguration missing godoc 41 func NewApplicationEventingConfiguration(runtimeEventURL url.URL, appName string) (*ApplicationEventingConfiguration, error) { 42 appEventURL := runtimeEventURL 43 if appEventURL.Host != "" { 44 appEventURL.Path = fmt.Sprintf(AppPathURL, appName) 45 } 46 47 return &ApplicationEventingConfiguration{ 48 EventingConfiguration: EventingConfiguration{ 49 DefaultURL: appEventURL, 50 }, 51 }, nil 52 } 53 54 // NewEmptyApplicationEventingConfig missing godoc 55 func NewEmptyApplicationEventingConfig() (*ApplicationEventingConfiguration, error) { 56 return &ApplicationEventingConfiguration{ 57 EventingConfiguration: EventingConfiguration{ 58 DefaultURL: url.URL{}, 59 }, 60 }, nil 61 }