mirror of https://github.com/status-im/consul.git
Call resource mutate hook before validate hook (NET-4907) (#18178)
This commit is contained in:
parent
29cdb75d05
commit
003370ded0
|
@ -72,14 +72,14 @@ func (s *Server) Write(ctx context.Context, req *pbresource.WriteRequest) (*pbre
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = reg.Validate(req.Resource); err != nil {
|
|
||||||
return nil, status.Error(codes.InvalidArgument, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = reg.Mutate(req.Resource); err != nil {
|
if err = reg.Mutate(req.Resource); err != nil {
|
||||||
return nil, status.Errorf(codes.Internal, "failed mutate hook: %v", err.Error())
|
return nil, status.Errorf(codes.Internal, "failed mutate hook: %v", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err = reg.Validate(req.Resource); err != nil {
|
||||||
|
return nil, status.Error(codes.InvalidArgument, err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
// At the storage backend layer, all writes are CAS operations.
|
// At the storage backend layer, all writes are CAS operations.
|
||||||
//
|
//
|
||||||
// This makes it possible to *safely* do things like keeping the Uid stable
|
// This makes it possible to *safely* do things like keeping the Uid stable
|
||||||
|
|
|
@ -42,11 +42,9 @@ type Registration struct {
|
||||||
// check for required fields).
|
// check for required fields).
|
||||||
Validate func(*pbresource.Resource) error
|
Validate func(*pbresource.Resource) error
|
||||||
|
|
||||||
// Mutate is called to fill out any autogenerated fields (e.g. UUIDs).
|
// Mutate is called to fill out any autogenerated fields (e.g. UUIDs) or
|
||||||
|
// apply defaults before validation.
|
||||||
Mutate func(*pbresource.Resource) error
|
Mutate func(*pbresource.Resource) error
|
||||||
|
|
||||||
// In the future, we'll add hooks, the controller etc. here.
|
|
||||||
// TODO: https://github.com/hashicorp/consul/pull/16622#discussion_r1134515909
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ACLHooks struct {
|
type ACLHooks struct {
|
||||||
|
|
Loading…
Reference in New Issue