@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,77 +0,0 @@
1
- import { Dexie } from "../utils/cache-import";
2
- export class GenericDB extends Dexie {
3
- constructor(name, dataStoreSchema) {
4
- super(name);
5
- this.version(1).stores({
6
- data: dataStoreSchema,
7
- cache: "key, cachedAt, expiresAt",
8
- });
9
- }
10
- }
11
- export class GenericIndexedDBService {
12
- constructor(dbName, storeSchema, toCached, fromCached) {
13
- this.toCached = toCached;
14
- this.fromCached = fromCached;
15
- this.CACHE_DURATION = 24 * 60 * 60 * 1000; // 24 hours
16
- this.db = new GenericDB(dbName, storeSchema);
17
- }
18
- async saveAll(items, cacheKey) {
19
- const cachedItems = items.map(this.toCached);
20
- await this.db.transaction("rw", this.db.data, this.db.cache, async () => {
21
- await this.db.data.clear();
22
- await this.db.data.bulkAdd(cachedItems);
23
- await this.db.cache.put({
24
- key: cacheKey,
25
- cachedAt: Date.now(),
26
- expiresAt: Date.now() + this.CACHE_DURATION,
27
- version: "1.0",
28
- });
29
- });
30
- }
31
- async getAll(cacheKey) {
32
- const cacheInfo = await this.db.cache.get(cacheKey);
33
- if (!cacheInfo || Date.now() > cacheInfo.expiresAt)
34
- return null;
35
- const cachedItems = await this.db.data.toArray();
36
- return cachedItems.map(this.fromCached);
37
- }
38
- async saveOne(item) {
39
- const cached = this.toCached(item);
40
- await this.db.data.put(cached);
41
- }
42
- async getOne(id) {
43
- const cached = await this.db.data.get(id);
44
- return cached ? this.fromCached(cached) : null;
45
- }
46
- async delete(id) {
47
- await this.db.data.delete(id);
48
- }
49
- async clearAll() {
50
- await this.db.transaction("rw", this.db.data, this.db.cache, async () => {
51
- await this.db.data.clear();
52
- await this.db.cache.clear();
53
- });
54
- }
55
- async getCacheInfo(key) {
56
- const count = await this.db.data.count();
57
- const cacheInfo = await this.db.cache.get(key);
58
- return {
59
- count,
60
- lastUpdated: cacheInfo ? new Date(cacheInfo.cachedAt) : undefined,
61
- };
62
- }
63
- async setStats(key, stats) {
64
- await this.db.cache.put({
65
- key,
66
- cachedAt: Date.now(),
67
- expiresAt: Date.now() + this.CACHE_DURATION,
68
- version: JSON.stringify(stats),
69
- });
70
- }
71
- async getStats(key) {
72
- const cacheInfo = await this.db.cache.get(key);
73
- if (!cacheInfo || Date.now() > cacheInfo.expiresAt)
74
- return null;
75
- return JSON.parse(cacheInfo.version);
76
- }
77
- }
@@ -1 +0,0 @@
1
- import "fake-indexeddb/auto";
@@ -1,88 +0,0 @@
1
- import "fake-indexeddb/auto";
2
- import { GenericIndexedDBService } from "./cache.service";
3
- const toCached = (entity) => ({
4
- id: entity.id,
5
- name: entity.name,
6
- createdAt: entity.createdAt.toISOString(),
7
- cachedAt: Date.now(),
8
- });
9
- const fromCached = (cached) => ({
10
- id: cached.id,
11
- name: cached.name,
12
- createdAt: new Date(cached.createdAt),
13
- });
14
- describe("GenericIndexedDBService", () => {
15
- let service;
16
- beforeEach(() => {
17
- service = new GenericIndexedDBService("TestDB", "id, name", toCached, fromCached);
18
- });
19
- afterEach(async () => {
20
- await service.db.delete();
21
- });
22
- it("should save and retrieve one item", async () => {
23
- const item = {
24
- id: "1",
25
- name: "Test Item",
26
- createdAt: new Date(),
27
- };
28
- await service.saveOne(item);
29
- const result = await service.getOne("1");
30
- expect(result).not.toBeNull();
31
- expect(result?.id).toBe("1");
32
- });
33
- it("should save and retrieve all items", async () => {
34
- const now = new Date();
35
- const items = [
36
- { id: "1", name: "One", createdAt: now },
37
- { id: "2", name: "Two", createdAt: now },
38
- ];
39
- await service.saveAll(items, "all");
40
- const results = await service.getAll("all");
41
- expect(results).not.toBeNull();
42
- expect(results.length).toBe(2);
43
- });
44
- it("should return null when cache is expired", async () => {
45
- const cacheTable = service.db.cache;
46
- await cacheTable.put({
47
- key: "expired",
48
- cachedAt: Date.now() - 10000,
49
- expiresAt: Date.now() - 5000,
50
- version: "1.0",
51
- });
52
- const result = await service.getAll("expired");
53
- expect(result).toBeNull();
54
- });
55
- it("should delete one item", async () => {
56
- const item = {
57
- id: "1",
58
- name: "Delete Me",
59
- createdAt: new Date(),
60
- };
61
- await service.saveOne(item);
62
- await service.delete("1");
63
- const result = await service.getOne("1");
64
- expect(result).toBeNull();
65
- });
66
- it("should set and retrieve stats", async () => {
67
- const stats = { total: 99 };
68
- await service.setStats("mystats", stats);
69
- const result = await service.getStats("mystats");
70
- expect(result).toEqual(stats);
71
- });
72
- it("should get cache info", async () => {
73
- await service.saveOne({
74
- id: "123",
75
- name: "Info Item",
76
- createdAt: new Date(),
77
- });
78
- await service.db.cache.put({
79
- key: "info",
80
- cachedAt: Date.now(),
81
- expiresAt: Date.now() + 10000,
82
- version: "1.0",
83
- });
84
- const info = await service.getCacheInfo("info");
85
- expect(info.count).toBeGreaterThanOrEqual(1);
86
- expect(info.lastUpdated).toBeInstanceOf(Date);
87
- });
88
- });
@@ -1,211 +0,0 @@
1
- import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from "../types/types";
2
- import { SmessService } from "./smess.service";
3
- import { PaginationLinks } from "./store.product.service";
4
- import { BehaviorSubject, Observable } from "rxjs";
5
- export type CustomerTarget = "register" | "get-profile" | "update-profile" | "update-shipping-address" | "update-billing-address" | "cart-collection" | "customer-product-collection" | "customer-product-create" | "customer-product-remove" | "customer-product-update-category";
6
- export interface CustomerRegisterRequest {
7
- client_id?: string;
8
- email: string;
9
- password: string;
10
- phone_number?: string;
11
- name?: string;
12
- address?: string;
13
- tax_identification_number?: string | null;
14
- }
15
- export interface CustomerUpdateRequest {
16
- name: string;
17
- address: string;
18
- postal_code: string;
19
- city: string;
20
- state: string | null;
21
- country: string | null;
22
- contact_email: string | null;
23
- phone_number: string | null;
24
- }
25
- export interface CustomerUpdateAddressRequest {
26
- name?: string | null;
27
- address?: string | null;
28
- postalCode?: string | null;
29
- city?: string | null;
30
- state?: string | null;
31
- country?: string | null;
32
- phone_number?: string | null;
33
- marked_as_default?: boolean | null;
34
- }
35
- export interface CustomerCartCollectionQuery {
36
- page?: number;
37
- per_page?: number;
38
- status?: string;
39
- search?: string;
40
- sort_by?: string;
41
- sort_order?: "asc" | "desc";
42
- }
43
- export interface CustomerCartCollectionData {
44
- links: PaginationLinks;
45
- items: CustomerCartSummary[];
46
- count: number;
47
- total: number;
48
- page: number;
49
- totalPage: number;
50
- perPage: number;
51
- metadata: unknown[];
52
- }
53
- export type CustomerCartCollectionResponse = HttpResponse & {
54
- data: CustomerCartCollectionData;
55
- };
56
- export interface CustomerCartSummary {
57
- cartId: string;
58
- reference: string;
59
- dateCreated: string;
60
- dateModified: string;
61
- discountTotal: number;
62
- discountTax: number;
63
- shippingTotal: number;
64
- shippingTax: number;
65
- cartTax: number;
66
- total: number;
67
- totalTax: number;
68
- customerId: string | null;
69
- billingInformation: CustomerCartContactInformation | null;
70
- shippingInformation: CustomerCartContactInformation | null;
71
- status: string | null;
72
- paymentMethod: string | null;
73
- deliveryType: string | null;
74
- transactionId: string | null;
75
- customerIpAddress: string | null;
76
- customerUserAgent: string | null;
77
- customerNote: string | null;
78
- cartHash: string | null;
79
- cartItems: CustomerCartItem[];
80
- paymentUrl: string | null;
81
- store: Record<string, unknown> | null;
82
- }
83
- export interface CustomerCartContactInformation {
84
- email?: string | null;
85
- phoneNumber?: string | null;
86
- street?: string | null;
87
- city?: string | null;
88
- postalCode?: string | null;
89
- state?: string | null;
90
- country?: string | null;
91
- [key: string]: unknown;
92
- }
93
- export interface CustomerCartItem {
94
- id: string;
95
- productId: string;
96
- productName: string;
97
- quantity: number;
98
- unit: string | null;
99
- unitPrice: number;
100
- subtotal: number;
101
- total: number;
102
- picture: string | null;
103
- [key: string]: unknown;
104
- }
105
- export interface CustomerProductCollectionQuery {
106
- page?: number;
107
- per_page?: number;
108
- }
109
- export interface CustomerProductCollectionData {
110
- links: PaginationLinks;
111
- items: CustomerProductItem[];
112
- count: number;
113
- total: number;
114
- page: number;
115
- totalPage: number;
116
- perPage: number;
117
- metadata: unknown[];
118
- }
119
- export type CustomerProductCollectionResponse = HttpResponse & {
120
- data: CustomerProductCollectionData;
121
- };
122
- export type CustomerProductCreateResponse = HttpResponse & {
123
- data: CustomerProductItem;
124
- };
125
- export type CustomerProductUpdateCategoryResponse = HttpResponse & {
126
- data: boolean;
127
- };
128
- export type CustomerProductRemoveResponse = HttpResponse & {
129
- data: {
130
- message: string;
131
- };
132
- };
133
- export interface CustomerProductItem {
134
- customerId: string;
135
- productId: string;
136
- category: string | null;
137
- notes: string | null;
138
- createdAt: string;
139
- updatedAt: string;
140
- product: CustomerProductProduct | null;
141
- }
142
- export interface CustomerProductProduct {
143
- id: string;
144
- barcode: string | null;
145
- expiryDate: string | null;
146
- name: string;
147
- category: string | null;
148
- subCategory: string | null;
149
- vatInPercent: number | null;
150
- unit: string | null;
151
- volume: number | null;
152
- quantity: number | null;
153
- unitWeight: number | null;
154
- articleWeight: number | null;
155
- tareWeight: number | null;
156
- supplier: string | null;
157
- supplierCode: string | null;
158
- supplierItemName: string | null;
159
- picture: string | null;
160
- slug: string | null;
161
- internalCode: string | null;
162
- htmlDescription: string | null;
163
- inventory: boolean;
164
- quantityInStock: number | null;
165
- minimumStockQuantity: number | null;
166
- pricePurchase: number | null;
167
- priceToSell: number | null;
168
- discountInPercent: number | null;
169
- priceAfterDiscount: number | null;
170
- priceByWeight: boolean | null;
171
- }
172
- export interface CustomerProductCreateRequest {
173
- product_id: string;
174
- notes?: string;
175
- category?: string | null;
176
- }
177
- export interface CustomerProductRemoveRequest {
178
- product_id: string;
179
- }
180
- export interface CustomerProductUpdateCategoryRequest {
181
- product_id: string | null;
182
- old_category: string;
183
- category: string;
184
- }
185
- export declare class CustomerProvider implements ProviderType {
186
- private readonly config;
187
- private readonly target;
188
- private readonly $authToken;
189
- constructor(config: NetworkingConfig, target: CustomerTarget, $authToken: BehaviorSubject<string | null>);
190
- get baseURL(): string;
191
- get path(): string;
192
- get method(): string;
193
- get headers(): Record<string, string>;
194
- getPath(...queryParams: unknown[]): string;
195
- }
196
- export declare class CustomerService {
197
- private readonly config;
198
- private readonly $authToken;
199
- constructor(config: NetworkingConfig, $authToken: BehaviorSubject<string | null>);
200
- provider(target: CustomerTarget): SmessService<CustomerProvider>;
201
- register(payload: CustomerRegisterRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
202
- getProfile(): Observable<NetworkingUIEventWrapped<HttpResponse>>;
203
- updateProfile(payload: CustomerUpdateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
204
- updateShippingAddress(payload: CustomerUpdateAddressRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
205
- updateBillingAddress(payload: CustomerUpdateAddressRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
206
- getCartCollection(query?: CustomerCartCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
207
- getCustomerProductCollection(query?: CustomerProductCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
208
- createCustomerProduct(payload: CustomerProductCreateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
209
- removeCustomerProduct(payload: CustomerProductRemoveRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
210
- updateCustomerProductCategory(payload: CustomerProductUpdateCategoryRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
211
- }
@@ -1,128 +0,0 @@
1
- import { Accept, SMESSHeader, SmessService } from "./smess.service";
2
- export class CustomerProvider {
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 "register":
16
- return "/authentication/customer/register";
17
- case "get-profile":
18
- return "/authentication/customer/get-profile";
19
- case "update-profile":
20
- return "/authentication/customer/update";
21
- case "update-shipping-address":
22
- return "/authentication/customer/update-shipping-address";
23
- case "update-billing-address":
24
- return "/authentication/customer/update-billing-address";
25
- case "cart-collection":
26
- return "/store/cart/collection";
27
- case "customer-product-collection":
28
- return "/store/customer-product/collection";
29
- case "customer-product-create":
30
- return "/store/customer-product/add";
31
- case "customer-product-remove":
32
- return "/store/customer-product/remove";
33
- case "customer-product-update-category":
34
- return "/store/customer-product/category";
35
- default:
36
- return "/authentication/customer";
37
- }
38
- }
39
- get method() {
40
- switch (this.target) {
41
- case "get-profile":
42
- return "GET";
43
- case "cart-collection":
44
- return "GET";
45
- case "customer-product-collection":
46
- return "GET";
47
- case "customer-product-create":
48
- return "POST";
49
- case "customer-product-remove":
50
- return "DELETE";
51
- case "customer-product-update-category":
52
- return "PATCH";
53
- case "update-shipping-address":
54
- return "PATCH";
55
- case "update-billing-address":
56
- return "PATCH";
57
- case "update-profile":
58
- return "PUT";
59
- default:
60
- return "POST";
61
- }
62
- }
63
- get headers() {
64
- let headers = SmessService.getHeaders(Accept.V1, this.$authToken.value);
65
- switch (this.target) {
66
- case "register":
67
- headers = SmessService.getHeaders(Accept.V1);
68
- break;
69
- default:
70
- headers = SmessService.getHeaders(Accept.V1, this.$authToken.value);
71
- }
72
- if (this.config.clientId) {
73
- headers[SMESSHeader.ClientId] = this.config.clientId;
74
- }
75
- if (this.config.apiKey) {
76
- headers[SMESSHeader.ApiKey] = this.config.apiKey;
77
- }
78
- return SmessService.filterHeaders(headers);
79
- }
80
- getPath(...queryParams) {
81
- let definedPath = this.path;
82
- const params = definedPath.match(/\$\{(.+?)\}/g);
83
- params?.forEach((value, index) => {
84
- definedPath = definedPath.replace(value, String(queryParams[index]));
85
- });
86
- return definedPath;
87
- }
88
- }
89
- export class CustomerService {
90
- constructor(config, $authToken) {
91
- this.config = config;
92
- this.$authToken = $authToken;
93
- }
94
- provider(target) {
95
- const targetWrapper = new CustomerProvider(this.config, target, this.$authToken);
96
- return new SmessService(targetWrapper);
97
- }
98
- register(payload) {
99
- return this.provider("register").request(payload);
100
- }
101
- getProfile() {
102
- return this.provider("get-profile").request();
103
- }
104
- updateProfile(payload) {
105
- return this.provider("update-profile").request(payload);
106
- }
107
- updateShippingAddress(payload) {
108
- return this.provider("update-shipping-address").request(payload);
109
- }
110
- updateBillingAddress(payload) {
111
- return this.provider("update-billing-address").request(payload);
112
- }
113
- getCartCollection(query) {
114
- return this.provider("cart-collection").request(query);
115
- }
116
- getCustomerProductCollection(query) {
117
- return this.provider("customer-product-collection").request(query);
118
- }
119
- createCustomerProduct(payload) {
120
- return this.provider("customer-product-create").request(payload);
121
- }
122
- removeCustomerProduct(payload) {
123
- return this.provider("customer-product-remove").request(payload);
124
- }
125
- updateCustomerProductCategory(payload) {
126
- return this.provider("customer-product-update-category").request(payload);
127
- }
128
- }
@@ -1 +0,0 @@
1
- export {};