@smess/networking 1.0.25 → 1.0.26

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 (90) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/services/customer.service.d.ts +29 -1
  4. package/dist/services/customer.service.js +35 -0
  5. package/dist/services/customer.service.test.js +174 -0
  6. package/package.json +1 -1
  7. package/dist/scripts/dev-test.d.ts +0 -1
  8. package/dist/scripts/dev-test.js +0 -803
  9. package/dist/scripts/real-test.d.ts +0 -1
  10. package/dist/scripts/real-test.js +0 -341
  11. package/dist/src/core/axios.d.ts +0 -51
  12. package/dist/src/core/axios.js +0 -65
  13. package/dist/src/core/axios.observable.d.ts +0 -11
  14. package/dist/src/core/axios.observable.js +0 -58
  15. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  16. package/dist/src/core/base.provider.advanced.test.js +0 -29
  17. package/dist/src/core/base.provider.d.ts +0 -15
  18. package/dist/src/core/base.provider.js +0 -13
  19. package/dist/src/core/base.provider.test.d.ts +0 -1
  20. package/dist/src/core/base.provider.test.js +0 -36
  21. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  22. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  23. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  24. package/dist/src/core/base.service.wrapper.js +0 -11
  25. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  26. package/dist/src/core/base.service.wrapper.test.js +0 -25
  27. package/dist/src/core/rx.http.service.d.ts +0 -51
  28. package/dist/src/core/rx.http.service.js +0 -65
  29. package/dist/src/index.d.ts +0 -19
  30. package/dist/src/index.js +0 -23
  31. package/dist/src/services/auth.service.d.ts +0 -65
  32. package/dist/src/services/auth.service.js +0 -197
  33. package/dist/src/services/auth.service.test.d.ts +0 -1
  34. package/dist/src/services/auth.service.test.js +0 -334
  35. package/dist/src/services/cache.service.d.ts +0 -31
  36. package/dist/src/services/cache.service.js +0 -77
  37. package/dist/src/services/cache.service.test.d.ts +0 -1
  38. package/dist/src/services/cache.service.test.js +0 -88
  39. package/dist/src/services/customer.service.d.ts +0 -71
  40. package/dist/src/services/customer.service.js +0 -114
  41. package/dist/src/services/customer.service.test.d.ts +0 -1
  42. package/dist/src/services/customer.service.test.js +0 -274
  43. package/dist/src/services/logger.service.d.ts +0 -31
  44. package/dist/src/services/logger.service.js +0 -93
  45. package/dist/src/services/logger.service.test.d.ts +0 -1
  46. package/dist/src/services/logger.service.test.js +0 -31
  47. package/dist/src/services/order.service.d.ts +0 -73
  48. package/dist/src/services/order.service.js +0 -97
  49. package/dist/src/services/order.service.test.d.ts +0 -1
  50. package/dist/src/services/order.service.test.js +0 -163
  51. package/dist/src/services/product.service.d.ts +0 -21
  52. package/dist/src/services/product.service.js +0 -42
  53. package/dist/src/services/product.service.test.d.ts +0 -1
  54. package/dist/src/services/product.service.test.js +0 -61
  55. package/dist/src/services/smess.service.d.ts +0 -36
  56. package/dist/src/services/smess.service.js +0 -128
  57. package/dist/src/services/smess.service.test.d.ts +0 -1
  58. package/dist/src/services/smess.service.test.js +0 -103
  59. package/dist/src/services/store.cart.service.d.ts +0 -158
  60. package/dist/src/services/store.cart.service.js +0 -177
  61. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  62. package/dist/src/services/store.cart.service.test.js +0 -394
  63. package/dist/src/services/store.product.service.d.ts +0 -123
  64. package/dist/src/services/store.product.service.js +0 -102
  65. package/dist/src/services/store.product.service.test.d.ts +0 -1
  66. package/dist/src/services/store.product.service.test.js +0 -319
  67. package/dist/src/services/store.service.d.ts +0 -79
  68. package/dist/src/services/store.service.js +0 -235
  69. package/dist/src/services/store.service.test.d.ts +0 -1
  70. package/dist/src/services/store.service.test.js +0 -274
  71. package/dist/src/services/user.service.d.ts +0 -16
  72. package/dist/src/services/user.service.js +0 -37
  73. package/dist/src/services/user.service.test.d.ts +0 -1
  74. package/dist/src/services/user.service.test.js +0 -52
  75. package/dist/src/types/types.d.ts +0 -93
  76. package/dist/src/types/types.js +0 -82
  77. package/dist/src/types/types.test.d.ts +0 -1
  78. package/dist/src/types/types.test.js +0 -25
  79. package/dist/src/utils/cache-import.d.ts +0 -3
  80. package/dist/src/utils/cache-import.js +0 -2
  81. package/dist/src/utils/networking-import.d.ts +0 -4
  82. package/dist/src/utils/networking-import.js +0 -3
  83. package/dist/src/utils/rxjs-import.d.ts +0 -5
  84. package/dist/src/utils/rxjs-import.js +0 -5
  85. /package/dist/{src/services → services}/employee.service.d.ts +0 -0
  86. /package/dist/{src/services → services}/employee.service.js +0 -0
  87. /package/dist/{src/services → services}/employee.service.test.d.ts +0 -0
  88. /package/dist/{src/services → services}/employee.service.test.js +0 -0
  89. /package/dist/{src/services → services}/utils/withAuthReset.d.ts +0 -0
  90. /package/dist/{src/services → services}/utils/withAuthReset.js +0 -0
