Skip to content

Commit d555803

Browse files
committed
Memorized cache
1 parent 296ad7b commit d555803

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/LaravelCrispWhatsApp.php

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Illuminate\Support\Carbon;
1212
use Illuminate\Support\Facades\Cache;
1313
use Illuminate\Support\Facades\Http;
14+
use Psr\SimpleCache\InvalidArgumentException;
1415
use Ziming\LaravelCrispWhatsApp\Data\CrispWhatsAppTemplate;
1516
use Ziming\LaravelCrispWhatsApp\Data\WhatsAppTemplateBodyComponent;
1617
use Ziming\LaravelCrispWhatsApp\Data\WhatsAppTemplateFooterComponent;
@@ -80,11 +81,12 @@ public function getMessageTemplates(
8081

8182
/**
8283
* @throws ConnectionException
84+
* @throws InvalidArgumentException
8385
*/
8486
public function getMessageTemplate(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?CrispWhatsAppTemplate
8587
{
8688
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template:{$name}")) {
87-
return Cache::get("crisp_whatsapp_template:{$name}");
89+
return Cache::memo()->get("crisp_whatsapp_template:{$name}");
8890
}
8991

9092
$messageTemplate = $this->getMessageTemplateArray($name, $searchLimit, $onlyApproved, $excludeSamples, $after);
@@ -104,11 +106,12 @@ public function getMessageTemplate(string $name, int $searchLimit = 20, bool $on
104106

105107
/**
106108
* @throws ConnectionException
109+
* @throws InvalidArgumentException
107110
*/
108111
public function getMessageTemplateArray(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?array
109112
{
110113
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template_array:{$name}")) {
111-
return Cache::get("crisp_whatsapp_template_array:{$name}");
114+
return Cache::memo()->get("crisp_whatsapp_template_array:{$name}");
112115
}
113116

114117
$response = $this->getMessageTemplates($onlyApproved, $excludeSamples, $searchLimit, $after);
@@ -135,11 +138,12 @@ public function getMessageTemplateArray(string $name, int $searchLimit = 20, boo
135138

136139
/**
137140
* @throws ConnectionException
141+
* @throws InvalidArgumentException
138142
*/
139143
public function getMessageTemplateHeaderComponent(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?WhatsAppTemplateHeaderComponent
140144
{
141145
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template_header_component:{$name}")) {
142-
return Cache::get("crisp_whatsapp_template_header_component:{$name}");
146+
return Cache::memo()->get("crisp_whatsapp_template_header_component:{$name}");
143147
}
144148

145149
$messageTemplate = $this->getMessageTemplateArray($name, $searchLimit, $onlyApproved, $excludeSamples, $after);
@@ -166,11 +170,12 @@ public function getMessageTemplateHeaderComponent(string $name, int $searchLimit
166170

167171
/**
168172
* @throws ConnectionException
173+
* @throws InvalidArgumentException
169174
*/
170175
public function getMessageTemplateBodyComponent(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?WhatsAppTemplateBodyComponent
171176
{
172177
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template_body_component:{$name}")) {
173-
return Cache::get("crisp_whatsapp_template_body_component:{$name}");
178+
return Cache::memo()->get("crisp_whatsapp_template_body_component:{$name}");
174179
}
175180

176181
$messageTemplate = $this->getMessageTemplateArray($name, $searchLimit, $onlyApproved, $excludeSamples, $after);
@@ -197,11 +202,12 @@ public function getMessageTemplateBodyComponent(string $name, int $searchLimit =
197202

198203
/**
199204
* @throws ConnectionException
205+
* @throws InvalidArgumentException
200206
*/
201207
public function getMessageTemplateButtonsComponent(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?WhatsAppTemplateFooterComponent
202208
{
203209
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template_buttons_component:{$name}")) {
204-
return Cache::get("crisp_whatsapp_template_buttons_component:{$name}");
210+
return Cache::memo()->get("crisp_whatsapp_template_buttons_component:{$name}");
205211
}
206212

207213
$messageTemplate = $this->getMessageTemplateArray($name, $searchLimit, $onlyApproved, $excludeSamples, $after);
@@ -227,11 +233,12 @@ public function getMessageTemplateButtonsComponent(string $name, int $searchLimi
227233

228234
/**
229235
* @throws ConnectionException
236+
* @throws InvalidArgumentException
230237
*/
231238
public function getMessageTemplateFooterComponent(string $name, int $searchLimit = 20, bool $onlyApproved = true, bool $excludeSamples = true, string $after = ''): ?WhatsAppTemplateFooterComponent
232239
{
233240
if (config()->boolean('crisp-whatsapp.enable_caching') === true && Cache::has("crisp_whatsapp_template_footer_component:{$name}")) {
234-
return Cache::get("crisp_whatsapp_template_footer_component:{$name}");
241+
return Cache::memo()->get("crisp_whatsapp_template_footer_component:{$name}");
235242
}
236243

237244
$messageTemplate = $this->getMessageTemplateArray($name, $searchLimit, $onlyApproved, $excludeSamples, $after);

0 commit comments

Comments
 (0)