diff --git a/enums/currency.py b/enums/currency.py index 00cb8295..fc6372da 100644 --- a/enums/currency.py +++ b/enums/currency.py @@ -8,9 +8,51 @@ class Currency(Enum): USD = "USD" EUR = "EUR" + GBP = "GBP" JPY = "JPY" + CHF = "CHF" + AUD = "AUD" CAD = "CAD" - GBP = "GBP" + CNY = "CNY" + HKD = "HKD" + SGD = "SGD" + SEK = "SEK" + NOK = "NOK" + DKK = "DKK" + PLN = "PLN" + CZK = "CZK" + HUF = "HUF" + TRY = "TRY" + INR = "INR" + KRW = "KRW" + THB = "THB" + IDR = "IDR" + MYR = "MYR" + PHP = "PHP" + VND = "VND" + AED = "AED" + SAR = "SAR" + ZAR = "ZAR" + NGN = "NGN" + KES = "KES" + GHS = "GHS" + BRL = "BRL" + MXN = "MXN" + ARS = "ARS" + CLP = "CLP" + COP = "COP" + PEN = "PEN" + RUB = "RUB" + UAH = "UAH" + ILS = "ILS" + PKR = "PKR" + BDT = "BDT" + LKR = "LKR" + TWD = "TWD" + BHD = "BHD" + KWD = "KWD" + RON = "RON" + NZD = "NZD" def get_localized_symbol(self): return get_text(Language.EN, BotEntity.COMMON, f"{self.value.lower()}_symbol") diff --git a/i18n/de.json b/i18n/de.json index 2f619a5a..17c926f0 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -166,12 +166,96 @@ "eur_symbol": "€", "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", "cad_text": "CAD", - "gbp_symbol": "£", - "gbp_text": "GBP", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "Kategorie", "subcategory": "Unterkategorie", "item": "Artikel", diff --git a/i18n/en.json b/i18n/en.json index 6b5aa7c0..75690325 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -166,12 +166,96 @@ "eur_symbol": "€", "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", "cad_text": "CAD", - "gbp_symbol": "£", - "gbp_text": "GBP", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "Category", "subcategory": "Subcategory", "item": "Item", diff --git a/i18n/es.json b/i18n/es.json index 70e214c4..296ed5e3 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -166,12 +166,96 @@ "eur_symbol": "€", "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", "cad_text": "CAD", - "gbp_symbol": "£", - "gbp_text": "GBP", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "Categoría", "subcategory": "Subcategoría", "item": "Artículo", diff --git a/i18n/fr.json b/i18n/fr.json index 1de3a938..be69e830 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -166,12 +166,96 @@ "eur_symbol": "€", "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", "cad_text": "CAD", - "gbp_symbol": "£", - "gbp_text": "GBP", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "Catégorie", "subcategory": "Sous-catégorie", "item": "Article", diff --git a/i18n/it.json b/i18n/it.json index 0d1661b2..2fb158be 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -166,12 +166,96 @@ "eur_symbol": "€", "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", "cad_text": "CAD", - "gbp_symbol": "£", - "gbp_text": "GBP", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "Categoria", "subcategory": "Sottocategoria", "item": "Articolo", diff --git a/i18n/zh.json b/i18n/zh.json index 8d6511be..42b56a9a 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -162,16 +162,100 @@ "sol_top_up": "SOL", "start_message": "👋 您好", "usd_symbol": "$", - "usd_text": "美元", + "usd_text": "USD", "eur_symbol": "€", - "eur_text": "欧元", + "eur_text": "EUR", "eth_top_up": "ETH", + "gbp_symbol": "£", + "gbp_text": "GBP", "jpy_symbol": "¥", - "jpy_text": "日元", + "jpy_text": "JPY", + "chf_symbol": "CHF", + "chf_text": "CHF", + "aud_symbol": "A$", + "aud_text": "AUD", "cad_symbol": "C$", - "cad_text": "加元", - "gbp_symbol": "£", - "gbp_text": "英镑", + "cad_text": "CAD", + "cny_symbol": "¥", + "cny_text": "CNY", + "hkd_symbol": "HK$", + "hkd_text": "HKD", + "sgd_symbol": "S$", + "sgd_text": "SGD", + "sek_symbol": "kr", + "sek_text": "SEK", + "nok_symbol": "kr", + "nok_text": "NOK", + "dkk_symbol": "kr", + "dkk_text": "DKK", + "pln_symbol": "zł", + "pln_text": "PLN", + "czk_symbol": "Kč", + "czk_text": "CZK", + "huf_symbol": "Ft", + "huf_text": "HUF", + "try_symbol": "₺", + "try_text": "TRY", + "inr_symbol": "₹", + "inr_text": "INR", + "krw_symbol": "₩", + "krw_text": "KRW", + "thb_symbol": "฿", + "thb_text": "THB", + "idr_symbol": "Rp", + "idr_text": "IDR", + "myr_symbol": "RM", + "myr_text": "MYR", + "php_symbol": "₱", + "php_text": "PHP", + "vnd_symbol": "₫", + "vnd_text": "VND", + "aed_symbol": "د.إ", + "aed_text": "AED", + "sar_symbol": "﷼", + "sar_text": "SAR", + "zar_symbol": "R", + "zar_text": "ZAR", + "ngn_symbol": "₦", + "ngn_text": "NGN", + "kes_symbol": "KSh", + "kes_text": "KES", + "ghs_symbol": "₵", + "ghs_text": "GHS", + "brl_symbol": "R$", + "brl_text": "BRL", + "mxn_symbol": "$", + "mxn_text": "MXN", + "ars_symbol": "$", + "ars_text": "ARS", + "clp_symbol": "$", + "clp_text": "CLP", + "cop_symbol": "$", + "cop_text": "COP", + "pen_symbol": "S/", + "pen_text": "PEN", + "rub_symbol": "₽", + "rub_text": "RUB", + "uah_symbol": "₴", + "uah_text": "UAH", + "ils_symbol": "₪", + "ils_text": "ILS", + "pkr_symbol": "₨", + "pkr_text": "PKR", + "bdt_symbol": "৳", + "bdt_text": "BDT", + "lkr_symbol": "₨", + "lkr_text": "LKR", + "twd_symbol": "NT$", + "twd_text": "TWD", + "bhd_symbol": "BD", + "bhd_text": "BHD", + "kwd_symbol": "KD", + "kwd_text": "KWD", + "ron_symbol": "lei", + "ron_text": "RON", + "nzd_symbol": "NZ$", + "nzd_text": "NZD", "category": "分类", "subcategory": "子分类", "item": "商品", diff --git a/repositories/item.py b/repositories/item.py index ead7ffa7..6ad8c3ce 100644 --- a/repositories/item.py +++ b/repositories/item.py @@ -58,10 +58,11 @@ async def get_by_id_map(item_ids: list[int], session: AsyncSession | Session) -> return {item.id: item for item in items if item.id is not None} @staticmethod - async def get_purchased_items(category_id: int, subcategory_id: int, quantity: int, + async def get_purchased_items(item_type: ItemType, category_id: int, subcategory_id: int, quantity: int, session: Session | AsyncSession) -> list[ItemDTO]: stmt = (select(Item) - .where(Item.category_id == category_id, + .where(Item.item_type == item_type, + Item.category_id == category_id, Item.subcategory_id == subcategory_id, Item.is_sold == False) .limit(quantity) diff --git a/services/cart.py b/services/cart.py index 5594472d..ca7dd72d 100644 --- a/services/cart.py +++ b/services/cart.py @@ -350,7 +350,8 @@ async def buy_processing(callback: CallbackQuery, status=BuyStatus.PAID if shipping_option else BuyStatus.COMPLETED) buy_dto = await BuyRepository.create(buy_dto, session) for cart_item in cart_items: - purchased_items = await ItemRepository.get_purchased_items(cart_item.category_id, + purchased_items = await ItemRepository.get_purchased_items(cart_item.item_type, + cart_item.category_id, cart_item.subcategory_id, cart_item.quantity, session) item_ids = [item.id for item in purchased_items]