@esolve/ng-esolve-connect 0.8.0 → 0.9.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.
@@ -195,6 +195,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
195
195
  }]
196
196
  }] });
197
197
 
198
+ class EsolveResult {
199
+ constructor(status, code, message) {
200
+ this.status = status;
201
+ this.code = code;
202
+ this.message = message;
203
+ }
204
+ }
205
+
198
206
  class EsolveHttpError {
199
207
  constructor(type, message, error_code) {
200
208
  this.type = type;
@@ -205,11 +213,62 @@ class EsolveHttpError {
205
213
 
206
214
  class EsolveErrorHandlerService {
207
215
  constructor() { }
216
+ handleHttpPostError(service_type, errorRes) {
217
+ if (!(errorRes instanceof HttpErrorResponse) &&
218
+ !('service_type' in errorRes) &&
219
+ (('id' in errorRes) &&
220
+ ('esolve_id' in errorRes) &&
221
+ ('transaction_type' in errorRes) &&
222
+ ('status' in errorRes) &&
223
+ ('log' in errorRes))) {
224
+ return throwError(this.parsePostErrors(errorRes));
225
+ }
226
+ return this.handleHttpError(service_type, errorRes);
227
+ }
228
+ handleHttpDeleteError(service_type, errorRes) {
229
+ const is_not_base = (!(errorRes instanceof HttpErrorResponse) &&
230
+ !('service_type' in errorRes) &&
231
+ (('id' in errorRes) &&
232
+ ('status' in errorRes) &&
233
+ ('message' in errorRes) &&
234
+ ('code' in errorRes)));
235
+ if (is_not_base) {
236
+ return throwError(this.parseDeleteError(errorRes));
237
+ }
238
+ return this.handleHttpError(service_type, errorRes);
239
+ }
240
+ handleHttpError(service_type, errorRes) {
241
+ if (errorRes instanceof HttpErrorResponse) {
242
+ if (errorRes.status === 500) {
243
+ const server_error = errorRes.error;
244
+ if (('service_type' in server_error) &&
245
+ (server_error.service_type === service_type)) {
246
+ return throwError(this.parseException(server_error));
247
+ }
248
+ }
249
+ }
250
+ else {
251
+ if (('service_type' in errorRes) &&
252
+ (errorRes.service_type === service_type)) {
253
+ if (errorRes.type === 'exception') {
254
+ return throwError(this.parseException(errorRes));
255
+ }
256
+ else if (errorRes.type === 'error') {
257
+ return throwError(this.parseResponseError(errorRes));
258
+ }
259
+ }
260
+ }
261
+ return throwError(errorRes);
262
+ }
208
263
  parseException(exception) {
209
264
  const error = new EsolveHttpError('exception', exception.message || 'Unknown exception has occurred', exception.additional_data.exception_type || 'unknown');
210
265
  return error;
211
266
  }
212
- parseErrors(response) {
267
+ parseResponseError(exception) {
268
+ const error = new EsolveHttpError('error', exception.message || 'Unknown error has occurred', exception.code || 'unknown');
269
+ return error;
270
+ }
271
+ parsePostErrors(response) {
213
272
  const error = new EsolveHttpError('error', 'Unknown error has occurred', 'unknown');
214
273
  if ((response.status.state === 'none') && (response.log.length > 0)) {
215
274
  error.error_code = 'no_response';
@@ -222,29 +281,9 @@ class EsolveErrorHandlerService {
222
281
  }
223
282
  return error;
224
283
  }
225
- handleHttpPostError(service_type, errorRes) {
226
- if (errorRes instanceof HttpErrorResponse) {
227
- if (errorRes.status === 500) {
228
- const server_error = errorRes.error;
229
- if ((server_error.service_type === service_type) ||
230
- (server_error.type !== undefined) ||
231
- (server_error.message !== undefined) ||
232
- (server_error.additional_data !== undefined)) {
233
- return throwError(this.parseException(server_error));
234
- }
235
- }
236
- }
237
- else {
238
- if (errorRes.type !== undefined) {
239
- if ((errorRes.type === 'exception') || (errorRes.type === 'error')) {
240
- return throwError(this.parseException(errorRes));
241
- }
242
- }
243
- else if (errorRes.transaction_type !== undefined) {
244
- return throwError(this.parseErrors(errorRes));
245
- }
246
- }
247
- return throwError(errorRes);
284
+ parseDeleteError(result) {
285
+ const error = new EsolveHttpError('error', result.message, result.code);
286
+ return error;
248
287
  }
249
288
  }
250
289
  EsolveErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -644,6 +683,23 @@ class EsolveRegistrationResult extends EsolveResponseResult {
644
683
  }
645
684
  }
646
685
 
686
+ class EsolveChangePasswordResult extends EsolveResponseResult {
687
+ constructor(response) {
688
+ super(response);
689
+ this.password_updated = (response.status.state === 'success');
690
+ }
691
+ }
692
+
693
+ class EsolveResetPasswordResult extends EsolveResponseResult {
694
+ constructor(response) {
695
+ super(response);
696
+ this.id = response.esolve_id;
697
+ this.reset_success = response.reset_success;
698
+ this.password_matches_old = response.password_matches_old;
699
+ this.login_required = response.login_required;
700
+ }
701
+ }
702
+
647
703
  class EsolveAccountService {
648
704
  constructor(config, http, sessionService, errorHandler, responseHandler) {
649
705
  this.config = config;
@@ -756,6 +812,25 @@ class EsolveAccountService {
756
812
  return this.processUserAddress(response.records);
757
813
  }));
758
814
  }
815
+ deleteAddress(id) {
816
+ return this.http.delete(`${this.config.api_url}/service/delete-address.php`, {
817
+ params: {
818
+ ws_id: this.config.wsid,
819
+ id: id
820
+ },
821
+ responseType: 'json',
822
+ observe: 'body'
823
+ }).pipe(map(http_response => {
824
+ if ((http_response.result === undefined) ||
825
+ (http_response.result === null) ||
826
+ (http_response.result.status !== 'success')) {
827
+ throw http_response;
828
+ }
829
+ return new EsolveResult(http_response.result.status, http_response.result.code, http_response.result.message);
830
+ }), catchError((errorRes) => {
831
+ return this.errorHandler.handleHttpPostError('delete-address', errorRes);
832
+ }));
833
+ }
759
834
  register(user_registration) {
760
835
  const body = {
761
836
  user: user_registration
@@ -778,6 +853,64 @@ class EsolveAccountService {
778
853
  return this.errorHandler.handleHttpPostError('set-registration', errorRes);
779
854
  }));
780
855
  }
856
+ changePassword(password, confirm_password) {
857
+ const body = {
858
+ password,
859
+ confirm_password
860
+ };
861
+ return this.http.post(`${this.config.api_url}/service/set-change-password.php`, body, {
862
+ headers: {
863
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
864
+ },
865
+ params: {
866
+ ws_id: this.config.wsid
867
+ },
868
+ responseType: 'json',
869
+ observe: 'body'
870
+ }).pipe(map(http_response => this.responseHandler.validateSingleHttpResponse(http_response, (response) => {
871
+ return new EsolveChangePasswordResult(response);
872
+ })), catchError((errorRes) => {
873
+ return this.errorHandler.handleHttpPostError('set-change-password', errorRes);
874
+ }));
875
+ }
876
+ sendForgotPasswordRequest(email) {
877
+ return this.http.get(`${this.config.api_url}/service/get-forgot-password.php`, {
878
+ params: {
879
+ ws_id: this.config.wsid,
880
+ email: email
881
+ }
882
+ }).pipe(map(response => {
883
+ if ((response.records === undefined) ||
884
+ !('reset_link_sent' in response.records)) {
885
+ throw response;
886
+ }
887
+ return response.records.reset_link_sent;
888
+ }));
889
+ }
890
+ resetPassword(reset_key, password, confirm_password, auto_login = true) {
891
+ return this.http.post(`${this.config.api_url}/service/set-forgot-password.php`, {
892
+ reset_key,
893
+ password,
894
+ confirm_password,
895
+ auto_login
896
+ }, {
897
+ headers: {
898
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
899
+ },
900
+ params: {
901
+ ws_id: this.config.wsid
902
+ },
903
+ responseType: 'json',
904
+ observe: 'body'
905
+ }).pipe(map(http_response => this.responseHandler.validateSingleHttpResponse(http_response, (response) => {
906
+ if (!response.login_required) {
907
+ this.sessionService.handleUpdateSession(response.esolve_id);
908
+ }
909
+ return new EsolveResetPasswordResult(response);
910
+ })), catchError((errorRes) => {
911
+ return this.errorHandler.handleHttpPostError('set-forgot-password', errorRes);
912
+ }));
913
+ }
781
914
  }
782
915
  EsolveAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveAccountService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1$1.HttpClient }, { token: EsolveSessionService }, { token: EsolveErrorHandlerService }, { token: EsolveResponseHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
783
916
  EsolveAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveAccountService, providedIn: 'root' });
