serene-core-server 0.1.1

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 (315) hide show
  1. package/dist/apollo/resolvers/mutations/mailing-lists.d.ts +11 -0
  2. package/dist/apollo/resolvers/mutations/mailing-lists.js +30 -0
  3. package/dist/apollo/resolvers/mutations/user-preferences.d.ts +13 -0
  4. package/dist/apollo/resolvers/mutations/user-preferences.js +31 -0
  5. package/dist/apollo/resolvers/mutations/users.d.ts +28 -0
  6. package/dist/apollo/resolvers/mutations/users.js +44 -0
  7. package/dist/apollo/resolvers/queries/access.d.ts +11 -0
  8. package/dist/apollo/resolvers/queries/access.js +25 -0
  9. package/dist/apollo/resolvers/queries/profile.d.ts +11 -0
  10. package/dist/apollo/resolvers/queries/profile.js +25 -0
  11. package/dist/apollo/resolvers/queries/quotas.d.ts +21 -0
  12. package/dist/apollo/resolvers/queries/quotas.js +25 -0
  13. package/dist/apollo/resolvers/queries/tech.d.ts +5 -0
  14. package/dist/apollo/resolvers/queries/tech.js +35 -0
  15. package/dist/apollo/resolvers/queries/user-preferences.d.ts +5 -0
  16. package/dist/apollo/resolvers/queries/user-preferences.js +33 -0
  17. package/dist/apollo/resolvers/queries/users.d.ts +15 -0
  18. package/dist/apollo/resolvers/queries/users.js +28 -0
  19. package/dist/apollo/resolvers/resolvers.d.ts +20 -0
  20. package/dist/apollo/resolvers/resolvers.js +38 -0
  21. package/dist/apollo/typedefs/typedefs.d.ts +1 -0
  22. package/dist/apollo/typedefs/typedefs.js +142 -0
  23. package/dist/index.d.ts +52 -0
  24. package/dist/index.js +68 -0
  25. package/dist/models/chat/chat-message-created-model.d.ts +17 -0
  26. package/dist/models/chat/chat-message-created-model.js +113 -0
  27. package/dist/models/chat/chat-message-model.d.ts +44 -0
  28. package/dist/models/chat/chat-message-model.js +523 -0
  29. package/dist/models/chat/chat-participant-model.d.ts +39 -0
  30. package/dist/models/chat/chat-participant-model.js +211 -0
  31. package/dist/models/chat/chat-session-model.d.ts +92 -0
  32. package/dist/models/chat/chat-session-model.js +301 -0
  33. package/dist/models/chat/chat-settings-model.d.ts +87 -0
  34. package/dist/models/chat/chat-settings-model.js +261 -0
  35. package/dist/models/feature-flags/feature-flag-model.d.ts +40 -0
  36. package/dist/models/feature-flags/feature-flag-model.js +164 -0
  37. package/dist/models/instances/instance-model.d.ts +93 -0
  38. package/dist/models/instances/instance-model.js +432 -0
  39. package/dist/models/instances/instance-setting-model.d.ts +39 -0
  40. package/dist/models/instances/instance-setting-model.js +193 -0
  41. package/dist/models/mailing-lists/mailing-list-model.d.ts +34 -0
  42. package/dist/models/mailing-lists/mailing-list-model.js +154 -0
  43. package/dist/models/mailing-lists/mailing-list-subscriber-model.d.ts +36 -0
  44. package/dist/models/mailing-lists/mailing-list-subscriber-model.js +152 -0
  45. package/dist/models/quotas/resource-quota-total-model.d.ts +46 -0
  46. package/dist/models/quotas/resource-quota-total-model.js +200 -0
  47. package/dist/models/quotas/resource-quota-usage-model.d.ts +51 -0
  48. package/dist/models/quotas/resource-quota-usage-model.js +181 -0
  49. package/dist/models/tech/rate-limited-api-event-model.d.ts +25 -0
  50. package/dist/models/tech/rate-limited-api-event-model.js +161 -0
  51. package/dist/models/tech/rate-limited-api-model.d.ts +21 -0
  52. package/dist/models/tech/rate-limited-api-model.js +141 -0
  53. package/dist/models/tech/tech-model.d.ts +44 -0
  54. package/dist/models/tech/tech-model.js +268 -0
  55. package/dist/models/tech/tech-provider-api-key-model.d.ts +43 -0
  56. package/dist/models/tech/tech-provider-api-key-model.js +224 -0
  57. package/dist/models/tech/tech-provider-model.d.ts +28 -0
  58. package/dist/models/tech/tech-provider-model.js +197 -0
  59. package/dist/models/users/external-user-integration-model.d.ts +36 -0
  60. package/dist/models/users/external-user-integration-model.js +196 -0
  61. package/dist/models/users/user-error-model.d.ts +54 -0
  62. package/dist/models/users/user-error-model.js +173 -0
  63. package/dist/models/users/user-error-summary-model.d.ts +45 -0
  64. package/dist/models/users/user-error-summary-model.js +172 -0
  65. package/dist/models/users/user-group-member-model.d.ts +41 -0
  66. package/dist/models/users/user-group-member-model.js +193 -0
  67. package/dist/models/users/user-group-model.d.ts +27 -0
  68. package/dist/models/users/user-group-model.js +146 -0
  69. package/dist/models/users/user-model.d.ts +46 -0
  70. package/dist/models/users/user-model.js +153 -0
  71. package/dist/models/users/user-preference-model.d.ts +60 -0
  72. package/dist/models/users/user-preference-model.js +228 -0
  73. package/dist/models/users/user-profile-model.d.ts +58 -0
  74. package/dist/models/users/user-profile-model.js +173 -0
  75. package/dist/prisma.config.d.ts +3 -0
  76. package/dist/prisma.config.js +13 -0
  77. package/dist/services/access/access-service.d.ts +12 -0
  78. package/dist/services/access/access-service.js +44 -0
  79. package/dist/services/access/encrypt-service.d.ts +13 -0
  80. package/dist/services/access/encrypt-service.js +84 -0
  81. package/dist/services/api-usage/api-usage-base-service.d.ts +15 -0
  82. package/dist/services/api-usage/api-usage-base-service.js +75 -0
  83. package/dist/services/console/service.d.ts +7 -0
  84. package/dist/services/console/service.js +70 -0
  85. package/dist/services/db/pg/pg-estimate-size-service.d.ts +16 -0
  86. package/dist/services/db/pg/pg-estimate-size-service.js +90 -0
  87. package/dist/services/files/types.d.ts +6 -0
  88. package/dist/services/files/types.js +2 -0
  89. package/dist/services/files/walk-dir-service.d.ts +8 -0
  90. package/dist/services/files/walk-dir-service.js +94 -0
  91. package/dist/services/locale/countries.d.ts +6 -0
  92. package/dist/services/locale/countries.js +484 -0
  93. package/dist/services/mailing-lists/mailing-list-subscriber-service.d.ts +14 -0
  94. package/dist/services/mailing-lists/mailing-list-subscriber-service.js +45 -0
  95. package/dist/services/process/sleep.d.ts +2 -0
  96. package/dist/services/process/sleep.js +10 -0
  97. package/dist/services/quotas/mutate-service.d.ts +5 -0
  98. package/dist/services/quotas/mutate-service.js +54 -0
  99. package/dist/services/quotas/query-service.d.ts +27 -0
  100. package/dist/services/quotas/query-service.js +137 -0
  101. package/dist/services/quotas/utils-service.d.ts +4 -0
  102. package/dist/services/quotas/utils-service.js +28 -0
  103. package/dist/services/tech/tech-provider-mutate-service.d.ts +7 -0
  104. package/dist/services/tech/tech-provider-mutate-service.js +142 -0
  105. package/dist/services/tech/tech-query-service.d.ts +9 -0
  106. package/dist/services/tech/tech-query-service.js +77 -0
  107. package/dist/services/user-preference/service.d.ts +10 -0
  108. package/dist/services/user-preference/service.js +70 -0
  109. package/dist/services/users/external-user-integration-service.d.ts +9 -0
  110. package/dist/services/users/external-user-integration-service.js +42 -0
  111. package/dist/services/users/profile-service.d.ts +40 -0
  112. package/dist/services/users/profile-service.js +408 -0
  113. package/dist/services/users/service.d.ts +64 -0
  114. package/dist/services/users/service.js +187 -0
  115. package/dist/services/users/user-error-service.d.ts +4 -0
  116. package/dist/services/users/user-error-service.js +42 -0
  117. package/dist/services/users/users-group-service.d.ts +16 -0
  118. package/dist/services/users/users-group-service.js +68 -0
  119. package/dist/services/utils/string-utils-service.d.ts +5 -0
  120. package/dist/services/utils/string-utils-service.js +41 -0
  121. package/dist/src/apollo/resolvers/mutations/mailing-lists.d.ts +11 -0
  122. package/dist/src/apollo/resolvers/mutations/mailing-lists.js +19 -0
  123. package/dist/src/apollo/resolvers/mutations/user-preferences.d.ts +13 -0
  124. package/dist/src/apollo/resolvers/mutations/user-preferences.js +20 -0
  125. package/dist/src/apollo/resolvers/mutations/users.d.ts +28 -0
  126. package/dist/src/apollo/resolvers/mutations/users.js +33 -0
  127. package/dist/src/apollo/resolvers/queries/access.d.ts +11 -0
  128. package/dist/src/apollo/resolvers/queries/access.js +14 -0
  129. package/dist/src/apollo/resolvers/queries/profile.d.ts +11 -0
  130. package/dist/src/apollo/resolvers/queries/profile.js +14 -0
  131. package/dist/src/apollo/resolvers/queries/quotas.d.ts +21 -0
  132. package/dist/src/apollo/resolvers/queries/quotas.js +14 -0
  133. package/dist/src/apollo/resolvers/queries/tech.d.ts +5 -0
  134. package/dist/src/apollo/resolvers/queries/tech.js +24 -0
  135. package/dist/src/apollo/resolvers/queries/user-preferences.d.ts +5 -0
  136. package/dist/src/apollo/resolvers/queries/user-preferences.js +22 -0
  137. package/dist/src/apollo/resolvers/queries/users.d.ts +15 -0
  138. package/dist/src/apollo/resolvers/queries/users.js +17 -0
  139. package/dist/src/apollo/typedefs/typedefs.d.ts +1 -0
  140. package/dist/src/apollo/typedefs/typedefs.js +139 -0
  141. package/dist/src/db.d.ts +3 -0
  142. package/dist/src/db.js +11 -0
  143. package/dist/src/index.d.ts +52 -0
  144. package/dist/src/index.js +52 -0
  145. package/dist/src/models/chat/chat-message-created-model.d.ts +17 -0
  146. package/dist/src/models/chat/chat-message-created-model.js +92 -0
  147. package/dist/src/models/chat/chat-message-model.d.ts +44 -0
  148. package/dist/src/models/chat/chat-message-model.js +484 -0
  149. package/dist/src/models/chat/chat-participant-model.d.ts +39 -0
  150. package/dist/src/models/chat/chat-participant-model.js +178 -0
  151. package/dist/src/models/chat/chat-session-model.d.ts +92 -0
  152. package/dist/src/models/chat/chat-session-model.js +266 -0
  153. package/dist/src/models/chat/chat-settings-model.d.ts +87 -0
  154. package/dist/src/models/chat/chat-settings-model.js +230 -0
  155. package/dist/src/models/feature-flags/feature-flag-model.d.ts +40 -0
  156. package/dist/src/models/feature-flags/feature-flag-model.js +137 -0
  157. package/dist/src/models/instances/instance-model.d.ts +100 -0
  158. package/dist/src/models/instances/instance-model.js +466 -0
  159. package/dist/src/models/instances/instance-setting-model.d.ts +39 -0
  160. package/dist/src/models/instances/instance-setting-model.js +164 -0
  161. package/dist/src/models/mailing-lists/mailing-list-model.d.ts +34 -0
  162. package/dist/src/models/mailing-lists/mailing-list-model.js +127 -0
  163. package/dist/src/models/mailing-lists/mailing-list-subscriber-model.d.ts +36 -0
  164. package/dist/src/models/mailing-lists/mailing-list-subscriber-model.js +127 -0
  165. package/dist/src/models/quotas/resource-quota-total-model.d.ts +46 -0
  166. package/dist/src/models/quotas/resource-quota-total-model.js +170 -0
  167. package/dist/src/models/quotas/resource-quota-usage-model.d.ts +51 -0
  168. package/dist/src/models/quotas/resource-quota-usage-model.js +151 -0
  169. package/dist/src/models/tech/rate-limited-api-event-model.d.ts +25 -0
  170. package/dist/src/models/tech/rate-limited-api-event-model.js +134 -0
  171. package/dist/src/models/tech/rate-limited-api-model.d.ts +21 -0
  172. package/dist/src/models/tech/rate-limited-api-model.js +116 -0
  173. package/dist/src/models/tech/tech-model.d.ts +44 -0
  174. package/dist/src/models/tech/tech-model.js +239 -0
  175. package/dist/src/models/tech/tech-provider-api-key-model.d.ts +43 -0
  176. package/dist/src/models/tech/tech-provider-api-key-model.js +195 -0
  177. package/dist/src/models/tech/tech-provider-model.d.ts +28 -0
  178. package/dist/src/models/tech/tech-provider-model.js +170 -0
  179. package/dist/src/models/users/external-user-integration-model.d.ts +36 -0
  180. package/dist/src/models/users/external-user-integration-model.js +167 -0
  181. package/dist/src/models/users/user-error-model.d.ts +54 -0
  182. package/dist/src/models/users/user-error-model.js +146 -0
  183. package/dist/src/models/users/user-error-summary-model.d.ts +45 -0
  184. package/dist/src/models/users/user-error-summary-model.js +145 -0
  185. package/dist/src/models/users/user-group-member-model.d.ts +41 -0
  186. package/dist/src/models/users/user-group-member-model.js +164 -0
  187. package/dist/src/models/users/user-group-model.d.ts +27 -0
  188. package/dist/src/models/users/user-group-model.js +121 -0
  189. package/dist/src/models/users/user-model.d.ts +46 -0
  190. package/dist/src/models/users/user-model.js +126 -0
  191. package/dist/src/models/users/user-preference-model.d.ts +60 -0
  192. package/dist/src/models/users/user-preference-model.js +197 -0
  193. package/dist/src/models/users/user-profile-model.d.ts +58 -0
  194. package/dist/src/models/users/user-profile-model.js +146 -0
  195. package/dist/src/services/access/access-service.d.ts +12 -0
  196. package/dist/src/services/access/access-service.js +27 -0
  197. package/dist/src/services/access/encrypt-service.d.ts +13 -0
  198. package/dist/src/services/access/encrypt-service.js +79 -0
  199. package/dist/src/services/api-usage/api-usage-base-service.d.ts +15 -0
  200. package/dist/src/services/api-usage/api-usage-base-service.js +58 -0
  201. package/dist/src/services/console/service.d.ts +7 -0
  202. package/dist/src/services/console/service.js +18 -0
  203. package/dist/src/services/db/pg/pg-estimate-size-service.d.ts +16 -0
  204. package/dist/src/services/db/pg/pg-estimate-size-service.js +83 -0
  205. package/dist/src/services/files/types.d.ts +6 -0
  206. package/dist/src/services/files/types.js +1 -0
  207. package/dist/src/services/files/walk-dir-service.d.ts +8 -0
  208. package/dist/src/services/files/walk-dir-service.js +77 -0
  209. package/dist/src/services/locale/countries.d.ts +6 -0
  210. package/dist/src/services/locale/countries.js +481 -0
  211. package/dist/src/services/mailing-lists/mailing-list-subscriber-service.d.ts +14 -0
  212. package/dist/src/services/mailing-lists/mailing-list-subscriber-service.js +28 -0
  213. package/dist/src/services/process/sleep.d.ts +2 -0
  214. package/dist/src/services/process/sleep.js +6 -0
  215. package/dist/src/services/quotas/mutate-service.d.ts +5 -0
  216. package/dist/src/services/quotas/mutate-service.js +37 -0
  217. package/dist/src/services/quotas/query-service.d.ts +27 -0
  218. package/dist/src/services/quotas/query-service.js +116 -0
  219. package/dist/src/services/quotas/utils-service.d.ts +4 -0
  220. package/dist/src/services/quotas/utils-service.js +22 -0
  221. package/dist/src/services/tech/tech-provider-mutate-service.d.ts +7 -0
  222. package/dist/src/services/tech/tech-provider-mutate-service.js +85 -0
  223. package/dist/src/services/tech/tech-query-service.d.ts +9 -0
  224. package/dist/src/services/tech/tech-query-service.js +58 -0
  225. package/dist/src/services/user-preference/service.d.ts +10 -0
  226. package/dist/src/services/user-preference/service.js +49 -0
  227. package/dist/src/services/users/external-user-integration-service.d.ts +9 -0
  228. package/dist/src/services/users/external-user-integration-service.js +25 -0
  229. package/dist/src/services/users/profile-service.d.ts +40 -0
  230. package/dist/src/services/users/profile-service.js +385 -0
  231. package/dist/src/services/users/service.d.ts +64 -0
  232. package/dist/src/services/users/service.js +152 -0
  233. package/dist/src/services/users/user-error-service.d.ts +4 -0
  234. package/dist/src/services/users/user-error-service.js +27 -0
  235. package/dist/src/services/users/users-group-service.d.ts +16 -0
  236. package/dist/src/services/users/users-group-service.js +51 -0
  237. package/dist/src/services/utils/field-naming-service.d.ts +20 -0
  238. package/dist/src/services/utils/field-naming-service.js +59 -0
  239. package/dist/src/services/utils/string-utils-service.d.ts +5 -0
  240. package/dist/src/services/utils/string-utils-service.js +37 -0
  241. package/dist/src/types/errors.d.ts +9 -0
  242. package/dist/src/types/errors.js +15 -0
  243. package/dist/src/types/user-types.d.ts +11 -0
  244. package/dist/src/types/user-types.js +14 -0
  245. package/dist/types/errors.d.ts +9 -0
  246. package/dist/types/errors.js +20 -0
  247. package/dist/types/user-types.d.ts +11 -0
  248. package/dist/types/user-types.js +19 -0
  249. package/package.json +21 -0
  250. package/prisma/schema.prisma +572 -0
  251. package/prisma.config.ts +14 -0
  252. package/src/apollo/README.md +4 -0
  253. package/src/apollo/resolvers/mutations/mailing-lists.ts +30 -0
  254. package/src/apollo/resolvers/mutations/user-preferences.ts +33 -0
  255. package/src/apollo/resolvers/mutations/users.ts +61 -0
  256. package/src/apollo/resolvers/queries/access.ts +23 -0
  257. package/src/apollo/resolvers/queries/profile.ts +24 -0
  258. package/src/apollo/resolvers/queries/quotas.ts +25 -0
  259. package/src/apollo/resolvers/queries/tech.ts +42 -0
  260. package/src/apollo/resolvers/queries/user-preferences.ts +34 -0
  261. package/src/apollo/resolvers/queries/users.ts +33 -0
  262. package/src/apollo/typedefs/typedefs.ts +139 -0
  263. package/src/db.ts +19 -0
  264. package/src/index.ts +52 -0
  265. package/src/models/chat/chat-message-created-model.ts +126 -0
  266. package/src/models/chat/chat-message-model.ts +678 -0
  267. package/src/models/chat/chat-participant-model.ts +248 -0
  268. package/src/models/chat/chat-session-model.ts +397 -0
  269. package/src/models/chat/chat-settings-model.ts +336 -0
  270. package/src/models/feature-flags/feature-flag-model.ts +198 -0
  271. package/src/models/instances/instance-model.ts +673 -0
  272. package/src/models/instances/instance-setting-model.ts +235 -0
  273. package/src/models/mailing-lists/mailing-list-model.ts +177 -0
  274. package/src/models/mailing-lists/mailing-list-subscriber-model.ts +194 -0
  275. package/src/models/quotas/resource-quota-total-model.ts +243 -0
  276. package/src/models/quotas/resource-quota-usage-model.ts +219 -0
  277. package/src/models/tech/rate-limited-api-event-model.ts +190 -0
  278. package/src/models/tech/rate-limited-api-model.ts +171 -0
  279. package/src/models/tech/tech-model.ts +360 -0
  280. package/src/models/tech/tech-provider-api-key-model.ts +289 -0
  281. package/src/models/tech/tech-provider-model.ts +247 -0
  282. package/src/models/users/external-user-integration-model.ts +236 -0
  283. package/src/models/users/user-error-model.ts +219 -0
  284. package/src/models/users/user-error-summary-model.ts +216 -0
  285. package/src/models/users/user-group-member-model.ts +233 -0
  286. package/src/models/users/user-group-model.ts +174 -0
  287. package/src/models/users/user-model.ts +172 -0
  288. package/src/models/users/user-preference-model.ts +285 -0
  289. package/src/models/users/user-profile-model.ts +207 -0
  290. package/src/services/access/access-service.ts +36 -0
  291. package/src/services/access/encrypt-service.ts +122 -0
  292. package/src/services/api-usage/api-usage-base-service.ts +95 -0
  293. package/src/services/console/service.ts +24 -0
  294. package/src/services/db/pg/pg-estimate-size-service.ts +119 -0
  295. package/src/services/files/types.ts +7 -0
  296. package/src/services/files/walk-dir-service.ts +135 -0
  297. package/src/services/locale/countries.ts +483 -0
  298. package/src/services/mailing-lists/mailing-list-subscriber-service.ts +54 -0
  299. package/src/services/process/sleep.ts +7 -0
  300. package/src/services/quotas/mutate-service.ts +66 -0
  301. package/src/services/quotas/query-service.ts +197 -0
  302. package/src/services/quotas/utils-service.ts +29 -0
  303. package/src/services/tech/tech-provider-mutate-service.ts +136 -0
  304. package/src/services/tech/tech-query-service.ts +93 -0
  305. package/src/services/user-preference/service.ts +110 -0
  306. package/src/services/users/external-user-integration-service.ts +51 -0
  307. package/src/services/users/profile-service.ts +513 -0
  308. package/src/services/users/service.ts +293 -0
  309. package/src/services/users/user-error-service.ts +74 -0
  310. package/src/services/users/users-group-service.ts +85 -0
  311. package/src/services/utils/field-naming-service.ts +78 -0
  312. package/src/services/utils/string-utils-service.ts +48 -0
  313. package/src/types/errors.ts +18 -0
  314. package/src/types/user-types.ts +19 -0
  315. package/tsconfig.json +25 -0
