@smess/networking 1.2.0 → 2.1.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 (317) hide show
  1. package/CHANGELOG.md +221 -0
  2. package/README.md +178 -111
  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 +27 -0
  20. package/dist/core/hosts.d.ts.map +1 -0
  21. package/dist/core/hosts.js +24 -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/messenger/index.d.ts +92 -0
  80. package/dist/modules/messenger/index.d.ts.map +1 -0
  81. package/dist/modules/messenger/index.js +44 -0
  82. package/dist/modules/messenger/index.js.map +1 -0
  83. package/dist/modules/smeup-file/index.d.ts +27 -0
  84. package/dist/modules/smeup-file/index.d.ts.map +1 -0
  85. package/dist/modules/smeup-file/index.js +17 -0
  86. package/dist/modules/smeup-file/index.js.map +1 -0
  87. package/dist/modules/sso/index.d.ts +40 -0
  88. package/dist/modules/sso/index.d.ts.map +1 -0
  89. package/dist/modules/sso/index.js +41 -0
  90. package/dist/modules/sso/index.js.map +1 -0
  91. package/dist/rx/index.d.ts +11 -0
  92. package/dist/rx/index.d.ts.map +1 -0
  93. package/dist/rx/index.js +20 -0
  94. package/dist/rx/index.js.map +1 -0
  95. package/dist/session/auth-middleware.d.ts +27 -0
  96. package/dist/session/auth-middleware.d.ts.map +1 -0
  97. package/dist/session/auth-middleware.js +122 -0
  98. package/dist/session/auth-middleware.js.map +1 -0
  99. package/dist/session/jwt.d.ts +20 -0
  100. package/dist/session/jwt.d.ts.map +1 -0
  101. package/dist/session/jwt.js +25 -0
  102. package/dist/session/jwt.js.map +1 -0
  103. package/dist/session/stores.d.ts +19 -0
  104. package/dist/session/stores.d.ts.map +1 -0
  105. package/dist/session/stores.js +103 -0
  106. package/dist/session/stores.js.map +1 -0
  107. package/dist/session/types.d.ts +28 -0
  108. package/dist/session/types.d.ts.map +1 -0
  109. package/dist/session/types.js +2 -0
  110. package/dist/session/types.js.map +1 -0
  111. package/package.json +84 -30
  112. package/dist/core/axios.d.ts +0 -51
  113. package/dist/core/axios.js +0 -65
  114. package/dist/core/axios.observable.d.ts +0 -11
  115. package/dist/core/axios.observable.js +0 -58
  116. package/dist/core/base.provider.advanced.test.d.ts +0 -1
  117. package/dist/core/base.provider.advanced.test.js +0 -29
  118. package/dist/core/base.provider.d.ts +0 -15
  119. package/dist/core/base.provider.js +0 -13
  120. package/dist/core/base.provider.test.d.ts +0 -1
  121. package/dist/core/base.provider.test.js +0 -36
  122. package/dist/core/base.service.wrapper.advanced.test.d.ts +0 -1
  123. package/dist/core/base.service.wrapper.advanced.test.js +0 -39
  124. package/dist/core/base.service.wrapper.d.ts +0 -7
  125. package/dist/core/base.service.wrapper.js +0 -11
  126. package/dist/core/base.service.wrapper.test.d.ts +0 -1
  127. package/dist/core/base.service.wrapper.test.js +0 -25
  128. package/dist/core/rx.http.service.d.ts +0 -51
  129. package/dist/core/rx.http.service.js +0 -65
  130. package/dist/services/auth.service.d.ts +0 -65
  131. package/dist/services/auth.service.js +0 -197
  132. package/dist/services/auth.service.test.d.ts +0 -1
  133. package/dist/services/auth.service.test.js +0 -334
  134. package/dist/services/cache.service.d.ts +0 -31
  135. package/dist/services/cache.service.js +0 -77
  136. package/dist/services/cache.service.test.d.ts +0 -1
  137. package/dist/services/cache.service.test.js +0 -88
  138. package/dist/services/customer.service.d.ts +0 -211
  139. package/dist/services/customer.service.js +0 -128
  140. package/dist/services/customer.service.test.d.ts +0 -1
  141. package/dist/services/customer.service.test.js +0 -430
  142. package/dist/services/employee.service.d.ts +0 -73
  143. package/dist/services/employee.service.js +0 -74
  144. package/dist/services/employee.service.test.d.ts +0 -1
  145. package/dist/services/employee.service.test.js +0 -127
  146. package/dist/services/logger.service.d.ts +0 -31
  147. package/dist/services/logger.service.js +0 -93
  148. package/dist/services/logger.service.test.d.ts +0 -1
  149. package/dist/services/logger.service.test.js +0 -31
  150. package/dist/services/order.service.d.ts +0 -73
  151. package/dist/services/order.service.js +0 -97
  152. package/dist/services/order.service.test.d.ts +0 -1
  153. package/dist/services/order.service.test.js +0 -163
  154. package/dist/services/product.service.d.ts +0 -21
  155. package/dist/services/product.service.js +0 -42
  156. package/dist/services/product.service.test.d.ts +0 -1
  157. package/dist/services/product.service.test.js +0 -61
  158. package/dist/services/smess.service.d.ts +0 -36
  159. package/dist/services/smess.service.js +0 -128
  160. package/dist/services/smess.service.test.d.ts +0 -1
  161. package/dist/services/smess.service.test.js +0 -103
  162. package/dist/services/store.cart.service.d.ts +0 -158
  163. package/dist/services/store.cart.service.js +0 -177
  164. package/dist/services/store.cart.service.test.d.ts +0 -1
  165. package/dist/services/store.cart.service.test.js +0 -394
  166. package/dist/services/store.product.service.d.ts +0 -124
  167. package/dist/services/store.product.service.js +0 -102
  168. package/dist/services/store.product.service.test.d.ts +0 -1
  169. package/dist/services/store.product.service.test.js +0 -319
  170. package/dist/services/store.service.d.ts +0 -79
  171. package/dist/services/store.service.js +0 -235
  172. package/dist/services/store.service.test.d.ts +0 -1
  173. package/dist/services/store.service.test.js +0 -274
  174. package/dist/services/storefront.cart.service.d.ts +0 -73
  175. package/dist/services/storefront.cart.service.js +0 -167
  176. package/dist/services/storefront.cart.service.test.d.ts +0 -1
  177. package/dist/services/storefront.cart.service.test.js +0 -211
  178. package/dist/services/storefront.checkout.service.d.ts +0 -62
  179. package/dist/services/storefront.checkout.service.js +0 -75
  180. package/dist/services/storefront.checkout.service.test.d.ts +0 -1
  181. package/dist/services/storefront.checkout.service.test.js +0 -158
  182. package/dist/services/storefront.customer.metadata.service.d.ts +0 -91
  183. package/dist/services/storefront.customer.metadata.service.js +0 -225
  184. package/dist/services/storefront.customer.metadata.service.test.d.ts +0 -1
  185. package/dist/services/storefront.customer.metadata.service.test.js +0 -271
  186. package/dist/services/storefront.order.service.d.ts +0 -45
  187. package/dist/services/storefront.order.service.js +0 -99
  188. package/dist/services/storefront.order.service.test.d.ts +0 -1
  189. package/dist/services/storefront.order.service.test.js +0 -158
  190. package/dist/services/storefront.product.service.d.ts +0 -52
  191. package/dist/services/storefront.product.service.js +0 -75
  192. package/dist/services/storefront.product.service.test.d.ts +0 -1
  193. package/dist/services/storefront.product.service.test.js +0 -120
  194. package/dist/services/storefront.store.service.d.ts +0 -54
  195. package/dist/services/storefront.store.service.js +0 -142
  196. package/dist/services/storefront.store.service.test.d.ts +0 -1
  197. package/dist/services/storefront.store.service.test.js +0 -90
  198. package/dist/services/user.service.d.ts +0 -16
  199. package/dist/services/user.service.js +0 -37
  200. package/dist/services/user.service.test.d.ts +0 -1
  201. package/dist/services/user.service.test.js +0 -52
  202. package/dist/services/utils/withAuthReset.d.ts +0 -3
  203. package/dist/services/utils/withAuthReset.js +0 -8
  204. package/dist/src/core/axios.d.ts +0 -51
  205. package/dist/src/core/axios.js +0 -65
  206. package/dist/src/core/axios.observable.d.ts +0 -11
  207. package/dist/src/core/axios.observable.js +0 -58
  208. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  209. package/dist/src/core/base.provider.advanced.test.js +0 -29
  210. package/dist/src/core/base.provider.d.ts +0 -15
  211. package/dist/src/core/base.provider.js +0 -13
  212. package/dist/src/core/base.provider.test.d.ts +0 -1
  213. package/dist/src/core/base.provider.test.js +0 -36
  214. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  215. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  216. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  217. package/dist/src/core/base.service.wrapper.js +0 -11
  218. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  219. package/dist/src/core/base.service.wrapper.test.js +0 -25
  220. package/dist/src/core/rx.http.service.d.ts +0 -51
  221. package/dist/src/core/rx.http.service.js +0 -65
  222. package/dist/src/index.d.ts +0 -25
  223. package/dist/src/index.js +0 -29
  224. package/dist/src/services/auth.service.d.ts +0 -65
  225. package/dist/src/services/auth.service.js +0 -197
  226. package/dist/src/services/auth.service.test.d.ts +0 -1
  227. package/dist/src/services/auth.service.test.js +0 -334
  228. package/dist/src/services/cache.service.d.ts +0 -31
  229. package/dist/src/services/cache.service.js +0 -77
  230. package/dist/src/services/cache.service.test.d.ts +0 -1
  231. package/dist/src/services/cache.service.test.js +0 -88
  232. package/dist/src/services/customer.service.d.ts +0 -199
  233. package/dist/src/services/customer.service.js +0 -114
  234. package/dist/src/services/customer.service.test.d.ts +0 -1
  235. package/dist/src/services/customer.service.test.js +0 -430
  236. package/dist/src/services/employee.service.d.ts +0 -73
  237. package/dist/src/services/employee.service.js +0 -74
  238. package/dist/src/services/employee.service.test.d.ts +0 -1
  239. package/dist/src/services/employee.service.test.js +0 -127
  240. package/dist/src/services/logger.service.d.ts +0 -31
  241. package/dist/src/services/logger.service.js +0 -93
  242. package/dist/src/services/logger.service.test.d.ts +0 -1
  243. package/dist/src/services/logger.service.test.js +0 -31
  244. package/dist/src/services/order.service.d.ts +0 -73
  245. package/dist/src/services/order.service.js +0 -97
  246. package/dist/src/services/order.service.test.d.ts +0 -1
  247. package/dist/src/services/order.service.test.js +0 -163
  248. package/dist/src/services/product.service.d.ts +0 -21
  249. package/dist/src/services/product.service.js +0 -42
  250. package/dist/src/services/product.service.test.d.ts +0 -1
  251. package/dist/src/services/product.service.test.js +0 -61
  252. package/dist/src/services/smess.service.d.ts +0 -36
  253. package/dist/src/services/smess.service.js +0 -128
  254. package/dist/src/services/smess.service.test.d.ts +0 -1
  255. package/dist/src/services/smess.service.test.js +0 -103
  256. package/dist/src/services/store.cart.service.d.ts +0 -158
  257. package/dist/src/services/store.cart.service.js +0 -177
  258. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  259. package/dist/src/services/store.cart.service.test.js +0 -394
  260. package/dist/src/services/store.product.service.d.ts +0 -124
  261. package/dist/src/services/store.product.service.js +0 -102
  262. package/dist/src/services/store.product.service.test.d.ts +0 -1
  263. package/dist/src/services/store.product.service.test.js +0 -319
  264. package/dist/src/services/store.service.d.ts +0 -79
  265. package/dist/src/services/store.service.js +0 -235
  266. package/dist/src/services/store.service.test.d.ts +0 -1
  267. package/dist/src/services/store.service.test.js +0 -274
  268. package/dist/src/services/storefront.cart.service.d.ts +0 -73
  269. package/dist/src/services/storefront.cart.service.js +0 -167
  270. package/dist/src/services/storefront.cart.service.test.d.ts +0 -1
  271. package/dist/src/services/storefront.cart.service.test.js +0 -211
  272. package/dist/src/services/storefront.checkout.service.d.ts +0 -62
  273. package/dist/src/services/storefront.checkout.service.js +0 -75
  274. package/dist/src/services/storefront.checkout.service.test.d.ts +0 -1
  275. package/dist/src/services/storefront.checkout.service.test.js +0 -158
  276. package/dist/src/services/storefront.customer.metadata.service.d.ts +0 -91
  277. package/dist/src/services/storefront.customer.metadata.service.js +0 -225
  278. package/dist/src/services/storefront.customer.metadata.service.test.d.ts +0 -1
  279. package/dist/src/services/storefront.customer.metadata.service.test.js +0 -271
  280. package/dist/src/services/storefront.order.service.d.ts +0 -45
  281. package/dist/src/services/storefront.order.service.js +0 -99
  282. package/dist/src/services/storefront.order.service.test.d.ts +0 -1
  283. package/dist/src/services/storefront.order.service.test.js +0 -158
  284. package/dist/src/services/storefront.product.service.d.ts +0 -52
  285. package/dist/src/services/storefront.product.service.js +0 -75
  286. package/dist/src/services/storefront.product.service.test.d.ts +0 -1
  287. package/dist/src/services/storefront.product.service.test.js +0 -120
  288. package/dist/src/services/storefront.store.service.d.ts +0 -52
  289. package/dist/src/services/storefront.store.service.js +0 -140
  290. package/dist/src/services/storefront.store.service.test.d.ts +0 -1
  291. package/dist/src/services/storefront.store.service.test.js +0 -90
  292. package/dist/src/services/user.service.d.ts +0 -16
  293. package/dist/src/services/user.service.js +0 -37
  294. package/dist/src/services/user.service.test.d.ts +0 -1
  295. package/dist/src/services/user.service.test.js +0 -52
  296. package/dist/src/services/utils/withAuthReset.d.ts +0 -3
  297. package/dist/src/services/utils/withAuthReset.js +0 -8
  298. package/dist/src/types/types.d.ts +0 -93
  299. package/dist/src/types/types.js +0 -82
  300. package/dist/src/types/types.test.d.ts +0 -1
  301. package/dist/src/types/types.test.js +0 -25
  302. package/dist/src/utils/cache-import.d.ts +0 -3
  303. package/dist/src/utils/cache-import.js +0 -2
  304. package/dist/src/utils/networking-import.d.ts +0 -4
  305. package/dist/src/utils/networking-import.js +0 -3
  306. package/dist/src/utils/rxjs-import.d.ts +0 -5
  307. package/dist/src/utils/rxjs-import.js +0 -5
  308. package/dist/types/types.d.ts +0 -96
  309. package/dist/types/types.js +0 -82
  310. package/dist/types/types.test.d.ts +0 -1
  311. package/dist/types/types.test.js +0 -25
  312. package/dist/utils/cache-import.d.ts +0 -3
  313. package/dist/utils/cache-import.js +0 -2
  314. package/dist/utils/networking-import.d.ts +0 -4
  315. package/dist/utils/networking-import.js +0 -3
  316. package/dist/utils/rxjs-import.d.ts +0 -5
  317. package/dist/utils/rxjs-import.js +0 -5
