RemoveEntity removes the namespace map entry. Callable only on a namespace already marked for deletion; an active namespace returns [ErrInvalidState]. Returns [ErrNotFound] when the namespace does not exist.
(name string)
| 198 | // namespace already marked for deletion; an active namespace returns |
| 199 | // [ErrInvalidState]. Returns [ErrNotFound] when the namespace does not exist. |
| 200 | func (c *Controller) RemoveEntity(name string) error { |
| 201 | c.mu.Lock() |
| 202 | defer c.mu.Unlock() |
| 203 | ns, ok := c.namespaces[name] |
| 204 | if !ok { |
| 205 | return fmt.Errorf("%w: %q", ErrNotFound, name) |
| 206 | } |
| 207 | if ns.State != cmd.NamespaceStateDeleting { |
| 208 | return fmt.Errorf("%w: %q is not in deleting state", ErrInvalidState, name) |
| 209 | } |
| 210 | delete(c.namespaces, name) |
| 211 | return nil |
| 212 | } |
| 213 | |
| 214 | // Get returns the named namespaces. An empty Names slice returns all known |
| 215 | // namespaces; otherwise only the named ones that exist are returned (missing |