diff --git a/src/Models/EmailTemplate.php b/src/Models/EmailTemplate.php index 3d83ff2..ab9c310 100644 --- a/src/Models/EmailTemplate.php +++ b/src/Models/EmailTemplate.php @@ -81,6 +81,21 @@ public function __construct(array $attributes = []) $this->setTableFromConfig(); } + protected static function boot() + { + parent::boot(); + + // When an email template is updated + static::updated(function ($template) { + self::clearEmailTemplateCache($template->key, $template->language); + }); + + // When an email template is deleted + static::deleted(function ($template) { + self::clearEmailTemplateCache($template->key, $template->language); + }); + } + public function setTableFromConfig() { $this->table = config('filament-email-templates.table_name'); @@ -99,6 +114,12 @@ public static function findEmailByKey($key, $language = null) }); } + public static function clearEmailTemplateCache($key, $language) + { + $cacheKey = "email_by_key_{$key}_{$language}"; + Cache::forget($cacheKey); + } + /** * @return \Illuminate\Support\Collection */