Procházet zdrojové kódy

ajustes cadastro prestador para nao gerar aprovado e bloquear pendentes

Gustavo Zanatta před 3 týdny
rodič
revize
cb531331e6

+ 2 - 6
app/Http/Controllers/ProviderController.php

@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
 use App\Http\Requests\ProviderBankAccountRequest;
 use App\Http\Requests\ProviderRequest;
 use App\Http\Requests\RegisterProviderRequest;
-use App\Http\Resources\AuthResource;
 use App\Http\Resources\ProviderResource;
 use App\Services\ProviderService;
 use Illuminate\Http\JsonResponse;
@@ -114,11 +113,8 @@ class ProviderController extends Controller
         }
 
         return $this->successResponse(
-            payload: new AuthResource([
-                ...$result['payload'],
-                'refresh_token' => $result['refreshToken'],
-            ]),
-            message: __('auth.logged_in'),
+            message: __('messages.provider_registered_pending'),
+            code: 201,
         );
     }
 }

+ 6 - 8
app/Services/AuthService.php

@@ -215,15 +215,13 @@ class AuthService
                 ->first();
             $isLogin = false;
             if ($user) {
-                // if ($user->registration_complete) {
                 $provider = Provider::where('user_id', $user->id)->first();
                 if ($provider && $provider->approval_status->value !== ApprovalStatusEnum::ACCEPTED->value) {
                     DB::rollBack();
 
                     return ['error' => 'provider_not_accepted'];
                 }
-                $isLogin = true;
-                // }
+                $isLogin = $provider !== null;
 
                 $user->code = $code;
                 $user->validated_code = false;
@@ -320,15 +318,15 @@ class AuthService
             $user->load('provider');
             $provider = $user->provider ?? null;
 
-            // if (! $user->registration_complete || ! $provider) {
-            //     return ['error' => 'registration_incomplete'];
-            // }
+            if (! $user->registration_complete || ! $provider) {
+                return ['error' => 'registration_incomplete'];
+            }
 
-            if ($provider->approval_status === ApprovalStatusEnum::PENDING->value) {
+            if ($provider->approval_status === ApprovalStatusEnum::PENDING) {
                 return ['error' => 'provider_pending'];
             }
 
-            if ($provider->approval_status === ApprovalStatusEnum::REJECTED->value) {
+            if ($provider->approval_status === ApprovalStatusEnum::REJECTED) {
                 return ['error' => 'provider_rejected'];
             }
 

+ 5 - 9
app/Services/ProviderService.php

@@ -21,7 +21,6 @@ use Illuminate\Support\Facades\Log;
 class ProviderService
 {
     public function __construct(
-        private readonly AuthService $authService,
         private readonly PagarmeRecipientService $pagarmeRecipientService,
         private readonly MediaService $mediaService,
     ) {}
@@ -131,7 +130,7 @@ class ProviderService
 
     //
 
-    public function register(array $data): ?array
+    public function register(array $data): bool
     {
         try {
             DB::beginTransaction();
@@ -249,17 +248,14 @@ class ProviderService
             }
 
             $user->registration_complete = true;
-            $user->save();
 
-            $result = $this->authService->loginWithEmail(
-                email: $user->email,
-                code: $user->code,
-                type: UserTypeEnum::PROVIDER->value,
-            );
+            $user->validated_code = true;
+            $user->code = null;
+            $user->save();
 
             DB::commit();
 
-            return $result;
+            return true;
         } catch (\Exception $e) {
             DB::rollBack();
 

+ 2 - 2
lang/en/auth.php

@@ -24,8 +24,8 @@ return [
     'invalid_code'       => 'Invalid code',
     'valid_code'         => 'The provided code is valid.',
     'wrong_user_type'    => 'This email cannot access this application. Please contact support for more information.',
-    // 'provider_pending' => 'Your registration is awaiting approval. We will contact you soon.',
-    // 'provider_rejected' => 'Your registration was rejected. Please contact support.',
+    'provider_pending'        => 'Your registration is awaiting approval. We will contact you soon.',
+    'provider_rejected'       => 'Your registration was rejected. Please contact support.',
     'provider_not_accepted'   => 'Your registration has not been approved yet. Please wait or contact support for more information.',
     'registration_incomplete' => 'Your registration is incomplete. Please finish the registration process.',
 ];

+ 1 - 0
lang/en/messages.php

@@ -14,6 +14,7 @@ return [
     'user_not_found_or_code_not_validated' => 'User not found or invalid code.',
     'provider_approved'                    => 'Provider approved successfully.',
     'provider_rejected'                    => 'Provider rejected.',
+    'provider_registered_pending'          => 'Registration submitted successfully! Your profile is under review and you will be able to access the app once it is approved.',
     'payment_confirmed'                    => 'Payment confirmed.',
     'payment_pending_confirmation'         => 'Payment created and awaiting confirmation.',
     'payment_not_confirmed'                => 'Payment not confirmed.',

+ 2 - 2
lang/es/auth.php

@@ -24,8 +24,8 @@ return [
     'invalid_code'       => 'Código inválido',
     'valid_code'         => 'El código proporcionado es válido.',
     'wrong_user_type'    => 'Este correo electrónico no puede acceder a esta aplicación. Contacte al soporte para más información.',
-    // 'provider_pending' => 'Su registro está pendiente de aprobación. Nos pondremos en contacto pronto.',
-    // 'provider_rejected' => 'Su registro fue rechazado. Póngase en contacto con el soporte.',
+    'provider_pending'        => 'Su registro está pendiente de aprobación. Nos pondremos en contacto pronto.',
+    'provider_rejected'       => 'Su registro fue rechazado. Póngase en contacto con el soporte.',
     'provider_not_accepted'   => 'Su registro aún no ha sido aprobado. Por favor, espere o póngase en contacto con el soporte para más información.',
     'registration_incomplete' => 'Su registro está incompleto. Por favor, finalice el proceso de registro.',
 ];

+ 1 - 0
lang/es/messages.php

@@ -14,6 +14,7 @@ return [
     'user_not_found_or_code_not_validated' => 'Usuario no encontrado o código inválido.',
     'provider_approved'                    => 'Prestador aprobado exitosamente.',
     'provider_rejected'                    => 'Prestador rechazado.',
+    'provider_registered_pending'          => '¡Registro enviado con éxito! Tu perfil está en revisión y podrás acceder a la app en cuanto sea aprobado.',
     'payment_confirmed'                    => 'Pago confirmado.',
     'payment_pending_confirmation'         => 'Pago creado y esperando confirmación.',
     'payment_not_confirmed'                => 'Pago no confirmado.',

+ 2 - 2
lang/pt/auth.php

@@ -24,8 +24,8 @@ return [
     'invalid_code'       => 'Código inválido',
     'valid_code'         => 'O código fornecido é válido.',
     'wrong_user_type'    => 'Este e-mail não pode acessar esse aplicativo. Entre em contato com o suporte para mais informações.',
-    // 'provider_pending' => 'Seu cadastro está aguardando aprovação. Em breve entraremos em contato.',
-    // 'provider_rejected' => 'Seu cadastro foi recusado. Entre em contato com o suporte.',
+    'provider_pending'         => 'Seu cadastro está aguardando aprovação. Em breve entraremos em contato.',
+    'provider_rejected'        => 'Seu cadastro foi recusado. Entre em contato com o suporte.',
     'provider_not_accepted'    => 'Seu cadastro ainda não foi aprovado. Por favor, aguarde ou entre em contato com o suporte para mais informações.',
     'registration_incomplete'  => 'Seu cadastro está incompleto. Por favor, finalize o processo de cadastro.',
 ];

+ 1 - 0
lang/pt/messages.php

@@ -14,6 +14,7 @@ return [
     'user_not_found_or_code_not_validated' => 'Usuário não encontrado ou código inválido.',
     'provider_approved'                    => 'Prestador aprovado com sucesso.',
     'provider_rejected'                    => 'Prestador recusado.',
+    'provider_registered_pending'          => 'Cadastro enviado com sucesso! Seu perfil está em análise e você poderá acessar o app assim que for aprovado.',
     'payment_confirmed'                    => 'Pagamento confirmado.',
     'payment_pending_confirmation'         => 'Pagamento criado e aguardando confirmação.',
     'payment_not_confirmed'                => 'Pagamento não confirmado.',