common-tg-service 1.0.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 (460) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/dist/IMap/IMap.d.ts +13 -0
  4. package/dist/IMap/IMap.js +160 -0
  5. package/dist/IMap/IMap.js.map +1 -0
  6. package/dist/app.controller.d.ts +11 -0
  7. package/dist/app.controller.js +160 -0
  8. package/dist/app.controller.js.map +1 -0
  9. package/dist/app.module.d.ts +4 -0
  10. package/dist/app.module.js +79 -0
  11. package/dist/app.module.js.map +1 -0
  12. package/dist/app.service.d.ts +3 -0
  13. package/dist/app.service.js +20 -0
  14. package/dist/app.service.js.map +1 -0
  15. package/dist/cloudinary.d.ts +17 -0
  16. package/dist/cloudinary.js +207 -0
  17. package/dist/cloudinary.js.map +1 -0
  18. package/dist/components/ConfigurationInit/configuration.schema.d.ts +38 -0
  19. package/dist/components/ConfigurationInit/configuration.schema.js +31 -0
  20. package/dist/components/ConfigurationInit/configuration.schema.js.map +1 -0
  21. package/dist/components/ConfigurationInit/init.controller.d.ts +7 -0
  22. package/dist/components/ConfigurationInit/init.controller.js +52 -0
  23. package/dist/components/ConfigurationInit/init.controller.js.map +1 -0
  24. package/dist/components/ConfigurationInit/init.module.d.ts +34 -0
  25. package/dist/components/ConfigurationInit/init.module.js +65 -0
  26. package/dist/components/ConfigurationInit/init.module.js.map +1 -0
  27. package/dist/components/ConfigurationInit/init.service.d.ts +35 -0
  28. package/dist/components/ConfigurationInit/init.service.js +59 -0
  29. package/dist/components/ConfigurationInit/init.service.js.map +1 -0
  30. package/dist/components/Telegram/Telegram.controller.d.ts +356 -0
  31. package/dist/components/Telegram/Telegram.controller.js +1366 -0
  32. package/dist/components/Telegram/Telegram.controller.js.map +1 -0
  33. package/dist/components/Telegram/Telegram.module.d.ts +2 -0
  34. package/dist/components/Telegram/Telegram.module.js +47 -0
  35. package/dist/components/Telegram/Telegram.module.js.map +1 -0
  36. package/dist/components/Telegram/Telegram.service.d.ts +453 -0
  37. package/dist/components/Telegram/Telegram.service.js +679 -0
  38. package/dist/components/Telegram/Telegram.service.js.map +1 -0
  39. package/dist/components/Telegram/TelegramManager.d.ts +486 -0
  40. package/dist/components/Telegram/TelegramManager.js +2530 -0
  41. package/dist/components/Telegram/TelegramManager.js.map +1 -0
  42. package/dist/components/Telegram/config/telegram-validation.config.d.ts +15 -0
  43. package/dist/components/Telegram/config/telegram-validation.config.js +47 -0
  44. package/dist/components/Telegram/config/telegram-validation.config.js.map +1 -0
  45. package/dist/components/Telegram/dto/batch-operations.dto.d.ts +24 -0
  46. package/dist/components/Telegram/dto/batch-operations.dto.js +102 -0
  47. package/dist/components/Telegram/dto/batch-operations.dto.js.map +1 -0
  48. package/dist/components/Telegram/dto/channel-operation.dto.d.ts +5 -0
  49. package/dist/components/Telegram/dto/channel-operation.dto.js +35 -0
  50. package/dist/components/Telegram/dto/channel-operation.dto.js.map +1 -0
  51. package/dist/components/Telegram/dto/common-responses.dto.d.ts +18 -0
  52. package/dist/components/Telegram/dto/common-responses.dto.js +52 -0
  53. package/dist/components/Telegram/dto/common-responses.dto.js.map +1 -0
  54. package/dist/components/Telegram/dto/contact-block-list.dto.d.ts +4 -0
  55. package/dist/components/Telegram/dto/contact-block-list.dto.js +28 -0
  56. package/dist/components/Telegram/dto/contact-block-list.dto.js.map +1 -0
  57. package/dist/components/Telegram/dto/contact-management.dto.d.ts +25 -0
  58. package/dist/components/Telegram/dto/contact-management.dto.js +88 -0
  59. package/dist/components/Telegram/dto/contact-management.dto.js.map +1 -0
  60. package/dist/components/Telegram/dto/contact-operation.dto.d.ts +12 -0
  61. package/dist/components/Telegram/dto/contact-operation.dto.js +43 -0
  62. package/dist/components/Telegram/dto/contact-operation.dto.js.map +1 -0
  63. package/dist/components/Telegram/dto/create-chat-folder.dto.d.ts +13 -0
  64. package/dist/components/Telegram/dto/create-chat-folder.dto.js +84 -0
  65. package/dist/components/Telegram/dto/create-chat-folder.dto.js.map +1 -0
  66. package/dist/components/Telegram/dto/group-operations.dto.d.ts +77 -0
  67. package/dist/components/Telegram/dto/group-operations.dto.js +282 -0
  68. package/dist/components/Telegram/dto/group-operations.dto.js.map +1 -0
  69. package/dist/components/Telegram/dto/index.d.ts +12 -0
  70. package/dist/components/Telegram/dto/index.js +32 -0
  71. package/dist/components/Telegram/dto/index.js.map +1 -0
  72. package/dist/components/Telegram/dto/media-filter.dto.d.ts +14 -0
  73. package/dist/components/Telegram/dto/media-filter.dto.js +64 -0
  74. package/dist/components/Telegram/dto/media-filter.dto.js.map +1 -0
  75. package/dist/components/Telegram/dto/media-metadata.dto.d.ts +0 -0
  76. package/dist/components/Telegram/dto/media-metadata.dto.js +1 -0
  77. package/dist/components/Telegram/dto/media-metadata.dto.js.map +1 -0
  78. package/dist/components/Telegram/dto/media-operations.dto.d.ts +38 -0
  79. package/dist/components/Telegram/dto/media-operations.dto.js +152 -0
  80. package/dist/components/Telegram/dto/media-operations.dto.js.map +1 -0
  81. package/dist/components/Telegram/dto/message-operations.dto.d.ts +0 -0
  82. package/dist/components/Telegram/dto/message-operations.dto.js +1 -0
  83. package/dist/components/Telegram/dto/message-operations.dto.js.map +1 -0
  84. package/dist/components/Telegram/dto/message-search.dto.d.ts +15 -0
  85. package/dist/components/Telegram/dto/message-search.dto.js +60 -0
  86. package/dist/components/Telegram/dto/message-search.dto.js.map +1 -0
  87. package/dist/components/Telegram/dto/metadata-operations.dto.d.ts +20 -0
  88. package/dist/components/Telegram/dto/metadata-operations.dto.js +101 -0
  89. package/dist/components/Telegram/dto/metadata-operations.dto.js.map +1 -0
  90. package/dist/components/Telegram/dto/notification-settings.dto.d.ts +15 -0
  91. package/dist/components/Telegram/dto/notification-settings.dto.js +60 -0
  92. package/dist/components/Telegram/dto/notification-settings.dto.js.map +1 -0
  93. package/dist/components/Telegram/dto/profile-settings.dto.d.ts +20 -0
  94. package/dist/components/Telegram/dto/profile-settings.dto.js +91 -0
  95. package/dist/components/Telegram/dto/profile-settings.dto.js.map +1 -0
  96. package/dist/components/Telegram/dto/response-validation.dto.d.ts +7 -0
  97. package/dist/components/Telegram/dto/response-validation.dto.js +37 -0
  98. package/dist/components/Telegram/dto/response-validation.dto.js.map +1 -0
  99. package/dist/components/Telegram/dto/schedule-operations.dto.d.ts +22 -0
  100. package/dist/components/Telegram/dto/schedule-operations.dto.js +97 -0
  101. package/dist/components/Telegram/dto/schedule-operations.dto.js.map +1 -0
  102. package/dist/components/Telegram/dto/update-profile.dto.d.ts +4 -0
  103. package/dist/components/Telegram/dto/update-profile.dto.js +29 -0
  104. package/dist/components/Telegram/dto/update-profile.dto.js.map +1 -0
  105. package/dist/components/Telegram/index.d.ts +5 -0
  106. package/dist/components/Telegram/index.js +22 -0
  107. package/dist/components/Telegram/index.js.map +1 -0
  108. package/dist/components/Telegram/types/client-operations.d.ts +34 -0
  109. package/dist/components/Telegram/types/client-operations.js +3 -0
  110. package/dist/components/Telegram/types/client-operations.js.map +1 -0
  111. package/dist/components/Telegram/types/telegram-error.d.ts +15 -0
  112. package/dist/components/Telegram/types/telegram-error.js +23 -0
  113. package/dist/components/Telegram/types/telegram-error.js.map +1 -0
  114. package/dist/components/Telegram/types/telegram-responses.d.ts +7 -0
  115. package/dist/components/Telegram/types/telegram-responses.js +3 -0
  116. package/dist/components/Telegram/types/telegram-responses.js.map +1 -0
  117. package/dist/components/Telegram/types/telegram-types.d.ts +14 -0
  118. package/dist/components/Telegram/types/telegram-types.js +3 -0
  119. package/dist/components/Telegram/types/telegram-types.js.map +1 -0
  120. package/dist/components/Telegram/utils/client-metadata.d.ts +19 -0
  121. package/dist/components/Telegram/utils/client-metadata.js +71 -0
  122. package/dist/components/Telegram/utils/client-metadata.js.map +1 -0
  123. package/dist/components/Telegram/utils/connection-manager.d.ts +17 -0
  124. package/dist/components/Telegram/utils/connection-manager.js +75 -0
  125. package/dist/components/Telegram/utils/connection-manager.js.map +1 -0
  126. package/dist/components/Telegram/utils/rate-limiter.d.ts +9 -0
  127. package/dist/components/Telegram/utils/rate-limiter.js +31 -0
  128. package/dist/components/Telegram/utils/rate-limiter.js.map +1 -0
  129. package/dist/components/Telegram/utils/telegram-logger.d.ts +10 -0
  130. package/dist/components/Telegram/utils/telegram-logger.js +29 -0
  131. package/dist/components/Telegram/utils/telegram-logger.js.map +1 -0
  132. package/dist/components/TgSignup/TgSignup.module.d.ts +2 -0
  133. package/dist/components/TgSignup/TgSignup.module.js +25 -0
  134. package/dist/components/TgSignup/TgSignup.module.js.map +1 -0
  135. package/dist/components/TgSignup/TgSignup.service.d.ts +24 -0
  136. package/dist/components/TgSignup/TgSignup.service.js +351 -0
  137. package/dist/components/TgSignup/TgSignup.service.js.map +1 -0
  138. package/dist/components/TgSignup/dto/tg-signup.dto.d.ts +16 -0
  139. package/dist/components/TgSignup/dto/tg-signup.dto.js +111 -0
  140. package/dist/components/TgSignup/dto/tg-signup.dto.js.map +1 -0
  141. package/dist/components/TgSignup/tgSignup.controller.d.ts +9 -0
  142. package/dist/components/TgSignup/tgSignup.controller.js +142 -0
  143. package/dist/components/TgSignup/tgSignup.controller.js.map +1 -0
  144. package/dist/components/active-channels/active-channels.controller.d.ts +19 -0
  145. package/dist/components/active-channels/active-channels.controller.js +168 -0
  146. package/dist/components/active-channels/active-channels.controller.js.map +1 -0
  147. package/dist/components/active-channels/active-channels.module.d.ts +2 -0
  148. package/dist/components/active-channels/active-channels.module.js +32 -0
  149. package/dist/components/active-channels/active-channels.module.js.map +1 -0
  150. package/dist/components/active-channels/active-channels.service.d.ts +61 -0
  151. package/dist/components/active-channels/active-channels.service.js +229 -0
  152. package/dist/components/active-channels/active-channels.service.js.map +1 -0
  153. package/dist/components/active-channels/dto/add-reaction.dto.d.ts +3 -0
  154. package/dist/components/active-channels/dto/add-reaction.dto.js +21 -0
  155. package/dist/components/active-channels/dto/add-reaction.dto.js.map +1 -0
  156. package/dist/components/active-channels/dto/create-active-channel.dto.d.ts +19 -0
  157. package/dist/components/active-channels/dto/create-active-channel.dto.js +117 -0
  158. package/dist/components/active-channels/dto/create-active-channel.dto.js.map +1 -0
  159. package/dist/components/active-channels/dto/update-active-channel.dto.d.ts +5 -0
  160. package/dist/components/active-channels/dto/update-active-channel.dto.js +9 -0
  161. package/dist/components/active-channels/dto/update-active-channel.dto.js.map +1 -0
  162. package/dist/components/active-channels/schemas/active-channel.schema.d.ts +56 -0
  163. package/dist/components/active-channels/schemas/active-channel.schema.js +142 -0
  164. package/dist/components/active-channels/schemas/active-channel.schema.js.map +1 -0
  165. package/dist/components/archived-clients/archived-client.controller.d.ts +18 -0
  166. package/dist/components/archived-clients/archived-client.controller.js +137 -0
  167. package/dist/components/archived-clients/archived-client.controller.js.map +1 -0
  168. package/dist/components/archived-clients/archived-client.module.d.ts +2 -0
  169. package/dist/components/archived-clients/archived-client.module.js +34 -0
  170. package/dist/components/archived-clients/archived-client.module.js.map +1 -0
  171. package/dist/components/archived-clients/archived-client.service.d.ts +46 -0
  172. package/dist/components/archived-clients/archived-client.service.js +147 -0
  173. package/dist/components/archived-clients/archived-client.service.js.map +1 -0
  174. package/dist/components/buffer-clients/buffer-client.controller.d.ts +24 -0
  175. package/dist/components/buffer-clients/buffer-client.controller.js +174 -0
  176. package/dist/components/buffer-clients/buffer-client.controller.js.map +1 -0
  177. package/dist/components/buffer-clients/buffer-client.module.d.ts +2 -0
  178. package/dist/components/buffer-clients/buffer-client.module.js +42 -0
  179. package/dist/components/buffer-clients/buffer-client.module.js.map +1 -0
  180. package/dist/components/buffer-clients/buffer-client.service.d.ts +75 -0
  181. package/dist/components/buffer-clients/buffer-client.service.js +533 -0
  182. package/dist/components/buffer-clients/buffer-client.service.js.map +1 -0
  183. package/dist/components/buffer-clients/dto/create-buffer-client.dto.d.ts +7 -0
  184. package/dist/components/buffer-clients/dto/create-buffer-client.dto.js +59 -0
  185. package/dist/components/buffer-clients/dto/create-buffer-client.dto.js.map +1 -0
  186. package/dist/components/buffer-clients/dto/search-buffer- client.dto.d.ts +7 -0
  187. package/dist/components/buffer-clients/dto/search-buffer- client.dto.js +63 -0
  188. package/dist/components/buffer-clients/dto/search-buffer- client.dto.js.map +1 -0
  189. package/dist/components/buffer-clients/dto/update-buffer-client.dto.d.ts +5 -0
  190. package/dist/components/buffer-clients/dto/update-buffer-client.dto.js +9 -0
  191. package/dist/components/buffer-clients/dto/update-buffer-client.dto.js.map +1 -0
  192. package/dist/components/buffer-clients/schemas/buffer-client.schema.d.ts +43 -0
  193. package/dist/components/buffer-clients/schemas/buffer-client.schema.js +49 -0
  194. package/dist/components/buffer-clients/schemas/buffer-client.schema.js.map +1 -0
  195. package/dist/components/builds/build.controller.d.ts +7 -0
  196. package/dist/components/builds/build.controller.js +52 -0
  197. package/dist/components/builds/build.controller.js.map +1 -0
  198. package/dist/components/builds/build.module.d.ts +2 -0
  199. package/dist/components/builds/build.module.js +32 -0
  200. package/dist/components/builds/build.module.js.map +1 -0
  201. package/dist/components/builds/build.service.d.ts +36 -0
  202. package/dist/components/builds/build.service.js +58 -0
  203. package/dist/components/builds/build.service.js.map +1 -0
  204. package/dist/components/builds/builds.schema.d.ts +38 -0
  205. package/dist/components/builds/builds.schema.js +29 -0
  206. package/dist/components/builds/builds.schema.js.map +1 -0
  207. package/dist/components/channels/channels.controller.d.ts +16 -0
  208. package/dist/components/channels/channels.controller.js +112 -0
  209. package/dist/components/channels/channels.controller.js.map +1 -0
  210. package/dist/components/channels/channels.module.d.ts +2 -0
  211. package/dist/components/channels/channels.module.js +30 -0
  212. package/dist/components/channels/channels.module.js.map +1 -0
  213. package/dist/components/channels/channels.service.d.ts +43 -0
  214. package/dist/components/channels/channels.service.js +167 -0
  215. package/dist/components/channels/channels.service.js.map +1 -0
  216. package/dist/components/channels/dto/create-channel.dto.d.ts +13 -0
  217. package/dist/components/channels/dto/create-channel.dto.js +104 -0
  218. package/dist/components/channels/dto/create-channel.dto.js.map +1 -0
  219. package/dist/components/channels/dto/search-channel.dto.d.ts +9 -0
  220. package/dist/components/channels/dto/search-channel.dto.js +66 -0
  221. package/dist/components/channels/dto/search-channel.dto.js.map +1 -0
  222. package/dist/components/channels/dto/update-channel.dto.d.ts +5 -0
  223. package/dist/components/channels/dto/update-channel.dto.js +9 -0
  224. package/dist/components/channels/dto/update-channel.dto.js.map +1 -0
  225. package/dist/components/channels/schemas/channel.schema.d.ts +49 -0
  226. package/dist/components/channels/schemas/channel.schema.js +93 -0
  227. package/dist/components/channels/schemas/channel.schema.js.map +1 -0
  228. package/dist/components/clients/client.controller.d.ts +32 -0
  229. package/dist/components/clients/client.controller.js +230 -0
  230. package/dist/components/clients/client.controller.js.map +1 -0
  231. package/dist/components/clients/client.module.d.ts +2 -0
  232. package/dist/components/clients/client.module.js +40 -0
  233. package/dist/components/clients/client.module.js.map +1 -0
  234. package/dist/components/clients/client.service.d.ts +76 -0
  235. package/dist/components/clients/client.service.js +417 -0
  236. package/dist/components/clients/client.service.js.map +1 -0
  237. package/dist/components/clients/dto/create-client.dto.d.ts +17 -0
  238. package/dist/components/clients/dto/create-client.dto.js +77 -0
  239. package/dist/components/clients/dto/create-client.dto.js.map +1 -0
  240. package/dist/components/clients/dto/search-client.dto.d.ts +16 -0
  241. package/dist/components/clients/dto/search-client.dto.js +119 -0
  242. package/dist/components/clients/dto/search-client.dto.js.map +1 -0
  243. package/dist/components/clients/dto/setup-client.dto.d.ts +6 -0
  244. package/dist/components/clients/dto/setup-client.dto.js +66 -0
  245. package/dist/components/clients/dto/setup-client.dto.js.map +1 -0
  246. package/dist/components/clients/dto/update-client.dto.d.ts +5 -0
  247. package/dist/components/clients/dto/update-client.dto.js +9 -0
  248. package/dist/components/clients/dto/update-client.dto.js.map +1 -0
  249. package/dist/components/clients/schemas/client.schema.d.ts +53 -0
  250. package/dist/components/clients/schemas/client.schema.js +105 -0
  251. package/dist/components/clients/schemas/client.schema.js.map +1 -0
  252. package/dist/components/n-point/npoint.controller.d.ts +9 -0
  253. package/dist/components/n-point/npoint.controller.js +134 -0
  254. package/dist/components/n-point/npoint.controller.js.map +1 -0
  255. package/dist/components/n-point/npoint.module.d.ts +2 -0
  256. package/dist/components/n-point/npoint.module.js +23 -0
  257. package/dist/components/n-point/npoint.module.js.map +1 -0
  258. package/dist/components/n-point/npoint.service.d.ts +14 -0
  259. package/dist/components/n-point/npoint.service.js +158 -0
  260. package/dist/components/n-point/npoint.service.js.map +1 -0
  261. package/dist/components/promote-clients/dto/create-promote-client.dto.d.ts +7 -0
  262. package/dist/components/promote-clients/dto/create-promote-client.dto.js +59 -0
  263. package/dist/components/promote-clients/dto/create-promote-client.dto.js.map +1 -0
  264. package/dist/components/promote-clients/dto/search-promote-client.dto.d.ts +6 -0
  265. package/dist/components/promote-clients/dto/search-promote-client.dto.js +54 -0
  266. package/dist/components/promote-clients/dto/search-promote-client.dto.js.map +1 -0
  267. package/dist/components/promote-clients/dto/update-promote-client.dto.d.ts +5 -0
  268. package/dist/components/promote-clients/dto/update-promote-client.dto.js +9 -0
  269. package/dist/components/promote-clients/dto/update-promote-client.dto.js.map +1 -0
  270. package/dist/components/promote-clients/promote-client.controller.d.ts +24 -0
  271. package/dist/components/promote-clients/promote-client.controller.js +174 -0
  272. package/dist/components/promote-clients/promote-client.controller.js.map +1 -0
  273. package/dist/components/promote-clients/promote-client.module.d.ts +2 -0
  274. package/dist/components/promote-clients/promote-client.module.js +42 -0
  275. package/dist/components/promote-clients/promote-client.module.js.map +1 -0
  276. package/dist/components/promote-clients/promote-client.service.d.ts +73 -0
  277. package/dist/components/promote-clients/promote-client.service.js +564 -0
  278. package/dist/components/promote-clients/promote-client.service.js.map +1 -0
  279. package/dist/components/promote-clients/schemas/promote-client.schema.d.ts +43 -0
  280. package/dist/components/promote-clients/schemas/promote-client.schema.js +49 -0
  281. package/dist/components/promote-clients/schemas/promote-client.schema.js.map +1 -0
  282. package/dist/components/promote-msgs/promote-msgs.controller.d.ts +7 -0
  283. package/dist/components/promote-msgs/promote-msgs.controller.js +52 -0
  284. package/dist/components/promote-msgs/promote-msgs.controller.js.map +1 -0
  285. package/dist/components/promote-msgs/promote-msgs.module.d.ts +2 -0
  286. package/dist/components/promote-msgs/promote-msgs.module.js +30 -0
  287. package/dist/components/promote-msgs/promote-msgs.module.js.map +1 -0
  288. package/dist/components/promote-msgs/promote-msgs.schema.d.ts +38 -0
  289. package/dist/components/promote-msgs/promote-msgs.schema.js +29 -0
  290. package/dist/components/promote-msgs/promote-msgs.schema.js.map +1 -0
  291. package/dist/components/promote-msgs/promote-msgs.service.d.ts +34 -0
  292. package/dist/components/promote-msgs/promote-msgs.service.js +48 -0
  293. package/dist/components/promote-msgs/promote-msgs.service.js.map +1 -0
  294. package/dist/components/promote-stats/dto/create-promote-stat.dto.d.ts +10 -0
  295. package/dist/components/promote-stats/dto/create-promote-stat.dto.js +49 -0
  296. package/dist/components/promote-stats/dto/create-promote-stat.dto.js.map +1 -0
  297. package/dist/components/promote-stats/dto/update-promote-stat.dto.d.ts +5 -0
  298. package/dist/components/promote-stats/dto/update-promote-stat.dto.js +9 -0
  299. package/dist/components/promote-stats/dto/update-promote-stat.dto.js.map +1 -0
  300. package/dist/components/promote-stats/promote-stat.controller.d.ts +12 -0
  301. package/dist/components/promote-stats/promote-stat.controller.js +82 -0
  302. package/dist/components/promote-stats/promote-stat.controller.js.map +1 -0
  303. package/dist/components/promote-stats/promote-stat.module.d.ts +2 -0
  304. package/dist/components/promote-stats/promote-stat.module.js +31 -0
  305. package/dist/components/promote-stats/promote-stat.module.js.map +1 -0
  306. package/dist/components/promote-stats/promote-stat.service.d.ts +42 -0
  307. package/dist/components/promote-stats/promote-stat.service.js +80 -0
  308. package/dist/components/promote-stats/promote-stat.service.js.map +1 -0
  309. package/dist/components/promote-stats/schemas/promote-stat.schema.d.ts +46 -0
  310. package/dist/components/promote-stats/schemas/promote-stat.schema.js +62 -0
  311. package/dist/components/promote-stats/schemas/promote-stat.schema.js.map +1 -0
  312. package/dist/components/shared/dto/execute-request.dto.d.ts +21 -0
  313. package/dist/components/shared/dto/execute-request.dto.js +86 -0
  314. package/dist/components/shared/dto/execute-request.dto.js.map +1 -0
  315. package/dist/components/stats/create-stat.dto.d.ts +14 -0
  316. package/dist/components/stats/create-stat.dto.js +65 -0
  317. package/dist/components/stats/create-stat.dto.js.map +1 -0
  318. package/dist/components/stats/stat.controller.d.ts +12 -0
  319. package/dist/components/stats/stat.controller.js +85 -0
  320. package/dist/components/stats/stat.controller.js.map +1 -0
  321. package/dist/components/stats/stat.module.d.ts +2 -0
  322. package/dist/components/stats/stat.module.js +30 -0
  323. package/dist/components/stats/stat.module.js.map +1 -0
  324. package/dist/components/stats/stat.schema.d.ts +50 -0
  325. package/dist/components/stats/stat.schema.js +83 -0
  326. package/dist/components/stats/stat.schema.js.map +1 -0
  327. package/dist/components/stats/stat.service.d.ts +39 -0
  328. package/dist/components/stats/stat.service.js +61 -0
  329. package/dist/components/stats/stat.service.js.map +1 -0
  330. package/dist/components/stats/update-stat.dto.d.ts +5 -0
  331. package/dist/components/stats/update-stat.dto.js +9 -0
  332. package/dist/components/stats/update-stat.dto.js.map +1 -0
  333. package/dist/components/stats2/create-stat2.dto.d.ts +14 -0
  334. package/dist/components/stats2/create-stat2.dto.js +65 -0
  335. package/dist/components/stats2/create-stat2.dto.js.map +1 -0
  336. package/dist/components/stats2/stat2.controller.d.ts +12 -0
  337. package/dist/components/stats2/stat2.controller.js +85 -0
  338. package/dist/components/stats2/stat2.controller.js.map +1 -0
  339. package/dist/components/stats2/stat2.module.d.ts +2 -0
  340. package/dist/components/stats2/stat2.module.js +30 -0
  341. package/dist/components/stats2/stat2.module.js.map +1 -0
  342. package/dist/components/stats2/stat2.schema.d.ts +50 -0
  343. package/dist/components/stats2/stat2.schema.js +83 -0
  344. package/dist/components/stats2/stat2.schema.js.map +1 -0
  345. package/dist/components/stats2/stat2.service.d.ts +39 -0
  346. package/dist/components/stats2/stat2.service.js +61 -0
  347. package/dist/components/stats2/stat2.service.js.map +1 -0
  348. package/dist/components/stats2/update-stat2.dto.d.ts +5 -0
  349. package/dist/components/stats2/update-stat2.dto.js +9 -0
  350. package/dist/components/stats2/update-stat2.dto.js.map +1 -0
  351. package/dist/components/transactions/dto/create-transaction.dto.d.ts +10 -0
  352. package/dist/components/transactions/dto/create-transaction.dto.js +49 -0
  353. package/dist/components/transactions/dto/create-transaction.dto.js.map +1 -0
  354. package/dist/components/transactions/dto/update-transaction.dto.d.ts +5 -0
  355. package/dist/components/transactions/dto/update-transaction.dto.js +9 -0
  356. package/dist/components/transactions/dto/update-transaction.dto.js.map +1 -0
  357. package/dist/components/transactions/schemas/transaction.schema.d.ts +45 -0
  358. package/dist/components/transactions/schemas/transaction.schema.js +54 -0
  359. package/dist/components/transactions/schemas/transaction.schema.js.map +1 -0
  360. package/dist/components/transactions/transaction.controller.d.ts +15 -0
  361. package/dist/components/transactions/transaction.controller.js +99 -0
  362. package/dist/components/transactions/transaction.controller.js.map +1 -0
  363. package/dist/components/transactions/transaction.module.d.ts +2 -0
  364. package/dist/components/transactions/transaction.module.js +30 -0
  365. package/dist/components/transactions/transaction.module.js.map +1 -0
  366. package/dist/components/transactions/transaction.service.d.ts +41 -0
  367. package/dist/components/transactions/transaction.service.js +77 -0
  368. package/dist/components/transactions/transaction.service.js.map +1 -0
  369. package/dist/components/upi-ids/upi-ids.controller.d.ts +7 -0
  370. package/dist/components/upi-ids/upi-ids.controller.js +52 -0
  371. package/dist/components/upi-ids/upi-ids.controller.js.map +1 -0
  372. package/dist/components/upi-ids/upi-ids.module.d.ts +2 -0
  373. package/dist/components/upi-ids/upi-ids.module.js +32 -0
  374. package/dist/components/upi-ids/upi-ids.module.js.map +1 -0
  375. package/dist/components/upi-ids/upi-ids.schema.d.ts +38 -0
  376. package/dist/components/upi-ids/upi-ids.schema.js +33 -0
  377. package/dist/components/upi-ids/upi-ids.schema.js.map +1 -0
  378. package/dist/components/upi-ids/upi-ids.service.d.ts +39 -0
  379. package/dist/components/upi-ids/upi-ids.service.js +83 -0
  380. package/dist/components/upi-ids/upi-ids.service.js.map +1 -0
  381. package/dist/components/user-data/dto/create-user-data.dto.d.ts +22 -0
  382. package/dist/components/user-data/dto/create-user-data.dto.js +97 -0
  383. package/dist/components/user-data/dto/create-user-data.dto.js.map +1 -0
  384. package/dist/components/user-data/dto/search-user-data.dto.d.ts +18 -0
  385. package/dist/components/user-data/dto/search-user-data.dto.js +83 -0
  386. package/dist/components/user-data/dto/search-user-data.dto.js.map +1 -0
  387. package/dist/components/user-data/dto/update-user-data.dto.d.ts +5 -0
  388. package/dist/components/user-data/dto/update-user-data.dto.js +9 -0
  389. package/dist/components/user-data/dto/update-user-data.dto.js.map +1 -0
  390. package/dist/components/user-data/schemas/user-data.schema.d.ts +59 -0
  391. package/dist/components/user-data/schemas/user-data.schema.js +113 -0
  392. package/dist/components/user-data/schemas/user-data.schema.js.map +1 -0
  393. package/dist/components/user-data/user-data.controller.d.ts +18 -0
  394. package/dist/components/user-data/user-data.controller.js +141 -0
  395. package/dist/components/user-data/user-data.controller.js.map +1 -0
  396. package/dist/components/user-data/user-data.module.d.ts +2 -0
  397. package/dist/components/user-data/user-data.module.js +30 -0
  398. package/dist/components/user-data/user-data.module.js.map +1 -0
  399. package/dist/components/user-data/user-data.service.d.ts +46 -0
  400. package/dist/components/user-data/user-data.service.js +131 -0
  401. package/dist/components/user-data/user-data.service.js.map +1 -0
  402. package/dist/components/users/dto/create-user.dto.d.ts +33 -0
  403. package/dist/components/users/dto/create-user.dto.js +142 -0
  404. package/dist/components/users/dto/create-user.dto.js.map +1 -0
  405. package/dist/components/users/dto/search-user.dto.d.ts +24 -0
  406. package/dist/components/users/dto/search-user.dto.js +152 -0
  407. package/dist/components/users/dto/search-user.dto.js.map +1 -0
  408. package/dist/components/users/dto/update-user.dto.d.ts +5 -0
  409. package/dist/components/users/dto/update-user.dto.js +9 -0
  410. package/dist/components/users/dto/update-user.dto.js.map +1 -0
  411. package/dist/components/users/schemas/user.schema.d.ts +70 -0
  412. package/dist/components/users/schemas/user.schema.js +179 -0
  413. package/dist/components/users/schemas/user.schema.js.map +1 -0
  414. package/dist/components/users/users.controller.d.ts +16 -0
  415. package/dist/components/users/users.controller.js +120 -0
  416. package/dist/components/users/users.controller.js.map +1 -0
  417. package/dist/components/users/users.module.d.ts +2 -0
  418. package/dist/components/users/users.module.js +34 -0
  419. package/dist/components/users/users.module.js.map +1 -0
  420. package/dist/components/users/users.service.d.ts +46 -0
  421. package/dist/components/users/users.service.js +117 -0
  422. package/dist/components/users/users.service.js.map +1 -0
  423. package/dist/features/clients/index.d.ts +14 -0
  424. package/dist/features/clients/index.js +31 -0
  425. package/dist/features/clients/index.js.map +1 -0
  426. package/dist/features/stats/index.d.ts +10 -0
  427. package/dist/features/stats/index.js +31 -0
  428. package/dist/features/stats/index.js.map +1 -0
  429. package/dist/features/telegram/index.d.ts +4 -0
  430. package/dist/features/telegram/index.js +26 -0
  431. package/dist/features/telegram/index.js.map +1 -0
  432. package/dist/index.d.ts +30 -0
  433. package/dist/index.js +45 -0
  434. package/dist/index.js.map +1 -0
  435. package/dist/interfaces/telegram.d.ts +86 -0
  436. package/dist/interfaces/telegram.js +10 -0
  437. package/dist/interfaces/telegram.js.map +1 -0
  438. package/dist/main.d.ts +1 -0
  439. package/dist/main.js +81 -0
  440. package/dist/main.js.map +1 -0
  441. package/dist/middlewares/logger.middleware.d.ts +6 -0
  442. package/dist/middlewares/logger.middleware.js +60 -0
  443. package/dist/middlewares/logger.middleware.js.map +1 -0
  444. package/dist/tsconfig.build.tsbuildinfo +1 -0
  445. package/dist/utils/fetchWithTimeout.d.ts +4 -0
  446. package/dist/utils/fetchWithTimeout.js +180 -0
  447. package/dist/utils/fetchWithTimeout.js.map +1 -0
  448. package/dist/utils/index.d.ts +4 -0
  449. package/dist/utils/index.js +16 -0
  450. package/dist/utils/index.js.map +1 -0
  451. package/dist/utils/logbots.d.ts +2 -0
  452. package/dist/utils/logbots.js +36 -0
  453. package/dist/utils/logbots.js.map +1 -0
  454. package/dist/utils/parseError.d.ts +6 -0
  455. package/dist/utils/parseError.js +115 -0
  456. package/dist/utils/parseError.js.map +1 -0
  457. package/dist/utils.d.ts +8 -0
  458. package/dist/utils.js +87 -0
  459. package/dist/utils.js.map +1 -0
  460. package/package.json +109 -0
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectionManager = void 0;
4
+ const telegram_error_1 = require("../types/telegram-error");
5
+ const rate_limiter_1 = require("./rate-limiter");
6
+ class ConnectionManager {
7
+ constructor() {
8
+ this.clientRateLimiter = new rate_limiter_1.RateLimiter(60000, 5);
9
+ this.operationRateLimiter = new rate_limiter_1.RateLimiter(60000, 30);
10
+ this.activeConnections = new Map();
11
+ }
12
+ static getInstance() {
13
+ if (!ConnectionManager.instance) {
14
+ ConnectionManager.instance = new ConnectionManager();
15
+ }
16
+ return ConnectionManager.instance;
17
+ }
18
+ async acquireConnection(mobile, client) {
19
+ await this.clientRateLimiter.waitForRateLimit(mobile);
20
+ this.activeConnections.set(mobile, {
21
+ client,
22
+ lastUsed: Date.now()
23
+ });
24
+ }
25
+ async releaseConnection(mobile) {
26
+ const connection = this.activeConnections.get(mobile);
27
+ if (connection) {
28
+ try {
29
+ await connection.client.disconnect();
30
+ }
31
+ catch (error) {
32
+ console.error(`Error disconnecting client ${mobile}:`, error);
33
+ }
34
+ finally {
35
+ this.activeConnections.delete(mobile);
36
+ }
37
+ }
38
+ }
39
+ async cleanupInactiveConnections(maxIdleTime = 180000) {
40
+ const now = Date.now();
41
+ for (const [mobile, connection] of this.activeConnections.entries()) {
42
+ if (now - connection.lastUsed > maxIdleTime) {
43
+ console.log(`Releasing inactive connection for ${mobile}`);
44
+ await this.releaseConnection(mobile);
45
+ }
46
+ }
47
+ }
48
+ async executeWithRateLimit(mobile, operation) {
49
+ await this.operationRateLimiter.waitForRateLimit(mobile);
50
+ try {
51
+ return await operation();
52
+ }
53
+ catch (error) {
54
+ if (error.message?.includes('FLOOD_WAIT')) {
55
+ throw new telegram_error_1.TelegramError('Rate limit exceeded', telegram_error_1.TelegramErrorCode.FLOOD_WAIT, { waitTime: parseInt(error.message.match(/\d+/)?.[0] || '0') });
56
+ }
57
+ throw error;
58
+ }
59
+ }
60
+ updateLastUsed(mobile) {
61
+ const connection = this.activeConnections.get(mobile);
62
+ if (connection) {
63
+ connection.lastUsed = Date.now();
64
+ this.activeConnections.set(mobile, connection);
65
+ }
66
+ }
67
+ getActiveConnectionCount() {
68
+ return this.activeConnections.size;
69
+ }
70
+ startCleanupInterval(interval = 60000) {
71
+ return setInterval(() => this.cleanupInactiveConnections(), interval);
72
+ }
73
+ }
74
+ exports.ConnectionManager = ConnectionManager;
75
+ //# sourceMappingURL=connection-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/connection-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class RateLimiter {
2
+ private timestamps;
3
+ private readonly windowMs;
4
+ private readonly maxRequests;
5
+ constructor(windowMs: number, maxRequests: number);
6
+ checkRateLimit(key: string): Promise<boolean>;
7
+ waitForRateLimit(key: string): Promise<void>;
8
+ resetLimit(key: string): void;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateLimiter = void 0;
4
+ class RateLimiter {
5
+ constructor(windowMs, maxRequests) {
6
+ this.timestamps = new Map();
7
+ this.windowMs = windowMs;
8
+ this.maxRequests = maxRequests;
9
+ }
10
+ async checkRateLimit(key) {
11
+ const now = Date.now();
12
+ const timestamps = this.timestamps.get(key) || [];
13
+ const validTimestamps = timestamps.filter(timestamp => now - timestamp < this.windowMs);
14
+ if (validTimestamps.length >= this.maxRequests) {
15
+ return false;
16
+ }
17
+ validTimestamps.push(now);
18
+ this.timestamps.set(key, validTimestamps);
19
+ return true;
20
+ }
21
+ async waitForRateLimit(key) {
22
+ while (!(await this.checkRateLimit(key))) {
23
+ await new Promise(resolve => setTimeout(resolve, 1000));
24
+ }
25
+ }
26
+ resetLimit(key) {
27
+ this.timestamps.delete(key);
28
+ }
29
+ }
30
+ exports.RateLimiter = RateLimiter;
31
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/rate-limiter.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAKpB,YAAY,QAAgB,EAAE,WAAmB;QAJzC,eAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;QAKlD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAGlD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACrC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAC/C,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAC9B,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAW;QAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ;AArCD,kCAqCC"}
@@ -0,0 +1,10 @@
1
+ export declare class TelegramLogger {
2
+ private static instance;
3
+ private logger;
4
+ private constructor();
5
+ static getInstance(): TelegramLogger;
6
+ logOperation(mobile: string, operation: string, details?: any): void;
7
+ logError(mobile: string, operation: string, error: any): void;
8
+ logWarning(mobile: string, message: string, details?: any): void;
9
+ logDebug(mobile: string, message: string, details?: any): void;
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TelegramLogger = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class TelegramLogger {
6
+ constructor() {
7
+ this.logger = new common_1.Logger('TelegramService');
8
+ }
9
+ static getInstance() {
10
+ if (!TelegramLogger.instance) {
11
+ TelegramLogger.instance = new TelegramLogger();
12
+ }
13
+ return TelegramLogger.instance;
14
+ }
15
+ logOperation(mobile, operation, details) {
16
+ this.logger.log(`[${mobile}] ${operation} - ${JSON.stringify(details || {})}`);
17
+ }
18
+ logError(mobile, operation, error) {
19
+ this.logger.error(`[${mobile}] ${operation} failed - ${error.message}`, error.stack);
20
+ }
21
+ logWarning(mobile, message, details) {
22
+ this.logger.warn(`[${mobile}] ${message} - ${JSON.stringify(details || {})}`);
23
+ }
24
+ logDebug(mobile, message, details) {
25
+ this.logger.debug(`[${mobile}] ${message} - ${JSON.stringify(details || {})}`);
26
+ }
27
+ }
28
+ exports.TelegramLogger = TelegramLogger;
29
+ //# sourceMappingURL=telegram-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram-logger.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/telegram-logger.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,MAAa,cAAc;IAIvB;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC3B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAa;QACzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,SAAiB,EAAE,KAAU;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,MAAM,KAAK,SAAS,aAAa,KAAK,CAAC,OAAO,EAAE,EACpD,KAAK,CAAC,KAAK,CACd,CAAC;IACN,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,OAAe,EAAE,OAAa;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,OAAa;QACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;CACJ;AAjCD,wCAiCC"}
@@ -0,0 +1,2 @@
1
+ export declare class TgSignupModule {
2
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TgSignupModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const tgSignup_controller_1 = require("./tgSignup.controller");
12
+ const users_module_1 = require("../users/users.module");
13
+ const TgSignup_service_1 = require("./TgSignup.service");
14
+ let TgSignupModule = class TgSignupModule {
15
+ };
16
+ exports.TgSignupModule = TgSignupModule;
17
+ exports.TgSignupModule = TgSignupModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [(0, common_1.forwardRef)(() => users_module_1.UsersModule)],
20
+ controllers: [tgSignup_controller_1.TgSignupController],
21
+ providers: [TgSignup_service_1.TgSignupService],
22
+ exports: [TgSignup_service_1.TgSignupService]
23
+ })
24
+ ], TgSignupModule);
25
+ //# sourceMappingURL=TgSignup.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TgSignup.module.js","sourceRoot":"","sources":["../../../src/components/TgSignup/TgSignup.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,+DAA2D;AAC3D,wDAAoD;AACpD,yDAAqD;AAQ9C,IAAM,cAAc,GAApB,MAAM,cAAc;CAAI,CAAA;AAAlB,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE,CAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC;QACxC,WAAW,EAAE,CAAC,wCAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,kCAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,kCAAe,CAAC;KAC7B,CAAC;GACW,cAAc,CAAI"}
@@ -0,0 +1,24 @@
1
+ import { OnModuleDestroy } from "@nestjs/common";
2
+ import { UsersService } from "../users/users.service";
3
+ import { TgSignupResponse } from "./dto/tg-signup.dto";
4
+ export declare class TgSignupService implements OnModuleDestroy {
5
+ private readonly usersService;
6
+ private readonly logger;
7
+ private static readonly LOGIN_TIMEOUT;
8
+ private static readonly SESSION_CLEANUP_INTERVAL;
9
+ private static readonly PHONE_PREFIX;
10
+ private readonly cleanupInterval;
11
+ private static readonly activeClients;
12
+ private static readonly API_CREDENTIALS;
13
+ constructor(usersService: UsersService);
14
+ onModuleDestroy(): Promise<void>;
15
+ private getRandomCredentials;
16
+ private cleanupStaleSessions;
17
+ private validatePhoneNumber;
18
+ private disconnectClient;
19
+ sendCode(phone: string): Promise<Pick<TgSignupResponse, 'phoneCodeHash' | 'isCodeViaApp'>>;
20
+ verifyCode(phone: string, code: string, password?: string): Promise<TgSignupResponse>;
21
+ private handle2FALogin;
22
+ private handleNewUserRegistration;
23
+ private processLoginResult;
24
+ }
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var TgSignupService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.TgSignupService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const tl_1 = require("telegram/tl");
16
+ const telegram_1 = require("telegram");
17
+ const sessions_1 = require("telegram/sessions");
18
+ const Logger_1 = require("telegram/extensions/Logger");
19
+ const Password_1 = require("telegram/Password");
20
+ const users_service_1 = require("../users/users.service");
21
+ const parseError_1 = require("../../utils/parseError");
22
+ let TgSignupService = TgSignupService_1 = class TgSignupService {
23
+ constructor(usersService) {
24
+ this.usersService = usersService;
25
+ this.logger = new common_1.Logger(TgSignupService_1.name);
26
+ this.cleanupInterval = setInterval(() => this.cleanupStaleSessions(), TgSignupService_1.SESSION_CLEANUP_INTERVAL);
27
+ }
28
+ async onModuleDestroy() {
29
+ clearInterval(this.cleanupInterval);
30
+ const phones = Array.from(TgSignupService_1.activeClients.keys());
31
+ await Promise.all(phones.map(phone => this.disconnectClient(phone)));
32
+ }
33
+ getRandomCredentials() {
34
+ const index = Math.floor(Math.random() * TgSignupService_1.API_CREDENTIALS.length);
35
+ return TgSignupService_1.API_CREDENTIALS[index];
36
+ }
37
+ async cleanupStaleSessions() {
38
+ for (const [phone, session] of TgSignupService_1.activeClients) {
39
+ try {
40
+ if (Date.now() - session.createdAt > TgSignupService_1.LOGIN_TIMEOUT &&
41
+ (!session.client || !session.client.connected)) {
42
+ await this.disconnectClient(phone);
43
+ }
44
+ }
45
+ catch (error) {
46
+ this.logger.warn(`Error cleaning up session for ${phone}: ${error.message}`);
47
+ }
48
+ }
49
+ }
50
+ validatePhoneNumber(phone) {
51
+ phone = phone.replace(/^\+/, '');
52
+ if (!/^\d{8,15}$/.test(phone)) {
53
+ throw new common_1.BadRequestException('Please enter a valid phone number');
54
+ }
55
+ return phone;
56
+ }
57
+ async disconnectClient(phone) {
58
+ const session = TgSignupService_1.activeClients.get(phone);
59
+ if (session) {
60
+ try {
61
+ clearTimeout(session.timeoutId);
62
+ if (session.client?.connected) {
63
+ await session.client.disconnect();
64
+ }
65
+ if (session.client) {
66
+ await session.client.destroy();
67
+ }
68
+ }
69
+ catch (error) {
70
+ this.logger.warn(`Error disconnecting client for ${phone}: ${error.message}`);
71
+ }
72
+ finally {
73
+ TgSignupService_1.activeClients.delete(phone);
74
+ }
75
+ }
76
+ }
77
+ async sendCode(phone) {
78
+ try {
79
+ phone = this.validatePhoneNumber(phone);
80
+ const existingSession = TgSignupService_1.activeClients.get(phone);
81
+ if (existingSession && existingSession.client?.connected) {
82
+ await this.disconnectClient(phone);
83
+ }
84
+ const { apiId, apiHash } = this.getRandomCredentials();
85
+ const session = new sessions_1.StringSession('');
86
+ const client = new telegram_1.TelegramClient(session, apiId, apiHash, {
87
+ connectionRetries: 5,
88
+ retryDelay: 2000,
89
+ useWSS: true,
90
+ timeout: 30000
91
+ });
92
+ await client.setLogLevel(Logger_1.LogLevel.ERROR);
93
+ await client.connect();
94
+ const sendResult = await client.invoke(new tl_1.Api.auth.SendCode({
95
+ phoneNumber: phone,
96
+ apiId,
97
+ apiHash,
98
+ settings: new tl_1.Api.CodeSettings({
99
+ currentNumber: true,
100
+ allowAppHash: true,
101
+ }),
102
+ }));
103
+ if (sendResult instanceof tl_1.Api.auth.SentCodeSuccess) {
104
+ this.logger.error(`Unexpected immediate login for ${phone}`);
105
+ throw new common_1.BadRequestException('Unexpected immediate login');
106
+ }
107
+ const timeoutId = setTimeout(() => this.disconnectClient(phone), TgSignupService_1.LOGIN_TIMEOUT);
108
+ TgSignupService_1.activeClients.set(phone, {
109
+ client,
110
+ phoneCodeHash: sendResult.phoneCodeHash,
111
+ timeoutId,
112
+ createdAt: Date.now()
113
+ });
114
+ return {
115
+ phoneCodeHash: sendResult.phoneCodeHash,
116
+ isCodeViaApp: sendResult.type instanceof tl_1.Api.auth.SentCodeTypeApp,
117
+ };
118
+ }
119
+ catch (error) {
120
+ this.logger.error(`Failed to send code to ${phone}: ${error.message}`, error.stack);
121
+ await this.disconnectClient(phone);
122
+ if (error.errorMessage?.includes('PHONE_NUMBER_BANNED')) {
123
+ throw new common_1.BadRequestException('This phone number has been banned from Telegram');
124
+ }
125
+ if (error.errorMessage?.includes('PHONE_NUMBER_INVALID')) {
126
+ throw new common_1.BadRequestException('Please enter a valid phone number');
127
+ }
128
+ if (error.errorMessage?.includes('FLOOD_WAIT')) {
129
+ throw new common_1.BadRequestException('Please wait a few minutes before trying again');
130
+ }
131
+ throw new common_1.BadRequestException('Unable to send OTP. Please try again');
132
+ }
133
+ }
134
+ async verifyCode(phone, code, password) {
135
+ try {
136
+ phone = this.validatePhoneNumber(phone);
137
+ const session = TgSignupService_1.activeClients.get(phone);
138
+ if (!session) {
139
+ this.logger.warn(`No active signup session found for ${phone}`);
140
+ throw new common_1.BadRequestException('Session Expired. Please start again');
141
+ }
142
+ clearTimeout(session.timeoutId);
143
+ session.timeoutId = setTimeout(() => this.disconnectClient(phone), TgSignupService_1.LOGIN_TIMEOUT);
144
+ if (!session.client?.connected) {
145
+ try {
146
+ await session.client?.connect();
147
+ }
148
+ catch (error) {
149
+ this.logger.warn(`Connection lost for ${phone}, attempting to reconnect`);
150
+ try {
151
+ const { apiId, apiHash } = this.getRandomCredentials();
152
+ const newSession = new sessions_1.StringSession('');
153
+ const newClient = new telegram_1.TelegramClient(newSession, apiId, apiHash, {
154
+ connectionRetries: 5,
155
+ retryDelay: 2000,
156
+ useWSS: true,
157
+ timeout: 30000
158
+ });
159
+ await newClient.connect();
160
+ session.client = newClient;
161
+ }
162
+ catch (reconnectError) {
163
+ throw new common_1.BadRequestException('Connection failed. Please try verifying again.');
164
+ }
165
+ }
166
+ }
167
+ const { client, phoneCodeHash } = session;
168
+ try {
169
+ this.logger.debug(`Attempting to sign in with code for ${phone}`);
170
+ const signInResult = await client.invoke(new tl_1.Api.auth.SignIn({
171
+ phoneNumber: phone,
172
+ phoneCodeHash,
173
+ phoneCode: code,
174
+ }));
175
+ if (!signInResult) {
176
+ throw new common_1.BadRequestException('Invalid response from Telegram server');
177
+ }
178
+ if (signInResult instanceof tl_1.Api.auth.AuthorizationSignUpRequired) {
179
+ this.logger.log(`New user registration required for ${phone}`);
180
+ const result = await this.handleNewUserRegistration(phone, client, phoneCodeHash);
181
+ await this.disconnectClient(phone);
182
+ return result;
183
+ }
184
+ const sessionString = client.session.save();
185
+ if (!sessionString) {
186
+ throw new Error('Failed to generate session string');
187
+ }
188
+ const userData = await this.processLoginResult(signInResult.user, sessionString, password);
189
+ await this.disconnectClient(phone);
190
+ return userData;
191
+ }
192
+ catch (error) {
193
+ if (error.errorMessage === 'SESSION_PASSWORD_NEEDED') {
194
+ this.logger.warn(`2FA required for ${phone}`);
195
+ if (!password) {
196
+ return {
197
+ status: 400,
198
+ message: 'Two-factor authentication required',
199
+ requires2FA: true
200
+ };
201
+ }
202
+ return await this.handle2FALogin(phone, session.client, password);
203
+ }
204
+ if (error.errorMessage?.includes('PHONE_CODE_INVALID') ||
205
+ error.errorMessage?.includes('PHONE_CODE_EXPIRED')) {
206
+ throw new common_1.BadRequestException('Invalid OTP, Try again!');
207
+ }
208
+ this.logger.warn(`Verification attempt failed for ${phone}: ${error.message}`);
209
+ throw new common_1.BadRequestException('Verification failed. Please try again.');
210
+ }
211
+ }
212
+ catch (error) {
213
+ this.logger.error(`Verification error for ${phone}: ${error.message}`);
214
+ if (error.message?.includes('No active signup session') ||
215
+ error.message?.includes('Connection failed')) {
216
+ await this.disconnectClient(phone);
217
+ }
218
+ throw error instanceof common_1.BadRequestException ? error :
219
+ new common_1.BadRequestException(error.message || 'Verification failed, please try again');
220
+ }
221
+ }
222
+ async handle2FALogin(phone, client, password) {
223
+ try {
224
+ this.logger.debug(`Fetching password SRP parameters for ${phone}`);
225
+ const passwordSrpResult = await client.invoke(new tl_1.Api.account.GetPassword());
226
+ this.logger.debug(`Computing password check for ${phone}`);
227
+ const passwordCheck = await (0, Password_1.computeCheck)(passwordSrpResult, password);
228
+ this.logger.debug(`Invoking CheckPassword API for ${phone}`);
229
+ const signInResult = await client.invoke(new tl_1.Api.auth.CheckPassword({
230
+ password: passwordCheck,
231
+ }));
232
+ if (!signInResult || !signInResult.user) {
233
+ throw new common_1.BadRequestException('Invalid response from Telegram server');
234
+ }
235
+ this.logger.log(`2FA login successful for ${phone}`);
236
+ const sessionString = client.session.save();
237
+ if (!sessionString) {
238
+ throw new Error('Failed to generate session string');
239
+ }
240
+ const userData = await this.processLoginResult(signInResult.user, sessionString, password);
241
+ await this.disconnectClient(phone);
242
+ return userData;
243
+ }
244
+ catch (error) {
245
+ this.logger.error(`2FA login failed for ${phone}: ${error.message}`, error.stack);
246
+ if (password) {
247
+ throw new common_1.BadRequestException('Incorrect 2FA password');
248
+ }
249
+ throw new common_1.BadRequestException('2FA password required');
250
+ }
251
+ }
252
+ async handleNewUserRegistration(phone, client, phoneCodeHash) {
253
+ try {
254
+ const randomName = `User${Math.random().toString(36).substring(2, 8)}`;
255
+ const signUpResult = await client.invoke(new tl_1.Api.auth.SignUp({
256
+ phoneNumber: phone,
257
+ phoneCodeHash,
258
+ firstName: randomName,
259
+ lastName: '',
260
+ }));
261
+ if (!signUpResult || !signUpResult.user) {
262
+ throw new common_1.BadRequestException('Invalid response from Telegram server');
263
+ }
264
+ const sessionString = client.session.save();
265
+ if (!sessionString) {
266
+ throw new Error('Failed to generate session string');
267
+ }
268
+ return await this.processLoginResult(signUpResult.user, sessionString);
269
+ }
270
+ catch (error) {
271
+ const errorDetails = (0, parseError_1.parseError)(error, "TGSIGNUP", false);
272
+ this.logger.error(`Failed to register new user: ${errorDetails.message}`);
273
+ throw new common_1.BadRequestException(errorDetails.message || 'Failed to register new user');
274
+ }
275
+ }
276
+ async processLoginResult(user, sessionString, password) {
277
+ try {
278
+ if (!user || !sessionString) {
279
+ throw new Error('Invalid user data or session string');
280
+ }
281
+ const now = new Date();
282
+ const userData = {
283
+ mobile: user.phone?.toString()?.replace(/^\+/, '') || '',
284
+ session: sessionString,
285
+ firstName: user.firstName || '',
286
+ lastName: user.lastName || '',
287
+ username: user.username || '',
288
+ tgId: user.id?.toString() || '',
289
+ twoFA: !!password,
290
+ password: password || null,
291
+ lastActive: now.toISOString().split('T')[0],
292
+ expired: false,
293
+ channels: 0,
294
+ personalChats: 0,
295
+ totalChats: 0,
296
+ otherPhotoCount: 0,
297
+ ownPhotoCount: 0,
298
+ ownVideoCount: 0,
299
+ otherVideoCount: 0,
300
+ recentUsers: [],
301
+ calls: {
302
+ chatCallCounts: [],
303
+ incoming: 0,
304
+ outgoing: 0,
305
+ totalCalls: 0,
306
+ video: 0,
307
+ },
308
+ contacts: 0,
309
+ movieCount: 0,
310
+ msgs: 0,
311
+ photoCount: 0,
312
+ videoCount: 0,
313
+ gender: 'unknown',
314
+ };
315
+ if (!userData.mobile || !userData.tgId) {
316
+ throw new Error('Invalid user data received from Telegram');
317
+ }
318
+ await this.usersService.create(userData);
319
+ return {
320
+ status: 200,
321
+ message: 'Registration successful',
322
+ session: sessionString,
323
+ };
324
+ }
325
+ catch (error) {
326
+ this.logger.error('Error processing login result:', error);
327
+ if (error instanceof common_1.BadRequestException) {
328
+ throw error;
329
+ }
330
+ throw new common_1.InternalServerErrorException('Failed to complete registration');
331
+ }
332
+ }
333
+ };
334
+ exports.TgSignupService = TgSignupService;
335
+ TgSignupService.LOGIN_TIMEOUT = 300000;
336
+ TgSignupService.SESSION_CLEANUP_INTERVAL = 300000;
337
+ TgSignupService.PHONE_PREFIX = "+";
338
+ TgSignupService.activeClients = new Map();
339
+ TgSignupService.API_CREDENTIALS = [
340
+ { apiId: 27919939, apiHash: "5ed3834e741b57a560076a1d38d2fa94" },
341
+ { apiId: 25328268, apiHash: "b4e654dd2a051930d0a30bb2add80d09" },
342
+ { apiId: 12777557, apiHash: "05054fc7885dcfa18eb7432865ea3500" },
343
+ { apiId: 27565391, apiHash: "a3a0a2e895f893e2067dae111b20f2d9" },
344
+ { apiId: 27586636, apiHash: "f020539b6bb5b945186d39b3ff1dd998" },
345
+ { apiId: 29210552, apiHash: "f3dbae7e628b312c829e1bd341f1e9a9" }
346
+ ];
347
+ exports.TgSignupService = TgSignupService = TgSignupService_1 = __decorate([
348
+ (0, common_1.Injectable)(),
349
+ __metadata("design:paramtypes", [users_service_1.UsersService])
350
+ ], TgSignupService);
351
+ //# sourceMappingURL=TgSignup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TgSignup.service.js","sourceRoot":"","sources":["../../../src/components/TgSignup/TgSignup.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class SendCodeDto {
2
+ phone: string;
3
+ }
4
+ export declare class VerifyCodeDto {
5
+ phone: string;
6
+ code: string;
7
+ password?: string | undefined;
8
+ }
9
+ export declare class TgSignupResponse {
10
+ status: number;
11
+ message: string;
12
+ phoneCodeHash?: string;
13
+ isCodeViaApp?: boolean;
14
+ session?: string;
15
+ requires2FA?: boolean;
16
+ }