package/dist/index.d.ts CHANGED
@@ -5,9 +5,11 @@ export * from "./services/store.service";
5
5
  export * from "./services/store.cart.service";
6
6
  export * from "./services/store.product.service";
7
7
  export * from "./services/customer.service";
8
+ export * from "./services/employee.service";
8
9
  export * from "./services/order.service";
9
10
  export * from "./services/cache.service";
10
11
  export * from "./services/smess.service";
12
+ export * from "./services/utils/withAuthReset";
11
13
  export * from "./core/base.provider";
12
14
  export * from "./core/base.service.wrapper";
13
15
  export * from "./core/axios.observable";
package/dist/index.js CHANGED
@@ -5,9 +5,11 @@ export * from "./services/store.service";
5
5
  export * from "./services/store.cart.service";
6
6
  export * from "./services/store.product.service";
7
7
  export * from "./services/customer.service";
8
+ export * from "./services/employee.service";
8
9
  export * from "./services/order.service";
9
10
  export * from "./services/cache.service";
10
11
  export * from "./services/smess.service";
12
+ export * from "./services/utils/withAuthReset";
11
13
  export * from "./core/base.provider";
12
14
  export * from "./core/base.service.wrapper";
13
15
  export * from "./core/axios.observable";
@@ -1,7 +1,7 @@
1
1
  import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from "../types/types";
2
2
  import { SmessService } from "./smess.service";
3
3
  import { BehaviorSubject, Observable } from "rxjs";
