30 lines
647 B
Go
30 lines
647 B
Go
|
package admin
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"forge.cadoles.com/cadoles/bouncer/internal/store"
|
||
|
"github.com/pkg/errors"
|
||
|
)
|
||
|
|
||
|
func (s *Server) deleteProxyAndLayers(ctx context.Context, proxyName store.ProxyName) error {
|
||
|
if err := s.proxyRepository.DeleteProxy(ctx, proxyName); err != nil {
|
||
|
if !errors.Is(err, store.ErrNotFound) {
|
||
|
return errors.WithStack(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
layers, err := s.layerRepository.QueryLayers(ctx, proxyName)
|
||
|
if err != nil {
|
||
|
return errors.WithStack(err)
|
||
|
}
|
||
|
|
||
|
for _, layer := range layers {
|
||
|
if err := s.layerRepository.DeleteLayer(ctx, proxyName, layer.Name); err != nil {
|
||
|
return errors.WithStack(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|