# `PhoenixKitManufacturing.Paths`
[🔗](https://github.com/BeamLabEU/phoenix_kit_manufacturing/blob/0.4.1/lib/phoenix_kit_manufacturing/paths.ex#L1)

Centralized path helpers for the Manufacturing module.

All paths go through `PhoenixKit.Utils.Routes.path/1` for prefix/locale
handling. Never hardcode `"/admin/manufacturing"` in a LiveView or template
— use these helpers instead so URL prefix changes only need updating here.

`types/0`, `operations/0`, and `defect_reasons/0` are the exception to the
`@base`-prefixed rule above: as of the entities migration
(`dev_docs/ENTITIES_MIGRATION_SPEC.md`), `machine_type`/`operation`/
`defect_reason` CRUD lives on the generic `phoenix_kit_entities` admin UI,
not on a route owned by this module — so those three helpers point at
`/admin/entities/:slug/data` instead of `/admin/manufacturing/...`.

# `defect_reasons`

```elixir
@spec defect_reasons() :: String.t()
```

Defect reasons list — the entities admin UI for the `defect_reason` entity.

# `index`

```elixir
@spec index() :: String.t()
```

Manufacturing dashboard (module landing).

# `machine_comments`

```elixir
@spec machine_comments(String.t()) :: String.t()
```

Machine card, Comments tab (hidden CRUD route, edit form only).

# `machine_edit`

```elixir
@spec machine_edit(String.t()) :: String.t()
```

Edit machine form.

# `machine_files`

```elixir
@spec machine_files(String.t()) :: String.t()
```

Machine card, Files tab (hidden CRUD route, edit form only).

# `machine_new`

```elixir
@spec machine_new() :: String.t()
```

New machine form.

# `machine_operations`

```elixir
@spec machine_operations(String.t()) :: String.t()
```

Machine card, Operations tab (hidden CRUD route, edit form only).

# `machine_type_template`

```elixir
@spec machine_type_template(String.t()) :: String.t()
```

Field-template editor for a single machine type (hidden CRUD route,
`visible: false` — see `Web.MachineTypeTemplateLive`). `uuid` is the
`machine_type` entity-data record's own uuid, not a machine's.

# `machines`

```elixir
@spec machines() :: String.t()
```

Machines list.

# `operations`

```elixir
@spec operations() :: String.t()
```

Operations list — the entities admin UI for the `operation` entity.

# `types`

```elixir
@spec types() :: String.t()
```

Machine types list — the entities admin UI for the `machine_type` entity.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