4
- export type CustomerTarget = "register" | "get-profile" | "update-profile";
4
+ export type CustomerTarget = "register" | "get-profile" | "update-profile" | "cart-collection" | "customer-product-collection" | "customer-product-create" | "customer-product-remove" | "customer-product-update-notes";
5
5
  export interface CustomerRegisterRequest {
6
6
  client_id?: string;
7
7
  email: string;
@@ -21,6 +21,29 @@ export interface CustomerUpdateRequest {
21
21
  contact_email: string | null;
22
22
  phone_number: string | null;
23
23
  }
24
+ export interface CustomerCartCollectionQuery {
25
+ page?: number;
26
+ per_page?: number;
27
+ status?: string;
28
+ search?: string;
29
+ sort_by?: string;
30
+ sort_order?: "asc" | "desc";
31
+ }
32
+ export interface CustomerProductCollectionQuery {
33
+ page?: number;
34
+ per_page?: number;
35
+ }
36
+ export interface CustomerProductCreateRequest {
37
+ product_id: string;
38
+ notes?: string;
39
+ }
40
+ export interface CustomerProductRemoveRequest {
41
+ product_id: string;
42
+ }
43
+ export interface CustomerProductUpdateNotesRequest {
44
+ product_id: string;
45
+ notes: string;
46
+ }
24
47
  export declare class CustomerProvider implements ProviderType {
25
48
  private readonly config;
26
49
  private readonly target;
@@ -40,4 +63,9 @@ export declare class CustomerService {
40
63
  register(payload: CustomerRegisterRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
41
64
  getProfile(): Observable<NetworkingUIEventWrapped<HttpResponse>>;
42
65
  updateProfile(payload: CustomerUpdateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
66
+ getCartCollection(query?: CustomerCartCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
67
+ getCustomerProductCollection(query?: CustomerProductCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
68
+ createCustomerProduct(payload: CustomerProductCreateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
69
+ removeCustomerProduct(payload: CustomerProductRemoveRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
70
+ updateCustomerProductNotes(payload: CustomerProductUpdateNotesRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
43
71
  }
@@ -18,6 +18,16 @@ export class CustomerProvider {
18
18
  return "/authentication/customer/get-profile";
19
19
  case "update-profile":
20
20
  return "/authentication/customer/update";
21
+ case "cart-collection":
22
+ return "/store/cart/collection";
23
+ case "customer-product-collection":
24
+ return "/store/customer-product/collection";
25
+ case "customer-product-create":
26
+ return "/store/customer-product";
27
+ case "customer-product-remove":
28
+ return "/store/customer-product/remove";
29
+ case "customer-product-update-notes":
30
+ return "/store/customer-product/notes";
21
31
  default:
22
32
  return "/authentication/customer";
23
33
  }
@@ -26,6 +36,16 @@ export class CustomerProvider {
26
36
  switch (this.target) {
27
37
  case "get-profile":
28
38
  return "GET";
39
+ case "cart-collection":
40
+ return "GET";
41
+ case "customer-product-collection":
42
+ return "GET";
43
+ case "customer-product-create":
44
+ return "POST";
45
+ case "customer-product-remove":
46
+ return "DELETE";
47
+ case "customer-product-update-notes":
48
+ return "PATCH";
29
49
  case "update-profile":
30
50
  return "PUT";
31
51
  default:
@@ -76,4 +96,19 @@ export class CustomerService {
76
96
  updateProfile(payload) {
77
97
  return this.provider("update-profile").request(payload);
78
98
  }
99
+ getCartCollection(query) {
100
+ return this.provider("cart-collection").request(query);
101
+ }
102
+ getCustomerProductCollection(query) {
103
+ return this.provider("customer-product-collection").request(query);
104
+ }
105
+ createCustomerProduct(payload) {
106
+ return this.provider("customer-product-create").request(payload);
107
+ }
108
+ removeCustomerProduct(payload) {
109
+ return this.provider("customer-product-remove").request(payload);
110
+ }
111
+ updateCustomerProductNotes(payload) {
112
+ return this.provider("customer-product-update-notes").request(payload);
113
+ }
79
114
  }
@@ -97,4 +97,178 @@ describe("CustomerService", () => {
97
97
  expect(result?.hasFailed).toBe(true);
98
98
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
99
99
  });
100
+ it("getCartCollection success", async () => {
101
+ const response = {
102
+ data: { items: [], page: 1, perPage: 24, total: 0 },
103
+ };
104
+ const requestMock = jest
105
+ .fn()
106
+ .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
107
+ jest.spyOn(service, "provider").mockReturnValue({
108
+ request: requestMock,
109
+ });
110
+ const query = {
111
+ page: 1,
112
+ per_page: 24,
113
+ status: "confirmed",
114
+ };
115
+ const result = await service.getCartCollection(query).toPromise();
116
+ expect(requestMock).toHaveBeenCalledWith(query);
117
+ expect(result?.hasSuccess).toBe(true);
118
+ expect(result?.response).toEqual(response);
119
+ });
120
+ it("getCartCollection error", async () => {
121
+ const requestMock = jest
122
+ .fn()
123
+ .mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
124
+ jest.spyOn(service, "provider").mockReturnValue({
125
+ request: requestMock,
126
+ });
127
+ const query = {
128
+ page: 1,
129
+ per_page: 24,
130
+ };
131
+ const result = await service.getCartCollection(query).toPromise();
132
+ expect(requestMock).toHaveBeenCalledWith(query);
133
+ expect(result?.hasFailed).toBe(true);
134
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
135
+ });
136
+ it("getCustomerProductCollection success", async () => {
137
+ const response = {
138
+ data: { items: [], page: 1, perPage: 24, total: 0 },
139
+ };
140
+ const requestMock = jest
141
+ .fn()
142
+ .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
143
+ jest.spyOn(service, "provider").mockReturnValue({
144
+ request: requestMock,
145
+ });
146
+ const query = {
147
+ page: 1,
148
+ per_page: 24,
149
+ };
150
+ const result = await service.getCustomerProductCollection(query).toPromise();
151
+ expect(requestMock).toHaveBeenCalledWith(query);
152
+ expect(result?.hasSuccess).toBe(true);
153
+ expect(result?.response).toEqual(response);
154
+ });
155
+ it("getCustomerProductCollection error", async () => {
156
+ const requestMock = jest
157
+ .fn()
158
+ .mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
159
+ jest.spyOn(service, "provider").mockReturnValue({
160
+ request: requestMock,
161
+ });
162
+ const query = {
163
+ page: 1,
164
+ per_page: 24,
165
+ };
166
+ const result = await service.getCustomerProductCollection(query).toPromise();
167
+ expect(requestMock).toHaveBeenCalledWith(query);
168
+ expect(result?.hasFailed).toBe(true);
169
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
170
+ });
171
+ it("createCustomerProduct success", async () => {
172
+ const response = {
173
+ data: { id: "favorite-id", productId: "product-123" },
174
+ };
175
+ const requestMock = jest
176
+ .fn()
177
+ .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
178
+ jest.spyOn(service, "provider").mockReturnValue({
179
+ request: requestMock,
180
+ });
181
+ const payload = {
182
+ product_id: "product-123",
183
+ notes: "Customer note for this favorite product",
184
+ };
185
+ const result = await service.createCustomerProduct(payload).toPromise();
186
+ expect(requestMock).toHaveBeenCalledWith(payload);
187
+ expect(result?.hasSuccess).toBe(true);
188
+ expect(result?.response).toEqual(response);
189
+ });
190
+ it("createCustomerProduct error", async () => {
191
+ const requestMock = jest
192
+ .fn()
193
+ .mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
194
+ jest.spyOn(service, "provider").mockReturnValue({
195
+ request: requestMock,
196
+ });
197
+ const payload = {
198
+ product_id: "product-123",
199
+ notes: "Customer note for this favorite product",
200
+ };
201
+ const result = await service.createCustomerProduct(payload).toPromise();
202
+ expect(requestMock).toHaveBeenCalledWith(payload);
203
+ expect(result?.hasFailed).toBe(true);
204
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
205
+ });
206
+ it("removeCustomerProduct success", async () => {
207
+ const response = { data: { success: true } };
208
+ const requestMock = jest
209
+ .fn()
210
+ .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
211
+ jest.spyOn(service, "provider").mockReturnValue({
212
+ request: requestMock,
213
+ });
214
+ const payload = {
215
+ product_id: "product-123",
216
+ };
217
+ const result = await service.removeCustomerProduct(payload).toPromise();
218
+ expect(requestMock).toHaveBeenCalledWith(payload);
219
+ expect(result?.hasSuccess).toBe(true);
220
+ expect(result?.response).toEqual(response);
221
+ });
222
+ it("removeCustomerProduct error", async () => {
223
+ const requestMock = jest
224
+ .fn()
225
+ .mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
226
+ jest.spyOn(service, "provider").mockReturnValue({
227
+ request: requestMock,
228
+ });
229
+ const payload = {
230
+ product_id: "product-123",
231
+ };
232
+ const result = await service.removeCustomerProduct(payload).toPromise();
233
+ expect(requestMock).toHaveBeenCalledWith(payload);
234
+ expect(result?.hasFailed).toBe(true);
235
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
236
+ });
237
+ it("updateCustomerProductNotes success", async () => {
238
+ const response = { data: { success: true } };
239
+ const requestMock = jest
240
+ .fn()
241
+ .mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
242
+ jest.spyOn(service, "provider").mockReturnValue({
243
+ request: requestMock,
244
+ });
245
+ const payload = {
246
+ product_id: "product-123",
247
+ notes: "Updated note for this favorite product",
248
+ };
249
+ const result = await service
250
+ .updateCustomerProductNotes(payload)
251
+ .toPromise();
252
+ expect(requestMock).toHaveBeenCalledWith(payload);
253
+ expect(result?.hasSuccess).toBe(true);
254
+ expect(result?.response).toEqual(response);
255
+ });
256
+ it("updateCustomerProductNotes error", async () => {
257
+ const requestMock = jest
258
+ .fn()
259
+ .mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
260
+ jest.spyOn(service, "provider").mockReturnValue({
261
+ request: requestMock,
262
+ });
263
+ const payload = {
264
+ product_id: "product-123",
265
+ notes: "Updated note for this favorite product",
266
+ };
267
+ const result = await service
268
+ .updateCustomerProductNotes(payload)
269
+ .toPromise();
270
+ expect(requestMock).toHaveBeenCalledWith(payload);
271
+ expect(result?.hasFailed).toBe(true);
272
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
273
+ });
100
274
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smess/networking",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "description": "Networking utilities and services for SMESS platform.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- import "fake-indexeddb/auto";