15
15
use Magento \GraphQl \Model \Query \ContextInterface ;
16
16
use Magento \Framework \GraphQl \Exception \GraphQlAuthorizationException ;
17
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 ;
18
21
19
22
/**
20
23
* Get cart for the customer
@@ -31,16 +34,39 @@ class CustomerCart implements ResolverInterface
31
34
*/
32
35
private $ cartManagement ;
33
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
+
34
51
/**
35
52
* @param CreateEmptyCartForCustomer $createEmptyCartForCustomer
36
53
* @param CartManagementInterface $cartManagement
54
+ * @param QuoteIdMaskFactory $quoteIdMaskFactory
55
+ * @param QuoteIdMaskResourceModel $quoteIdMaskResourceModel
56
+ * @param QuoteIdToMaskedQuoteIdInterface $quoteIdToMaskedQuoteId
37
57
*/
38
58
public function __construct (
39
59
CreateEmptyCartForCustomer $ createEmptyCartForCustomer ,
40
- CartManagementInterface $ cartManagement
60
+ CartManagementInterface $ cartManagement ,
61
+ QuoteIdMaskFactory $ quoteIdMaskFactory ,
62
+ QuoteIdMaskResourceModel $ quoteIdMaskResourceModel ,
63
+ QuoteIdToMaskedQuoteIdInterface $ quoteIdToMaskedQuoteId
41
64
) {
42
65
$ this ->createEmptyCartForCustomer = $ createEmptyCartForCustomer ;
43
66
$ this ->cartManagement = $ cartManagement ;
67
+ $ this ->quoteIdMaskFactory = $ quoteIdMaskFactory ;
68
+ $ this ->quoteIdMaskResourceModel = $ quoteIdMaskResourceModel ;
69
+ $ this ->quoteIdToMaskedQuoteId = $ quoteIdToMaskedQuoteId ;
44
70
}
45
71
46
72
/**
@@ -61,6 +87,13 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
61
87
$ cart = $ this ->cartManagement ->getCartForCustomer ($ currentUserId );
62
88
}
63
89
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 );
95
+ }
96
+
64
97
return [
65
98
'model ' => $ cart
66
99
];
0 commit comments