@up-im/medotvet_sdk 0.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 (250) hide show
  1. package/.cursor/rules/apcheki_sdk.mdc +90 -0
  2. package/README.md +136 -0
  3. package/dist/api/abstract.d.ts +21 -0
  4. package/dist/api/abstract.js +125 -0
  5. package/dist/api/bookmarks.d.ts +28 -0
  6. package/dist/api/bookmarks.js +121 -0
  7. package/dist/api/chat.d.ts +30 -0
  8. package/dist/api/chat.js +118 -0
  9. package/dist/api/content.d.ts +154 -0
  10. package/dist/api/content.js +237 -0
  11. package/dist/api/geoIp.d.ts +8 -0
  12. package/dist/api/geoIp.js +14 -0
  13. package/dist/api/index.d.ts +27 -0
  14. package/dist/api/index.js +31 -0
  15. package/dist/api/payment.d.ts +54 -0
  16. package/dist/api/payment.js +90 -0
  17. package/dist/api/promocode.d.ts +9 -0
  18. package/dist/api/promocode.js +22 -0
  19. package/dist/api/push.d.ts +54 -0
  20. package/dist/api/push.js +99 -0
  21. package/dist/api/receipt.d.ts +34 -0
  22. package/dist/api/receipt.js +60 -0
  23. package/dist/api/stat.d.ts +21 -0
  24. package/dist/api/stat.js +75 -0
  25. package/dist/api/survey.d.ts +82 -0
  26. package/dist/api/survey.js +122 -0
  27. package/dist/api/user.d.ts +80 -0
  28. package/dist/api/user.js +167 -0
  29. package/dist/eventBus/abstract.d.ts +4 -0
  30. package/dist/eventBus/abstract.js +29 -0
  31. package/dist/eventBus/userLogin.d.ts +5 -0
  32. package/dist/eventBus/userLogin.js +11 -0
  33. package/dist/eventBus/userLogout.d.ts +4 -0
  34. package/dist/eventBus/userLogout.js +11 -0
  35. package/dist/http/apiError.d.ts +4 -0
  36. package/dist/http/apiError.js +10 -0
  37. package/dist/http/apiRoute.d.ts +98 -0
  38. package/dist/http/apiRoute.js +197 -0
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.js +7 -0
  41. package/dist/interfaces/BannerType.d.ts +5 -0
  42. package/dist/interfaces/BannerType.js +7 -0
  43. package/dist/interfaces/apiStatEvents.d.ts +1 -0
  44. package/dist/interfaces/apiStatEvents.js +18 -0
  45. package/dist/interfaces/diplomaStatus.d.ts +8 -0
  46. package/dist/interfaces/diplomaStatus.js +9 -0
  47. package/dist/interfaces/iAppStore.d.ts +1 -0
  48. package/dist/interfaces/iAppStore.js +2 -0
  49. package/dist/interfaces/iAppVersionCheck.d.ts +5 -0
  50. package/dist/interfaces/iAppVersionCheck.js +2 -0
  51. package/dist/interfaces/iArticle.d.ts +15 -0
  52. package/dist/interfaces/iArticle.js +2 -0
  53. package/dist/interfaces/iBalance.d.ts +6 -0
  54. package/dist/interfaces/iBalance.js +2 -0
  55. package/dist/interfaces/iBank.d.ts +4 -0
  56. package/dist/interfaces/iBank.js +2 -0
  57. package/dist/interfaces/iBanner.d.ts +6 -0
  58. package/dist/interfaces/iBanner.js +2 -0
  59. package/dist/interfaces/iBookmark.d.ts +3 -0
  60. package/dist/interfaces/iBookmark.js +2 -0
  61. package/dist/interfaces/iBrand.d.ts +6 -0
  62. package/dist/interfaces/iBrand.js +2 -0
  63. package/dist/interfaces/iCatalog.d.ts +50 -0
  64. package/dist/interfaces/iCatalog.js +2 -0
  65. package/dist/interfaces/iCatalogNode.d.ts +3 -0
  66. package/dist/interfaces/iCatalogNode.js +2 -0
  67. package/dist/interfaces/iCatalogPreview.d.ts +17 -0
  68. package/dist/interfaces/iCatalogPreview.js +2 -0
  69. package/dist/interfaces/iCity.d.ts +4 -0
  70. package/dist/interfaces/iCity.js +2 -0
  71. package/dist/interfaces/iContentItem.d.ts +7 -0
  72. package/dist/interfaces/iContentItem.js +2 -0
  73. package/dist/interfaces/iEnv.d.ts +6 -0
  74. package/dist/interfaces/iEnv.js +2 -0
  75. package/dist/interfaces/iFilter.d.ts +11 -0
  76. package/dist/interfaces/iFilter.js +2 -0
  77. package/dist/interfaces/iGetNodeListProps.d.ts +8 -0
  78. package/dist/interfaces/iGetNodeListProps.js +2 -0
  79. package/dist/interfaces/iInstruction.d.ts +6 -0
  80. package/dist/interfaces/iInstruction.js +2 -0
  81. package/dist/interfaces/iIntro.d.ts +6 -0
  82. package/dist/interfaces/iIntro.js +2 -0
  83. package/dist/interfaces/iMessage.d.ts +25 -0
  84. package/dist/interfaces/iMessage.js +2 -0
  85. package/dist/interfaces/iNode.d.ts +26 -0
  86. package/dist/interfaces/iNode.js +2 -0
  87. package/dist/interfaces/iNodeTree.d.ts +14 -0
  88. package/dist/interfaces/iNodeTree.js +2 -0
  89. package/dist/interfaces/iPagingItems.d.ts +9 -0
  90. package/dist/interfaces/iPagingItems.js +2 -0
  91. package/dist/interfaces/iPayment.d.ts +20 -0
  92. package/dist/interfaces/iPayment.js +2 -0
  93. package/dist/interfaces/iPush.d.ts +14 -0
  94. package/dist/interfaces/iPush.js +2 -0
  95. package/dist/interfaces/iQuestion.d.ts +7 -0
  96. package/dist/interfaces/iQuestion.js +2 -0
  97. package/dist/interfaces/iReceipt.d.ts +20 -0
  98. package/dist/interfaces/iReceipt.js +2 -0
  99. package/dist/interfaces/iReceiptAddProps.d.ts +8 -0
  100. package/dist/interfaces/iReceiptAddProps.js +2 -0
  101. package/dist/interfaces/iReceiptProduct.d.ts +7 -0
  102. package/dist/interfaces/iReceiptProduct.js +2 -0
  103. package/dist/interfaces/iSearchParams.d.ts +11 -0
  104. package/dist/interfaces/iSearchParams.js +2 -0
  105. package/dist/interfaces/iShop.d.ts +6 -0
  106. package/dist/interfaces/iShop.js +2 -0
  107. package/dist/interfaces/iShopAddress.d.ts +5 -0
  108. package/dist/interfaces/iShopAddress.js +2 -0
  109. package/dist/interfaces/iSorter.d.ts +7 -0
  110. package/dist/interfaces/iSorter.js +2 -0
  111. package/dist/interfaces/iSpecialization.d.ts +4 -0
  112. package/dist/interfaces/iSpecialization.js +2 -0
  113. package/dist/interfaces/iStatView.d.ts +4 -0
  114. package/dist/interfaces/iStatView.js +2 -0
  115. package/dist/interfaces/iStorage.d.ts +5 -0
  116. package/dist/interfaces/iStorage.js +2 -0
  117. package/dist/interfaces/iStories.d.ts +13 -0
  118. package/dist/interfaces/iStories.js +2 -0
  119. package/dist/interfaces/iSubstance.d.ts +4 -0
  120. package/dist/interfaces/iSubstance.js +2 -0
  121. package/dist/interfaces/iSurvey.d.ts +36 -0
  122. package/dist/interfaces/iSurvey.js +2 -0
  123. package/dist/interfaces/iSurveyQuestion.d.ts +11 -0
  124. package/dist/interfaces/iSurveyQuestion.js +2 -0
  125. package/dist/interfaces/iSymptoms.d.ts +4 -0
  126. package/dist/interfaces/iSymptoms.js +2 -0
  127. package/dist/interfaces/iTestQuestion.d.ts +20 -0
  128. package/dist/interfaces/iTestQuestion.js +2 -0
  129. package/dist/interfaces/iTestResult.d.ts +17 -0
  130. package/dist/interfaces/iTestResult.js +2 -0
  131. package/dist/interfaces/iText.d.ts +3 -0
  132. package/dist/interfaces/iText.js +2 -0
  133. package/dist/interfaces/iUser.d.ts +35 -0
  134. package/dist/interfaces/iUser.js +2 -0
  135. package/dist/interfaces/iUserData.d.ts +10 -0
  136. package/dist/interfaces/iUserData.js +2 -0
  137. package/dist/interfaces/iUserEditProps.d.ts +20 -0
  138. package/dist/interfaces/iUserEditProps.js +2 -0
  139. package/dist/interfaces/iUserStat.d.ts +7 -0
  140. package/dist/interfaces/iUserStat.js +2 -0
  141. package/dist/interfaces/iUserSurvey.d.ts +21 -0
  142. package/dist/interfaces/iUserSurvey.js +11 -0
  143. package/dist/interfaces/iUserTokens.d.ts +4 -0
  144. package/dist/interfaces/iUserTokens.js +2 -0
  145. package/dist/interfaces/intRange.d.ts +3 -0
  146. package/dist/interfaces/intRange.js +2 -0
  147. package/dist/interfaces/itemType.d.ts +9 -0
  148. package/dist/interfaces/itemType.js +11 -0
  149. package/dist/interfaces/paymentStatus.d.ts +7 -0
  150. package/dist/interfaces/paymentStatus.js +9 -0
  151. package/dist/interfaces/paymentType.d.ts +5 -0
  152. package/dist/interfaces/paymentType.js +7 -0
  153. package/dist/interfaces/payoutType.d.ts +5 -0
  154. package/dist/interfaces/payoutType.js +7 -0
  155. package/dist/interfaces/pushStatus.d.ts +6 -0
  156. package/dist/interfaces/pushStatus.js +8 -0
  157. package/dist/interfaces/receiptStatus.d.ts +7 -0
  158. package/dist/interfaces/receiptStatus.js +9 -0
  159. package/dist/interfaces/testStatus.d.ts +6 -0
  160. package/dist/interfaces/testStatus.js +7 -0
  161. package/dist/interfaces/userRole.d.ts +6 -0
  162. package/dist/interfaces/userRole.js +14 -0
  163. package/dist/interfaces/userStatEvent.d.ts +5 -0
  164. package/dist/interfaces/userStatEvent.js +7 -0
  165. package/dist/interfaces/viewEventType.d.ts +13 -0
  166. package/dist/interfaces/viewEventType.js +19 -0
  167. package/dist/service/webSocketClient.d.ts +21 -0
  168. package/dist/service/webSocketClient.js +87 -0
  169. package/dist/storage/default.d.ts +2 -0
  170. package/dist/storage/default.js +8 -0
  171. package/dist/storage/user.d.ts +21 -0
  172. package/dist/storage/user.js +107 -0
  173. package/dist/utils/queryString.d.ts +3 -0
  174. package/dist/utils/queryString.js +21 -0
  175. package/package.json +31 -0
  176. package/src/api/abstract.ts +136 -0
  177. package/src/api/bookmarks.ts +109 -0
  178. package/src/api/chat.ts +127 -0
  179. package/src/api/content.ts +258 -0
  180. package/src/api/geoIp.ts +12 -0
  181. package/src/api/index.ts +38 -0
  182. package/src/api/payment.ts +105 -0
  183. package/src/api/promocode.ts +18 -0
  184. package/src/api/push.ts +102 -0
  185. package/src/api/stat.ts +74 -0
  186. package/src/api/survey.ts +164 -0
  187. package/src/api/user.ts +176 -0
  188. package/src/eventBus/abstract.ts +33 -0
  189. package/src/eventBus/userLogin.ts +13 -0
  190. package/src/eventBus/userLogout.ts +12 -0
  191. package/src/http/apiError.ts +9 -0
  192. package/src/http/apiRoute.ts +234 -0
  193. package/src/index.ts +2 -0
  194. package/src/interfaces/BannerType.ts +6 -0
  195. package/src/interfaces/apiStatEvents.ts +18 -0
  196. package/src/interfaces/diplomaStatus.ts +10 -0
  197. package/src/interfaces/iAppStore.ts +1 -0
  198. package/src/interfaces/iArticle.ts +12 -0
  199. package/src/interfaces/iBalance.ts +6 -0
  200. package/src/interfaces/iBank.ts +4 -0
  201. package/src/interfaces/iBanner.ts +6 -0
  202. package/src/interfaces/iBookmark.ts +3 -0
  203. package/src/interfaces/iCity.ts +4 -0
  204. package/src/interfaces/iContentItem.ts +6 -0
  205. package/src/interfaces/iEnv.ts +6 -0
  206. package/src/interfaces/iFilter.ts +16 -0
  207. package/src/interfaces/iGetNodeListProps.ts +9 -0
  208. package/src/interfaces/iInstruction.ts +6 -0
  209. package/src/interfaces/iIntro.ts +6 -0
  210. package/src/interfaces/iMessage.ts +25 -0
  211. package/src/interfaces/iNode.ts +24 -0
  212. package/src/interfaces/iNodeTree.ts +14 -0
  213. package/src/interfaces/iPagingItems.ts +8 -0
  214. package/src/interfaces/iPayment.ts +28 -0
  215. package/src/interfaces/iPush.ts +15 -0
  216. package/src/interfaces/iQuestion.ts +4 -0
  217. package/src/interfaces/iSearchParams.ts +12 -0
  218. package/src/interfaces/iSorter.ts +10 -0
  219. package/src/interfaces/iSpecialization.ts +4 -0
  220. package/src/interfaces/iStatView.ts +4 -0
  221. package/src/interfaces/iStorage.ts +5 -0
  222. package/src/interfaces/iStories.ts +10 -0
  223. package/src/interfaces/iSubstance.ts +4 -0
  224. package/src/interfaces/iSurvey.ts +38 -0
  225. package/src/interfaces/iSurveyQuestion.ts +15 -0
  226. package/src/interfaces/iSymptoms.ts +4 -0
  227. package/src/interfaces/iTestQuestion.ts +21 -0
  228. package/src/interfaces/iTestResult.ts +20 -0
  229. package/src/interfaces/iText.ts +3 -0
  230. package/src/interfaces/iUser.ts +37 -0
  231. package/src/interfaces/iUserData.ts +10 -0
  232. package/src/interfaces/iUserEditProps.ts +16 -0
  233. package/src/interfaces/iUserStat.ts +8 -0
  234. package/src/interfaces/iUserSurvey.ts +23 -0
  235. package/src/interfaces/iUserTokens.ts +4 -0
  236. package/src/interfaces/intRange.ts +5 -0
  237. package/src/interfaces/itemType.ts +10 -0
  238. package/src/interfaces/paymentStatus.ts +8 -0
  239. package/src/interfaces/paymentType.ts +6 -0
  240. package/src/interfaces/payoutType.ts +6 -0
  241. package/src/interfaces/pushStatus.ts +7 -0
  242. package/src/interfaces/testStatus.ts +8 -0
  243. package/src/interfaces/userRole.ts +13 -0
  244. package/src/interfaces/userStatEvent.ts +6 -0
  245. package/src/interfaces/viewEventType.ts +17 -0
  246. package/src/service/webSocketClient.ts +94 -0
  247. package/src/storage/default.ts +7 -0
  248. package/src/storage/user.ts +109 -0
  249. package/src/utils/queryString.ts +22 -0
  250. package/tsconfig.json +27 -0
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Вопрос теста для пользователя (без правильных ответов)
3
+ */
4
+ export interface iTestQuestionForUser {
5
+ specialization: number;
6
+ questionIndex: number;
7
+ question: string;
8
+ answers: {
9
+ title: string;
10
+ }[];
11
+ }
12
+ /**
13
+ * Ответ пользователя на вопрос
14
+ */
15
+ export interface iTestUserAnswer {
16
+ specialization: number;
17
+ questionIndex: number;
18
+ answer_indices: number[];
19
+ answer_time?: number;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ export interface iTestResult {
2
+ id: number;
3
+ user: number | null;
4
+ test_date: Date | null;
5
+ specialization: number | null;
6
+ question_index: number | null;
7
+ question_text: string;
8
+ user_answer: number[];
9
+ is_correct: boolean;
10
+ answer_time: number;
11
+ }
12
+ export interface iTestResultBySpecialization {
13
+ [specializationId: number]: {
14
+ correct: number;
15
+ total: number;
16
+ };
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export interface iText {
2
+ text: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,35 @@
1
+ import { iCity } from "./iCity";
2
+ import { iUserData } from "./iUserData";
3
+ import { UserRole, UserRoleKeys } from "./userRole";
4
+ export interface iUser {
5
+ id: number;
6
+ register_date: string | null;
7
+ register_date_original: string | null;
8
+ role: typeof UserRole[UserRoleKeys];
9
+ phone: string | null;
10
+ phone_confirm: boolean;
11
+ email: string | null;
12
+ email_confirm: boolean;
13
+ firstname: string;
14
+ lastname: string;
15
+ middlename: string;
16
+ photo: string;
17
+ password?: string;
18
+ isSubscribe?: boolean;
19
+ soc_tg_id: number | null;
20
+ soc_tg_username: string;
21
+ soc_vk_id: number | null;
22
+ soc_vk_username: string;
23
+ city: iCity | null;
24
+ specialization: number[] | null;
25
+ birthdate: string | null;
26
+ workplace_type: number | null;
27
+ workplace_name: string | null;
28
+ diploma_status: number | null;
29
+ diploma_files: string[] | null;
30
+ diploma_reject_reason: string | null;
31
+ test_status: number | null;
32
+ ref: iUserData | null;
33
+ my_ref_code: string | null;
34
+ agreement: boolean | null;
35
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ export interface iUserData {
2
+ id: number;
3
+ role: number;
4
+ firstname: string;
5
+ lastname: string;
6
+ photo: string;
7
+ exp?: number | undefined;
8
+ iat?: number;
9
+ localTimeDiff: number | undefined;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ interface iUserEditPropsBase {
2
+ email?: string;
3
+ city?: number;
4
+ email_code?: string;
5
+ agreement?: boolean;
6
+ birthdate?: string | null;
7
+ specialization?: number[] | null;
8
+ workplace_type?: number | null;
9
+ workplace_name?: string | null;
10
+ }
11
+ export type iUserEditProps = iUserEditPropsBase & ({
12
+ firstname: string;
13
+ lastname: string;
14
+ middlename: string;
15
+ } | {
16
+ firstname?: never;
17
+ lastname?: never;
18
+ middlename?: never;
19
+ });
20
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { UserStatEvent, UserStatEventKeys } from "./userStatEvent";
2
+ export interface iUserStat {
3
+ user: number;
4
+ sku: number;
5
+ event: typeof UserStatEvent[UserStatEventKeys];
6
+ date?: Date;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ export declare enum UserSurveyStatus {
2
+ queue = 0,// в очереди (создан, но не начат)
3
+ in_progress = 1,// в процессе прохождения
4
+ success = 2,// успешно завершен
5
+ cancelled = 3,// отменен пользователем
6
+ timeout = 4
7
+ }
8
+ export type UserSurveyStatusKeys = keyof typeof UserSurveyStatus;
9
+ export interface iUserSurvey {
10
+ id: number;
11
+ reg_date: string;
12
+ user: number;
13
+ survey: number;
14
+ status: typeof UserSurveyStatus[UserSurveyStatusKeys];
15
+ date_start: string | null;
16
+ date_end: string | null;
17
+ timeout_at: string | null;
18
+ survey_title?: string;
19
+ reward_base?: number;
20
+ reward_max?: number;
21
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserSurveyStatus = void 0;
4
+ var UserSurveyStatus;
5
+ (function (UserSurveyStatus) {
6
+ UserSurveyStatus[UserSurveyStatus["queue"] = 0] = "queue";
7
+ UserSurveyStatus[UserSurveyStatus["in_progress"] = 1] = "in_progress";
8
+ UserSurveyStatus[UserSurveyStatus["success"] = 2] = "success";
9
+ UserSurveyStatus[UserSurveyStatus["cancelled"] = 3] = "cancelled";
10
+ UserSurveyStatus[UserSurveyStatus["timeout"] = 4] = "timeout"; // таймаут (не завершен за 1 час)
11
+ })(UserSurveyStatus || (exports.UserSurveyStatus = UserSurveyStatus = {}));
@@ -0,0 +1,4 @@
1
+ export type iUserTokens = {
2
+ accessToken: string;
3
+ refreshToken: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
2
+ export type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
3
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ export declare const ItemType: {
2
+ CATALOG_SKU: number;
3
+ BRAND: number;
4
+ ARTICLES: number;
5
+ USER: number;
6
+ BANNER: number;
7
+ STORIES: number;
8
+ };
9
+ export type ItemTypeKeys = keyof typeof ItemType;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemType = void 0;
4
+ exports.ItemType = {
5
+ CATALOG_SKU: 1,
6
+ BRAND: 2,
7
+ ARTICLES: 3,
8
+ USER: 5,
9
+ BANNER: 6,
10
+ STORIES: 7,
11
+ };
@@ -0,0 +1,7 @@
1
+ export declare const PaymentStatus: {
2
+ queue: number;
3
+ moderation: number;
4
+ ok: number;
5
+ fail: number;
6
+ };
7
+ export type PaymentStatusKeys = keyof typeof PaymentStatus;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentStatus = void 0;
4
+ exports.PaymentStatus = {
5
+ queue: 1, //В очереди (на проверку)
6
+ moderation: 2,
7
+ ok: 3,
8
+ fail: 4,
9
+ };
@@ -0,0 +1,5 @@
1
+ export declare const PaymentType: {
2
+ accrual: number;
3
+ payout: number;
4
+ };
5
+ export type PaymentTypeKeys = keyof typeof PaymentType;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentType = void 0;
4
+ exports.PaymentType = {
5
+ accrual: 1, //начисление
6
+ payout: 2, //выплата
7
+ };
@@ -0,0 +1,5 @@
1
+ export declare const PayoutType: {
2
+ sbp: number;
3
+ card: number;
4
+ };
5
+ export type PayoutTypeKeys = keyof typeof PayoutType;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayoutType = void 0;
4
+ exports.PayoutType = {
5
+ sbp: 1,
6
+ card: 2,
7
+ };
@@ -0,0 +1,6 @@
1
+ export declare const PushStatus: {
2
+ queue: number;
3
+ ok: number;
4
+ fail: number;
5
+ };
6
+ export type PushStatusKeys = keyof typeof PushStatus;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PushStatus = void 0;
4
+ exports.PushStatus = {
5
+ queue: 1,
6
+ ok: 2,
7
+ fail: 3,
8
+ };
@@ -0,0 +1,7 @@
1
+ export declare const ReceiptStatus: {
2
+ queue: number;
3
+ moderation: number;
4
+ ok: number;
5
+ fail: number;
6
+ };
7
+ export type ReceiptStatusKeys = keyof typeof ReceiptStatus;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReceiptStatus = void 0;
4
+ exports.ReceiptStatus = {
5
+ queue: 1, //В очереди (на проверку)
6
+ moderation: 2,
7
+ ok: 3,
8
+ fail: 4,
9
+ };
@@ -0,0 +1,6 @@
1
+ export declare const TestStatus: {
2
+ readonly not_passed: 1;
3
+ readonly passed: 2;
4
+ };
5
+ export type TestStatusKeys = keyof typeof TestStatus;
6
+ export type TestStatusValue = typeof TestStatus[TestStatusKeys];
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestStatus = void 0;
4
+ exports.TestStatus = {
5
+ not_passed: 1,
6
+ passed: 2,
7
+ };
@@ -0,0 +1,6 @@
1
+ export declare const UserRole: {
2
+ NONE: number;
3
+ ADMIN: number;
4
+ };
5
+ export type UserRoleKeys = keyof typeof UserRole;
6
+ export declare function getUserRoleTitle(role?: typeof UserRole[UserRoleKeys]): "" | "Админ";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserRole = void 0;
4
+ exports.getUserRoleTitle = getUserRoleTitle;
5
+ exports.UserRole = {
6
+ NONE: 0,
7
+ ADMIN: 1000,
8
+ };
9
+ function getUserRoleTitle(role) {
10
+ switch (role) {
11
+ case exports.UserRole.ADMIN: return "Админ";
12
+ default: return "";
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ export declare const UserStatEvent: {
2
+ presentation: number;
3
+ quiz: number;
4
+ };
5
+ export type UserStatEventKeys = keyof typeof UserStatEvent;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserStatEvent = void 0;
4
+ exports.UserStatEvent = {
5
+ presentation: 1,
6
+ quiz: 2,
7
+ };
@@ -0,0 +1,13 @@
1
+ export declare const ViewEventType: {
2
+ VIEW: number;
3
+ FAVORITE: number;
4
+ PROMO_BLOCK: number;
5
+ PRESENTATION_CLICK: number;
6
+ PRESENTATION_SUCCESS: number;
7
+ QUESTIONS_CLICK: number;
8
+ QUESTIONS_SUCCESS: number;
9
+ SKU_BTN: number;
10
+ READ: number;
11
+ CLICK: number;
12
+ };
13
+ export type ViewEventTypeKeys = keyof typeof ViewEventType;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewEventType = void 0;
4
+ exports.ViewEventType = {
5
+ //базовый тип
6
+ VIEW: 1,
7
+ //Акция
8
+ FAVORITE: 2,
9
+ PROMO_BLOCK: 3,
10
+ PRESENTATION_CLICK: 4,
11
+ PRESENTATION_SUCCESS: 5,
12
+ QUESTIONS_CLICK: 6,
13
+ QUESTIONS_SUCCESS: 7,
14
+ //Блог
15
+ SKU_BTN: 8,
16
+ READ: 9,
17
+ //Баннеры
18
+ CLICK: 10,
19
+ };
@@ -0,0 +1,21 @@
1
+ type OpenCallback = () => Promise<void>;
2
+ type MessageCallback = (message: string) => void;
3
+ export declare class WebSocketClient {
4
+ private url;
5
+ private websocket;
6
+ private reconnectInterval;
7
+ private reconnectAttempts;
8
+ private maxReconnectAttempts;
9
+ private isReconnecting;
10
+ private sendMessageBuffer;
11
+ private openCallback;
12
+ private messageCallback;
13
+ constructor(url: string, reconnectInterval?: number, maxReconnectAttempts?: number);
14
+ connect(): void;
15
+ private reconnect;
16
+ send(message?: string, priority?: boolean): void;
17
+ onOpen(callback: OpenCallback): void;
18
+ onMessage(callback: MessageCallback): void;
19
+ close(): void;
20
+ }
21
+ export {};
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketClient = void 0;
4
+ class WebSocketClient {
5
+ constructor(url, reconnectInterval = 1000, maxReconnectAttempts = 1000) {
6
+ this.isReconnecting = false;
7
+ this.sendMessageBuffer = [];
8
+ this.openCallback = null;
9
+ this.messageCallback = null;
10
+ this.url = url;
11
+ this.websocket = null;
12
+ this.reconnectInterval = reconnectInterval;
13
+ this.reconnectAttempts = 0;
14
+ this.maxReconnectAttempts = maxReconnectAttempts;
15
+ }
16
+ connect() {
17
+ this.websocket = new WebSocket(this.url);
18
+ this.websocket.onopen = async () => {
19
+ console.log('Connected to WebSocket server');
20
+ this.reconnectAttempts = 0;
21
+ if (this.openCallback)
22
+ await this.openCallback(); //auth
23
+ this.send(); //send MessageBuffer
24
+ };
25
+ this.websocket.onmessage = (event) => {
26
+ console.log('Received message:', event.data);
27
+ if (this.messageCallback)
28
+ this.messageCallback(event.data);
29
+ };
30
+ this.websocket.onerror = (event) => {
31
+ console.error('WebSocket error:', event);
32
+ this.reconnect();
33
+ };
34
+ this.websocket.onclose = (event) => {
35
+ console.log('WebSocket connection closed:', event);
36
+ if (event.code != 3001)
37
+ this.reconnect();
38
+ };
39
+ }
40
+ reconnect() {
41
+ if (this.isReconnecting)
42
+ return;
43
+ this.isReconnecting = true;
44
+ if (this.reconnectAttempts < this.maxReconnectAttempts) {
45
+ this.reconnectAttempts++;
46
+ console.log(`Reconnecting... attempt ${this.reconnectAttempts}`);
47
+ setTimeout(() => {
48
+ this.isReconnecting = false;
49
+ this.connect();
50
+ }, this.reconnectInterval);
51
+ }
52
+ else {
53
+ this.isReconnecting = false;
54
+ console.error('Max reconnect attempts reached');
55
+ }
56
+ }
57
+ send(message, priority) {
58
+ if (message && priority)
59
+ this.sendMessageBuffer.unshift(message);
60
+ if (message && !priority)
61
+ this.sendMessageBuffer.push(message);
62
+ if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
63
+ while (this.sendMessageBuffer.length) {
64
+ this.websocket.send(this.sendMessageBuffer.shift());
65
+ }
66
+ }
67
+ else {
68
+ console.log('WebSocket is not open. reconnect');
69
+ this.reconnect();
70
+ }
71
+ }
72
+ // Устанавливаем callback для открытия соединения
73
+ onOpen(callback) {
74
+ this.openCallback = callback;
75
+ }
76
+ // Устанавливаем callback для обработки входящих сообщений
77
+ onMessage(callback) {
78
+ this.messageCallback = callback;
79
+ }
80
+ // Закрытие WebSocket соединения
81
+ close() {
82
+ if (this.websocket && this.websocket.readyState === WebSocket.OPEN) {
83
+ this.websocket.close(3001, "Manual disconnect");
84
+ }
85
+ }
86
+ }
87
+ exports.WebSocketClient = WebSocketClient;
@@ -0,0 +1,2 @@
1
+ import { iStorage } from "../interfaces/iStorage";
2
+ export declare const storageDefault: iStorage;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.storageDefault = void 0;
4
+ exports.storageDefault = {
5
+ set: async (key, data) => localStorage.setItem(key, data),
6
+ get: async (key) => localStorage.getItem(key),
7
+ remove: async (key) => localStorage.removeItem(key),
8
+ };
@@ -0,0 +1,21 @@
1
+ import { iStorage } from "../interfaces/iStorage";
2
+ import { iUserData } from "../interfaces/iUserData";
3
+ export declare class UserStorage {
4
+ protected storage: iStorage;
5
+ private user;
6
+ private accessToken;
7
+ private accessTokenExp;
8
+ private localTimeDiff;
9
+ constructor(storage?: iStorage);
10
+ getUser(): Promise<iUserData | null>;
11
+ setUser(accessToken: string, refreshToken: string): Promise<iUserData | null>;
12
+ saveUser({ firstname, lastname }: {
13
+ firstname?: string;
14
+ lastname?: string;
15
+ }): Promise<iUserData | null>;
16
+ clearUser(): Promise<void>;
17
+ private getCurrentTime;
18
+ getAccessToken(): Promise<string | null>;
19
+ getRefreshToken(): Promise<string | null>;
20
+ isAuth(): Promise<boolean>;
21
+ }