in pkg/authority/rule/authorization/definition.go [93:141]
func (s *Source) CopyToClient() *SourceToClient {
toClient := &SourceToClient{}
if s.Namespaces != nil {
toClient.Namespaces = make([]string, len(s.Namespaces))
copy(toClient.Namespaces, s.Namespaces)
}
if s.NotNamespaces != nil {
toClient.NotNamespaces = make([]string, len(s.NotNamespaces))
copy(toClient.NotNamespaces, s.NotNamespaces)
}
if s.IpBlocks != nil {
toClient.IpBlocks = make([]string, len(s.IpBlocks))
copy(toClient.IpBlocks, s.IpBlocks)
}
if s.NotIpBlocks != nil {
toClient.NotIpBlocks = make([]string, len(s.NotIpBlocks))
copy(toClient.NotIpBlocks, s.NotIpBlocks)
}
if s.Principals != nil {
toClient.Principals = make([]string, len(s.Principals))
copy(toClient.Principals, s.Principals)
}
if s.NotPrincipals != nil {
toClient.NotPrincipals = make([]string, len(s.NotPrincipals))
copy(toClient.NotPrincipals, s.NotPrincipals)
}
if s.Extends != nil {
toClient.Extends = make([]*ExtendToClient, len(s.Extends))
for i, v := range s.Extends {
toClient.Extends[i] = v.CopyToClient()
}
}
if s.NotExtends != nil {
toClient.NotExtends = make([]*ExtendToClient, len(s.NotExtends))
for i, v := range s.NotExtends {
toClient.NotExtends[i] = v.CopyToClient()
}
}
return toClient
}