## Purpose

Menyimpan identitas fasilitas untuk aplikasi satu fasilitas dan menyajikannya konsisten pada laporan operasional.

## ADDED Requirements

### Requirement: Facility name configuration
The system SHALL provide ADMIN-only GET/PATCH /api/v1/settings/system for a trimmed plantName of 1-150 characters. Saving SHALL preserve timezone, currency and legacy approval configuration, use the single facility record, and record an attributable audit entry atomically.

#### Scenario: Save valid facility name
- **WHEN** an ADMIN saves a valid plantName
- **THEN** subsequent reads return that name without changing other system fields

#### Scenario: Missing configuration row
- **WHEN** the facility configuration has not been initialized
- **THEN** reads return the documented default name Pilot Plant Utama without writing, and the first valid save initializes the singleton using existing defaults

#### Scenario: Reject invalid or unauthorized changes
- **WHEN** a non-ADMIN submits a change or an ADMIN submits blank/oversized plantName or unsupported configuration fields
- **THEN** the API rejects the request and preserves configuration

### Requirement: Facility identity in reports
Report responses and export data SHALL include the current facility name in metadata. Excel and print/PDF output SHALL display it as text, without altering report metrics, filters, authorization or periods.

#### Scenario: Export after facility name update
- **WHEN** an authorized report consumer fetches a new export after a name change
- **THEN** its metadata and generated output show the new name, including for historical reporting periods

### Requirement: Settings navigation reflects supported functionality
Settings SHALL present Profile to authenticated users and User Management/System Config only to ADMIN. Settings SHALL omit the Notifications section, email/calibration controls and priority-based inventory auto-approval control. Existing in-app notifications and checkout approval behavior SHALL remain unchanged.

#### Scenario: Access simplified Settings
- **WHEN** a user opens Settings
- **THEN** only sections allowed for their role are visible and no notification toggle or auto-approval control is offered

#### Scenario: Notifications remain operational
- **WHEN** existing notification-producing domain events occur after this feature is released
- **THEN** recipient selection and header/page notification behavior follow existing rules without reading inactive preference fields
