7
7
8
8
namespace Magento \QuoteGraphQl \Model \Resolver ;
9
9
10
- use Magento \Framework \Exception \NoSuchEntityException ;
11
10
use Magento \Framework \GraphQl \Config \Element \Field ;
12
11
use Magento \Framework \GraphQl \Query \ResolverInterface ;
13
12
use Magento \Framework \GraphQl \Schema \Type \ResolveInfo ;
14
- use Magento \QuoteGraphQl \Model \Cart \CreateEmptyCartForCustomer ;
15
13
use Magento \GraphQl \Model \Query \ContextInterface ;
16
14
use Magento \Framework \GraphQl \Exception \GraphQlAuthorizationException ;
17
- use Magento \Quote \Api \CartManagementInterface ;
18
- use Magento \Quote \Model \QuoteIdMaskFactory ;
19
- use Magento \Quote \Model \QuoteIdToMaskedQuoteIdInterface ;
20
- use Magento \Quote \Model \ResourceModel \Quote \QuoteIdMask as QuoteIdMaskResourceModel ;
15
+ use Magento \Quote \Model \Cart \CustomerCartResolver ;
21
16
22
17
/**
23
18
* Get cart for the customer
24
19
*/
25
20
class CustomerCart implements ResolverInterface
26
21
{
27
22
/**
28
- * @var CreateEmptyCartForCustomer
23
+ * @var CustomerCartResolver
29
24
*/
30
- private $ createEmptyCartForCustomer ;
25
+ private $ customerCartResolver ;
31
26
32
27
/**
33
- * @var CartManagementInterface
34
- */
35
- private $ cartManagement ;
36
-
37
- /**
38
- * @var QuoteIdMaskFactory
39
- */
40
- private $ quoteIdMaskFactory ;
41
-
42
- /**
43
- * @var QuoteIdMaskResourceModel
44
- */
45
- private $ quoteIdMaskResourceModel ;
46
- /**
47
- * @var QuoteIdToMaskedQuoteIdInterface
48
- */
49
- private $ quoteIdToMaskedQuoteId ;
50
-
51
- /**
52
- * @param CreateEmptyCartForCustomer $createEmptyCartForCustomer
53
- * @param CartManagementInterface $cartManagement
54
- * @param QuoteIdMaskFactory $quoteIdMaskFactory
55
- * @param QuoteIdMaskResourceModel $quoteIdMaskResourceModel
56
- * @param QuoteIdToMaskedQuoteIdInterface $quoteIdToMaskedQuoteId
28
+ * CustomerCart constructor.
29
+ *
30
+ * @param CustomerCartResolver $customerCartResolver
57
31
*/
58
32
public function __construct (
59
- CreateEmptyCartForCustomer $ createEmptyCartForCustomer ,
60
- CartManagementInterface $ cartManagement ,
61
- QuoteIdMaskFactory $ quoteIdMaskFactory ,
62
- QuoteIdMaskResourceModel $ quoteIdMaskResourceModel ,
63
- QuoteIdToMaskedQuoteIdInterface $ quoteIdToMaskedQuoteId
33
+ CustomerCartResolver $ customerCartResolver
64
34
) {
65
- $ this ->createEmptyCartForCustomer = $ createEmptyCartForCustomer ;
66
- $ this ->cartManagement = $ cartManagement ;
67
- $ this ->quoteIdMaskFactory = $ quoteIdMaskFactory ;
68
- $ this ->quoteIdMaskResourceModel = $ quoteIdMaskResourceModel ;
69
- $ this ->quoteIdToMaskedQuoteId = $ quoteIdToMaskedQuoteId ;
35
+ $ this ->customerCartResolver = $ customerCartResolver ;
70
36
}
71
37
72
38
/**
@@ -76,22 +42,17 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
76
42
{
77
43
$ currentUserId = $ context ->getUserId ();
78
44
79
- /** @var ContextInterface $context */
45
+ /**
46
+ * @var ContextInterface $context
47
+ */
80
48
if (false === $ context ->getExtensionAttributes ()->getIsCustomer ()) {
81
49
throw new GraphQlAuthorizationException (__ ('The request is allowed for logged in customer ' ));
82
50
}
83
- try {
84
- $ cart = $ this ->cartManagement ->getCartForCustomer ($ currentUserId );
85
- } catch (NoSuchEntityException $ e ) {
86
- $ this ->createEmptyCartForCustomer ->execute ($ currentUserId , null );
87
- $ cart = $ this ->cartManagement ->getCartForCustomer ($ currentUserId );
88
- }
89
51
90
- $ maskedId = $ this ->quoteIdToMaskedQuoteId ->execute ((int ) $ cart ->getId ());
91
- if (empty ($ maskedId )) {
92
- $ quoteIdMask = $ this ->quoteIdMaskFactory ->create ();
93
- $ quoteIdMask ->setQuoteId ((int ) $ cart ->getId ());
94
- $ this ->quoteIdMaskResourceModel ->save ($ quoteIdMask );
52
+ try {
53
+ $ cart = $ this ->customerCartResolver ->resolve ($ currentUserId );
54
+ } catch (\Exception $ e ) {
55
+ $ cart = null ;
95
56
}
96
57
97
58
return [
0 commit comments