@ecopex/ecopex-framework 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.env +73 -0
  2. package/README.md +248 -0
  3. package/bun.lockb +0 -0
  4. package/config/swagger/admin.js +44 -0
  5. package/config/swagger/api.js +19 -0
  6. package/database/migrations/20240000135243_timezones.js +22 -0
  7. package/database/migrations/20240000135244_countries.js +23 -0
  8. package/database/migrations/20240000135244_create_admins_table.js +66 -0
  9. package/database/migrations/20240000135244_currencies.js +21 -0
  10. package/database/migrations/20240000135244_languages.js +21 -0
  11. package/database/migrations/20240000135244_taxes.js +10 -0
  12. package/database/migrations/20240000135245_sites.js +37 -0
  13. package/database/migrations/20240000135246_payment_methods.js +33 -0
  14. package/database/migrations/20251016113547_devices.js +37 -0
  15. package/database/migrations/20251019192600_users.js +62 -0
  16. package/database/migrations/20251019213551_language_lines.js +35 -0
  17. package/database/migrations/20251222214131_category_groups.js +18 -0
  18. package/database/migrations/20251222214619_categories.js +27 -0
  19. package/database/migrations/20251222214848_brands.js +23 -0
  20. package/database/migrations/20251222214946_products.js +30 -0
  21. package/database/migrations/20251222215428_product_images.js +18 -0
  22. package/database/migrations/20251222215553_options.js +30 -0
  23. package/database/migrations/20251222215806_variants.js +23 -0
  24. package/database/migrations/20251222215940_attributes.js +25 -0
  25. package/database/migrations/20251222220135_discounts.js +15 -0
  26. package/database/migrations/20251222220253_reviews.js +22 -0
  27. package/database/migrations/20251222220341_favorites.js +10 -0
  28. package/database/migrations/20251222220422_search_logs.js +17 -0
  29. package/database/migrations/20251222220636_orders.js +16 -0
  30. package/database/migrations/20251222220806_order_items.js +19 -0
  31. package/database/migrations/20251222221317_order_statuses.js +10 -0
  32. package/database/migrations/20251222221446_order_payments.js +13 -0
  33. package/database/migrations/20251222221654_order_addresses.js +23 -0
  34. package/database/migrations/20251222221807_order_status_logs.js +13 -0
  35. package/database/seeds/admins.js +37 -0
  36. package/database/seeds/countries.js +203 -0
  37. package/database/seeds/currencies.js +165 -0
  38. package/database/seeds/languages.js +113 -0
  39. package/database/seeds/timezones.js +149 -0
  40. package/ecosystem.config.js +26 -0
  41. package/env.example +73 -0
  42. package/knexfile.js +3 -0
  43. package/libraries/2fa.js +22 -0
  44. package/libraries/aws.js +63 -0
  45. package/libraries/bcrypt.js +284 -0
  46. package/libraries/controls.js +113 -0
  47. package/libraries/date.js +14 -0
  48. package/libraries/general.js +8 -0
  49. package/libraries/image.js +57 -0
  50. package/libraries/jwt.js +178 -0
  51. package/libraries/knex.js +7 -0
  52. package/libraries/slug.js +14 -0
  53. package/libraries/stores.js +22 -0
  54. package/libraries/upload.js +194 -0
  55. package/locales/en/messages.json +4 -0
  56. package/locales/en/sql.json +3 -0
  57. package/locales/en/validation.json +52 -0
  58. package/locales/es/validation.json +52 -0
  59. package/locales/tr/validation.json +59 -0
  60. package/package.json +75 -0
  61. package/routes/admin/auto/admins.json +63 -0
  62. package/routes/admin/auto/devices.json +37 -0
  63. package/routes/admin/auto/migrations.json +21 -0
  64. package/routes/admin/auto/users.json +61 -0
  65. package/routes/admin/middlewares/index.js +87 -0
  66. package/routes/admin/spec/auth.js +626 -0
  67. package/routes/admin/spec/users.js +3 -0
  68. package/routes/auto/handler.js +635 -0
  69. package/routes/common/auto/countries.json +28 -0
  70. package/routes/common/auto/currencies.json +26 -0
  71. package/routes/common/auto/languages.json +26 -0
  72. package/routes/common/auto/taxes.json +46 -0
  73. package/routes/common/auto/timezones.json +29 -0
  74. package/stores/base.js +73 -0
  75. package/stores/index.js +195 -0
  76. package/utils/i18n.js +187 -0
  77. package/utils/jsonRouteLoader.js +587 -0
  78. package/utils/middleware.js +154 -0
  79. package/utils/routeLoader.js +227 -0
  80. package/workers/admin.js +124 -0
  81. package/workers/api.js +106 -0
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Seed the countries table with all countries.
3
+ * @param { import("knex").Knex } knex
4
+ */
5
+ exports.seed = async function(knex) {
6
+ await knex('countries').insert([
7
+ { country_id: 1, name: 'Afghanistan', code: 'AF', iso_code: 'AFG', phone_code: '+93', flag: '๐Ÿ‡ฆ๐Ÿ‡ซ' },
8
+ { country_id: 2, name: 'Albania', code: 'AL', iso_code: 'ALB', phone_code: '+355', flag: '๐Ÿ‡ฆ๐Ÿ‡ฑ' },
9
+ { country_id: 3, name: 'Algeria', code: 'DZ', iso_code: 'DZA', phone_code: '+213', flag: '๐Ÿ‡ฉ๐Ÿ‡ฟ' },
10
+ { country_id: 4, name: 'Andorra', code: 'AD', iso_code: 'AND', phone_code: '+376', flag: '๐Ÿ‡ฆ๐Ÿ‡ฉ' },
11
+ { country_id: 5, name: 'Angola', code: 'AO', iso_code: 'AGO', phone_code: '+244', flag: '๐Ÿ‡ฆ๐Ÿ‡ด' },
12
+ { country_id: 6, name: 'Antigua and Barbuda', code: 'AG', iso_code: 'ATG', phone_code: '+1268', flag: '๐Ÿ‡ฆ๐Ÿ‡ฌ' },
13
+ { country_id: 7, name: 'Argentina', code: 'AR', iso_code: 'ARG', phone_code: '+54', flag: '๐Ÿ‡ฆ๐Ÿ‡ท' },
14
+ { country_id: 8, name: 'Armenia', code: 'AM', iso_code: 'ARM', phone_code: '+374', flag: '๐Ÿ‡ฆ๐Ÿ‡ฒ' },
15
+ { country_id: 9, name: 'Australia', code: 'AU', iso_code: 'AUS', phone_code: '+61', flag: '๐Ÿ‡ฆ๐Ÿ‡บ' },
16
+ { country_id: 10, name: 'Austria', code: 'AT', iso_code: 'AUT', phone_code: '+43', flag: '๐Ÿ‡ฆ๐Ÿ‡น' },
17
+ { country_id: 11, name: 'Azerbaijan', code: 'AZ', iso_code: 'AZE', phone_code: '+994', flag: '๐Ÿ‡ฆ๐Ÿ‡ฟ' },
18
+ { country_id: 12, name: 'Bahamas', code: 'BS', iso_code: 'BHS', phone_code: '+1242', flag: '๐Ÿ‡ง๐Ÿ‡ธ' },
19
+ { country_id: 13, name: 'Bahrain', code: 'BH', iso_code: 'BHR', phone_code: '+973', flag: '๐Ÿ‡ง๐Ÿ‡ญ' },
20
+ { country_id: 14, name: 'Bangladesh', code: 'BD', iso_code: 'BGD', phone_code: '+880', flag: '๐Ÿ‡ง๐Ÿ‡ฉ' },
21
+ { country_id: 15, name: 'Barbados', code: 'BB', iso_code: 'BRB', phone_code: '+1246', flag: '๐Ÿ‡ง๐Ÿ‡ง' },
22
+ { country_id: 16, name: 'Belarus', code: 'BY', iso_code: 'BLR', phone_code: '+375', flag: '๐Ÿ‡ง๐Ÿ‡พ' },
23
+ { country_id: 17, name: 'Belgium', code: 'BE', iso_code: 'BEL', phone_code: '+32', flag: '๐Ÿ‡ง๐Ÿ‡ช' },
24
+ { country_id: 18, name: 'Belize', code: 'BZ', iso_code: 'BLZ', phone_code: '+501', flag: '๐Ÿ‡ง๐Ÿ‡ฟ' },
25
+ { country_id: 19, name: 'Benin', code: 'BJ', iso_code: 'BEN', phone_code: '+229', flag: '๐Ÿ‡ง๐Ÿ‡ฏ' },
26
+ { country_id: 20, name: 'Bhutan', code: 'BT', iso_code: 'BTN', phone_code: '+975', flag: '๐Ÿ‡ง๐Ÿ‡น' },
27
+ { country_id: 21, name: 'Bolivia', code: 'BO', iso_code: 'BOL', phone_code: '+591', flag: '๐Ÿ‡ง๐Ÿ‡ด' },
28
+ { country_id: 22, name: 'Bosnia and Herzegovina', code: 'BA', iso_code: 'BIH', phone_code: '+387', flag: '๐Ÿ‡ง๐Ÿ‡ฆ' },
29
+ { country_id: 23, name: 'Botswana', code: 'BW', iso_code: 'BWA', phone_code: '+267', flag: '๐Ÿ‡ง๐Ÿ‡ผ' },
30
+ { country_id: 24, name: 'Brazil', code: 'BR', iso_code: 'BRA', phone_code: '+55', flag: '๐Ÿ‡ง๐Ÿ‡ท' },
31
+ { country_id: 25, name: 'Brunei', code: 'BN', iso_code: 'BRN', phone_code: '+673', flag: '๐Ÿ‡ง๐Ÿ‡ณ' },
32
+ { country_id: 26, name: 'Bulgaria', code: 'BG', iso_code: 'BGR', phone_code: '+359', flag: '๐Ÿ‡ง๐Ÿ‡ฌ' },
33
+ { country_id: 27, name: 'Burkina Faso', code: 'BF', iso_code: 'BFA', phone_code: '+226', flag: '๐Ÿ‡ง๐Ÿ‡ซ' },
34
+ { country_id: 28, name: 'Burundi', code: 'BI', iso_code: 'BDI', phone_code: '+257', flag: '๐Ÿ‡ง๐Ÿ‡ฎ' },
35
+ { country_id: 29, name: 'Cambodia', code: 'KH', iso_code: 'KHM', phone_code: '+855', flag: '๐Ÿ‡ฐ๐Ÿ‡ญ' },
36
+ { country_id: 30, name: 'Cameroon', code: 'CM', iso_code: 'CMR', phone_code: '+237', flag: '๐Ÿ‡จ๐Ÿ‡ฒ' },
37
+ { country_id: 31, name: 'Canada', code: 'CA', iso_code: 'CAN', phone_code: '+1', flag: '๐Ÿ‡จ๐Ÿ‡ฆ' },
38
+ { country_id: 32, name: 'Cape Verde', code: 'CV', iso_code: 'CPV', phone_code: '+238', flag: '๐Ÿ‡จ๐Ÿ‡ป' },
39
+ { country_id: 33, name: 'Central African Republic', code: 'CF', iso_code: 'CAF', phone_code: '+236', flag: '๐Ÿ‡จ๐Ÿ‡ซ' },
40
+ { country_id: 34, name: 'Chad', code: 'TD', iso_code: 'TCD', phone_code: '+235', flag: '๐Ÿ‡น๐Ÿ‡ฉ' },
41
+ { country_id: 35, name: 'Chile', code: 'CL', iso_code: 'CHL', phone_code: '+56', flag: '๐Ÿ‡จ๐Ÿ‡ฑ' },
42
+ { country_id: 36, name: 'China', code: 'CN', iso_code: 'CHN', phone_code: '+86', flag: '๐Ÿ‡จ๐Ÿ‡ณ' },
43
+ { country_id: 37, name: 'Colombia', code: 'CO', iso_code: 'COL', phone_code: '+57', flag: '๐Ÿ‡จ๐Ÿ‡ด' },
44
+ { country_id: 38, name: 'Comoros', code: 'KM', iso_code: 'COM', phone_code: '+269', flag: '๐Ÿ‡ฐ๐Ÿ‡ฒ' },
45
+ { country_id: 39, name: 'Congo', code: 'CG', iso_code: 'COG', phone_code: '+242', flag: '๐Ÿ‡จ๐Ÿ‡ฌ' },
46
+ { country_id: 40, name: 'Costa Rica', code: 'CR', iso_code: 'CRI', phone_code: '+506', flag: '๐Ÿ‡จ๐Ÿ‡ท' },
47
+ { country_id: 41, name: 'Croatia', code: 'HR', iso_code: 'HRV', phone_code: '+385', flag: '๐Ÿ‡ญ๐Ÿ‡ท' },
48
+ { country_id: 42, name: 'Cuba', code: 'CU', iso_code: 'CUB', phone_code: '+53', flag: '๐Ÿ‡จ๐Ÿ‡บ' },
49
+ { country_id: 43, name: 'Cyprus', code: 'CY', iso_code: 'CYP', phone_code: '+357', flag: '๐Ÿ‡จ๐Ÿ‡พ' },
50
+ { country_id: 44, name: 'Czech Republic', code: 'CZ', iso_code: 'CZE', phone_code: '+420', flag: '๐Ÿ‡จ๐Ÿ‡ฟ' },
51
+ { country_id: 45, name: 'Denmark', code: 'DK', iso_code: 'DNK', phone_code: '+45', flag: '๐Ÿ‡ฉ๐Ÿ‡ฐ' },
52
+ { country_id: 46, name: 'Djibouti', code: 'DJ', iso_code: 'DJI', phone_code: '+253', flag: '๐Ÿ‡ฉ๐Ÿ‡ฏ' },
53
+ { country_id: 47, name: 'Dominica', code: 'DM', iso_code: 'DMA', phone_code: '+1767', flag: '๐Ÿ‡ฉ๐Ÿ‡ฒ' },
54
+ { country_id: 48, name: 'Dominican Republic', code: 'DO', iso_code: 'DOM', phone_code: '+1809', flag: '๐Ÿ‡ฉ๐Ÿ‡ด' },
55
+ { country_id: 49, name: 'Ecuador', code: 'EC', iso_code: 'ECU', phone_code: '+593', flag: '๐Ÿ‡ช๐Ÿ‡จ' },
56
+ { country_id: 50, name: 'Egypt', code: 'EG', iso_code: 'EGY', phone_code: '+20', flag: '๐Ÿ‡ช๐Ÿ‡ฌ' },
57
+ { country_id: 51, name: 'El Salvador', code: 'SV', iso_code: 'SLV', phone_code: '+503', flag: '๐Ÿ‡ธ๐Ÿ‡ป' },
58
+ { country_id: 52, name: 'Equatorial Guinea', code: 'GQ', iso_code: 'GNQ', phone_code: '+240', flag: '๐Ÿ‡ฌ๐Ÿ‡ถ' },
59
+ { country_id: 53, name: 'Eritrea', code: 'ER', iso_code: 'ERI', phone_code: '+291', flag: '๐Ÿ‡ช๐Ÿ‡ท' },
60
+ { country_id: 54, name: 'Estonia', code: 'EE', iso_code: 'EST', phone_code: '+372', flag: '๐Ÿ‡ช๐Ÿ‡ช' },
61
+ { country_id: 55, name: 'Eswatini', code: 'SZ', iso_code: 'SWZ', phone_code: '+268', flag: '๐Ÿ‡ธ๐Ÿ‡ฟ' },
62
+ { country_id: 56, name: 'Ethiopia', code: 'ET', iso_code: 'ETH', phone_code: '+251', flag: '๐Ÿ‡ช๐Ÿ‡น' },
63
+ { country_id: 57, name: 'Fiji', code: 'FJ', iso_code: 'FJI', phone_code: '+679', flag: '๐Ÿ‡ซ๐Ÿ‡ฏ' },
64
+ { country_id: 58, name: 'Finland', code: 'FI', iso_code: 'FIN', phone_code: '+358', flag: '๐Ÿ‡ซ๐Ÿ‡ฎ' },
65
+ { country_id: 59, name: 'France', code: 'FR', iso_code: 'FRA', phone_code: '+33', flag: '๐Ÿ‡ซ๐Ÿ‡ท' },
66
+ { country_id: 60, name: 'Gabon', code: 'GA', iso_code: 'GAB', phone_code: '+241', flag: '๐Ÿ‡ฌ๐Ÿ‡ฆ' },
67
+ { country_id: 61, name: 'Gambia', code: 'GM', iso_code: 'GMB', phone_code: '+220', flag: '๐Ÿ‡ฌ๐Ÿ‡ฒ' },
68
+ { country_id: 62, name: 'Georgia', code: 'GE', iso_code: 'GEO', phone_code: '+995', flag: '๐Ÿ‡ฌ๐Ÿ‡ช' },
69
+ { country_id: 63, name: 'Germany', code: 'DE', iso_code: 'DEU', phone_code: '+49', flag: '๐Ÿ‡ฉ๐Ÿ‡ช' },
70
+ { country_id: 64, name: 'Ghana', code: 'GH', iso_code: 'GHA', phone_code: '+233', flag: '๐Ÿ‡ฌ๐Ÿ‡ญ' },
71
+ { country_id: 65, name: 'Greece', code: 'GR', iso_code: 'GRC', phone_code: '+30', flag: '๐Ÿ‡ฌ๐Ÿ‡ท' },
72
+ { country_id: 66, name: 'Grenada', code: 'GD', iso_code: 'GRD', phone_code: '+1473', flag: '๐Ÿ‡ฌ๐Ÿ‡ฉ' },
73
+ { country_id: 67, name: 'Guatemala', code: 'GT', iso_code: 'GTM', phone_code: '+502', flag: '๐Ÿ‡ฌ๐Ÿ‡น' },
74
+ { country_id: 68, name: 'Guinea', code: 'GN', iso_code: 'GIN', phone_code: '+224', flag: '๐Ÿ‡ฌ๐Ÿ‡ณ' },
75
+ { country_id: 69, name: 'Guinea-Bissau', code: 'GW', iso_code: 'GNB', phone_code: '+245', flag: '๐Ÿ‡ฌ๐Ÿ‡ผ' },
76
+ { country_id: 70, name: 'Guyana', code: 'GY', iso_code: 'GUY', phone_code: '+592', flag: '๐Ÿ‡ฌ๐Ÿ‡พ' },
77
+ { country_id: 71, name: 'Haiti', code: 'HT', iso_code: 'HTI', phone_code: '+509', flag: '๐Ÿ‡ญ๐Ÿ‡น' },
78
+ { country_id: 72, name: 'Honduras', code: 'HN', iso_code: 'HND', phone_code: '+504', flag: '๐Ÿ‡ญ๐Ÿ‡ณ' },
79
+ { country_id: 73, name: 'Hungary', code: 'HU', iso_code: 'HUN', phone_code: '+36', flag: '๐Ÿ‡ญ๐Ÿ‡บ' },
80
+ { country_id: 74, name: 'Iceland', code: 'IS', iso_code: 'ISL', phone_code: '+354', flag: '๐Ÿ‡ฎ๐Ÿ‡ธ' },
81
+ { country_id: 75, name: 'India', code: 'IN', iso_code: 'IND', phone_code: '+91', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
82
+ { country_id: 76, name: 'Indonesia', code: 'ID', iso_code: 'IDN', phone_code: '+62', flag: '๐Ÿ‡ฎ๐Ÿ‡ฉ' },
83
+ { country_id: 77, name: 'Iran', code: 'IR', iso_code: 'IRN', phone_code: '+98', flag: '๐Ÿ‡ฎ๐Ÿ‡ท' },
84
+ { country_id: 78, name: 'Iraq', code: 'IQ', iso_code: 'IRQ', phone_code: '+964', flag: '๐Ÿ‡ฎ๐Ÿ‡ถ' },
85
+ { country_id: 79, name: 'Ireland', code: 'IE', iso_code: 'IRL', phone_code: '+353', flag: '๐Ÿ‡ฎ๐Ÿ‡ช' },
86
+ { country_id: 80, name: 'Israel', code: 'IL', iso_code: 'ISR', phone_code: '+972', flag: '๐Ÿ‡ฎ๐Ÿ‡ฑ' },
87
+ { country_id: 81, name: 'Italy', code: 'IT', iso_code: 'ITA', phone_code: '+39', flag: '๐Ÿ‡ฎ๐Ÿ‡น' },
88
+ { country_id: 82, name: 'Jamaica', code: 'JM', iso_code: 'JAM', phone_code: '+1876', flag: '๐Ÿ‡ฏ๐Ÿ‡ฒ' },
89
+ { country_id: 83, name: 'Japan', code: 'JP', iso_code: 'JPN', phone_code: '+81', flag: '๐Ÿ‡ฏ๐Ÿ‡ต' },
90
+ { country_id: 84, name: 'Jordan', code: 'JO', iso_code: 'JOR', phone_code: '+962', flag: '๐Ÿ‡ฏ๐Ÿ‡ด' },
91
+ { country_id: 85, name: 'Kazakhstan', code: 'KZ', iso_code: 'KAZ', phone_code: '+7', flag: '๐Ÿ‡ฐ๐Ÿ‡ฟ' },
92
+ { country_id: 86, name: 'Kenya', code: 'KE', iso_code: 'KEN', phone_code: '+254', flag: '๐Ÿ‡ฐ๐Ÿ‡ช' },
93
+ { country_id: 87, name: 'Kiribati', code: 'KI', iso_code: 'KIR', phone_code: '+686', flag: '๐Ÿ‡ฐ๐Ÿ‡ฎ' },
94
+ { country_id: 88, name: 'Kosovo', code: 'XK', iso_code: 'XKX', phone_code: '+383', flag: '๐Ÿ‡ฝ๐Ÿ‡ฐ' },
95
+ { country_id: 89, name: 'Kuwait', code: 'KW', iso_code: 'KWT', phone_code: '+965', flag: '๐Ÿ‡ฐ๐Ÿ‡ผ' },
96
+ { country_id: 90, name: 'Kyrgyzstan', code: 'KG', iso_code: 'KGZ', phone_code: '+996', flag: '๐Ÿ‡ฐ๐Ÿ‡ฌ' },
97
+ { country_id: 91, name: 'Laos', code: 'LA', iso_code: 'LAO', phone_code: '+856', flag: '๐Ÿ‡ฑ๐Ÿ‡ฆ' },
98
+ { country_id: 92, name: 'Latvia', code: 'LV', iso_code: 'LVA', phone_code: '+371', flag: '๐Ÿ‡ฑ๐Ÿ‡ป' },
99
+ { country_id: 93, name: 'Lebanon', code: 'LB', iso_code: 'LBN', phone_code: '+961', flag: '๐Ÿ‡ฑ๐Ÿ‡ง' },
100
+ { country_id: 94, name: 'Lesotho', code: 'LS', iso_code: 'LSO', phone_code: '+266', flag: '๐Ÿ‡ฑ๐Ÿ‡ธ' },
101
+ { country_id: 95, name: 'Liberia', code: 'LR', iso_code: 'LBR', phone_code: '+231', flag: '๐Ÿ‡ฑ๐Ÿ‡ท' },
102
+ { country_id: 96, name: 'Libya', code: 'LY', iso_code: 'LBY', phone_code: '+218', flag: '๐Ÿ‡ฑ๐Ÿ‡พ' },
103
+ { country_id: 97, name: 'Liechtenstein', code: 'LI', iso_code: 'LIE', phone_code: '+423', flag: '๐Ÿ‡ฑ๐Ÿ‡ฎ' },
104
+ { country_id: 98, name: 'Lithuania', code: 'LT', iso_code: 'LTU', phone_code: '+370', flag: '๐Ÿ‡ฑ๐Ÿ‡น' },
105
+ { country_id: 99, name: 'Luxembourg', code: 'LU', iso_code: 'LUX', phone_code: '+352', flag: '๐Ÿ‡ฑ๐Ÿ‡บ' },
106
+ { country_id: 100, name: 'Madagascar', code: 'MG', iso_code: 'MDG', phone_code: '+261', flag: '๐Ÿ‡ฒ๐Ÿ‡ฌ' },
107
+ { country_id: 101, name: 'Malawi', code: 'MW', iso_code: 'MWI', phone_code: '+265', flag: '๐Ÿ‡ฒ๐Ÿ‡ผ' },
108
+ { country_id: 102, name: 'Malaysia', code: 'MY', iso_code: 'MYS', phone_code: '+60', flag: '๐Ÿ‡ฒ๐Ÿ‡พ' },
109
+ { country_id: 103, name: 'Maldives', code: 'MV', iso_code: 'MDV', phone_code: '+960', flag: '๐Ÿ‡ฒ๐Ÿ‡ป' },
110
+ { country_id: 104, name: 'Mali', code: 'ML', iso_code: 'MLI', phone_code: '+223', flag: '๐Ÿ‡ฒ๐Ÿ‡ฑ' },
111
+ { country_id: 105, name: 'Malta', code: 'MT', iso_code: 'MLT', phone_code: '+356', flag: '๐Ÿ‡ฒ๐Ÿ‡น' },
112
+ { country_id: 106, name: 'Marshall Islands', code: 'MH', iso_code: 'MHL', phone_code: '+692', flag: '๐Ÿ‡ฒ๐Ÿ‡ญ' },
113
+ { country_id: 107, name: 'Mauritania', code: 'MR', iso_code: 'MRT', phone_code: '+222', flag: '๐Ÿ‡ฒ๐Ÿ‡ท' },
114
+ { country_id: 108, name: 'Mauritius', code: 'MU', iso_code: 'MUS', phone_code: '+230', flag: '๐Ÿ‡ฒ๐Ÿ‡บ' },
115
+ { country_id: 109, name: 'Mexico', code: 'MX', iso_code: 'MEX', phone_code: '+52', flag: '๐Ÿ‡ฒ๐Ÿ‡ฝ' },
116
+ { country_id: 110, name: 'Micronesia', code: 'FM', iso_code: 'FSM', phone_code: '+691', flag: '๐Ÿ‡ซ๐Ÿ‡ฒ' },
117
+ { country_id: 111, name: 'Moldova', code: 'MD', iso_code: 'MDA', phone_code: '+373', flag: '๐Ÿ‡ฒ๐Ÿ‡ฉ' },
118
+ { country_id: 112, name: 'Monaco', code: 'MC', iso_code: 'MCO', phone_code: '+377', flag: '๐Ÿ‡ฒ๐Ÿ‡จ' },
119
+ { country_id: 113, name: 'Mongolia', code: 'MN', iso_code: 'MNG', phone_code: '+976', flag: '๐Ÿ‡ฒ๐Ÿ‡ณ' },
120
+ { country_id: 114, name: 'Montenegro', code: 'ME', iso_code: 'MNE', phone_code: '+382', flag: '๐Ÿ‡ฒ๐Ÿ‡ช' },
121
+ { country_id: 115, name: 'Morocco', code: 'MA', iso_code: 'MAR', phone_code: '+212', flag: '๐Ÿ‡ฒ๐Ÿ‡ฆ' },
122
+ { country_id: 116, name: 'Mozambique', code: 'MZ', iso_code: 'MOZ', phone_code: '+258', flag: '๐Ÿ‡ฒ๐Ÿ‡ฟ' },
123
+ { country_id: 117, name: 'Myanmar', code: 'MM', iso_code: 'MMR', phone_code: '+95', flag: '๐Ÿ‡ฒ๐Ÿ‡ฒ' },
124
+ { country_id: 118, name: 'Namibia', code: 'NA', iso_code: 'NAM', phone_code: '+264', flag: '๐Ÿ‡ณ๐Ÿ‡ฆ' },
125
+ { country_id: 119, name: 'Nauru', code: 'NR', iso_code: 'NRU', phone_code: '+674', flag: '๐Ÿ‡ณ๐Ÿ‡ท' },
126
+ { country_id: 120, name: 'Nepal', code: 'NP', iso_code: 'NPL', phone_code: '+977', flag: '๐Ÿ‡ณ๐Ÿ‡ต' },
127
+ { country_id: 121, name: 'Netherlands', code: 'NL', iso_code: 'NLD', phone_code: '+31', flag: '๐Ÿ‡ณ๐Ÿ‡ฑ' },
128
+ { country_id: 122, name: 'New Zealand', code: 'NZ', iso_code: 'NZL', phone_code: '+64', flag: '๐Ÿ‡ณ๐Ÿ‡ฟ' },
129
+ { country_id: 123, name: 'Nicaragua', code: 'NI', iso_code: 'NIC', phone_code: '+505', flag: '๐Ÿ‡ณ๐Ÿ‡ฎ' },
130
+ { country_id: 124, name: 'Niger', code: 'NE', iso_code: 'NER', phone_code: '+227', flag: '๐Ÿ‡ณ๐Ÿ‡ช' },
131
+ { country_id: 125, name: 'Nigeria', code: 'NG', iso_code: 'NGA', phone_code: '+234', flag: '๐Ÿ‡ณ๐Ÿ‡ฌ' },
132
+ { country_id: 126, name: 'North Korea', code: 'KP', iso_code: 'PRK', phone_code: '+850', flag: '๐Ÿ‡ฐ๐Ÿ‡ต' },
133
+ { country_id: 127, name: 'North Macedonia', code: 'MK', iso_code: 'MKD', phone_code: '+389', flag: '๐Ÿ‡ฒ๐Ÿ‡ฐ' },
134
+ { country_id: 128, name: 'Norway', code: 'NO', iso_code: 'NOR', phone_code: '+47', flag: '๐Ÿ‡ณ๐Ÿ‡ด' },
135
+ { country_id: 129, name: 'Oman', code: 'OM', iso_code: 'OMN', phone_code: '+968', flag: '๐Ÿ‡ด๐Ÿ‡ฒ' },
136
+ { country_id: 130, name: 'Pakistan', code: 'PK', iso_code: 'PAK', phone_code: '+92', flag: '๐Ÿ‡ต๐Ÿ‡ฐ' },
137
+ { country_id: 131, name: 'Palau', code: 'PW', iso_code: 'PLW', phone_code: '+680', flag: '๐Ÿ‡ต๐Ÿ‡ผ' },
138
+ { country_id: 132, name: 'Palestine', code: 'PS', iso_code: 'PSE', phone_code: '+970', flag: '๐Ÿ‡ต๐Ÿ‡ธ' },
139
+ { country_id: 133, name: 'Panama', code: 'PA', iso_code: 'PAN', phone_code: '+507', flag: '๐Ÿ‡ต๐Ÿ‡ฆ' },
140
+ { country_id: 134, name: 'Papua New Guinea', code: 'PG', iso_code: 'PNG', phone_code: '+675', flag: '๐Ÿ‡ต๐Ÿ‡ฌ' },
141
+ { country_id: 135, name: 'Paraguay', code: 'PY', iso_code: 'PRY', phone_code: '+595', flag: '๐Ÿ‡ต๐Ÿ‡พ' },
142
+ { country_id: 136, name: 'Peru', code: 'PE', iso_code: 'PER', phone_code: '+51', flag: '๐Ÿ‡ต๐Ÿ‡ช' },
143
+ { country_id: 137, name: 'Philippines', code: 'PH', iso_code: 'PHL', phone_code: '+63', flag: '๐Ÿ‡ต๐Ÿ‡ญ' },
144
+ { country_id: 138, name: 'Poland', code: 'PL', iso_code: 'POL', phone_code: '+48', flag: '๐Ÿ‡ต๐Ÿ‡ฑ' },
145
+ { country_id: 139, name: 'Portugal', code: 'PT', iso_code: 'PRT', phone_code: '+351', flag: '๐Ÿ‡ต๐Ÿ‡น' },
146
+ { country_id: 140, name: 'Qatar', code: 'QA', iso_code: 'QAT', phone_code: '+974', flag: '๐Ÿ‡ถ๐Ÿ‡ฆ' },
147
+ { country_id: 141, name: 'Romania', code: 'RO', iso_code: 'ROU', phone_code: '+40', flag: '๐Ÿ‡ท๐Ÿ‡ด' },
148
+ { country_id: 142, name: 'Russia', code: 'RU', iso_code: 'RUS', phone_code: '+7', flag: '๐Ÿ‡ท๐Ÿ‡บ' },
149
+ { country_id: 143, name: 'Rwanda', code: 'RW', iso_code: 'RWA', phone_code: '+250', flag: '๐Ÿ‡ท๐Ÿ‡ผ' },
150
+ { country_id: 144, name: 'Saint Kitts and Nevis', code: 'KN', iso_code: 'KNA', phone_code: '+1869', flag: '๐Ÿ‡ฐ๐Ÿ‡ณ' },
151
+ { country_id: 145, name: 'Saint Lucia', code: 'LC', iso_code: 'LCA', phone_code: '+1758', flag: '๐Ÿ‡ฑ๐Ÿ‡จ' },
152
+ { country_id: 146, name: 'Saint Vincent and the Grenadines', code: 'VC', iso_code: 'VCT', phone_code: '+1784', flag: '๐Ÿ‡ป๐Ÿ‡จ' },
153
+ { country_id: 147, name: 'Samoa', code: 'WS', iso_code: 'WSM', phone_code: '+685', flag: '๐Ÿ‡ผ๐Ÿ‡ธ' },
154
+ { country_id: 148, name: 'San Marino', code: 'SM', iso_code: 'SMR', phone_code: '+378', flag: '๐Ÿ‡ธ๐Ÿ‡ฒ' },
155
+ { country_id: 149, name: 'Sao Tome and Principe', code: 'ST', iso_code: 'STP', phone_code: '+239', flag: '๐Ÿ‡ธ๐Ÿ‡น' },
156
+ { country_id: 150, name: 'Saudi Arabia', code: 'SA', iso_code: 'SAU', phone_code: '+966', flag: '๐Ÿ‡ธ๐Ÿ‡ฆ' },
157
+ { country_id: 151, name: 'Senegal', code: 'SN', iso_code: 'SEN', phone_code: '+221', flag: '๐Ÿ‡ธ๐Ÿ‡ณ' },
158
+ { country_id: 152, name: 'Serbia', code: 'RS', iso_code: 'SRB', phone_code: '+381', flag: '๐Ÿ‡ท๐Ÿ‡ธ' },
159
+ { country_id: 153, name: 'Seychelles', code: 'SC', iso_code: 'SYC', phone_code: '+248', flag: '๐Ÿ‡ธ๐Ÿ‡จ' },
160
+ { country_id: 154, name: 'Sierra Leone', code: 'SL', iso_code: 'SLE', phone_code: '+232', flag: '๐Ÿ‡ธ๐Ÿ‡ฑ' },
161
+ { country_id: 155, name: 'Singapore', code: 'SG', iso_code: 'SGP', phone_code: '+65', flag: '๐Ÿ‡ธ๐Ÿ‡ฌ' },
162
+ { country_id: 156, name: 'Slovakia', code: 'SK', iso_code: 'SVK', phone_code: '+421', flag: '๐Ÿ‡ธ๐Ÿ‡ฐ' },
163
+ { country_id: 157, name: 'Slovenia', code: 'SI', iso_code: 'SVN', phone_code: '+386', flag: '๐Ÿ‡ธ๐Ÿ‡ฎ' },
164
+ { country_id: 158, name: 'Solomon Islands', code: 'SB', iso_code: 'SLB', phone_code: '+677', flag: '๐Ÿ‡ธ๐Ÿ‡ง' },
165
+ { country_id: 159, name: 'Somalia', code: 'SO', iso_code: 'SOM', phone_code: '+252', flag: '๐Ÿ‡ธ๐Ÿ‡ด' },
166
+ { country_id: 160, name: 'South Africa', code: 'ZA', iso_code: 'ZAF', phone_code: '+27', flag: '๐Ÿ‡ฟ๐Ÿ‡ฆ' },
167
+ { country_id: 161, name: 'South Korea', code: 'KR', iso_code: 'KOR', phone_code: '+82', flag: '๐Ÿ‡ฐ๐Ÿ‡ท' },
168
+ { country_id: 162, name: 'South Sudan', code: 'SS', iso_code: 'SSD', phone_code: '+211', flag: '๐Ÿ‡ธ๐Ÿ‡ธ' },
169
+ { country_id: 163, name: 'Spain', code: 'ES', iso_code: 'ESP', phone_code: '+34', flag: '๐Ÿ‡ช๐Ÿ‡ธ' },
170
+ { country_id: 164, name: 'Sri Lanka', code: 'LK', iso_code: 'LKA', phone_code: '+94', flag: '๐Ÿ‡ฑ๐Ÿ‡ฐ' },
171
+ { country_id: 165, name: 'Sudan', code: 'SD', iso_code: 'SDN', phone_code: '+249', flag: '๐Ÿ‡ธ๐Ÿ‡ฉ' },
172
+ { country_id: 166, name: 'Suriname', code: 'SR', iso_code: 'SUR', phone_code: '+597', flag: '๐Ÿ‡ธ๐Ÿ‡ท' },
173
+ { country_id: 167, name: 'Sweden', code: 'SE', iso_code: 'SWE', phone_code: '+46', flag: '๐Ÿ‡ธ๐Ÿ‡ช' },
174
+ { country_id: 168, name: 'Switzerland', code: 'CH', iso_code: 'CHE', phone_code: '+41', flag: '๐Ÿ‡จ๐Ÿ‡ญ' },
175
+ { country_id: 169, name: 'Syria', code: 'SY', iso_code: 'SYR', phone_code: '+963', flag: '๐Ÿ‡ธ๐Ÿ‡พ' },
176
+ { country_id: 170, name: 'Taiwan', code: 'TW', iso_code: 'TWN', phone_code: '+886', flag: '๐Ÿ‡น๐Ÿ‡ผ' },
177
+ { country_id: 171, name: 'Tajikistan', code: 'TJ', iso_code: 'TJK', phone_code: '+992', flag: '๐Ÿ‡น๐Ÿ‡ฏ' },
178
+ { country_id: 172, name: 'Tanzania', code: 'TZ', iso_code: 'TZA', phone_code: '+255', flag: '๐Ÿ‡น๐Ÿ‡ฟ' },
179
+ { country_id: 173, name: 'Thailand', code: 'TH', iso_code: 'THA', phone_code: '+66', flag: '๐Ÿ‡น๐Ÿ‡ญ' },
180
+ { country_id: 174, name: 'Timor-Leste', code: 'TL', iso_code: 'TLS', phone_code: '+670', flag: '๐Ÿ‡น๐Ÿ‡ฑ' },
181
+ { country_id: 175, name: 'Togo', code: 'TG', iso_code: 'TGO', phone_code: '+228', flag: '๐Ÿ‡น๐Ÿ‡ฌ' },
182
+ { country_id: 176, name: 'Tonga', code: 'TO', iso_code: 'TON', phone_code: '+676', flag: '๐Ÿ‡น๐Ÿ‡ด' },
183
+ { country_id: 177, name: 'Trinidad and Tobago', code: 'TT', iso_code: 'TTO', phone_code: '+1868', flag: '๐Ÿ‡น๐Ÿ‡น' },
184
+ { country_id: 178, name: 'Tunisia', code: 'TN', iso_code: 'TUN', phone_code: '+216', flag: '๐Ÿ‡น๐Ÿ‡ณ' },
185
+ { country_id: 179, name: 'Turkey', code: 'TR', iso_code: 'TUR', phone_code: '+90', flag: '๐Ÿ‡น๐Ÿ‡ท' },
186
+ { country_id: 180, name: 'Turkmenistan', code: 'TM', iso_code: 'TKM', phone_code: '+993', flag: '๐Ÿ‡น๐Ÿ‡ฒ' },
187
+ { country_id: 181, name: 'Tuvalu', code: 'TV', iso_code: 'TUV', phone_code: '+688', flag: '๐Ÿ‡น๐Ÿ‡ป' },
188
+ { country_id: 182, name: 'Uganda', code: 'UG', iso_code: 'UGA', phone_code: '+256', flag: '๐Ÿ‡บ๐Ÿ‡ฌ' },
189
+ { country_id: 183, name: 'Ukraine', code: 'UA', iso_code: 'UKR', phone_code: '+380', flag: '๐Ÿ‡บ๐Ÿ‡ฆ' },
190
+ { country_id: 184, name: 'United Arab Emirates', code: 'AE', iso_code: 'ARE', phone_code: '+971', flag: '๐Ÿ‡ฆ๐Ÿ‡ช' },
191
+ { country_id: 185, name: 'United Kingdom', code: 'GB', iso_code: 'GBR', phone_code: '+44', flag: '๐Ÿ‡ฌ๐Ÿ‡ง' },
192
+ { country_id: 186, name: 'United States', code: 'US', iso_code: 'USA', phone_code: '+1', flag: '๐Ÿ‡บ๐Ÿ‡ธ' },
193
+ { country_id: 187, name: 'Uruguay', code: 'UY', iso_code: 'URY', phone_code: '+598', flag: '๐Ÿ‡บ๐Ÿ‡พ' },
194
+ { country_id: 188, name: 'Uzbekistan', code: 'UZ', iso_code: 'UZB', phone_code: '+998', flag: '๐Ÿ‡บ๐Ÿ‡ฟ' },
195
+ { country_id: 189, name: 'Vanuatu', code: 'VU', iso_code: 'VUT', phone_code: '+678', flag: '๐Ÿ‡ป๐Ÿ‡บ' },
196
+ { country_id: 190, name: 'Vatican City', code: 'VA', iso_code: 'VAT', phone_code: '+39', flag: '๐Ÿ‡ป๐Ÿ‡ฆ' },
197
+ { country_id: 191, name: 'Venezuela', code: 'VE', iso_code: 'VEN', phone_code: '+58', flag: '๐Ÿ‡ป๐Ÿ‡ช' },
198
+ { country_id: 192, name: 'Vietnam', code: 'VN', iso_code: 'VNM', phone_code: '+84', flag: '๐Ÿ‡ป๐Ÿ‡ณ' },
199
+ { country_id: 193, name: 'Yemen', code: 'YE', iso_code: 'YEM', phone_code: '+967', flag: '๐Ÿ‡พ๐Ÿ‡ช' },
200
+ { country_id: 194, name: 'Zambia', code: 'ZM', iso_code: 'ZMB', phone_code: '+260', flag: '๐Ÿ‡ฟ๐Ÿ‡ฒ' },
201
+ { country_id: 195, name: 'Zimbabwe', code: 'ZW', iso_code: 'ZWE', phone_code: '+263', flag: '๐Ÿ‡ฟ๐Ÿ‡ผ' }
202
+ ]).onConflict('country_id').ignore();
203
+ };
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Seed the currencies table with all currencies (ISO 4217).
3
+ * @param { import("knex").Knex } knex
4
+ */
5
+ exports.seed = async function(knex) {
6
+ await knex('currencies').insert([
7
+ { currency_id: 1, code: 'AED', name: 'United Arab Emirates Dirham', symbol: 'ุฏ.ุฅ' },
8
+ { currency_id: 2, code: 'AFN', name: 'Afghan Afghani', symbol: 'ุ‹' },
9
+ { currency_id: 3, code: 'ALL', name: 'Albanian Lek', symbol: 'L' },
10
+ { currency_id: 4, code: 'AMD', name: 'Armenian Dram', symbol: 'ึ' },
11
+ { currency_id: 5, code: 'ANG', name: 'Netherlands Antillean Guilder', symbol: 'ฦ’' },
12
+ { currency_id: 6, code: 'AOA', name: 'Angolan Kwanza', symbol: 'Kz' },
13
+ { currency_id: 7, code: 'ARS', name: 'Argentine Peso', symbol: '$' },
14
+ { currency_id: 8, code: 'AUD', name: 'Australian Dollar', symbol: 'A$' },
15
+ { currency_id: 9, code: 'AWG', name: 'Aruban Florin', symbol: 'ฦ’' },
16
+ { currency_id: 10, code: 'AZN', name: 'Azerbaijani Manat', symbol: 'โ‚ผ' },
17
+ { currency_id: 11, code: 'BAM', name: 'Bosnia-Herzegovina Convertible Mark', symbol: 'ะšะœ' },
18
+ { currency_id: 12, code: 'BBD', name: 'Barbadian Dollar', symbol: 'Bds$' },
19
+ { currency_id: 13, code: 'BDT', name: 'Bangladeshi Taka', symbol: 'เงณ' },
20
+ { currency_id: 14, code: 'BGN', name: 'Bulgarian Lev', symbol: 'ะปะฒ' },
21
+ { currency_id: 15, code: 'BHD', name: 'Bahraini Dinar', symbol: '.ุฏ.ุจ' },
22
+ { currency_id: 16, code: 'BIF', name: 'Burundian Franc', symbol: 'Fr' },
23
+ { currency_id: 17, code: 'BMD', name: 'Bermudan Dollar', symbol: '$' },
24
+ { currency_id: 18, code: 'BND', name: 'Brunei Dollar', symbol: 'B$' },
25
+ { currency_id: 19, code: 'BOB', name: 'Bolivian Boliviano', symbol: 'Bs.' },
26
+ { currency_id: 20, code: 'BRL', name: 'Brazilian Real', symbol: 'R$' },
27
+ { currency_id: 21, code: 'BSD', name: 'Bahamian Dollar', symbol: '$' },
28
+ { currency_id: 22, code: 'BTN', name: 'Bhutanese Ngultrum', symbol: 'Nu.' },
29
+ { currency_id: 23, code: 'BWP', name: 'Botswanan Pula', symbol: 'P' },
30
+ { currency_id: 24, code: 'BYN', name: 'Belarusian Ruble', symbol: 'Br' },
31
+ { currency_id: 25, code: 'BZD', name: 'Belize Dollar', symbol: '$' },
32
+ { currency_id: 26, code: 'CAD', name: 'Canadian Dollar', symbol: 'C$' },
33
+ { currency_id: 27, code: 'CDF', name: 'Congolese Franc', symbol: 'Fr' },
34
+ { currency_id: 28, code: 'CHF', name: 'Swiss Franc', symbol: 'Fr' },
35
+ { currency_id: 29, code: 'CLP', name: 'Chilean Peso', symbol: '$' },
36
+ { currency_id: 30, code: 'CNY', name: 'Chinese Yuan', symbol: 'ยฅ' },
37
+ { currency_id: 31, code: 'COP', name: 'Colombian Peso', symbol: '$' },
38
+ { currency_id: 32, code: 'CRC', name: 'Costa Rican Colรณn', symbol: 'โ‚ก' },
39
+ { currency_id: 33, code: 'CUP', name: 'Cuban Peso', symbol: '$' },
40
+ { currency_id: 34, code: 'CVE', name: 'Cape Verdean Escudo', symbol: 'Esc' },
41
+ { currency_id: 35, code: 'CZK', name: 'Czech Koruna', symbol: 'Kฤ' },
42
+ { currency_id: 36, code: 'DJF', name: 'Djiboutian Franc', symbol: 'Fr' },
43
+ { currency_id: 37, code: 'DKK', name: 'Danish Krone', symbol: 'kr' },
44
+ { currency_id: 38, code: 'DOP', name: 'Dominican Peso', symbol: '$' },
45
+ { currency_id: 39, code: 'DZD', name: 'Algerian Dinar', symbol: 'ุฏ.ุฌ' },
46
+ { currency_id: 40, code: 'EGP', name: 'Egyptian Pound', symbol: 'ยฃ' },
47
+ { currency_id: 41, code: 'ERN', name: 'Eritrean Nakfa', symbol: 'Nfk' },
48
+ { currency_id: 42, code: 'ETB', name: 'Ethiopian Birr', symbol: 'Br' },
49
+ { currency_id: 43, code: 'EUR', name: 'Euro', symbol: 'โ‚ฌ' },
50
+ { currency_id: 44, code: 'FJD', name: 'Fijian Dollar', symbol: 'FJ$' },
51
+ { currency_id: 45, code: 'FKP', name: 'Falkland Islands Pound', symbol: 'ยฃ' },
52
+ { currency_id: 46, code: 'GBP', name: 'British Pound Sterling', symbol: 'ยฃ' },
53
+ { currency_id: 47, code: 'GEL', name: 'Georgian Lari', symbol: 'โ‚พ' },
54
+ { currency_id: 48, code: 'GHS', name: 'Ghanaian Cedi', symbol: 'โ‚ต' },
55
+ { currency_id: 49, code: 'GIP', name: 'Gibraltar Pound', symbol: 'ยฃ' },
56
+ { currency_id: 50, code: 'GMD', name: 'Gambian Dalasi', symbol: 'D' },
57
+ { currency_id: 51, code: 'GNF', name: 'Guinean Franc', symbol: 'Fr' },
58
+ { currency_id: 52, code: 'GTQ', name: 'Guatemalan Quetzal', symbol: 'Q' },
59
+ { currency_id: 53, code: 'GYD', name: 'Guyanaese Dollar', symbol: '$' },
60
+ { currency_id: 54, code: 'HKD', name: 'Hong Kong Dollar', symbol: 'HK$' },
61
+ { currency_id: 55, code: 'HNL', name: 'Honduran Lempira', symbol: 'L' },
62
+ { currency_id: 56, code: 'HRK', name: 'Croatian Kuna', symbol: 'kn' },
63
+ { currency_id: 57, code: 'HTG', name: 'Haitian Gourde', symbol: 'G' },
64
+ { currency_id: 58, code: 'HUF', name: 'Hungarian Forint', symbol: 'Ft' },
65
+ { currency_id: 59, code: 'IDR', name: 'Indonesian Rupiah', symbol: 'Rp' },
66
+ { currency_id: 60, code: 'ILS', name: 'Israeli New Sheqel', symbol: 'โ‚ช' },
67
+ { currency_id: 61, code: 'INR', name: 'Indian Rupee', symbol: 'โ‚น' },
68
+ { currency_id: 62, code: 'IQD', name: 'Iraqi Dinar', symbol: 'ุน.ุฏ' },
69
+ { currency_id: 63, code: 'IRR', name: 'Iranian Rial', symbol: '๏ทผ' },
70
+ { currency_id: 64, code: 'ISK', name: 'Icelandic Krรณna', symbol: 'kr' },
71
+ { currency_id: 65, code: 'JMD', name: 'Jamaican Dollar', symbol: 'J$' },
72
+ { currency_id: 66, code: 'JOD', name: 'Jordanian Dinar', symbol: 'ุฏ.ุง' },
73
+ { currency_id: 67, code: 'JPY', name: 'Japanese Yen', symbol: 'ยฅ' },
74
+ { currency_id: 68, code: 'KES', name: 'Kenyan Shilling', symbol: 'Sh' },
75
+ { currency_id: 69, code: 'KGS', name: 'Kyrgystani Som', symbol: 'ั' },
76
+ { currency_id: 70, code: 'KHR', name: 'Cambodian Riel', symbol: 'แŸ›' },
77
+ { currency_id: 71, code: 'KMF', name: 'Comorian Franc', symbol: 'Fr' },
78
+ { currency_id: 72, code: 'KPW', name: 'North Korean Won', symbol: 'โ‚ฉ' },
79
+ { currency_id: 73, code: 'KRW', name: 'South Korean Won', symbol: 'โ‚ฉ' },
80
+ { currency_id: 74, code: 'KWD', name: 'Kuwaiti Dinar', symbol: 'ุฏ.ูƒ' },
81
+ { currency_id: 75, code: 'KYD', name: 'Cayman Islands Dollar', symbol: '$' },
82
+ { currency_id: 76, code: 'KZT', name: 'Kazakhstani Tenge', symbol: 'โ‚ธ' },
83
+ { currency_id: 77, code: 'LAK', name: 'Laotian Kip', symbol: 'โ‚ญ' },
84
+ { currency_id: 78, code: 'LBP', name: 'Lebanese Pound', symbol: 'ู„.ู„' },
85
+ { currency_id: 79, code: 'LKR', name: 'Sri Lankan Rupee', symbol: 'Rs' },
86
+ { currency_id: 80, code: 'LRD', name: 'Liberian Dollar', symbol: '$' },
87
+ { currency_id: 81, code: 'LSL', name: 'Lesotho Loti', symbol: 'L' },
88
+ { currency_id: 82, code: 'LYD', name: 'Libyan Dinar', symbol: 'ู„.ุฏ' },
89
+ { currency_id: 83, code: 'MAD', name: 'Moroccan Dirham', symbol: 'ุฏ.ู….' },
90
+ { currency_id: 84, code: 'MDL', name: 'Moldovan Leu', symbol: 'L' },
91
+ { currency_id: 85, code: 'MGA', name: 'Malagasy Ariary', symbol: 'Ar' },
92
+ { currency_id: 86, code: 'MKD', name: 'Macedonian Denar', symbol: 'ะดะตะฝ' },
93
+ { currency_id: 87, code: 'MMK', name: 'Myanma Kyat', symbol: 'K' },
94
+ { currency_id: 88, code: 'MNT', name: 'Mongolian Tugrik', symbol: 'โ‚ฎ' },
95
+ { currency_id: 89, code: 'MOP', name: 'Macanese Pataca', symbol: 'P' },
96
+ { currency_id: 90, code: 'MRU', name: 'Mauritanian Ouguiya', symbol: 'UM' },
97
+ { currency_id: 91, code: 'MUR', name: 'Mauritian Rupee', symbol: 'โ‚จ' },
98
+ { currency_id: 92, code: 'MVR', name: 'Maldivian Rufiyaa', symbol: 'Rf' },
99
+ { currency_id: 93, code: 'MWK', name: 'Malawian Kwacha', symbol: 'MK' },
100
+ { currency_id: 94, code: 'MXN', name: 'Mexican Peso', symbol: '$' },
101
+ { currency_id: 95, code: 'MYR', name: 'Malaysian Ringgit', symbol: 'RM' },
102
+ { currency_id: 96, code: 'MZN', name: 'Mozambican Metical', symbol: 'MT' },
103
+ { currency_id: 97, code: 'NAD', name: 'Namibian Dollar', symbol: '$' },
104
+ { currency_id: 98, code: 'NGN', name: 'Nigerian Naira', symbol: 'โ‚ฆ' },
105
+ { currency_id: 99, code: 'NIO', name: 'Nicaraguan Cรณrdoba', symbol: 'C$' },
106
+ { currency_id: 100, code: 'NOK', name: 'Norwegian Krone', symbol: 'kr' },
107
+ { currency_id: 101, code: 'NPR', name: 'Nepalese Rupee', symbol: 'โ‚จ' },
108
+ { currency_id: 102, code: 'NZD', name: 'New Zealand Dollar', symbol: 'NZ$' },
109
+ { currency_id: 103, code: 'OMR', name: 'Omani Rial', symbol: 'ุฑ.ุน.' },
110
+ { currency_id: 104, code: 'PAB', name: 'Panamanian Balboa', symbol: 'B/.' },
111
+ { currency_id: 105, code: 'PEN', name: 'Peruvian Nuevo Sol', symbol: 'S/.' },
112
+ { currency_id: 106, code: 'PGK', name: 'Papua New Guinean Kina', symbol: 'K' },
113
+ { currency_id: 107, code: 'PHP', name: 'Philippine Peso', symbol: 'โ‚ฑ' },
114
+ { currency_id: 108, code: 'PKR', name: 'Pakistani Rupee', symbol: 'โ‚จ' },
115
+ { currency_id: 109, code: 'PLN', name: 'Polish Zloty', symbol: 'zล‚' },
116
+ { currency_id: 110, code: 'PYG', name: 'Paraguayan Guarani', symbol: 'โ‚ฒ' },
117
+ { currency_id: 111, code: 'QAR', name: 'Qatari Rial', symbol: 'ุฑ.ู‚' },
118
+ { currency_id: 112, code: 'RON', name: 'Romanian Leu', symbol: 'lei' },
119
+ { currency_id: 113, code: 'RSD', name: 'Serbian Dinar', symbol: 'ะดะธะฝ' },
120
+ { currency_id: 114, code: 'RUB', name: 'Russian Ruble', symbol: 'โ‚ฝ' },
121
+ { currency_id: 115, code: 'RWF', name: 'Rwandan Franc', symbol: 'Fr' },
122
+ { currency_id: 116, code: 'SAR', name: 'Saudi Riyal', symbol: 'ุฑ.ุณ' },
123
+ { currency_id: 117, code: 'SBD', name: 'Solomon Islands Dollar', symbol: '$' },
124
+ { currency_id: 118, code: 'SCR', name: 'Seychellois Rupee', symbol: 'โ‚จ' },
125
+ { currency_id: 119, code: 'SDG', name: 'Sudanese Pound', symbol: 'ุฌ.ุณ.' },
126
+ { currency_id: 120, code: 'SEK', name: 'Swedish Krona', symbol: 'kr' },
127
+ { currency_id: 121, code: 'SGD', name: 'Singapore Dollar', symbol: 'S$' },
128
+ { currency_id: 122, code: 'SHP', name: 'Saint Helena Pound', symbol: 'ยฃ' },
129
+ { currency_id: 123, code: 'SLE', name: 'Sierra Leonean Leone', symbol: 'Le' },
130
+ { currency_id: 124, code: 'SLL', name: 'Sierra Leonean Leone (Old)', symbol: 'Le' },
131
+ { currency_id: 125, code: 'SOS', name: 'Somali Shilling', symbol: 'Sh' },
132
+ { currency_id: 126, code: 'SRD', name: 'Surinamese Dollar', symbol: '$' },
133
+ { currency_id: 127, code: 'SSP', name: 'South Sudanese Pound', symbol: 'ยฃ' },
134
+ { currency_id: 128, code: 'STN', name: 'Sรฃo Tomรฉ and Prรญncipe Dobra', symbol: 'Db' },
135
+ { currency_id: 129, code: 'SYP', name: 'Syrian Pound', symbol: 'ยฃ' },
136
+ { currency_id: 130, code: 'SZL', name: 'Swazi Lilangeni', symbol: 'L' },
137
+ { currency_id: 131, code: 'THB', name: 'Thai Baht', symbol: 'เธฟ' },
138
+ { currency_id: 132, code: 'TJS', name: 'Tajikistani Somoni', symbol: 'ะ…ะœ' },
139
+ { currency_id: 133, code: 'TMT', name: 'Turkmenistani Manat', symbol: 'm' },
140
+ { currency_id: 134, code: 'TND', name: 'Tunisian Dinar', symbol: 'ุฏ.ุช' },
141
+ { currency_id: 135, code: 'TOP', name: 'Tongan Paสปanga', symbol: 'T$' },
142
+ { currency_id: 136, code: 'TRY', name: 'Turkish Lira', symbol: 'โ‚บ' },
143
+ { currency_id: 137, code: 'TTD', name: 'Trinidad and Tobago Dollar', symbol: 'TT$' },
144
+ { currency_id: 138, code: 'TVD', name: 'Tuvaluan Dollar', symbol: '$' },
145
+ { currency_id: 139, code: 'TWD', name: 'New Taiwan Dollar', symbol: 'NT$' },
146
+ { currency_id: 140, code: 'TZS', name: 'Tanzanian Shilling', symbol: 'Sh' },
147
+ { currency_id: 141, code: 'UAH', name: 'Ukrainian Hryvnia', symbol: 'โ‚ด' },
148
+ { currency_id: 142, code: 'UGX', name: 'Ugandan Shilling', symbol: 'Sh' },
149
+ { currency_id: 143, code: 'USD', name: 'US Dollar', symbol: '$' },
150
+ { currency_id: 144, code: 'UYU', name: 'Uruguayan Peso', symbol: '$U' },
151
+ { currency_id: 145, code: 'UZS', name: 'Uzbekistan Som', symbol: 'ะปะฒ' },
152
+ { currency_id: 146, code: 'VES', name: 'Venezuelan Bolรญvar Soberano', symbol: 'Bs.S' },
153
+ { currency_id: 147, code: 'VND', name: 'Vietnamese Dong', symbol: 'โ‚ซ' },
154
+ { currency_id: 148, code: 'VUV', name: 'Vanuatu Vatu', symbol: 'Vt' },
155
+ { currency_id: 149, code: 'WST', name: 'Samoan Tala', symbol: 'T' },
156
+ { currency_id: 150, code: 'XAF', name: 'CFA Franc BEAC', symbol: 'Fr' },
157
+ { currency_id: 151, code: 'XCD', name: 'East Caribbean Dollar', symbol: '$' },
158
+ { currency_id: 152, code: 'XOF', name: 'CFA Franc BCEAO', symbol: 'Fr' },
159
+ { currency_id: 153, code: 'XPF', name: 'CFP Franc', symbol: 'Fr' },
160
+ { currency_id: 154, code: 'YER', name: 'Yemeni Rial', symbol: '๏ทผ' },
161
+ { currency_id: 155, code: 'ZAR', name: 'South African Rand', symbol: 'R' },
162
+ { currency_id: 156, code: 'ZMW', name: 'Zambian Kwacha', symbol: 'ZK' },
163
+ { currency_id: 157, code: 'ZWL', name: 'Zimbabwean Dollar', symbol: '$' }
164
+ ]).onConflict('currency_id').ignore();
165
+ };
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Seed the languages table with all major languages.
3
+ * @param { import("knex").Knex } knex
4
+ */
5
+ exports.seed = async function(knex) {
6
+ await knex('languages').insert([
7
+ { language_id: 1, name: 'English', code: 'en', flag: '๐Ÿ‡ฌ๐Ÿ‡ง' },
8
+ { language_id: 2, name: 'Turkish', code: 'tr', flag: '๐Ÿ‡น๐Ÿ‡ท' },
9
+ { language_id: 3, name: 'Dutch', code: 'nl', flag: '๐Ÿ‡ณ๐Ÿ‡ฑ' },
10
+ { language_id: 4, name: 'Spanish', code: 'es', flag: '๐Ÿ‡ช๐Ÿ‡ธ' },
11
+ { language_id: 5, name: 'French', code: 'fr', flag: '๐Ÿ‡ซ๐Ÿ‡ท' },
12
+ { language_id: 6, name: 'German', code: 'de', flag: '๐Ÿ‡ฉ๐Ÿ‡ช' },
13
+ { language_id: 7, name: 'Italian', code: 'it', flag: '๐Ÿ‡ฎ๐Ÿ‡น' },
14
+ { language_id: 8, name: 'Portuguese', code: 'pt', flag: '๐Ÿ‡ต๐Ÿ‡น' },
15
+ { language_id: 9, name: 'Russian', code: 'ru', flag: '๐Ÿ‡ท๐Ÿ‡บ' },
16
+ { language_id: 10, name: 'Chinese', code: 'zh', flag: '๐Ÿ‡จ๐Ÿ‡ณ' },
17
+ { language_id: 11, name: 'Japanese', code: 'ja', flag: '๐Ÿ‡ฏ๐Ÿ‡ต' },
18
+ { language_id: 12, name: 'Korean', code: 'ko', flag: '๐Ÿ‡ฐ๐Ÿ‡ท' },
19
+ { language_id: 13, name: 'Arabic', code: 'ar', flag: '๐Ÿ‡ธ๐Ÿ‡ฆ' },
20
+ { language_id: 14, name: 'Hindi', code: 'hi', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
21
+ { language_id: 15, name: 'Bengali', code: 'bn', flag: '๐Ÿ‡ง๐Ÿ‡ฉ' },
22
+ { language_id: 16, name: 'Urdu', code: 'ur', flag: '๐Ÿ‡ต๐Ÿ‡ฐ' },
23
+ { language_id: 17, name: 'Indonesian', code: 'id', flag: '๐Ÿ‡ฎ๐Ÿ‡ฉ' },
24
+ { language_id: 18, name: 'Malay', code: 'ms', flag: '๐Ÿ‡ฒ๐Ÿ‡พ' },
25
+ { language_id: 19, name: 'Thai', code: 'th', flag: '๐Ÿ‡น๐Ÿ‡ญ' },
26
+ { language_id: 20, name: 'Vietnamese', code: 'vi', flag: '๐Ÿ‡ป๐Ÿ‡ณ' },
27
+ { language_id: 21, name: 'Polish', code: 'pl', flag: '๐Ÿ‡ต๐Ÿ‡ฑ' },
28
+ { language_id: 22, name: 'Ukrainian', code: 'uk', flag: '๐Ÿ‡บ๐Ÿ‡ฆ' },
29
+ { language_id: 23, name: 'Romanian', code: 'ro', flag: '๐Ÿ‡ท๐Ÿ‡ด' },
30
+ { language_id: 24, name: 'Czech', code: 'cs', flag: '๐Ÿ‡จ๐Ÿ‡ฟ' },
31
+ { language_id: 25, name: 'Hungarian', code: 'hu', flag: '๐Ÿ‡ญ๐Ÿ‡บ' },
32
+ { language_id: 26, name: 'Greek', code: 'el', flag: '๐Ÿ‡ฌ๐Ÿ‡ท' },
33
+ { language_id: 27, name: 'Swedish', code: 'sv', flag: '๐Ÿ‡ธ๐Ÿ‡ช' },
34
+ { language_id: 28, name: 'Norwegian', code: 'no', flag: '๐Ÿ‡ณ๐Ÿ‡ด' },
35
+ { language_id: 29, name: 'Danish', code: 'da', flag: '๐Ÿ‡ฉ๐Ÿ‡ฐ' },
36
+ { language_id: 30, name: 'Finnish', code: 'fi', flag: '๐Ÿ‡ซ๐Ÿ‡ฎ' },
37
+ { language_id: 31, name: 'Icelandic', code: 'is', flag: '๐Ÿ‡ฎ๐Ÿ‡ธ' },
38
+ { language_id: 32, name: 'Irish', code: 'ga', flag: '๐Ÿ‡ฎ๐Ÿ‡ช' },
39
+ { language_id: 33, name: 'Hebrew', code: 'he', flag: '๐Ÿ‡ฎ๐Ÿ‡ฑ' },
40
+ { language_id: 34, name: 'Persian', code: 'fa', flag: '๐Ÿ‡ฎ๐Ÿ‡ท' },
41
+ { language_id: 35, name: 'Swahili', code: 'sw', flag: '๐Ÿ‡ฐ๐Ÿ‡ช' },
42
+ { language_id: 36, name: 'Afrikaans', code: 'af', flag: '๐Ÿ‡ฟ๐Ÿ‡ฆ' },
43
+ { language_id: 37, name: 'Bulgarian', code: 'bg', flag: '๐Ÿ‡ง๐Ÿ‡ฌ' },
44
+ { language_id: 38, name: 'Croatian', code: 'hr', flag: '๐Ÿ‡ญ๐Ÿ‡ท' },
45
+ { language_id: 39, name: 'Serbian', code: 'sr', flag: '๐Ÿ‡ท๐Ÿ‡ธ' },
46
+ { language_id: 40, name: 'Slovak', code: 'sk', flag: '๐Ÿ‡ธ๐Ÿ‡ฐ' },
47
+ { language_id: 41, name: 'Slovenian', code: 'sl', flag: '๐Ÿ‡ธ๐Ÿ‡ฎ' },
48
+ { language_id: 42, name: 'Lithuanian', code: 'lt', flag: '๐Ÿ‡ฑ๐Ÿ‡น' },
49
+ { language_id: 43, name: 'Latvian', code: 'lv', flag: '๐Ÿ‡ฑ๐Ÿ‡ป' },
50
+ { language_id: 44, name: 'Estonian', code: 'et', flag: '๐Ÿ‡ช๐Ÿ‡ช' },
51
+ { language_id: 45, name: 'Belarusian', code: 'be', flag: '๐Ÿ‡ง๐Ÿ‡พ' },
52
+ { language_id: 46, name: 'Macedonian', code: 'mk', flag: '๐Ÿ‡ฒ๐Ÿ‡ฐ' },
53
+ { language_id: 47, name: 'Albanian', code: 'sq', flag: '๐Ÿ‡ฆ๐Ÿ‡ฑ' },
54
+ { language_id: 48, name: 'Georgian', code: 'ka', flag: '๐Ÿ‡ฌ๐Ÿ‡ช' },
55
+ { language_id: 49, name: 'Armenian', code: 'hy', flag: '๐Ÿ‡ฆ๐Ÿ‡ฒ' },
56
+ { language_id: 50, name: 'Azerbaijani', code: 'az', flag: '๐Ÿ‡ฆ๐Ÿ‡ฟ' },
57
+ { language_id: 51, name: 'Kazakh', code: 'kk', flag: '๐Ÿ‡ฐ๐Ÿ‡ฟ' },
58
+ { language_id: 52, name: 'Uzbek', code: 'uz', flag: '๐Ÿ‡บ๐Ÿ‡ฟ' },
59
+ { language_id: 53, name: 'Tajik', code: 'tg', flag: '๐Ÿ‡น๐Ÿ‡ฏ' },
60
+ { language_id: 54, name: 'Turkmen', code: 'tk', flag: '๐Ÿ‡น๐Ÿ‡ฒ' },
61
+ { language_id: 55, name: 'Kyrgyz', code: 'ky', flag: '๐Ÿ‡ฐ๐Ÿ‡ฌ' },
62
+ { language_id: 56, name: 'Mongolian', code: 'mn', flag: '๐Ÿ‡ฒ๐Ÿ‡ณ' },
63
+ { language_id: 57, name: 'Nepali', code: 'ne', flag: '๐Ÿ‡ณ๐Ÿ‡ต' },
64
+ { language_id: 58, name: 'Sinhala', code: 'si', flag: '๐Ÿ‡ฑ๐Ÿ‡ฐ' },
65
+ { language_id: 59, name: 'Tamil', code: 'ta', flag: '๐Ÿ‡ฑ๐Ÿ‡ฐ' },
66
+ { language_id: 60, name: 'Telugu', code: 'te', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
67
+ { language_id: 61, name: 'Marathi', code: 'mr', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
68
+ { language_id: 62, name: 'Gujarati', code: 'gu', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
69
+ { language_id: 63, name: 'Kannada', code: 'kn', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
70
+ { language_id: 64, name: 'Malayalam', code: 'ml', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
71
+ { language_id: 65, name: 'Punjabi', code: 'pa', flag: '๐Ÿ‡ฎ๐Ÿ‡ณ' },
72
+ { language_id: 66, name: 'Tagalog', code: 'tl', flag: '๐Ÿ‡ต๐Ÿ‡ญ' },
73
+ { language_id: 67, name: 'Burmese', code: 'my', flag: '๐Ÿ‡ฒ๐Ÿ‡ฒ' },
74
+ { language_id: 68, name: 'Khmer', code: 'km', flag: '๐Ÿ‡ฐ๐Ÿ‡ญ' },
75
+ { language_id: 69, name: 'Lao', code: 'lo', flag: '๐Ÿ‡ฑ๐Ÿ‡ฆ' },
76
+ { language_id: 70, name: 'Javanese', code: 'jv', flag: '๐Ÿ‡ฎ๐Ÿ‡ฉ' },
77
+ { language_id: 71, name: 'Sundanese', code: 'su', flag: '๐Ÿ‡ฎ๐Ÿ‡ฉ' },
78
+ { language_id: 72, name: 'Hausa', code: 'ha', flag: '๐Ÿ‡ณ๐Ÿ‡ฌ' },
79
+ { language_id: 73, name: 'Yoruba', code: 'yo', flag: '๐Ÿ‡ณ๐Ÿ‡ฌ' },
80
+ { language_id: 74, name: 'Igbo', code: 'ig', flag: '๐Ÿ‡ณ๐Ÿ‡ฌ' },
81
+ { language_id: 75, name: 'Amharic', code: 'am', flag: '๐Ÿ‡ช๐Ÿ‡น' },
82
+ { language_id: 76, name: 'Somali', code: 'so', flag: '๐Ÿ‡ธ๐Ÿ‡ด' },
83
+ { language_id: 77, name: 'Zulu', code: 'zu', flag: '๐Ÿ‡ฟ๐Ÿ‡ฆ' },
84
+ { language_id: 78, name: 'Xhosa', code: 'xh', flag: '๐Ÿ‡ฟ๐Ÿ‡ฆ' },
85
+ { language_id: 79, name: 'Catalan', code: 'ca', flag: '๐Ÿ‡ช๐Ÿ‡ธ' },
86
+ { language_id: 80, name: 'Basque', code: 'eu', flag: '๐Ÿ‡ช๐Ÿ‡ธ' },
87
+ { language_id: 81, name: 'Galician', code: 'gl', flag: '๐Ÿ‡ช๐Ÿ‡ธ' },
88
+ { language_id: 82, name: 'Welsh', code: 'cy', flag: '๐Ÿ‡ฌ๐Ÿ‡ง' },
89
+ { language_id: 83, name: 'Scottish Gaelic', code: 'gd', flag: '๐Ÿ‡ฌ๐Ÿ‡ง' },
90
+ { language_id: 84, name: 'Breton', code: 'br', flag: '๐Ÿ‡ซ๐Ÿ‡ท' },
91
+ { language_id: 85, name: 'Luxembourgish', code: 'lb', flag: '๐Ÿ‡ฑ๐Ÿ‡บ' },
92
+ { language_id: 86, name: 'Maltese', code: 'mt', flag: '๐Ÿ‡ฒ๐Ÿ‡น' },
93
+ { language_id: 87, name: 'Faroese', code: 'fo', flag: '๐Ÿ‡ฉ๐Ÿ‡ฐ' },
94
+ { language_id: 88, name: 'Greenlandic', code: 'kl', flag: '๐Ÿ‡ฌ๐Ÿ‡ฑ' },
95
+ { language_id: 89, name: 'Sami', code: 'se', flag: '๐Ÿ‡ณ๐Ÿ‡ด' },
96
+ { language_id: 90, name: 'Romani', code: 'rom', flag: '๐Ÿ‡ท๐Ÿ‡ด' },
97
+ { language_id: 91, name: 'Kurdish', code: 'ku', flag: '๐Ÿ‡น๐Ÿ‡ท' },
98
+ { language_id: 92, name: 'Pashto', code: 'ps', flag: '๐Ÿ‡ฆ๐Ÿ‡ซ' },
99
+ { language_id: 93, name: 'Dari', code: 'prs', flag: '๐Ÿ‡ฆ๐Ÿ‡ซ' },
100
+ { language_id: 94, name: 'Tibetan', code: 'bo', flag: '๐Ÿ‡จ๐Ÿ‡ณ' },
101
+ { language_id: 95, name: 'Uyghur', code: 'ug', flag: '๐Ÿ‡จ๐Ÿ‡ณ' },
102
+ { language_id: 96, name: 'Hmong', code: 'hmn', flag: '๐Ÿ‡จ๐Ÿ‡ณ' },
103
+ { language_id: 97, name: 'Maori', code: 'mi', flag: '๐Ÿ‡ณ๐Ÿ‡ฟ' },
104
+ { language_id: 98, name: 'Hawaiian', code: 'haw', flag: '๐Ÿ‡บ๐Ÿ‡ธ' },
105
+ { language_id: 99, name: 'Quechua', code: 'qu', flag: '๐Ÿ‡ต๐Ÿ‡ช' },
106
+ { language_id: 100, name: 'Guarani', code: 'gn', flag: '๐Ÿ‡ต๐Ÿ‡พ' },
107
+ { language_id: 101, name: 'Aymara', code: 'ay', flag: '๐Ÿ‡ง๐Ÿ‡ด' },
108
+ { language_id: 102, name: 'Esperanto', code: 'eo', flag: '๐ŸŒ' },
109
+ { language_id: 103, name: 'Latin', code: 'la', flag: '๐Ÿ›๏ธ' },
110
+ { language_id: 104, name: 'Yiddish', code: 'yi', flag: '๐Ÿ‡ฎ๐Ÿ‡ฑ' },
111
+ { language_id: 105, name: 'Ladino', code: 'lad', flag: '๐Ÿ‡ช๐Ÿ‡ธ' }
112
+ ]).onConflict('language_id').ignore();
113
+ };