From 5438898b497c11badc10c1692e4909f8ccc8a698 Mon Sep 17 00:00:00 2001 From: tctlrd <135671403+tctlrd@users.noreply.github.com> Date: Wed, 23 Aug 2023 12:29:22 -0500 Subject: [PATCH] feat: add currencies XAG and XAU (#535) * Added currencies XAG and XAU to currency.ts I added XAG and XAU for myself and others who prefer to measure value with something of substance. Review the ISO 4217 standard to view a full list of official currency codes including the ones I have added. https://www.iso.org/iso-4217-currency-codes.html https://en.wikipedia.org/wiki/ISO_4217 Example: https://www.xe.com/currencyconverter/convert/?Amount=100&From=XAG&To=USD API for exchange rates: https://openexchangerates.org/ * Added field values xag and xau to group.go * Update group.go --- backend/internal/data/ent/group/group.go | 4 +++- backend/internal/data/ent/schema/group.go | 2 ++ frontend/lib/data/currency.ts | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/internal/data/ent/group/group.go b/backend/internal/data/ent/group/group.go index 5d949ea8..5e92129a 100644 --- a/backend/internal/data/ent/group/group.go +++ b/backend/internal/data/ent/group/group.go @@ -160,6 +160,8 @@ const ( CurrencyThb Currency = "thb" CurrencyTry Currency = "try" CurrencyUsd Currency = "usd" + CurrencyXag Currency = "xag" + CurrencyXau Currency = "xau" CurrencyZar Currency = "zar" ) @@ -170,7 +172,7 @@ func (c Currency) String() string { // CurrencyValidator is a validator for the "currency" field enum values. It is called by the builders before save. func CurrencyValidator(c Currency) error { switch c { - case CurrencyAed, CurrencyAud, CurrencyBgn, CurrencyBrl, CurrencyCad, CurrencyChf, CurrencyCny, CurrencyCzk, CurrencyDkk, CurrencyEur, CurrencyGbp, CurrencyHkd, CurrencyIdr, CurrencyInr, CurrencyJpy, CurrencyKrw, CurrencyMxn, CurrencyNok, CurrencyNzd, CurrencyPln, CurrencyRmb, CurrencyRon, CurrencyRub, CurrencySar, CurrencySek, CurrencySgd, CurrencyThb, CurrencyTry, CurrencyUsd, CurrencyZar: + case CurrencyAed, CurrencyAud, CurrencyBgn, CurrencyBrl, CurrencyCad, CurrencyChf, CurrencyCny, CurrencyCzk, CurrencyDkk, CurrencyEur, CurrencyGbp, CurrencyHkd, CurrencyIdr, CurrencyInr, CurrencyJpy, CurrencyKrw, CurrencyMxn, CurrencyNok, CurrencyNzd, CurrencyPln, CurrencyRmb, CurrencyRon, CurrencyRub, CurrencySar, CurrencySek, CurrencySgd, CurrencyThb, CurrencyTry, CurrencyUsd, CurrencyXag, CurrencyXau, CurrencyZar: return nil default: return fmt.Errorf("group: invalid enum value for currency field: %q", c) diff --git a/backend/internal/data/ent/schema/group.go b/backend/internal/data/ent/schema/group.go index 494882c5..64e9d954 100644 --- a/backend/internal/data/ent/schema/group.go +++ b/backend/internal/data/ent/schema/group.go @@ -58,6 +58,8 @@ func (Group) Fields() []ent.Field { "thb", "try", "usd", + "xag", + "xau", "zar", ), } diff --git a/frontend/lib/data/currency.ts b/frontend/lib/data/currency.ts index 236fe9f2..baa9b101 100644 --- a/frontend/lib/data/currency.ts +++ b/frontend/lib/data/currency.ts @@ -27,6 +27,8 @@ export type Codes = | "THB" | "TRY" | "USD" + | "XAG" + | "XAU" | "ZAR"; export type Currency = { @@ -65,5 +67,7 @@ export const currencies: Currency[] = [ { code: "THB", local: "Thailand", symbol: "฿", name: "Thai Baht" }, { code: "TRY", local: "Turkey", symbol: "₺", name: "Turkish Lira" }, { code: "USD", local: "United States", symbol: "$", name: "United States Dollar" }, + { code: "XAG", local: "Global", symbol: "XAG", name: "Silver Troy Ounce" }, + { code: "XAU", local: "Global", symbol: "XAU", name: "Gold Troy Ounce" }, { code: "ZAR", local: "South Africa", symbol: "R", name: "South African Rand" }, ];