@@ -2290,6 +2423,25 @@ class EsolvePaymentService {
2290
2423
  return this.errorHandler.handleHttpPostError('set-vault', errorRes);
2291
2424
  }));
2292
2425
  }
2426
+ deleteVaultItem(id) {
2427
+ return this.http.delete(`${this.config.api_url}/service/delete-vault.php`, {
2428
+ params: {
2429
+ ws_id: this.config.wsid,
2430
+ id: id
2431
+ },
2432
+ responseType: 'json',
2433
+ observe: 'body'
2434
+ }).pipe(map(http_response => {
2435
+ if ((http_response.result === undefined) ||
2436
+ (http_response.result === null) ||
2437
+ (http_response.result.status !== 'success')) {
2438
+ throw http_response;
2439
+ }
2440
+ return new EsolveResult(http_response.result.status, http_response.result.code, http_response.result.message);
2441
+ }), catchError((errorRes) => {
2442
+ return this.errorHandler.handleHttpPostError('delete-vault', errorRes);
2443
+ }));
2444
+ }
2293
2445
  /**
2294
2446
  * Sets the payment for the specified transaction using selected payment method.
2295
2447
  * @param transaction_id eSolve ID to the transaction
@@ -2621,4 +2773,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
2621
2773
  * Generated bundle index. Do not edit.
2622
2774
  */
