24 lines
559 B
Go
24 lines
559 B
Go
package access
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"sub2api-cn-relay-manager/internal/host/sub2api"
|
|
)
|
|
|
|
func (s *Service) Close(ctx context.Context, req ClosureRequest) (sub2api.GatewayAccessResult, error) {
|
|
if s == nil || s.host == nil {
|
|
return sub2api.GatewayAccessResult{}, fmt.Errorf("access host is required")
|
|
}
|
|
if err := Validate(req); err != nil {
|
|
return sub2api.GatewayAccessResult{}, err
|
|
}
|
|
|
|
plan, err := s.prepareClosurePlan(ctx, req)
|
|
if err != nil {
|
|
return sub2api.GatewayAccessResult{}, err
|
|
}
|
|
return s.verifyGatewayClosure(ctx, req, plan)
|
|
}
|