@smess/networking 1.1.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/CHANGELOG.md +211 -0
  2. package/README.md +165 -114
  3. package/dist/core/body.d.ts +10 -0
  4. package/dist/core/body.d.ts.map +1 -0
  5. package/dist/core/body.js +22 -0
  6. package/dist/core/body.js.map +1 -0
  7. package/dist/core/client.d.ts +74 -0
  8. package/dist/core/client.d.ts.map +1 -0
  9. package/dist/core/client.js +124 -0
  10. package/dist/core/client.js.map +1 -0
  11. package/dist/core/decoders.d.ts +8 -0
  12. package/dist/core/decoders.d.ts.map +1 -0
  13. package/dist/core/decoders.js +26 -0
  14. package/dist/core/decoders.js.map +1 -0
  15. package/dist/core/endpoint.d.ts +69 -0
  16. package/dist/core/endpoint.d.ts.map +1 -0
  17. package/dist/core/endpoint.js +6 -0
  18. package/dist/core/endpoint.js.map +1 -0
  19. package/dist/core/hosts.d.ts +25 -0
  20. package/dist/core/hosts.d.ts.map +1 -0
  21. package/dist/core/hosts.js +22 -0
  22. package/dist/core/hosts.js.map +1 -0
  23. package/dist/core/pagination.d.ts +33 -0
  24. package/dist/core/pagination.d.ts.map +1 -0
  25. package/dist/core/pagination.js +23 -0
  26. package/dist/core/pagination.js.map +1 -0
  27. package/dist/core/pipeline.d.ts +25 -0
  28. package/dist/core/pipeline.d.ts.map +1 -0
  29. package/dist/core/pipeline.js +12 -0
  30. package/dist/core/pipeline.js.map +1 -0
  31. package/dist/core/retry.d.ts +18 -0
  32. package/dist/core/retry.d.ts.map +1 -0
  33. package/dist/core/retry.js +47 -0
  34. package/dist/core/retry.js.map +1 -0
  35. package/dist/core/transport.d.ts +30 -0
  36. package/dist/core/transport.d.ts.map +1 -0
  37. package/dist/core/transport.js +73 -0
  38. package/dist/core/transport.js.map +1 -0
  39. package/dist/core/types.d.ts +24 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +3 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/core/url.d.ts +15 -0
  44. package/dist/core/url.d.ts.map +1 -0
  45. package/dist/core/url.js +46 -0
  46. package/dist/core/url.js.map +1 -0
  47. package/dist/errors/parse-error-body.d.ts +20 -0
  48. package/dist/errors/parse-error-body.d.ts.map +1 -0
  49. package/dist/errors/parse-error-body.js +73 -0
  50. package/dist/errors/parse-error-body.js.map +1 -0
  51. package/dist/errors/smess-api-error.d.ts +70 -0
  52. package/dist/errors/smess-api-error.d.ts.map +1 -0
  53. package/dist/errors/smess-api-error.js +84 -0
  54. package/dist/errors/smess-api-error.js.map +1 -0
  55. package/dist/index.d.ts +27 -25
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +15 -29
  58. package/dist/index.js.map +1 -0
  59. package/dist/modules/authentication/index.d.ts +89 -0
  60. package/dist/modules/authentication/index.d.ts.map +1 -0
  61. package/dist/modules/authentication/index.js +128 -0
  62. package/dist/modules/authentication/index.js.map +1 -0
  63. package/dist/modules/campaign/index.d.ts +212 -0
  64. package/dist/modules/campaign/index.d.ts.map +1 -0
  65. package/dist/modules/campaign/index.js +193 -0
  66. package/dist/modules/campaign/index.js.map +1 -0
  67. package/dist/modules/campaign/types.d.ts +562 -0
  68. package/dist/modules/campaign/types.d.ts.map +1 -0
  69. package/dist/modules/campaign/types.js +2 -0
  70. package/dist/modules/campaign/types.js.map +1 -0
  71. package/dist/modules/danara/index.d.ts +153 -0
  72. package/dist/modules/danara/index.d.ts.map +1 -0
  73. package/dist/modules/danara/index.js +144 -0
  74. package/dist/modules/danara/index.js.map +1 -0
  75. package/dist/modules/danara/types.d.ts +479 -0
  76. package/dist/modules/danara/types.d.ts.map +1 -0
  77. package/dist/modules/danara/types.js +2 -0
  78. package/dist/modules/danara/types.js.map +1 -0
  79. package/dist/modules/smeup-file/index.d.ts +27 -0
  80. package/dist/modules/smeup-file/index.d.ts.map +1 -0
  81. package/dist/modules/smeup-file/index.js +17 -0
  82. package/dist/modules/smeup-file/index.js.map +1 -0
  83. package/dist/modules/sso/index.d.ts +40 -0
  84. package/dist/modules/sso/index.d.ts.map +1 -0
  85. package/dist/modules/sso/index.js +41 -0
  86. package/dist/modules/sso/index.js.map +1 -0
  87. package/dist/rx/index.d.ts +11 -0
  88. package/dist/rx/index.d.ts.map +1 -0
  89. package/dist/rx/index.js +20 -0
  90. package/dist/rx/index.js.map +1 -0
  91. package/dist/session/auth-middleware.d.ts +27 -0
  92. package/dist/session/auth-middleware.d.ts.map +1 -0
  93. package/dist/session/auth-middleware.js +122 -0
  94. package/dist/session/auth-middleware.js.map +1 -0
  95. package/dist/session/jwt.d.ts +20 -0
  96. package/dist/session/jwt.d.ts.map +1 -0
  97. package/dist/session/jwt.js +25 -0
  98. package/dist/session/jwt.js.map +1 -0
  99. package/dist/session/stores.d.ts +19 -0
  100. package/dist/session/stores.d.ts.map +1 -0
  101. package/dist/session/stores.js +103 -0
  102. package/dist/session/stores.js.map +1 -0
  103. package/dist/session/types.d.ts +28 -0
  104. package/dist/session/types.d.ts.map +1 -0
  105. package/dist/session/types.js +2 -0
  106. package/dist/session/types.js.map +1 -0
  107. package/package.json +80 -30
  108. package/dist/core/axios.d.ts +0 -51
  109. package/dist/core/axios.js +0 -65
  110. package/dist/core/axios.observable.d.ts +0 -11
  111. package/dist/core/axios.observable.js +0 -58
  112. package/dist/core/base.provider.advanced.test.d.ts +0 -1
  113. package/dist/core/base.provider.advanced.test.js +0 -29
  114. package/dist/core/base.provider.d.ts +0 -15
  115. package/dist/core/base.provider.js +0 -13
  116. package/dist/core/base.provider.test.d.ts +0 -1
  117. package/dist/core/base.provider.test.js +0 -36
  118. package/dist/core/base.service.wrapper.advanced.test.d.ts +0 -1
  119. package/dist/core/base.service.wrapper.advanced.test.js +0 -39
  120. package/dist/core/base.service.wrapper.d.ts +0 -7
  121. package/dist/core/base.service.wrapper.js +0 -11
  122. package/dist/core/base.service.wrapper.test.d.ts +0 -1
  123. package/dist/core/base.service.wrapper.test.js +0 -25
  124. package/dist/core/rx.http.service.d.ts +0 -51
  125. package/dist/core/rx.http.service.js +0 -65
  126. package/dist/services/auth.service.d.ts +0 -69
  127. package/dist/services/auth.service.js +0 -197
  128. package/dist/services/auth.service.test.d.ts +0 -1
  129. package/dist/services/auth.service.test.js +0 -340
  130. package/dist/services/cache.service.d.ts +0 -31
  131. package/dist/services/cache.service.js +0 -77
  132. package/dist/services/cache.service.test.d.ts +0 -1
  133. package/dist/services/cache.service.test.js +0 -88
  134. package/dist/services/customer.service.d.ts +0 -213
  135. package/dist/services/customer.service.js +0 -128
  136. package/dist/services/customer.service.test.d.ts +0 -1
  137. package/dist/services/customer.service.test.js +0 -430
  138. package/dist/services/employee.service.d.ts +0 -73
  139. package/dist/services/employee.service.js +0 -74
  140. package/dist/services/employee.service.test.d.ts +0 -1
  141. package/dist/services/employee.service.test.js +0 -127
  142. package/dist/services/logger.service.d.ts +0 -31
  143. package/dist/services/logger.service.js +0 -93
  144. package/dist/services/logger.service.test.d.ts +0 -1
  145. package/dist/services/logger.service.test.js +0 -31
  146. package/dist/services/order.service.d.ts +0 -73
  147. package/dist/services/order.service.js +0 -97
  148. package/dist/services/order.service.test.d.ts +0 -1
  149. package/dist/services/order.service.test.js +0 -163
  150. package/dist/services/product.service.d.ts +0 -21
  151. package/dist/services/product.service.js +0 -42
  152. package/dist/services/product.service.test.d.ts +0 -1
  153. package/dist/services/product.service.test.js +0 -61
  154. package/dist/services/smess.service.d.ts +0 -36
  155. package/dist/services/smess.service.js +0 -128
  156. package/dist/services/smess.service.test.d.ts +0 -1
  157. package/dist/services/smess.service.test.js +0 -103
  158. package/dist/services/store.cart.service.d.ts +0 -158
  159. package/dist/services/store.cart.service.js +0 -177
  160. package/dist/services/store.cart.service.test.d.ts +0 -1
  161. package/dist/services/store.cart.service.test.js +0 -394
  162. package/dist/services/store.product.service.d.ts +0 -124
  163. package/dist/services/store.product.service.js +0 -102
  164. package/dist/services/store.product.service.test.d.ts +0 -1
  165. package/dist/services/store.product.service.test.js +0 -319
  166. package/dist/services/store.service.d.ts +0 -79
  167. package/dist/services/store.service.js +0 -235
  168. package/dist/services/store.service.test.d.ts +0 -1
  169. package/dist/services/store.service.test.js +0 -274
  170. package/dist/services/storefront.cart.service.d.ts +0 -73
  171. package/dist/services/storefront.cart.service.js +0 -167
  172. package/dist/services/storefront.cart.service.test.d.ts +0 -1
  173. package/dist/services/storefront.cart.service.test.js +0 -211
  174. package/dist/services/storefront.checkout.service.d.ts +0 -62
  175. package/dist/services/storefront.checkout.service.js +0 -75
  176. package/dist/services/storefront.checkout.service.test.d.ts +0 -1
  177. package/dist/services/storefront.checkout.service.test.js +0 -158
  178. package/dist/services/storefront.customer.metadata.service.d.ts +0 -91
  179. package/dist/services/storefront.customer.metadata.service.js +0 -225
  180. package/dist/services/storefront.customer.metadata.service.test.d.ts +0 -1
  181. package/dist/services/storefront.customer.metadata.service.test.js +0 -271
  182. package/dist/services/storefront.order.service.d.ts +0 -45
  183. package/dist/services/storefront.order.service.js +0 -99
  184. package/dist/services/storefront.order.service.test.d.ts +0 -1
  185. package/dist/services/storefront.order.service.test.js +0 -158
  186. package/dist/services/storefront.product.service.d.ts +0 -52
  187. package/dist/services/storefront.product.service.js +0 -75
  188. package/dist/services/storefront.product.service.test.d.ts +0 -1
  189. package/dist/services/storefront.product.service.test.js +0 -120
  190. package/dist/services/storefront.store.service.d.ts +0 -54
  191. package/dist/services/storefront.store.service.js +0 -142
  192. package/dist/services/storefront.store.service.test.d.ts +0 -1
  193. package/dist/services/storefront.store.service.test.js +0 -90
  194. package/dist/services/user.service.d.ts +0 -16
  195. package/dist/services/user.service.js +0 -37
  196. package/dist/services/user.service.test.d.ts +0 -1
  197. package/dist/services/user.service.test.js +0 -52
  198. package/dist/services/utils/withAuthReset.d.ts +0 -3
  199. package/dist/services/utils/withAuthReset.js +0 -8
  200. package/dist/src/core/axios.d.ts +0 -51
  201. package/dist/src/core/axios.js +0 -65
  202. package/dist/src/core/axios.observable.d.ts +0 -11
  203. package/dist/src/core/axios.observable.js +0 -58
  204. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  205. package/dist/src/core/base.provider.advanced.test.js +0 -29
  206. package/dist/src/core/base.provider.d.ts +0 -15
  207. package/dist/src/core/base.provider.js +0 -13
  208. package/dist/src/core/base.provider.test.d.ts +0 -1
  209. package/dist/src/core/base.provider.test.js +0 -36
  210. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  211. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  212. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  213. package/dist/src/core/base.service.wrapper.js +0 -11
  214. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  215. package/dist/src/core/base.service.wrapper.test.js +0 -25
  216. package/dist/src/core/rx.http.service.d.ts +0 -51
  217. package/dist/src/core/rx.http.service.js +0 -65
  218. package/dist/src/index.d.ts +0 -25
  219. package/dist/src/index.js +0 -29
  220. package/dist/src/services/auth.service.d.ts +0 -69
  221. package/dist/src/services/auth.service.js +0 -197
  222. package/dist/src/services/auth.service.test.d.ts +0 -1
  223. package/dist/src/services/auth.service.test.js +0 -340
  224. package/dist/src/services/cache.service.d.ts +0 -31
  225. package/dist/src/services/cache.service.js +0 -77
  226. package/dist/src/services/cache.service.test.d.ts +0 -1
  227. package/dist/src/services/cache.service.test.js +0 -88
  228. package/dist/src/services/customer.service.d.ts +0 -199
  229. package/dist/src/services/customer.service.js +0 -114
  230. package/dist/src/services/customer.service.test.d.ts +0 -1
  231. package/dist/src/services/customer.service.test.js +0 -430
  232. package/dist/src/services/employee.service.d.ts +0 -73
  233. package/dist/src/services/employee.service.js +0 -74
  234. package/dist/src/services/employee.service.test.d.ts +0 -1
  235. package/dist/src/services/employee.service.test.js +0 -127
  236. package/dist/src/services/logger.service.d.ts +0 -31
  237. package/dist/src/services/logger.service.js +0 -93
  238. package/dist/src/services/logger.service.test.d.ts +0 -1
  239. package/dist/src/services/logger.service.test.js +0 -31
  240. package/dist/src/services/order.service.d.ts +0 -73
  241. package/dist/src/services/order.service.js +0 -97
  242. package/dist/src/services/order.service.test.d.ts +0 -1
  243. package/dist/src/services/order.service.test.js +0 -163
  244. package/dist/src/services/product.service.d.ts +0 -21
  245. package/dist/src/services/product.service.js +0 -42
  246. package/dist/src/services/product.service.test.d.ts +0 -1
  247. package/dist/src/services/product.service.test.js +0 -61
  248. package/dist/src/services/smess.service.d.ts +0 -36
  249. package/dist/src/services/smess.service.js +0 -128
  250. package/dist/src/services/smess.service.test.d.ts +0 -1
  251. package/dist/src/services/smess.service.test.js +0 -103
  252. package/dist/src/services/store.cart.service.d.ts +0 -158
  253. package/dist/src/services/store.cart.service.js +0 -177
  254. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  255. package/dist/src/services/store.cart.service.test.js +0 -394
  256. package/dist/src/services/store.product.service.d.ts +0 -124
  257. package/dist/src/services/store.product.service.js +0 -102
  258. package/dist/src/services/store.product.service.test.d.ts +0 -1
  259. package/dist/src/services/store.product.service.test.js +0 -319
  260. package/dist/src/services/store.service.d.ts +0 -79
  261. package/dist/src/services/store.service.js +0 -235
  262. package/dist/src/services/store.service.test.d.ts +0 -1
  263. package/dist/src/services/store.service.test.js +0 -274
  264. package/dist/src/services/storefront.cart.service.d.ts +0 -73
  265. package/dist/src/services/storefront.cart.service.js +0 -167
  266. package/dist/src/services/storefront.cart.service.test.d.ts +0 -1
  267. package/dist/src/services/storefront.cart.service.test.js +0 -211
  268. package/dist/src/services/storefront.checkout.service.d.ts +0 -62
  269. package/dist/src/services/storefront.checkout.service.js +0 -75
  270. package/dist/src/services/storefront.checkout.service.test.d.ts +0 -1
  271. package/dist/src/services/storefront.checkout.service.test.js +0 -158
  272. package/dist/src/services/storefront.customer.metadata.service.d.ts +0 -91
  273. package/dist/src/services/storefront.customer.metadata.service.js +0 -225
  274. package/dist/src/services/storefront.customer.metadata.service.test.d.ts +0 -1
  275. package/dist/src/services/storefront.customer.metadata.service.test.js +0 -271
  276. package/dist/src/services/storefront.order.service.d.ts +0 -45
  277. package/dist/src/services/storefront.order.service.js +0 -99
  278. package/dist/src/services/storefront.order.service.test.d.ts +0 -1
  279. package/dist/src/services/storefront.order.service.test.js +0 -158
  280. package/dist/src/services/storefront.product.service.d.ts +0 -52
  281. package/dist/src/services/storefront.product.service.js +0 -75
  282. package/dist/src/services/storefront.product.service.test.d.ts +0 -1
  283. package/dist/src/services/storefront.product.service.test.js +0 -120
  284. package/dist/src/services/storefront.store.service.d.ts +0 -52
  285. package/dist/src/services/storefront.store.service.js +0 -140
  286. package/dist/src/services/storefront.store.service.test.d.ts +0 -1
  287. package/dist/src/services/storefront.store.service.test.js +0 -90
  288. package/dist/src/services/user.service.d.ts +0 -16
  289. package/dist/src/services/user.service.js +0 -37
  290. package/dist/src/services/user.service.test.d.ts +0 -1
  291. package/dist/src/services/user.service.test.js +0 -52
  292. package/dist/src/services/utils/withAuthReset.d.ts +0 -3
  293. package/dist/src/services/utils/withAuthReset.js +0 -8
  294. package/dist/src/types/types.d.ts +0 -93
  295. package/dist/src/types/types.js +0 -82
  296. package/dist/src/types/types.test.d.ts +0 -1
  297. package/dist/src/types/types.test.js +0 -25
  298. package/dist/src/utils/cache-import.d.ts +0 -3
  299. package/dist/src/utils/cache-import.js +0 -2
  300. package/dist/src/utils/networking-import.d.ts +0 -4
  301. package/dist/src/utils/networking-import.js +0 -3
  302. package/dist/src/utils/rxjs-import.d.ts +0 -5
  303. package/dist/src/utils/rxjs-import.js +0 -5
  304. package/dist/types/types.d.ts +0 -96
  305. package/dist/types/types.js +0 -82
  306. package/dist/types/types.test.d.ts +0 -1
  307. package/dist/types/types.test.js +0 -25
  308. package/dist/utils/cache-import.d.ts +0 -3
  309. package/dist/utils/cache-import.js +0 -2
  310. package/dist/utils/networking-import.d.ts +0 -4
  311. package/dist/utils/networking-import.js +0 -3
  312. package/dist/utils/rxjs-import.d.ts +0 -5
  313. package/dist/utils/rxjs-import.js +0 -5