2623
2775
 
2624
- export { EsolveAccountService, EsolveAddress, EsolveAddressResult, EsolveAuthService, EsolveBankingDetails, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCartItem, EsolveCartService, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveCheckoutResult, EsolveErrorHandlerService, EsolveHttpError, EsolveLocationsService, EsolveMediaArticle, EsolveMediaService, EsolveMenuItem, EsolveMenuService, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolvePaymentMethod, EsolvePaymentResult, EsolvePaymentService, EsolveRegistrationResult, EsolveResponseHandlerService, EsolveResponseResult, EsolveSEOInfo, EsolveSeoService, EsolveSession, EsolveSessionService, EsolveShippingCost, EsolveShippingMethod, EsolveShippingService, EsolveStockBadge, EsolveStockItem, EsolveStockItemList, EsolveStockLocation, EsolveStockPrice, EsolveStockService, EsolveTag, EsolveTopic, EsolveTopicService, EsolveUserAccount, EsolveUserAccountBusiness, EsolveUserAccountContact, EsolveUserAccountResult, EsolveVaultItem, EsolveVaultItemResult, NgEsolveConnectModule };
2776
+ export { EsolveAccountService, EsolveAddress, EsolveAddressResult, EsolveAuthService, EsolveBankingDetails, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCartItem, EsolveCartService, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveChangePasswordResult, EsolveCheckoutResult, EsolveErrorHandlerService, EsolveHttpError, EsolveLocationsService, EsolveMediaArticle, EsolveMediaService, EsolveMenuItem, EsolveMenuService, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolvePaymentMethod, EsolvePaymentResult, EsolvePaymentService, EsolveRegistrationResult, EsolveResetPasswordResult, EsolveResponseHandlerService, EsolveResponseResult, EsolveResult, EsolveSEOInfo, EsolveSeoService, EsolveSession, EsolveSessionService, EsolveShippingCost, EsolveShippingMethod, EsolveShippingService, EsolveStockBadge, EsolveStockItem, EsolveStockItemList, EsolveStockLocation, EsolveStockPrice, EsolveStockService, EsolveTag, EsolveTopic, EsolveTopicService, EsolveUserAccount, EsolveUserAccountBusiness, EsolveUserAccountContact, EsolveUserAccountResult, EsolveVaultItem, EsolveVaultItemResult, NgEsolveConnectModule };
2777
+ //# sourceMappingURL=esolve-ng-esolve-connect.mjs.map