| package router |
|
|
| import ( |
| "net/http" |
|
|
| "github.com/samber/lo" |
|
|
| "github.com/openmeterio/openmeter/api" |
| addonhttpdriver "github.com/openmeterio/openmeter/openmeter/productcatalog/addon/httpdriver" |
| ) |
|
|
| |
| |
| func (a *Router) ListAddons(w http.ResponseWriter, r *http.Request, params api.ListAddonsParams) { |
| a.addonHandler.ListAddons().With(params).ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) CreateAddon(w http.ResponseWriter, r *http.Request) { |
| a.addonHandler.CreateAddon().ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) DeleteAddon(w http.ResponseWriter, r *http.Request, addonId string) { |
| a.addonHandler.DeleteAddon().With(addonId).ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) GetAddon(w http.ResponseWriter, r *http.Request, addonId string, params api.GetAddonParams) { |
| a.addonHandler.GetAddon().With(addonhttpdriver.GetAddonRequestParams{ |
| IDOrKey: addonId, |
| IncludeLatest: lo.FromPtrOr(params.IncludeLatest, false), |
| }).ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) UpdateAddon(w http.ResponseWriter, r *http.Request, addonId string) { |
| a.addonHandler.UpdateAddon().With(addonId).ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) ArchiveAddon(w http.ResponseWriter, r *http.Request, addonId string) { |
| a.addonHandler.ArchiveAddon().With(addonId).ServeHTTP(w, r) |
| } |
|
|
| |
| |
| func (a *Router) PublishAddon(w http.ResponseWriter, r *http.Request, addonId string) { |
| a.addonHandler.PublishAddon().With(addonId).ServeHTTP(w, r) |
| } |
|
|