Operator guideENcurrenciesform

Currencies / Form

Create workspace for one currency record, including code-driven type suggestion and numeric rate inputs.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this form does

This page creates one new currency record. It is the create-only entry point mounted at /currencies/create.

Visible fields

  • Currency Name
  • Currency Code
  • Currency Symbol
  • Exchange Rate
  • MRKTG Ratio to EUR
  • Loyalty Point
  • Currency Type

Important behavior

Currency Code is uppercased in the form

The FE forces uppercase while the operator types. The backend also uppercases the saved code, so the create flow is normalized on both sides.

Currency Type is suggested from the loaded currency lookup

The create page loads the full currencies list and reads isCurrenciesCrypto from GET /api/admin/get-currencies. When the entered code matches a known lookup key, the FE switches the type to Crypto or Fiat automatically.

The selector is still visible, so operators can review or override the value before save. Any later code change can re-apply the lookup result.

MRKTG Ratio to EUR has an operator-facing meaning

The helper caption in the form says this value affects bonus and bet-limit amounts. It is not just a duplicate of exchange rate.

There is no icon workflow on create

Icon upload and asset selection exist only on the saved-record detail screen. The create page is limited to the core identity, rate, and type fields.

Save flow

Create posts to POST /api/admin/create-currency. Before submit, the FE stringifies exchangeRate, marketingRatio, and loyaltyPoint. On success, the form resets, shows a success toast, and returns to the previous page.

Verification status

  • status: verified_backend
  • FE create flow verified in CreateCurrencyForm
  • backend create route verified in AdminController.createCurrency -> CreateCurrencyService
Calculation notes

Calculations

calculation

Currency code normalization

Operators do not need to normalize case manually.

Inputs
code
Transform
The FE uppercases `Currency Code` during typing, and `CreateCurrencyService` uppercases `code` again before saving.
calculation

Currency type suggestion

`Currency Type` is auto-suggested from the current code lookup rather than guessed manually.

Inputs
code, type
Transform
The FE reads `isCurrenciesCrypto` from `GET /api/admin/get-currencies` and sets the visible type to `Crypto` or `Fiat` when the entered code matches a known lookup key.
calculation

Submit payload casting

Operators enter numeric values normally, but the request payload is stringified by the FE.

Inputs
exchangeRate, marketingRatio, loyaltyPoint
Transform
Before submit, the FE casts these numeric-looking fields to strings and sends them to `POST /api/admin/create-currency`.
Field dictionary

Fields

field

Currency Name

Display name saved for the new currency record.

Group
identity
Data Type
string
field

Currency Code

Three-letter currency code used to identify the currency.

Group
identity
Data Type
string
Caveats
The FE uppercases the value while the operator types., The backend uppercases the saved code again during create.
field

Currency Symbol

Visible currency symbol used in formatting.

Group
identity
Data Type
string
field

Exchange Rate

Stored exchange-rate value for the currency.

Group
rates
Data Type
number
field

MRKTG Ratio to EUR

Marketing ratio used by other CRM flows when amount conversion relies on marketing-rate logic instead of pure exchange rate.

Group
rates
Data Type
number
Caveats
The FE helper text says this value affects bonus and bet-limit amounts.
field

Loyalty Point

Loyalty-point value saved with the currency.

Group
rates
Data Type
number
field

Currency Type

Fiat/Crypto classification saved for the new currency.

Group
classification
Data Type
enum
Caveats
The FE auto-suggests the value from `isCurrenciesCrypto` when the entered code matches a known lookup entry., Operators still review the visible selector before saving.
Operational notes

Notes

item

FE create fields, code uppercasing, and type-lookup behavior are confirmed.

item

`CreateCurrencyService` validates `name`, `code`, `exchangeRate`, `symbol`, `type`, and `loyaltyPoint`, checks code uniqueness, and saves the record through `db.Currency`.

item

The create page does not expose icon upload or asset-selection controls.

Related references

Related pages

pageCurrencies

Operator guide for currency inventory, create flow, and edit workspace.

pageCurrencies / Detail

Saved currency edit workspace for one currency, including icon upload, asset selection, and rate maintenance.

pageCurrencies / List

Currency inventory page for reviewing configured currencies and opening create or saved-record flows.

pageAffiliate Deals / Form

Create and edit form for affiliate deals, including PID, date window, commercial terms, and responsible person.

pageAffiliate Payment Settings / Form

Create and edit form for one affiliate payment-setting record, with visible PID targeting, minimum deposit threshold, and active-state control.

pageAuto Tags Manager / Create

Full rule-builder for a new automatic tagging rule, including tag actions, coupon actions, KPI field selection, and draft impact estimation.