@@ -1,127 +0,0 @@
1
- import { EmployeeService, } from "./employee.service";
2
- import { NetworkingUIEventWrapped, AlertModel, } from "../types/types";
3
- import { BehaviorSubject, of } from "rxjs";
4
- describe("EmployeeService", () => {
5
- const config = {
6
- baseUrl: "https://api.example.com",
7
- isProd: false,
8
- clientId: "test-client-id",
9
- apiKey: "test-api-key",
10
- };
11
- let service;
12
- let $authToken;
13
- beforeEach(() => {
14
- $authToken = new BehaviorSubject(null);
15
- service = new EmployeeService(config, $authToken);
16
- });
17
- it("getProfile success", async () => {
18
- const response = {
19
- data: { id: "employee-123", email: "employee@example.com" },
20
- };
21
- jest.spyOn(service, "provider").mockReturnValue({
22
- request: () => of(NetworkingUIEventWrapped.succeeded(response)),
23
- });
24
- const result = await service.getProfile().toPromise();
25
- expect(result?.hasSuccess).toBe(true);
26
- expect(result?.response).toEqual(response);
27
- });
28
- it("getProfile error clears auth token", async () => {
29
- const alert = new AlertModel("Unauthorized", 401, true);
30
- $authToken.next("token-123");
31
- jest.spyOn(service, "provider").mockReturnValue({
32
- request: () => of(NetworkingUIEventWrapped.failed(alert)),
33
- });
34
- const result = await service.getProfile().toPromise();
35
- expect(result?.hasFailed).toBe(true);
36
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
37
- expect($authToken.value).toBeNull();
38
- });
39
- it("getCartCollection success", async () => {
40
- const response = {
41
- data: { items: [], page: 1, perPage: 24, total: 0 },
42
- };
43
- const requestMock = jest
44
- .fn()
45
- .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
46
- jest.spyOn(service, "provider").mockReturnValue({
47
- request: requestMock,
48
- });
49
- const query = {
50
- page: 1,
51
- per_page: 24,
52
- status: "submitted",
53
- };
54
- const result = await service.getCartCollection(query).toPromise();
55
- expect(requestMock).toHaveBeenCalledWith(query);
56
- expect(result?.hasSuccess).toBe(true);
57
- expect(result?.response).toEqual(response);
58
- });
59
- it("getCartCollection error clears auth token", async () => {
60
- const requestMock = jest
61
- .fn()
62
- .mockReturnValue(of(NetworkingUIEventWrapped.failed(new AlertModel("Unauthorized", 401, true))));
63
- $authToken.next("token-456");
64
- jest.spyOn(service, "provider").mockReturnValue({
65
- request: requestMock,
66
- });
67
- const query = {
68
- page: 2,
69
- per_page: 10,
70
- };
71
- const result = await service.getCartCollection(query).toPromise();
72
- expect(requestMock).toHaveBeenCalledWith(query);
73
- expect(result?.hasFailed).toBe(true);
74
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
75
- expect($authToken.value).toBeNull();
76
- });
77
- it("bulkCartAction success", async () => {
78
- const response = {
79
- data: { updated: 1 },
80
- };
81
- const requestMock = jest
82
- .fn()
83
- .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
84
- jest.spyOn(service, "provider").mockReturnValue({
85
- request: requestMock,
86
- });
87
- const payload = {
88
- update: [
89
- {
90
- cart_id: "cart-123",
91
- status: "submitted",
92
- items: [
93
- {
94
- product_id: "product-1",
95
- quantity: 2,
96
- },
97
- ],
98
- },
99
- ],
100
- };
101
- const result = await service.bulkCartAction(payload).toPromise();
102
- expect(requestMock).toHaveBeenCalledWith(payload);
103
- expect(result?.hasSuccess).toBe(true);
104
- expect(result?.response).toEqual(response);
105
- });
106
- it("bulkCartAction error clears auth token", async () => {
107
- const requestMock = jest
108
- .fn()
109
- .mockReturnValue(of(NetworkingUIEventWrapped.failed(new AlertModel("Unauthorized", 401, true))));
110
- $authToken.next("token-789");
111
- jest.spyOn(service, "provider").mockReturnValue({
112
- request: requestMock,
113
- });
114
- const payload = {
115
- update: [
116
- {
117
- cart_id: "cart-456",
118
- },
119
- ],
120
- };
121
- const result = await service.bulkCartAction(payload).toPromise();
122
- expect(requestMock).toHaveBeenCalledWith(payload);
123
- expect(result?.hasFailed).toBe(true);
124
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
125
- expect($authToken.value).toBeNull();
126
- });
127
- });
@@ -1,31 +0,0 @@
1
- export declare enum LogLevel {
2
- DEBUG = 0,
3
- INFO = 1,
4
- WARN = 2,
5
- ERROR = 3,
6
- NONE = 4
7
- }
8
- export interface LogEntry {
9
- level: LogLevel;
10
- message: string;
11
- data?: unknown;
12
- timestamp: number;
13
- context?: string;
14
- }
15
- export declare class LoggerService {
16
- private currentLevel;
17
- private logs;
18
- private maxLogs;
19
- setLogLevel(level: LogLevel): void;
20
- private shouldLog;
21
- private formatMessage;
22
- private getEmojiForLevel;
23
- private log;
24
- debug(message: string, data?: unknown, context?: string): void;
25
- info(message: string, data?: unknown, context?: string): void;
26
- warn(message: string, data?: unknown, context?: string): void;
27
- error(message: string, data?: unknown, context?: string): void;
28
- getLogs(): LogEntry[];
29
- clearLogs(): void;
30
- }
31
- export declare const $logger: LoggerService;
@@ -1,93 +0,0 @@
1
- export var LogLevel;
2
- (function (LogLevel) {
3
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
4
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
5
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
6
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
7
- LogLevel[LogLevel["NONE"] = 4] = "NONE";
8
- })(LogLevel || (LogLevel = {}));
9
- export class LoggerService {
10
- constructor() {
11
- this.currentLevel = LogLevel.DEBUG;
12
- this.logs = [];
13
- this.maxLogs = 1000;
14
- }
15
- setLogLevel(level) {
16
- this.currentLevel = level;
17
- }
18
- shouldLog(level) {
19
- return level >= this.currentLevel;
20
- }
21
- formatMessage(level, message, context) {
22
- const emoji = this.getEmojiForLevel(level);
23
- const levelName = LogLevel[level];
24
- const contextStr = context ? ` [${context}]` : "";
25
- return `${emoji} ${levelName}${contextStr}: ${message}`;
26
- }
27
- getEmojiForLevel(level) {
28
- switch (level) {
29
- case LogLevel.DEBUG:
30
- return "🔍";
31
- case LogLevel.INFO:
32
- return "ℹ️";
33
- case LogLevel.WARN:
34
- return "⚠️";
35
- case LogLevel.ERROR:
36
- return "❌";
37
- default:
38
- return "📝";
39
- }
40
- }
41
- log(level, message, data, context) {
42
- if (!this.shouldLog(level))
43
- return;
44
- const logEntry = {
45
- level,
46
- message,
47
- data,
48
- timestamp: Date.now(),
49
- context,
50
- };
51
- // Store log entry
52
- this.logs.push(logEntry);
53
- if (this.logs.length > this.maxLogs) {
54
- this.logs.shift();
55
- }
56
- // Console output
57
- const formattedMessage = this.formatMessage(level, message, context);
58
- switch (level) {
59
- case LogLevel.DEBUG:
60
- console.debug(formattedMessage, data || "");
61
- break;
62
- case LogLevel.INFO:
63
- console.info(formattedMessage, data || "");
64
- break;
65
- case LogLevel.WARN:
66
- console.warn(formattedMessage, data || "");
67
- break;
68
- case LogLevel.ERROR:
69
- console.error(formattedMessage, data || "");
70
- break;
71
- }
72
- }
73
- debug(message, data, context) {
74
- this.log(LogLevel.DEBUG, message, data, context);
75
- }
76
- info(message, data, context) {
77
- this.log(LogLevel.INFO, message, data, context);
78
- }
79
- warn(message, data, context) {
80
- this.log(LogLevel.WARN, message, data, context);
81
- }
82
- error(message, data, context) {
83
- this.log(LogLevel.ERROR, message, data, context);
84
- }
85
- getLogs() {
86
- return [...this.logs];
87
- }
88
- clearLogs() {
89
- this.logs = [];
90
- }
91
- }
92
- // Export singleton instance
93
- export const $logger = new LoggerService();
@@ -1 +0,0 @@
1
- export {};
@@ -1,31 +0,0 @@
1
- import { $logger, LogLevel } from "./logger.service";
2
- describe("LoggerService", () => {
3
- beforeEach(() => {
4
- $logger.clearLogs();
5
- $logger.setLogLevel(LogLevel.DEBUG);
6
- });
7
- it("should log info", () => {
8
- $logger.info("info message", { foo: 1 }, "test");
9
- const logs = $logger.getLogs();
10
- expect(logs[0].level).toBe(LogLevel.INFO);
11
- expect(logs[0].message).toBe("info message");
12
- expect(logs[0].data).toEqual({ foo: 1 });
13
- expect(logs[0].context).toBe("test");
14
- });
15
- it("should log warn and error", () => {
16
- $logger.warn("warn message");
17
- $logger.error("error message", { bar: 2 });
18
- const logs = $logger.getLogs();
19
- expect(logs[0].level).toBe(LogLevel.WARN);
20
- expect(logs[1].level).toBe(LogLevel.ERROR);
21
- expect(logs[1].data).toEqual({ bar: 2 });
22
- });
23
- it("should respect log level", () => {
24
- $logger.setLogLevel(LogLevel.ERROR);
25
- $logger.info("should not log");
26
- $logger.error("should log");
27
- const logs = $logger.getLogs();
28
- expect(logs.length).toBe(1);
29
- expect(logs[0].level).toBe(LogLevel.ERROR);
30
- });
31
- });
@@ -1,73 +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 type OrderTarget = "order-list" | "order-create" | "order-delete" | "order-get-draft" | "order-update" | "order-get" | "order-collection";
5
- export interface CreateOrderRequest extends UpdateOrderRequest {
6
- }
7
- export interface UpdateOrderRequest {
8
- external_id?: string;
9
- order_date: string;
10
- type?: string;
11
- status?: string;
12
- payment_status?: string;
13
- delivery_note?: string;
14
- delivery_fee?: number;
15
- delivery_address?: string;
16
- payment_method?: string;
17
- payment_period?: string;
18
- discount_in_percent?: number;
19
- due_payment_amount?: number;
20
- total_gst?: number;
21
- total_exclude_gst?: number;
22
- total_include_gst?: number;
23
- order_items: OrderItemRequest[];
24
- }
25
- export interface OrderItemRequest {
26
- product_name: string;
27
- product_category: string;
28
- supplier?: string;
29
- supplier_code?: string;
30
- supplier_item_name?: string;
31
- unit: string;
32
- quantity: number;
33
- price_include_taxes: number;
34
- vat_in_percent: number;
35
- discount_in_percent?: number;
36
- page_number?: number;
37
- item_row_in_page?: number;
38
- }
39
- export interface OrderCollectionRequest {
40
- page?: number;
41
- per_page?: number;
42
- search?: string;
43
- status?: string;
44
- payment_status?: string;
45
- order_date_from?: string;
46
- order_date_to?: string;
47
- sort_by?: string;
48
- sort_order?: 'asc' | 'desc';
49
- }
50
- export declare class OrderProvider implements ProviderType {
51
- private readonly config;
52
- private readonly target;
53
- private readonly $authToken;
54
- constructor(config: NetworkingConfig, target: OrderTarget, $authToken: BehaviorSubject<string | null>);
55
- get baseURL(): string;
56
- get path(): string;
57
- get method(): string;
58
- get headers(): Record<string, string>;
59
- getPath(...queryParams: unknown[]): string;
60
- }
61
- export declare class OrderService {
62
- private readonly config;
63
- private readonly $authToken;
64
- constructor(config: NetworkingConfig, $authToken: BehaviorSubject<string | null>);
65
- provider(target: OrderTarget): SmessService<OrderProvider>;
66
- list(): Observable<NetworkingUIEventWrapped<HttpResponse>>;
67
- create(payload: CreateOrderRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
68
- delete(id: string): Observable<NetworkingUIEventWrapped<HttpResponse>>;
69
- getDraft(): Observable<NetworkingUIEventWrapped<HttpResponse>>;
70
- update(id: string, payload: UpdateOrderRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
71
- get(id: string): Observable<NetworkingUIEventWrapped<HttpResponse>>;
72
- collection(payload: OrderCollectionRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
73
- }
@@ -1,97 +0,0 @@
1
- import { Accept, SMESSHeader, SmessService } from "./smess.service";
2
- export class OrderProvider {
3
- constructor(config, target, $authToken) {
4
- this.config = config;
5
- this.target = target;
6
- this.$authToken = $authToken;
7
- }
8
- get baseURL() {
9
- return this.config.version
10
- ? `${this.config.baseUrl}/${this.config.version}`
11
- : this.config.baseUrl;
12
- }
13
- get path() {
14
- switch (this.target) {
15
- case "order-list":
16
- return "/order/list";
17
- case "order-create":
18
- return "/order/create";
19
- case "order-delete":
20
- return "/order/${id}";
21
- case "order-get-draft":
22
- return "/order/get-draft";
23
- case "order-collection":
24
- return "/order/collection";
25
- case "order-update":
26
- case "order-get":
27
- default:
28
- return "/order/${id}";
29
- }
30
- }
31
- get method() {
32
- switch (this.target) {
33
- case "order-list":
34
- case "order-get":
35
- case "order-get-draft":
36
- case "order-collection":
37
- return "GET";
38
- case "order-create":
39
- return "POST";
40
- case "order-update":
41
- return "PUT";
42
- case "order-delete":
43
- return "DELETE";
44
- default:
45
- return "GET";
46
- }
47
- }
48
- get headers() {
49
- let headers = SmessService.getHeaders(Accept.V1, this.$authToken.value);
50
- if (this.config.clientId) {
51
- headers[SMESSHeader.ClientId] = this.config.clientId;
52
- }
53
- if (this.config.apiKey) {
54
- headers[SMESSHeader.ApiKey] = this.config.apiKey;
55
- }
56
- return SmessService.filterHeaders(headers);
57
- }
58
- getPath(...queryParams) {
59
- let definedPath = this.path;
60
- const params = definedPath.match(/\$\{(.+?)\}/g);
61
- params?.forEach((value, index) => {
62
- definedPath = definedPath.replace(value, String(queryParams[index]));
63
- });
64
- return definedPath;
65
- }
66
- }
67
- export class OrderService {
68
- constructor(config, $authToken) {
69
- this.config = config;
70
- this.$authToken = $authToken;
71
- }
72
- provider(target) {
73
- const targetWrapper = new OrderProvider(this.config, target, this.$authToken);
74
- return new SmessService(targetWrapper);
75
- }
76
- list() {
77
- return this.provider("order-list").request();
78
- }
79
- create(payload) {
80
- return this.provider("order-create").request(payload);
81
- }
82
- delete(id) {
83
- return this.provider("order-delete").request(null, undefined, id);
84
- }
85
- getDraft() {
86
- return this.provider("order-get-draft").request();
87
- }
88
- update(id, payload) {
89
- return this.provider("order-update").request(payload, undefined, id);
90
- }
91
- get(id) {
92
- return this.provider("order-get").request(null, undefined, id);
93
- }
94
- collection(payload) {
95
- return this.provider("order-collection").request(payload, undefined, undefined);
96
- }
97
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,163 +0,0 @@
1
- import { OrderService, } from "./order.service";
2
- import { NetworkingUIEventWrapped, AlertModel, } from "../types/types";
3
- import { of, BehaviorSubject } from "rxjs";
4
- describe("OrderService", () => {
5
- const config = {
6
- baseUrl: "https://api.example.com",
7
- isProd: false,
8
- clientId: "test-client-id",
9
- apiKey: "test-api-key",
10
- };
11
- let service;
12
- let $authToken;
13
- beforeEach(() => {
14
- $authToken = new BehaviorSubject(null);
15
- service = new OrderService(config, $authToken);
16
- });
17
- it("list success", async () => {
18
- const response = { data: [{ id: "1", status: "draft" }] };
19
- jest.spyOn(service, "provider").mockReturnValue({
20
- request: () => of(NetworkingUIEventWrapped.succeeded(response)),
21
- });
22
- const result = await service.list().toPromise();
23
- expect(result?.hasSuccess).toBe(true);
24
- expect(result?.response).toEqual(response);
25
- });
26
- it("list error", async () => {
27
- jest.spyOn(service, "provider").mockReturnValue({
28
- request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
29
- });
30
- const result = await service.list().toPromise();
31
- expect(result?.hasFailed).toBe(true);
32
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
33
- });
34
- it("create success", async () => {
35
- const payload = {
36
- order_date: "2024-01-01",
37
- order_items: [],
38
- };
39
- const response = { data: { id: "1", status: "created" } };
40
- jest.spyOn(service, "provider").mockReturnValue({
41
- request: () => of(NetworkingUIEventWrapped.succeeded(response)),
42
- });
43
- const result = await service.create(payload).toPromise();
44
- expect(result?.hasSuccess).toBe(true);
45
- expect(result?.response).toEqual(response);
46
- });
47
- it("create error", async () => {
48
- const payload = {
49
- order_date: "2024-01-01",
50
- order_items: [],
51
- };
52
- jest.spyOn(service, "provider").mockReturnValue({
53
- request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
54
- });
55
- const result = await service.create(payload).toPromise();
56
- expect(result?.hasFailed).toBe(true);
57
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
58
- });
59
- it("delete success", async () => {
60
- const response = { data: { id: "1", status: "deleted" } };
61
- jest.spyOn(service, "provider").mockReturnValue({
62
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
63
- });
64
- const result = await service.delete("1").toPromise();
65
- expect(result?.hasSuccess).toBe(true);
66
- expect(result?.response).toEqual(response);
67
- });
68
- it("delete error", async () => {
69
- jest.spyOn(service, "provider").mockReturnValue({
70
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
71
- });
72
- const result = await service.delete("1").toPromise();
73
- expect(result?.hasFailed).toBe(true);
74
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
75
- });
76
- it("getDraft success", async () => {
77
- const response = { data: { id: "draft", status: "draft" } };
78
- jest.spyOn(service, "provider").mockReturnValue({
79
- request: () => of(NetworkingUIEventWrapped.succeeded(response)),
80
- });
81
- const result = await service.getDraft().toPromise();
82
- expect(result?.hasSuccess).toBe(true);
83
- expect(result?.response).toEqual(response);
84
- });
85
- it("getDraft error", async () => {
86
- jest.spyOn(service, "provider").mockReturnValue({
87
- request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
88
- });
89
- const result = await service.getDraft().toPromise();
90
- expect(result?.hasFailed).toBe(true);
91
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
92
- });
93
- it("update success", async () => {
94
- const payload = {
95
- order_date: "2024-01-01",
96
- order_items: [],
97
- };
98
- const response = { data: { id: "1", status: "updated" } };
99
- jest.spyOn(service, "provider").mockReturnValue({
100
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
101
- });
102
- const result = await service.update("1", payload).toPromise();
103
- expect(result?.hasSuccess).toBe(true);
104
- expect(result?.response).toEqual(response);
105
- });
106
- it("update error", async () => {
107
- const payload = {
108
- order_date: "2024-01-01",
109
- order_items: [],
110
- };
111
- jest.spyOn(service, "provider").mockReturnValue({
112
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
113
- });
114
- const result = await service.update("1", payload).toPromise();
115
- expect(result?.hasFailed).toBe(true);
116
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
117
- });
118
- it("get success", async () => {
119
- const response = { data: { id: "1", status: "fetched" } };
120
- jest.spyOn(service, "provider").mockReturnValue({
121
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
122
- });
123
- const result = await service.get("1").toPromise();
124
- expect(result?.hasSuccess).toBe(true);
125
- expect(result?.response).toEqual(response);
126
- });
127
- it("get error", async () => {
128
- jest.spyOn(service, "provider").mockReturnValue({
129
- request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
130
- });
131
- const result = await service.get("1").toPromise();
132
- expect(result?.hasFailed).toBe(true);
133
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
134
- });
135
- it("collection success", async () => {
136
- const payload = {
137
- page: 1,
138
- per_page: 10,
139
- search: "test order",
140
- status: "pending",
141
- payment_status: "paid",
142
- };
143
- const response = { data: { orders: [], total: 0 } };
144
- jest.spyOn(service, "provider").mockReturnValue({
145
- request: () => of(NetworkingUIEventWrapped.succeeded(response)),
146
- });
147
- const result = await service.collection(payload).toPromise();
148
- expect(result?.hasSuccess).toBe(true);
149
- expect(result?.response).toEqual(response);
150
- });
151
- it("collection error", async () => {
152
- const payload = {
153
- page: 1,
154
- per_page: 10,
155
- };
156
- jest.spyOn(service, "provider").mockReturnValue({
157
- request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
158
- });
159
- const result = await service.collection(payload).toPromise();
160
- expect(result?.hasFailed).toBe(true);
161
- expect(result?.alertModel).toBeInstanceOf(AlertModel);
162
- });
163
- });
@@ -1,21 +0,0 @@
1
- import { BaseProvider } from "../core/base.provider";
2
- import { BaseServiceWrapper } from "../core/base.service.wrapper";
3
- import { NetworkingConfig } from "../types/types";
4
- export interface Product {
5
- id: number;
6
- name: string;
7
- price: number;
8
- }
9
- export declare class ProductProvider extends BaseProvider {
10
- constructor(config: NetworkingConfig, { productId, method }?: {
11
- productId?: number;
12
- method?: string;
13
- });
14
- }
15
- export declare class ProductService extends BaseServiceWrapper<ProductProvider> {
16
- private config;
17
- constructor(config: NetworkingConfig, productId?: number, method?: string);
18
- fetchProductById(id: number): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product>>;
19
- fetchAllProducts(): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product[]>>;
20
- createProduct(product: Omit<Product, "id">): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product>>;
21
- }