@@ -1,65 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { createObservable } from "./axios.observable";
4
- class Axios {
5
- constructor(axiosInstance) {
6
- this.axiosInstance = axiosInstance;
7
- }
8
- get defaults() {
9
- return this.axiosInstance.defaults;
10
- }
11
- get interceptors() {
12
- return this.axiosInstance.interceptors;
13
- }
14
- // ----- Static Methods -----
15
- static request(config) {
16
- return createObservable(axios.request, [config]);
17
- }
18
- static get(url, config) {
19
- return createObservable(axios.get, [url, config]);
20
- }
21
- static post(url, data, config) {
22
- return createObservable(axios.post, [url, data, config]);
23
- }
24
- static put(url, data, config) {
25
- return createObservable(axios.put, [url, data, config]);
26
- }
27
- static patch(url, data, config) {
28
- return createObservable(axios.patch, [url, data, config]);
29
- }
30
- static delete(url, config) {
31
- return createObservable(axios.delete, [url, config]);
32
- }
33
- static head(url, config) {
34
- return createObservable(axios.head, [url, config]);
35
- }
36
- static create(config) {
37
- return new Axios(axios.create(config));
38
- }
39
- // ----- Instance Methods -----
40
- request(config) {
41
- return createObservable(this.axiosInstance.request, [config]);
42
- }
43
- get(url, config) {
44
- return createObservable(this.axiosInstance.get, [url, config]);
45
- }
46
- head(url, config) {
47
- return createObservable(this.axiosInstance.head, [url, config]);
48
- }
49
- post(url, data, config) {
50
- return createObservable(this.axiosInstance.post, [url, data, config]);
51
- }
52
- put(url, data, config) {
53
- return createObservable(this.axiosInstance.put, [url, data, config]);
54
- }
55
- patch(url, data, config) {
56
- return createObservable(this.axiosInstance.patch, [url, data, config]);
57
- }
58
- delete(url, config) {
59
- return createObservable(this.axiosInstance.delete, [url, config]);
60
- }
61
- }
62
- Axios.defaults = axios.defaults;
63
- Axios.interceptors = axios.interceptors;
64
- export default Axios;
65
- export { Axios };
@@ -1,11 +0,0 @@
1
- import { AxiosResponse } from "../utils/networking-import";
2
- import type { AxiosPromise } from "axios";
3
- import { Observable } from "../utils/rxjs-import";
4
- export type AxiosObservable<T> = Observable<AxiosResponse<T>>;
5
- interface ObservableOptions {
6
- retry?: number;
7
- timeoutMs?: number;
8
- cache?: boolean;
9
- }
10
- export declare function createObservable<T>(promiseFactory: (...args: any[]) => AxiosPromise<T>, args: any[], options?: ObservableOptions): AxiosObservable<T>;
11
- export {};
@@ -1,58 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { Observable, timeout as rxTimeout, retry as rxRetry, shareReplay, catchError, throwError, } from "../utils/rxjs-import";
4
- import { $logger } from "../services/logger.service";
5
- export function createObservable(promiseFactory, args, options = {}) {
6
- let config = args[args.length - 1];
7
- if (config && typeof config === "object" && !Array.isArray(config)) {
8
- config = { ...config };
9
- }
10
- else {
11
- config = {};
12
- args.push(config);
13
- }
14
- let cancelSource = null;
15
- const hasCancelToken = !!config.cancelToken;
16
- if (!hasCancelToken) {
17
- $logger.warn("[Networking] You can omit cancelToken — unsubscribing cancels the request automatically.", undefined, "axios.observable");
18
- }
19
- let source$ = new Observable((subscriber) => {
20
- if (!hasCancelToken) {
21
- cancelSource = axios.CancelToken.source();
22
- config.cancelToken = cancelSource.token;
23
- }
24
- promiseFactory(...args)
25
- .then((response) => {
26
- subscriber.next(response);
27
- subscriber.complete();
28
- })
29
- .catch((error) => {
30
- if (!subscriber.closed) {
31
- subscriber.error(error);
32
- }
33
- });
34
- return () => {
35
- if (cancelSource) {
36
- cancelSource.cancel("Request canceled via unsubscribe.");
37
- }
38
- };
39
- });
40
- // Add timeout if specified
41
- if (options.timeoutMs) {
42
- source$ = source$.pipe(rxTimeout(options.timeoutMs));
43
- }
44
- // Add retry logic
45
- if (options.retry) {
46
- source$ = source$.pipe(rxRetry(options.retry));
47
- }
48
- // Cache the response if needed
49
- if (options.cache) {
50
- source$ = source$.pipe(shareReplay({ bufferSize: 1, refCount: false }));
51
- }
52
- // Optional: Log or catch errors globally
53
- source$ = source$.pipe(catchError((err) => {
54
- $logger.error("[createObservable error]:", err, "axios.observable");
55
- return throwError(() => err);
56
- }));
57
- return source$;
58
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { BaseProvider } from "./base.provider";
2
- describe("BaseProvider Advanced", () => {
3
- const config = {
4
- baseUrl: "https://api.example.com",
5
- isProd: false,
6
- clientId: "test-client",
7
- apiKey: "test-key",
8
- };
9
- it("should support dynamic getPath for multiple params", () => {
10
- const provider = new BaseProvider({
11
- config,
12
- path: "/resource/:id/:action",
13
- method: "GET",
14
- headers: {},
15
- getPath: (id, action) => `/resource/${id}/${action}`,
16
- });
17
- expect(provider.getPath("42", "edit")).toBe("/resource/42/edit");
18
- });
19
- it("should allow dynamic headers and method", () => {
20
- const provider = new BaseProvider({
21
- config,
22
- path: "/resource",
23
- method: "PATCH",
24
- headers: { Authorization: "Bearer token" },
25
- });
26
- expect(provider.method).toBe("PATCH");
27
- expect(provider.headers.Authorization).toBe("Bearer token");
28
- });
29
- });
@@ -1,15 +0,0 @@
1
- import { ProviderType, NetworkingConfig } from "../types/types";
2
- export declare class BaseProvider implements ProviderType {
3
- baseURL: string;
4
- path: string;
5
- method: string;
6
- headers: Record<string, string | undefined>;
7
- getPath: (...queryParams: unknown[]) => string;
8
- constructor({ config, path, method, headers, getPath, }: {
9
- config: NetworkingConfig;
10
- path: string;
11
- method: string;
12
- headers?: any;
13
- getPath?: (...queryParams: any[]) => string;
14
- });
15
- }
@@ -1,13 +0,0 @@
1
- export class BaseProvider {
2
- constructor({ config, path, method, headers = {}, getPath = () => path, }) {
3
- this.baseURL = config.baseUrl;
4
- this.path = path;
5
- this.method = method;
6
- this.headers = {
7
- ...headers,
8
- "X-Client-Id": config.clientId,
9
- "X-Api-Key": config.apiKey,
10
- };
11
- this.getPath = getPath || (() => path);
12
- }
13
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,36 +0,0 @@
1
- import { BaseProvider } from "./base.provider";
2
- describe("BaseProvider", () => {
3
- const config = {
4
- baseUrl: "https://api.example.com",
5
- isProd: false,
6
- clientId: "test-client",
7
- apiKey: "test-key",
8
- };
9
- it("should construct with required fields", () => {
10
- const provider = new BaseProvider({
11
- config,
12
- path: "/resource",
13
- method: "GET",
14
- headers: { foo: "bar" },
15
- });
16
- expect(provider.baseURL).toBe("https://api.example.com");
17
- expect(provider.path).toBe("/resource");
18
- expect(provider.method).toBe("GET");
19
- expect(provider.headers).toEqual({
20
- foo: "bar",
21
- "X-Client-Id": "test-client",
22
- "X-Api-Key": "test-key",
23
- });
24
- expect(provider.getPath()).toBe("/resource");
25
- });
26
- it("should use custom getPath if provided", () => {
27
- const provider = new BaseProvider({
28
- config,
29
- path: "/resource/:id",
30
- method: "GET",
31
- headers: {},
32
- getPath: (id) => `/resource/${id}`,
33
- });
34
- expect(provider.getPath("123")).toBe("/resource/123");
35
- });
36
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,39 +0,0 @@
1
- import { BaseServiceWrapper } from "./base.service.wrapper";
2
- import { NetworkingUIEventWrapped } from "../types/types";
3
- import { of } from "rxjs";
4
- import { map } from "rxjs/operators";
5
- describe("BaseServiceWrapper Advanced", () => {
6
- const mockProvider = {
7
- baseURL: "https://api.example.com",
8
- path: "/resource",
9
- method: "GET",
10
- headers: {},
11
- getPath: () => "/resource",
12
- };
13
- it("should allow use of RxJS operators", (done) => {
14
- const wrapper = new BaseServiceWrapper(mockProvider);
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
16
- wrapper.request = (() => of(NetworkingUIEventWrapped.succeeded({ foo: 1 })));
17
- wrapper
18
- .request()
19
- .pipe(map((r) => r.response))
20
- .subscribe((val) => {
21
- expect(val).toEqual({ foo: 1 });
22
- done();
23
- });
24
- });
25
- it("should handle multiple concurrent requests", (done) => {
26
- const wrapper = new BaseServiceWrapper(mockProvider);
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
28
- wrapper.request = ((payload) => of(NetworkingUIEventWrapped.succeeded({ foo: payload })));
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
30
- const results = [];
31
- wrapper.request(1).subscribe((r) => {
32
- results.push(r.response);
33
- if (results.length === 1) {
34
- expect(results[0]).toEqual({ foo: 1 });
35
- done();
36
- }
37
- });
38
- });
39
- });
@@ -1,7 +0,0 @@
1
- import { ProviderType, NetworkingUIEventWrapped } from "../types/types";
2
- import { Observable } from "rxjs";
3
- export declare class BaseServiceWrapper<T extends ProviderType> {
4
- protected provider: T;
5
- constructor(provider: T);
6
- request<R = any>(payload?: any): Observable<NetworkingUIEventWrapped<R>>;
7
- }
@@ -1,11 +0,0 @@
1
- import { SmessService } from "../services/smess.service";
2
- export class BaseServiceWrapper {
3
- constructor(provider) {
4
- this.provider = provider;
5
- }
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for base service wrapper compatibility
7
- request(payload) {
8
- const service = new SmessService(this.provider);
9
- return service.request(payload);
10
- }
11
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { BaseServiceWrapper } from "./base.service.wrapper";
2
- import { NetworkingUIEventWrapped } from "../types/types";
3
- import { of } from "rxjs";
4
- // Mock SmessService for testing
5
- jest.mock("../services/smess.service", () => ({
6
- SmessService: jest.fn().mockImplementation(() => ({
7
- request: jest.fn(() => of(NetworkingUIEventWrapped.succeeded({ foo: "bar" }))),
8
- })),
9
- }));
10
- describe("BaseServiceWrapper", () => {
11
- const mockProvider = {
12
- baseURL: "https://api.example.com",
13
- path: "/resource",
14
- method: "GET",
15
- headers: {},
16
- getPath: () => "/resource",
17
- };
18
- it("should delegate request to SmessService", (done) => {
19
- const wrapper = new BaseServiceWrapper(mockProvider);
20
- wrapper.request().subscribe((result) => {
21
- expect(result.response).toEqual({ foo: "bar" });
22
- done();
23
- });
24
- });
25
- });
@@ -1,51 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "../utils/networking-import";
2
- import type { AxiosInterceptorManager } from "axios";
3
- import { AxiosObservable } from "./axios.observable";
4
- export interface Axiosable {
5
- request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
6
- get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
7
- head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
8
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
9
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
10
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
11
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
12
- }
13
- declare class HttpService implements Axiosable {
14
- private axiosInstance;
15
- static defaults: Omit<import("axios").AxiosDefaults<any>, "headers"> & {
16
- headers: import("axios").HeadersDefaults & {
17
- [key: string]: import("axios").AxiosHeaderValue;
18
- };
19
- };
20
- static interceptors: {
21
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
22
- response: AxiosInterceptorManager<AxiosResponse>;
23
- };
24
- constructor(axiosInstance: AxiosInstance);
25
- get defaults(): Omit<import("axios").AxiosDefaults<any>, "headers"> & {
26
- headers: import("axios").HeadersDefaults & {
27
- [key: string]: import("axios").AxiosHeaderValue;
28
- };
29
- };
30
- get interceptors(): {
31
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
32
- response: AxiosInterceptorManager<AxiosResponse>;
33
- };
34
- static request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
35
- static get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
36
- static post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
37
- static put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
38
- static patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
39
- static delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
40
- static head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
41
- static create(config: AxiosRequestConfig): HttpService;
42
- request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
43
- get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
44
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
45
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
46
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
47
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
48
- head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
49
- }
50
- export default HttpService;
51
- export { HttpService };
@@ -1,65 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { createObservable } from "./axios.observable";
4
- class HttpService {
5
- constructor(axiosInstance) {
6
- this.axiosInstance = axiosInstance;
7
- }
8
- get defaults() {
9
- return this.axiosInstance.defaults;
10
- }
11
- get interceptors() {
12
- return this.axiosInstance.interceptors;
13
- }
14
- // Static methods
15
- static request(config) {
16
- return createObservable(axios.request, [config]);
17
- }
18
- static get(url, config) {
19
- return createObservable(axios.get, [url, config]);
20
- }
21
- static post(url, data, config) {
22
- return createObservable(axios.post, [url, data, config]);
23
- }
24
- static put(url, data, config) {
25
- return createObservable(axios.put, [url, data, config]);
26
- }
27
- static patch(url, data, config) {
28
- return createObservable(axios.patch, [url, data, config]);
29
- }
30
- static delete(url, config) {
31
- return createObservable(axios.delete, [url, config]);
32
- }
33
- static head(url, config) {
34
- return createObservable(axios.head, [url, config]);
35
- }
36
- static create(config) {
37
- return new HttpService(axios.create(config));
38
- }
39
- // Instance methods
40
- request(config) {
41
- return createObservable(this.axiosInstance.request, [config]);
42
- }
43
- get(url, config) {
44
- return createObservable(this.axiosInstance.get, [url, config]);
45
- }
46
- post(url, data, config) {
47
- return createObservable(this.axiosInstance.post, [url, data, config]);
48
- }
49
- put(url, data, config) {
50
- return createObservable(this.axiosInstance.put, [url, data, config]);
51
- }
52
- patch(url, data, config) {
53
- return createObservable(this.axiosInstance.patch, [url, data, config]);
54
- }
55
- delete(url, config) {
56
- return createObservable(this.axiosInstance.delete, [url, config]);
57
- }
58
- head(url, config) {
59
- return createObservable(this.axiosInstance.head, [url, config]);
60
- }
61
- }
62
- HttpService.defaults = axios.defaults;
63
- HttpService.interceptors = axios.interceptors;
64
- export default HttpService;
65
- export { HttpService };
@@ -1,69 +0,0 @@
1
- import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from "../types/types";
2
- import { SmessService } from "./smess.service";
3
- import { BehaviorSubject, Observable } from "rxjs";
4
- export interface AuthLoginRequest {
5
- identifier: string;
6
- password: string;
7
- rememberMe?: boolean;
8
- }
9
- export interface ForgotPasswordRequest {
10
- identifier: string;
11
- }
12
- export interface AuthChangePasswordRequest {
13
- old_password: string;
14
- password: string;
15
- }
16
- export interface ResetPasswordRequest {
17
- token: string;
18
- password: string;
19
- }
20
- export interface VerifyResetPasswordTokenRequest {
21
- token: string;
22
- new_password: string;
23
- }
24
- export type AuthLoginResponse = {
25
- token_type: unknown;
26
- expires_in: unknown;
27
- token: unknown;
28
- refresh_token: unknown;
29
- };
30
- export type AuthTarget = "login" | "logout" | "change-password" | "password-forgot" | "reset-password" | "verify-reset-password-token";
31
- export declare class AuthProvider implements ProviderType {
32
- private readonly config;
33
- private readonly target;
34
- private readonly $authToken;
35
- constructor(config: NetworkingConfig, target: AuthTarget, $authToken: BehaviorSubject<string | null>);
36
- get baseURL(): string;
37
- get path(): string;
38
- get method(): string;
39
- get headers(): Record<string, string>;
40
- getPath(...queryParams: unknown[]): string;
41
- }
42
- export interface AuthServiceType {
43
- provider(target: AuthTarget): SmessService<AuthProvider>;
44
- login(payload: AuthLoginRequest): Observable<NetworkingUIEventWrapped<AuthLoginResponse>>;
45
- logout(): Observable<NetworkingUIEventWrapped<void>>;
46
- forgotPassword(payload: ForgotPasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
47
- changePassword(payload: AuthChangePasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
48
- resetPassword(payload: ResetPasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
49
- verifyResetPasswordToken(payload: VerifyResetPasswordTokenRequest): Observable<NetworkingUIEventWrapped<AuthLoginResponse>>;
50
- }
51
- export declare class AuthService implements AuthServiceType {
52
- private readonly config;
53
- private readonly $_authToken;
54
- constructor(config: NetworkingConfig);
55
- get $authToken(): BehaviorSubject<string | null>;
56
- get currentAuthToken(): string | null;
57
- private getValidToken;
58
- private loadFromStorage;
59
- private loadAuthFromStorage;
60
- private saveAuthToStorage;
61
- private clearAuthFromStorage;
62
- provider(target: AuthTarget): SmessService<AuthProvider>;
63
- login(payload: AuthLoginRequest): Observable<NetworkingUIEventWrapped<AuthLoginResponse>>;
64
- logout(): Observable<NetworkingUIEventWrapped<void>>;
65
- forgotPassword(payload: ForgotPasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
66
- changePassword(payload: AuthChangePasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
67
- resetPassword(payload: ResetPasswordRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
68
- verifyResetPasswordToken(payload: VerifyResetPasswordTokenRequest): Observable<NetworkingUIEventWrapped<AuthLoginResponse>>;
69
- }