@@ -0,0 +1,483 @@
1
+ // Copied from: https://github.com/DannMolina/country-list-json/blob/master/index.js
2
+ // Project: https://github.com/DannMolina/country-list-json
3
+ // License: ISC (a permissive license)
4
+
5
+ export const countries = [
6
+ { name: "Afghanistan", dial_code: "+93", code: "AF", flag: "🇦🇫" },
7
+ { name: "Åland Islands", dial_code: "+358", code: "AX", flag: "🇦🇽" },
8
+ { name: "Albania", dial_code: "+355", code: "AL", flag: "🇦🇱" },
9
+ { name: "Algeria", dial_code: "+213", code: "DZ", flag: "🇩🇿" },
10
+ {
11
+ name: "American Samoa",
12
+ dial_code: "+1684",
13
+ code: "AS",
14
+ flag: "🇦🇸",
15
+ },
16
+ { name: "Andorra", dial_code: "+376", code: "AD", flag: "🇦🇩" },
17
+ { name: "Angola", dial_code: "+244", code: "AO", flag: "🇦🇴" },
18
+ { name: "Anguilla", dial_code: "+1264", code: "AI", flag: "🇦🇮" },
19
+ { name: "Antarctica", dial_code: "+672", code: "AQ", flag: "🇦🇶" },
20
+ {
21
+ name: "Antigua and Barbuda",
22
+ dial_code: "+1268",
23
+ code: "AG",
24
+ flag: "🇦🇬",
25
+ },
26
+ { name: "Argentina", dial_code: "+54", code: "AR", flag: "🇦🇷" },
27
+ { name: "Armenia", dial_code: "+374", code: "AM", flag: "🇦🇲" },
28
+ { name: "Aruba", dial_code: "+297", code: "AW", flag: "🇦🇼" },
29
+ { name: "Australia", dial_code: "+61", code: "AU", flag: "🇦🇺" },
30
+ { name: "Austria", dial_code: "+43", code: "AT", flag: "🇦🇹" },
31
+ { name: "Azerbaijan", dial_code: "+994", code: "AZ", flag: "🇦🇿" },
32
+ { name: "Bahamas", dial_code: "+1242", code: "BS", flag: "🇧🇸" },
33
+ { name: "Bahrain", dial_code: "+973", code: "BH", flag: "🇧🇭" },
34
+ { name: "Bangladesh", dial_code: "+880", code: "BD", flag: "🇧🇩" },
35
+ { name: "Barbados", dial_code: "+1246", code: "BB", flag: "🇧🇧" },
36
+ { name: "Belarus", dial_code: "+375", code: "BY", flag: "🇧🇾" },
37
+ { name: "Belgium", dial_code: "+32", code: "BE", flag: "🇧🇪" },
38
+ { name: "Belize", dial_code: "+501", code: "BZ", flag: "🇧🇿" },
39
+ { name: "Benin", dial_code: "+229", code: "BJ", flag: "🇧🇯" },
40
+ { name: "Bermuda", dial_code: "+1441", code: "BM", flag: "🇧🇲" },
41
+ { name: "Bhutan", dial_code: "+975", code: "BT", flag: "🇧🇹" },
42
+ {
43
+ name: "Bolivia, Plurinational State of bolivia",
44
+ dial_code: "+591",
45
+ code: "BO",
46
+ flag: "🇧🇴",
47
+ },
48
+ {
49
+ name: "Bosnia and Herzegovina",
50
+ dial_code: "+387",
51
+ code: "BA",
52
+ flag: "🇧🇦",
53
+ },
54
+ { name: "Botswana", dial_code: "+267", code: "BW", flag: "🇧🇼" },
55
+ { name: "Bouvet Island", dial_code: "+47", code: "BV", flag: "🏳" },
56
+ { name: "Brazil", dial_code: "+55", code: "BR", flag: "🇧🇷" },
57
+ {
58
+ name: "British Indian Ocean Territory",
59
+ dial_code: "+246",
60
+ code: "IO",
61
+ flag: "🇮🇴",
62
+ },
63
+ {
64
+ name: "Brunei Darussalam",
65
+ dial_code: "+673",
66
+ code: "BN",
67
+ flag: "🇧🇳",
68
+ },
69
+ { name: "Bulgaria", dial_code: "+359", code: "BG", flag: "🇧🇬" },
70
+ { name: "Burkina Faso", dial_code: "+226", code: "BF", flag: "🇧🇫" },
71
+ { name: "Burundi", dial_code: "+257", code: "BI", flag: "🇧🇮" },
72
+ { name: "Cambodia", dial_code: "+855", code: "KH", flag: "🇰🇭" },
73
+ { name: "Cameroon", dial_code: "+237", code: "CM", flag: "🇨🇲" },
74
+ { name: "Canada", dial_code: "+1", code: "CA", flag: "🇨🇦" },
75
+ { name: "Cape Verde", dial_code: "+238", code: "CV", flag: "🇨🇻" },
76
+ {
77
+ name: "Cayman Islands",
78
+ dial_code: "+ 345",
79
+ code: "KY",
80
+ flag: "🇰🇾",
81
+ },
82
+ {
83
+ name: "Central African Republic",
84
+ dial_code: "+236",
85
+ code: "CF",
86
+ flag: "🇨🇫",
87
+ },
88
+ { name: "Chad", dial_code: "+235", code: "TD", flag: "🇹🇩" },
89
+ { name: "Chile", dial_code: "+56", code: "CL", flag: "🇨🇱" },
90
+ { name: "China", dial_code: "+86", code: "CN", flag: "🇨🇳" },
91
+ {
92
+ name: "Christmas Island",
93
+ dial_code: "+61",
94
+ code: "CX",
95
+ flag: "🇨🇽",
96
+ },
97
+ {
98
+ name: "Cocos (Keeling) Islands",
99
+ dial_code: "+61",
100
+ code: "CC",
101
+ flag: "🇨🇨",
102
+ },
103
+ { name: "Colombia", dial_code: "+57", code: "CO", flag: "🇨🇴" },
104
+ { name: "Comoros", dial_code: "+269", code: "KM", flag: "🇰🇲" },
105
+ { name: "Congo", dial_code: "+242", code: "CG", flag: "🇨🇬" },
106
+ {
107
+ name: "Congo, The Democratic Republic of the Congo",
108
+ dial_code: "+243",
109
+ code: "CD",
110
+ flag: "🇨🇩",
111
+ },
112
+ { name: "Cook Islands", dial_code: "+682", code: "CK", flag: "🇨🇰" },
113
+ { name: "Costa Rica", dial_code: "+506", code: "CR", flag: "🇨🇷" },
114
+ { name: "Cote d'Ivoire", dial_code: "+225", code: "CI", flag: "🇨🇮" },
115
+ { name: "Croatia", dial_code: "+385", code: "HR", flag: "🇭🇷" },
116
+ { name: "Cuba", dial_code: "+53", code: "CU", flag: "🇨🇺" },
117
+ { name: "Cyprus", dial_code: "+357", code: "CY", flag: "🇨🇾" },
118
+ { name: "Czech Republic", dial_code: "+420", code: "CZ", flag: "🇨🇿" },
119
+ { name: "Denmark", dial_code: "+45", code: "DK", flag: "🇩🇰" },
120
+ { name: "Djibouti", dial_code: "+253", code: "DJ", flag: "🇩🇯" },
121
+ { name: "Dominica", dial_code: "+1767", code: "DM", flag: "🇩🇲" },
122
+ {
123
+ name: "Dominican Republic",
124
+ dial_code: "+1849",
125
+ code: "DO",
126
+ flag: "🇨🇩",
127
+ },
128
+ { name: "Ecuador", dial_code: "+593", code: "EC", flag: "🇪🇨" },
129
+ { name: "Egypt", dial_code: "+20", code: "EG", flag: "🇪🇬" },
130
+ { name: "El Salvador", dial_code: "+503", code: "SV", flag: "🇸🇻" },
131
+ {
132
+ name: "Equatorial Guinea",
133
+ dial_code: "+240",
134
+ code: "GQ",
135
+ flag: "🇬🇶",
136
+ },
137
+ { name: "Eritrea", dial_code: "+291", code: "ER", flag: "🇪🇷" },
138
+ { name: "Estonia", dial_code: "+372", code: "EE", flag: "🇪🇪" },
139
+ { name: "Ethiopia", dial_code: "+251", code: "ET", flag: "🇪🇹" },
140
+ {
141
+ name: "Falkland Islands (Malvinas)",
142
+ dial_code: "+500",
143
+ code: "FK",
144
+ flag: "🇫🇰",
145
+ },
146
+ { name: "Faroe Islands", dial_code: "+298", code: "FO", flag: "🇫🇴" },
147
+ { name: "Fiji", dial_code: "+679", code: "FJ", flag: "🇫🇯" },
148
+ { name: "Finland", dial_code: "+358", code: "FI", flag: "🇫🇮" },
149
+ { name: "France", dial_code: "+33", code: "FR", flag: "🇫🇷" },
150
+ { name: "French Guiana", dial_code: "+594", code: "GF", flag: "🇬🇫" },
151
+ {
152
+ name: "French Polynesia",
153
+ dial_code: "+689",
154
+ code: "PF",
155
+ flag: "🇵🇫",
156
+ },
157
+ {
158
+ name: "French Southern Territories",
159
+ dial_code: "+262",
160
+ code: "TF",
161
+ flag: "🇹🇫",
162
+ },
163
+ { name: "Gabon", dial_code: "+241", code: "GA", flag: "🇬🇦" },
164
+ { name: "Gambia", dial_code: "+220", code: "GM", flag: "🇬🇲" },
165
+ { name: "Georgia", dial_code: "+995", code: "GE", flag: "🇬🇪" },
166
+ { name: "Germany", dial_code: "+49", code: "DE", flag: "🇩🇪" },
167
+ { name: "Ghana", dial_code: "+233", code: "GH", flag: "🇬🇭" },
168
+ { name: "Gibraltar", dial_code: "+350", code: "GI", flag: "🇬🇮" },
169
+ { name: "Greece", dial_code: "+30", code: "GR", flag: "🇬🇷" },
170
+ { name: "Greenland", dial_code: "+299", code: "GL", flag: "🇬🇱" },
171
+ { name: "Grenada", dial_code: "+1473", code: "GD", flag: "🇬🇩" },
172
+ { name: "Guadeloupe", dial_code: "+590", code: "GP", flag: "🇬🇵" },
173
+ { name: "Guam", dial_code: "+1671", code: "GU", flag: "🇬🇺" },
174
+ { name: "Guatemala", dial_code: "+502", code: "GT", flag: "🇬🇹" },
175
+ { name: "Guernsey", dial_code: "+44", code: "GG", flag: "🇬🇬" },
176
+ { name: "Guinea", dial_code: "+224", code: "GN", flag: "🇬🇳" },
177
+ { name: "Guinea-Bissau", dial_code: "+245", code: "GW", flag: "🇬🇼" },
178
+ { name: "Guyana", dial_code: "+592", code: "GY", flag: "🇬🇾" },
179
+ { name: "Haiti", dial_code: "+509", code: "HT", flag: "🇭🇹" },
180
+ {
181
+ name: "Heard Island and Mcdonald Islands",
182
+ dial_code: "+0",
183
+ code: "HM",
184
+ flag: "🏳",
185
+ },
186
+ {
187
+ name: "Holy See (Vatican City State)",
188
+ dial_code: "+379",
189
+ code: "VA",
190
+ flag: "🇻🇦",
191
+ },
192
+ { name: "Honduras", dial_code: "+504", code: "HN", flag: "🇭🇳" },
193
+ { name: "Hong Kong", dial_code: "+852", code: "HK", flag: "🇭🇰" },
194
+ { name: "Hungary", dial_code: "+36", code: "HU", flag: "🇭🇺" },
195
+ { name: "Iceland", dial_code: "+354", code: "IS", flag: "🇮🇸" },
196
+ { name: "India", dial_code: "+91", code: "IN", flag: "🇮🇳" },
197
+ { name: "Indonesia", dial_code: "+62", code: "ID", flag: "🇮🇩" },
198
+ {
199
+ name: "Iran, Islamic Republic of Persian Gulf",
200
+ dial_code: "+98",
201
+ code: "IR",
202
+ flag: "🇮🇷",
203
+ },
204
+ { name: "Iraq", dial_code: "+964", code: "IQ", flag: "🇮🇶" },
205
+ { name: "Ireland", dial_code: "+353", code: "IE", flag: "🇮🇪" },
206
+ { name: "Isle of Man", dial_code: "+44", code: "IM", flag: "🇮🇲" },
207
+ { name: "Israel", dial_code: "+972", code: "IL", flag: "🇮🇱" },
208
+ { name: "Italy", dial_code: "+39", code: "IT", flag: "🇮🇹" },
209
+ { name: "Jamaica", dial_code: "+1876", code: "JM", flag: "🇯🇲" },
210
+ { name: "Japan", dial_code: "+81", code: "JP", flag: "🇯🇵" },
211
+ { name: "Jersey", dial_code: "+44", code: "JE", flag: "🇯🇪" },
212
+ { name: "Jordan", dial_code: "+962", code: "JO", flag: "🇯🇴" },
213
+ { name: "Kazakhstan", dial_code: "+7", code: "KZ", flag: "🇰🇿" },
214
+ { name: "Kenya", dial_code: "+254", code: "KE", flag: "🇰🇪" },
215
+ { name: "Kiribati", dial_code: "+686", code: "KI", flag: "🇰🇮" },
216
+ {
217
+ name: "Korea, Democratic People's Republic of Korea",
218
+ dial_code: "+850",
219
+ code: "KP",
220
+ flag: "🇰🇵",
221
+ },
222
+ {
223
+ name: "Korea, Republic of South Korea",
224
+ dial_code: "+82",
225
+ code: "KR",
226
+ flag: "🇰🇷",
227
+ },
228
+ { name: "Kosovo", dial_code: "+383", code: "XK", flag: "🇽🇰" },
229
+ { name: "Kuwait", dial_code: "+965", code: "KW", flag: "🇰🇼" },
230
+ { name: "Kyrgyzstan", dial_code: "+996", code: "KG", flag: "🇰🇬" },
231
+ { name: "Laos", dial_code: "+856", code: "LA", flag: "🇱🇦" },
232
+ { name: "Latvia", dial_code: "+371", code: "LV", flag: "🇱🇻" },
233
+ { name: "Lebanon", dial_code: "+961", code: "LB", flag: "🇱🇧" },
234
+ { name: "Lesotho", dial_code: "+266", code: "LS", flag: "🇱🇸" },
235
+ { name: "Liberia", dial_code: "+231", code: "LR", flag: "🇱🇷" },
236
+ {
237
+ name: "Libyan Arab Jamahiriya",
238
+ dial_code: "+218",
239
+ code: "LY",
240
+ flag: "🇱🇾",
241
+ },
242
+ { name: "Liechtenstein", dial_code: "+423", code: "LI", flag: "🇱🇮" },
243
+ { name: "Lithuania", dial_code: "+370", code: "LT", flag: "🇱🇹" },
244
+ { name: "Luxembourg", dial_code: "+352", code: "LU", flag: "🇱🇺" },
245
+ { name: "Macao", dial_code: "+853", code: "MO", flag: "🇲🇴" },
246
+ { name: "Macedonia", dial_code: "+389", code: "MK", flag: "🇲🇰" },
247
+ { name: "Madagascar", dial_code: "+261", code: "MG", flag: "🇲🇬" },
248
+ { name: "Malawi", dial_code: "+265", code: "MW", flag: "🇲🇼" },
249
+ { name: "Malaysia", dial_code: "+60", code: "MY", flag: "🇲🇾" },
250
+ { name: "Maldives", dial_code: "+960", code: "MV", flag: "🇲🇻" },
251
+ { name: "Mali", dial_code: "+223", code: "ML", flag: "🇲🇱" },
252
+ { name: "Malta", dial_code: "+356", code: "MT", flag: "🇲🇹" },
253
+ {
254
+ name: "Marshall Islands",
255
+ dial_code: "+692",
256
+ code: "MH",
257
+ flag: "🇲🇭",
258
+ },
259
+ { name: "Martinique", dial_code: "+596", code: "MQ", flag: "🇲🇶" },
260
+ { name: "Mauritania", dial_code: "+222", code: "MR", flag: "🇲🇷" },
261
+ { name: "Mauritius", dial_code: "+230", code: "MU", flag: "🇲🇺" },
262
+ { name: "Mayotte", dial_code: "+262", code: "YT", flag: "🇾🇹" },
263
+ { name: "Mexico", dial_code: "+52", code: "MX", flag: "🇲🇽" },
264
+ {
265
+ name: "Micronesia, Federated States of Micronesia",
266
+ dial_code: "+691",
267
+ code: "FM",
268
+ flag: "🇫🇲",
269
+ },
270
+ { name: "Moldova", dial_code: "+373", code: "MD", flag: "🇲🇩" },
271
+ { name: "Monaco", dial_code: "+377", code: "MC", flag: "🇲🇨" },
272
+ { name: "Mongolia", dial_code: "+976", code: "MN", flag: "🇲🇳" },
273
+ { name: "Montenegro", dial_code: "+382", code: "ME", flag: "🇲🇪" },
274
+ { name: "Montserrat", dial_code: "+1664", code: "MS", flag: "🇲🇸" },
275
+ { name: "Morocco", dial_code: "+212", code: "MA", flag: "🇲🇦" },
276
+ { name: "Mozambique", dial_code: "+258", code: "MZ", flag: "🇲🇿" },
277
+ { name: "Myanmar", dial_code: "+95", code: "MM", flag: "🇲🇲" },
278
+ { name: "Namibia", dial_code: "+264", code: "NA", flag: "🇳🇦" },
279
+ { name: "Nauru", dial_code: "+674", code: "NR", flag: "🇳🇷" },
280
+ { name: "Nepal", dial_code: "+977", code: "NP", flag: "🇳🇵" },
281
+ { name: "Netherlands", dial_code: "+31", code: "NL", flag: "🇳🇱" },
282
+ {
283
+ name: "Netherlands Antilles",
284
+ dial_code: "+599",
285
+ code: "AN",
286
+ flag: "🇳🇱",
287
+ },
288
+ { name: "New Caledonia", dial_code: "+687", code: "NC", flag: "🇳🇨" },
289
+ { name: "New Zealand", dial_code: "+64", code: "NZ", flag: "🇳🇿" },
290
+ { name: "Nicaragua", dial_code: "+505", code: "NI", flag: "🇳🇮" },
291
+ { name: "Niger", dial_code: "+227", code: "NE", flag: "🇳🇪" },
292
+ { name: "Nigeria", dial_code: "+234", code: "NG", flag: "🇳🇬" },
293
+ { name: "Niue", dial_code: "+683", code: "NU", flag: "🇳🇺" },
294
+ { name: "Norfolk Island", dial_code: "+672", code: "NF", flag: "🇳🇫" },
295
+ {
296
+ name: "Northern Mariana Islands",
297
+ dial_code: "+1670",
298
+ code: "MP",
299
+ flag: "🏳",
300
+ },
301
+ { name: "Norway", dial_code: "+47", code: "NO", flag: "🇳🇴" },
302
+ { name: "Oman", dial_code: "+968", code: "OM", flag: "🇴🇲" },
303
+ { name: "Pakistan", dial_code: "+92", code: "PK", flag: "🇵🇰" },
304
+ { name: "Palau", dial_code: "+680", code: "PW", flag: "🇵🇼" },
305
+ {
306
+ name: "Palestinian Territory, Occupied",
307
+ dial_code: "+970",
308
+ code: "PS",
309
+ flag: "🇵🇸",
310
+ },
311
+ { name: "Panama", dial_code: "+507", code: "PA", flag: "🇵🇦" },
312
+ {
313
+ name: "Papua New Guinea",
314
+ dial_code: "+675",
315
+ code: "PG",
316
+ flag: "🇵🇬",
317
+ },
318
+ { name: "Paraguay", dial_code: "+595", code: "PY", flag: "🇵🇾" },
319
+ { name: "Peru", dial_code: "+51", code: "PE", flag: "🇵🇪" },
320
+ { name: "Philippines", dial_code: "+63", code: "PH", flag: "🇵🇭" },
321
+ { name: "Pitcairn", dial_code: "+64", code: "PN", flag: "🇵🇳" },
322
+ { name: "Poland", dial_code: "+48", code: "PL", flag: "🇵🇱" },
323
+ { name: "Portugal", dial_code: "+351", code: "PT", flag: "🇵🇹" },
324
+ { name: "Puerto Rico", dial_code: "+1939", code: "PR", flag: "🇵🇷" },
325
+ { name: "Qatar", dial_code: "+974", code: "QA", flag: "🇶🇦" },
326
+ { name: "Romania", dial_code: "+40", code: "RO", flag: "🇷🇴" },
327
+ { name: "Russia", dial_code: "+7", code: "RU", flag: "🇷🇺" },
328
+ { name: "Rwanda", dial_code: "+250", code: "RW", flag: "🇷🇼" },
329
+ { name: "Reunion", dial_code: "+262", code: "RE", flag: "🇫🇷" },
330
+ {
331
+ name: "Saint Barthelemy",
332
+ dial_code: "+590",
333
+ code: "BL",
334
+ flag: "🇧🇱",
335
+ },
336
+ {
337
+ name: "Saint Helena, Ascension and Tristan Da Cunha",
338
+ dial_code: "+290",
339
+ code: "SH",
340
+ flag: "🇸🇭",
341
+ },
342
+ {
343
+ name: "Saint Kitts and Nevis",
344
+ dial_code: "+1869",
345
+ code: "KN",
346
+ flag: "🇰🇳",
347
+ },
348
+ { name: "Saint Lucia", dial_code: "+1758", code: "LC", flag: "🇱🇨" },
349
+ { name: "Saint Martin", dial_code: "+590", code: "MF", flag: "🏳" },
350
+ {
351
+ name: "Saint Pierre and Miquelon",
352
+ dial_code: "+508",
353
+ code: "PM",
354
+ flag: "🇵🇲",
355
+ },
356
+ {
357
+ name: "Saint Vincent and the Grenadines",
358
+ dial_code: "+1784",
359
+ code: "VC",
360
+ flag: "🇻🇨",
361
+ },
362
+ { name: "Samoa", dial_code: "+685", code: "WS", flag: "🇼🇸" },
363
+ { name: "San Marino", dial_code: "+378", code: "SM", flag: "🇸🇲" },
364
+ {
365
+ name: "Sao Tome and Principe",
366
+ dial_code: "+239",
367
+ code: "ST",
368
+ flag: "🇸🇹",
369
+ },
370
+ { name: "Saudi Arabia", dial_code: "+966", code: "SA", flag: "🇸🇦" },
371
+ { name: "Senegal", dial_code: "+221", code: "SN", flag: "🇸🇳" },
372
+ { name: "Serbia", dial_code: "+381", code: "RS", flag: "🇷🇸" },
373
+ { name: "Seychelles", dial_code: "+248", code: "SC", flag: "🇸🇨" },
374
+ { name: "Sierra Leone", dial_code: "+232", code: "SL", flag: "🇸🇱" },
375
+ { name: "Singapore", dial_code: "+65", code: "SG", flag: "🇸🇬" },
376
+ { name: "Slovakia", dial_code: "+421", code: "SK", flag: "🇸🇰" },
377
+ { name: "Slovenia", dial_code: "+386", code: "SI", flag: "🇸🇮" },
378
+ {
379
+ name: "Solomon Islands",
380
+ dial_code: "+677",
381
+ code: "SB",
382
+ flag: "🇸🇧",
383
+ },
384
+ { name: "Somalia", dial_code: "+252", code: "SO", flag: "🇸🇴" },
385
+ { name: "South Africa", dial_code: "+27", code: "ZA", flag: "🇿🇦" },
386
+ { name: "South Sudan", dial_code: "+211", code: "SS", flag: "🇸🇸" },
387
+ {
388
+ name: "South Georgia and the South Sandwich Islands",
389
+ dial_code: "+500",
390
+ code: "GS",
391
+ flag: "🇬🇸",
392
+ },
393
+ { name: "Spain", dial_code: "+34", code: "ES", flag: "🇪🇸" },
394
+ { name: "Sri Lanka", dial_code: "+94", code: "LK", flag: "🇱🇰" },
395
+ { name: "Sudan", dial_code: "+249", code: "SD", flag: "🇸🇩" },
396
+ { name: "Suriname", dial_code: "+597", code: "SR", flag: "🇸🇷" },
397
+ {
398
+ name: "Svalbard and Jan Mayen",
399
+ dial_code: "+47",
400
+ code: "SJ",
401
+ flag: "🇩🇰",
402
+ },
403
+ { name: "Swaziland", dial_code: "+268", code: "SZ", flag: "🇸🇿" },
404
+ { name: "Sweden", dial_code: "+46", code: "SE", flag: "🇸🇪" },
405
+ { name: "Switzerland", dial_code: "+41", code: "CH", flag: "🇨🇭" },
406
+ {
407
+ name: "Syrian Arab Republic",
408
+ dial_code: "+963",
409
+ code: "SY",
410
+ flag: "🇸🇾",
411
+ },
412
+ { name: "Taiwan", dial_code: "+886", code: "TW", flag: "🇹🇼" },
413
+ { name: "Tajikistan", dial_code: "+992", code: "TJ", flag: "🇹🇯" },
414
+ {
415
+ name: "Tanzania, United Republic of Tanzania",
416
+ dial_code: "+255",
417
+ code: "TZ",
418
+ flag: "🇹🇿",
419
+ },
420
+ { name: "Thailand", dial_code: "+66", code: "TH", flag: "🇹🇭" },
421
+ { name: "Timor-Leste", dial_code: "+670", code: "TL", flag: "🇹🇱" },
422
+ { name: "Togo", dial_code: "+228", code: "TG", flag: "🇹🇬" },
423
+ { name: "Tokelau", dial_code: "+690", code: "TK", flag: "🇹🇰" },
424
+ { name: "Tonga", dial_code: "+676", code: "TO", flag: "🇹🇴" },
425
+ {
426
+ name: "Trinidad and Tobago",
427
+ dial_code: "+1868",
428
+ code: "TT",
429
+ flag: "🇹🇹",
430
+ },
431
+ { name: "Tunisia", dial_code: "+216", code: "TN", flag: "🇹🇳" },
432
+ { name: "Turkey", dial_code: "+90", code: "TR", flag: "🇹🇷" },
433
+ { name: "Turkmenistan", dial_code: "+993", code: "TM", flag: "🇹🇲" },
434
+ {
435
+ name: "Turks and Caicos Islands",
436
+ dial_code: "+1649",
437
+ code: "TC",
438
+ flag: "🇹🇨",
439
+ },
440
+ { name: "Tuvalu", dial_code: "+688", code: "TV", flag: "🇹🇻" },
441
+ { name: "Uganda", dial_code: "+256", code: "UG", flag: "🇺🇬" },
442
+ { name: "Ukraine", dial_code: "+380", code: "UA", flag: "🇺🇦" },
443
+ {
444
+ name: "United Arab Emirates",
445
+ dial_code: "+971",
446
+ code: "AE",
447
+ flag: "🇦🇪",
448
+ },
449
+ { name: "United Kingdom", dial_code: "+44", code: "GB", flag: "🇬🇧" },
450
+ { name: "United States", dial_code: "+1", code: "US", flag: "🇺🇸" },
451
+ { name: "Uruguay", dial_code: "+598", code: "UY", flag: "🇺🇾" },
452
+ { name: "Uzbekistan", dial_code: "+998", code: "UZ", flag: "🇺🇿" },
453
+ { name: "Vanuatu", dial_code: "+678", code: "VU", flag: "🇻🇺" },
454
+ {
455
+ name: "Venezuela, Bolivarian Republic of Venezuela",
456
+ dial_code: "+58",
457
+ code: "VE",
458
+ flag: "🇻🇪",
459
+ },
460
+ { name: "Vietnam", dial_code: "+84", code: "VN", flag: "🇻🇳" },
461
+ {
462
+ name: "Virgin Islands, British",
463
+ dial_code: "+1284",
464
+ code: "VG",
465
+ flag: "🇻🇬",
466
+ },
467
+ {
468
+ name: "Virgin Islands, U.S.",
469
+ dial_code: "+1340",
470
+ code: "VI",
471
+ flag: "🇻🇮",
472
+ },
473
+ {
474
+ name: "Wallis and Futuna",
475
+ dial_code: "+681",
476
+ code: "WF",
477
+ flag: "🇼🇫",
478
+ },
479
+ { name: "Yemen", dial_code: "+967", code: "YE", flag: "🇾🇪" },
480
+ { name: "Zambia", dial_code: "+260", code: "ZM", flag: "🇿🇲" },
481
+ { name: "Zimbabwe", dial_code: "+263", code: "ZW", flag: "🇿🇼" },
482
+ ];
483
+
@@ -0,0 +1,54 @@
1
+ import { PrismaClient } from '@/prisma/client'
2
+ import { MailingListModel } from '../../models/mailing-lists/mailing-list-model'
3
+ import { MailingListSubscriberModel } from '../../models/mailing-lists/mailing-list-subscriber-model'
4
+
5
+ export class MailingListSubscriberService {
6
+
7
+ // Models
8
+ mailingListModel = new MailingListModel()
9
+ mailingListSubscriberModel = new MailingListSubscriberModel()
10
+
11
+ // Code
12
+ async subscribe(
13
+ prisma: PrismaClient,
14
+ mailingListName: string,
15
+ email: string,
16
+ firstName: string) {
17
+
18
+ // Get mailingList.id
19
+ var mailingListId = await
20
+ this.mailingListModel.getByName(
21
+ prisma,
22
+ mailingListName)
23
+
24
+ // Check for existing subscriber
25
+ const mailingListSubscriber = await
26
+ this.mailingListSubscriberModel.getByMailingListIdAndEmail(
27
+ prisma,
28
+ mailingListId,
29
+ email)
30
+
31
+ if (mailingListSubscriber != null) {
32
+
33
+ // Return
34
+ return {
35
+ verified: false,
36
+ message: 'This email is already subscribed for this list.'
37
+ }
38
+ }
39
+
40
+ // Subscribe
41
+ await this.mailingListSubscriberModel.create(
42
+ prisma,
43
+ mailingListId,
44
+ email,
45
+ firstName,
46
+ undefined, // verificationCode
47
+ undefined) // verified
48
+
49
+ // Return
50
+ return {
51
+ verified: true
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,7 @@
1
+ export function sleep(ms: number) {
2
+ return new Promise((resolve) => setTimeout(resolve, ms));
3
+ }
4
+
5
+ export function sleepSeconds(s: number) {
6
+ return new Promise((resolve) => setTimeout(resolve, s * 1000));
7
+ }
@@ -0,0 +1,66 @@
1
+ import { PrismaClient } from '@/prisma/client'
2
+ import { ResourceQuotaUsageModel } from '../../models/quotas/resource-quota-usage-model'
3
+
4
+ // Models
5
+ const resourceQuotaUsageModel = new ResourceQuotaUsageModel()
6
+
7
+ // Class
8
+ export class ResourceQuotasMutateService {
9
+
10
+ // Consts
11
+ clName = 'ResourceQuotasMutateService'
12
+
13
+ // Code
14
+ async incQuotaUsage(
15
+ prisma: PrismaClient,
16
+ userProfileId: string,
17
+ resource: string,
18
+ amount: number) {
19
+
20
+ // Debug
21
+ const fnName = `${this.clName}.incQuotaUsage()`
22
+
23
+ // Validate
24
+ if (amount == null ||
25
+ Number.isNaN(amount)) {
26
+
27
+ throw `${fnName}: amount is ${JSON.stringify(amount)}`
28
+ }
29
+
30
+ // Don't do anything if the amount is zero
31
+ if (amount === 0.0) {
32
+ return
33
+ }
34
+
35
+ // Get today's date
36
+ const day = new Date()
37
+
38
+ // Set to midnight
39
+ day.setHours(0, 0, 0, 0)
40
+
41
+ // Try to get any existing record
42
+ const resourceQuotaUsage = await
43
+ resourceQuotaUsageModel.getByUserProfileIdAndResourceAndDay(
44
+ prisma,
45
+ userProfileId,
46
+ resource,
47
+ day)
48
+
49
+ // Add the existing quota amount
50
+ if (resourceQuotaUsage != null) {
51
+
52
+ if (resourceQuotaUsage.usage != null) {
53
+ amount += resourceQuotaUsage.usage
54
+ }
55
+ }
56
+
57
+ // Upsert the new record
58
+ await resourceQuotaUsageModel.upsert(
59
+ prisma,
60
+ undefined, // id
61
+ userProfileId,
62
+ resource,
63
+ day,
64
+ amount)
65
+ }
66
+ }