From 75ddd847f31788aca44b6501bb7c00ce7935265c Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 4 Jul 2023 10:41:12 +0400 Subject: [PATCH] =?UTF-8?q?dev=20#14607=20=D0=9C=D0=BE=D1=80=D0=B5.=20?= =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=81?= =?UTF-8?q?=D0=B0=D0=B9=D1=82=D1=83:=20add=20app=20to=20apple=20wallet=20o?= =?UTF-8?q?n=20login=20and=20register?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create_user/create_user.component.ts | 2 +- angular/src/app/services/auth.service.ts | 46 ++++++++++++++++--- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/create_user/create_user.component.ts b/angular/src/app/presentation-options/default-option/pages/create_user/create_user.component.ts index 38b15bc..b71a90f 100644 --- a/angular/src/app/presentation-options/default-option/pages/create_user/create_user.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/create_user/create_user.component.ts @@ -36,7 +36,7 @@ export class CreateUserComponent implements OnInit { const sex = this.form.value.sex!; const date = this.form.value.date!; - const formattedDate = moment(date).format('yyyy-MM-DD'); + const formattedDate = moment(date).format('yyyy-MM-DD'); this.authService.register(name, sex, formattedDate); } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index c47b0c3..a89351b 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -8,6 +8,8 @@ import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance } from '../interfa import { lvlPeriods } from 'src/app/app.constants'; import moment, { Moment } from 'moment-timezone'; import { Router } from '@angular/router'; +import { AppleWalletService } from './apple-wallet.service'; +import { getTypeDevice, DeviceType } from 'src/app/utils'; export interface IPurchaseData { currentPeriod: Moment[]; @@ -40,6 +42,7 @@ export class AuthService { private jsonrpc: JsonrpcService, private messageService: MessageService, private router: Router, + private appleWalletService: AppleWalletService, ) { this.getCurrentQuarterOfYear(); } @@ -61,7 +64,7 @@ export class AuthService { this.loading = true; - this.wpJsonService + return new Promise((res, rej) => this.wpJsonService .getCustomerInfo( environment.systemId, token, @@ -72,25 +75,30 @@ export class AuthService { if (value && value.customer_info && value.customer_info.errorCode === 'Customer_CustomerNotFound' || !this.userHasData(value?.customer_info)) { this.router.navigate(['create_user']); + return rej(null); } else if (value && value.error && value.error.code > 1) { this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Произошла ошибка! Попробуйте позже', }); + return rej(null); } else if (value && value.customer_info) { this.userInfo = value.customer_info; this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); } + res(null); }, error: (e) => { this.error = e; + rej(e); }, complete: () => { this.loading = false; }, - }); + }) + ); } userHasData(user?: UserInfo) { @@ -167,9 +175,30 @@ export class AuthService { next: (result) => { if (result.code === 0) { this.cookiesService.setCookie('token', result?.data?.token); - this.router.navigate(['/']); - - this.getUserInfo(); + this.jsonrpc.rpc( + { + method: 'updateAdditionalInfo', + params: [ + { + first_name: name, + birth_day: '01.01.1999' + }, + ], + }, + RpcService.authService, + true + ).subscribe({ + next: async () => { + this.router.navigate(['/']); + await this.getUserInfo(); + if(getTypeDevice() === DeviceType.ios) { + this.appleWalletService.addCardToWallet(); + } + }, + error: (err) => { + console.error(err); + }, + }) } else if (result.code === 230) { this.messageService.clear(); this.messageService.add({ @@ -264,9 +293,12 @@ export class AuthService { birthday: date, }) .subscribe({ - next: () => { + next: async () => { this.router.navigate(['/']); - this.getUserInfo(); + await this.getUserInfo(); + if(getTypeDevice() === DeviceType.ios) { + this.appleWalletService.addCardToWallet(); + } }, error: () => { this.loading = false;