feat: add INR currency and sort currencies (#141)

This commit is contained in:
Hayden 2022-11-12 14:54:24 -09:00 committed by GitHub
parent 8e1947d971
commit 976f68252d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 29 deletions

View file

@ -129,6 +129,7 @@ const (
CurrencyNok Currency = "nok" CurrencyNok Currency = "nok"
CurrencySek Currency = "sek" CurrencySek Currency = "sek"
CurrencyDkk Currency = "dkk" CurrencyDkk Currency = "dkk"
CurrencyInr Currency = "inr"
) )
func (c Currency) String() string { func (c Currency) String() string {
@ -138,7 +139,7 @@ func (c Currency) String() string {
// CurrencyValidator is a validator for the "currency" field enum values. It is called by the builders before save. // CurrencyValidator is a validator for the "currency" field enum values. It is called by the builders before save.
func CurrencyValidator(c Currency) error { func CurrencyValidator(c Currency) error {
switch c { switch c {
case CurrencyUsd, CurrencyEur, CurrencyGbp, CurrencyJpy, CurrencyZar, CurrencyAud, CurrencyNok, CurrencySek, CurrencyDkk: case CurrencyUsd, CurrencyEur, CurrencyGbp, CurrencyJpy, CurrencyZar, CurrencyAud, CurrencyNok, CurrencySek, CurrencyDkk, CurrencyInr:
return nil return nil
default: default:
return fmt.Errorf("group: invalid enum value for currency field: %q", c) return fmt.Errorf("group: invalid enum value for currency field: %q", c)

View file

@ -127,7 +127,7 @@ var (
{Name: "created_at", Type: field.TypeTime}, {Name: "created_at", Type: field.TypeTime},
{Name: "updated_at", Type: field.TypeTime}, {Name: "updated_at", Type: field.TypeTime},
{Name: "name", Type: field.TypeString, Size: 255}, {Name: "name", Type: field.TypeString, Size: 255},
{Name: "currency", Type: field.TypeEnum, Enums: []string{"usd", "eur", "gbp", "jpy", "zar", "aud", "nok", "sek", "dkk"}, Default: "usd"}, {Name: "currency", Type: field.TypeEnum, Enums: []string{"usd", "eur", "gbp", "jpy", "zar", "aud", "nok", "sek", "dkk", "inr"}, Default: "usd"},
} }
// GroupsTable holds the schema information for the "groups" table. // GroupsTable holds the schema information for the "groups" table.
GroupsTable = &schema.Table{ GroupsTable = &schema.Table{

View file

@ -27,7 +27,7 @@ func (Group) Fields() []ent.Field {
NotEmpty(), NotEmpty(),
field.Enum("currency"). field.Enum("currency").
Default("usd"). Default("usd").
Values("usd", "eur", "gbp", "jpy", "zar", "aud", "nok", "sek", "dkk"), Values("usd", "eur", "gbp", "jpy", "zar", "aud", "nok", "sek", "dkk", "inr"),
} }
} }

View file

@ -1,4 +1,4 @@
export type Codes = "USD" | "EUR" | "GBP" | "JPY" | "ZAR" | "AUD" | "NOK" | "SEK" | "DKK"; export type Codes = "USD" | "EUR" | "GBP" | "JPY" | "ZAR" | "AUD" | "NOK" | "SEK" | "DKK" | "INR";
export type Currency = { export type Currency = {
code: Codes; code: Codes;
@ -9,16 +9,10 @@ export type Currency = {
export const currencies: Currency[] = [ export const currencies: Currency[] = [
{ {
code: "USD", code: "AUD",
local: "en-US", local: "en-AU",
symbol: "$", symbol: "$",
name: "US Dollar", name: "Australian Dollar",
},
{
code: "EUR",
local: "de-DE",
symbol: "€",
name: "Euro",
}, },
{ {
code: "GBP", code: "GBP",
@ -26,30 +20,42 @@ export const currencies: Currency[] = [
symbol: "£", symbol: "£",
name: "British Pound", name: "British Pound",
}, },
{
code: "DKK",
local: "da-DK",
symbol: "kr",
name: "Danish Krone",
},
{
code: "EUR",
local: "de-DE",
symbol: "€",
name: "Euro",
},
{
code: "INR",
local: "en-IN",
symbol: "₹",
name: "Indian Rupee",
},
{ {
code: "JPY", code: "JPY",
local: "ja-JP", local: "ja-JP",
symbol: "¥", symbol: "¥",
name: "Japanese Yen", name: "Japanese Yen",
}, },
{
code: "ZAR",
local: "en-ZA",
symbol: "R",
name: "South African Rand",
},
{
code: "AUD",
local: "en-AU",
symbol: "$",
name: "Australian Dollar",
},
{ {
code: "NOK", code: "NOK",
local: "nb-NO", local: "nb-NO",
symbol: "kr", symbol: "kr",
name: "Norwegian Krone", name: "Norwegian Krone",
}, },
{
code: "ZAR",
local: "en-ZA",
symbol: "R",
name: "South African Rand",
},
{ {
code: "SEK", code: "SEK",
local: "sv-SE", local: "sv-SE",
@ -57,9 +63,9 @@ export const currencies: Currency[] = [
name: "Swedish Krona", name: "Swedish Krona",
}, },
{ {
code: "DKK", code: "USD",
local: "da-DK", local: "en-US",
symbol: "kr", symbol: "$",
name: "Danish Krone", name: "US Dollar",
}, },
]; ];