add: full multi-tenancy control

This commit is contained in:
Cauê Faleiros
2026-02-02 15:31:15 -03:00
commit c6ec92802b
1711 changed files with 258106 additions and 0 deletions

View File

@@ -0,0 +1,103 @@
<?php
namespace Webkul\Automation\Helpers;
use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\EmailTemplate\Repositories\EmailTemplateRepository;
class Entity
{
/**
* Create a new repository instance.
*
* @return void
*/
public function __construct(
protected AttributeRepository $attributeRepository,
protected EmailTemplateRepository $emailTemplateRepository
) {}
/**
* Returns events to match for the entity
*
* @return array
*/
public function getEvents()
{
$entities = config('workflows.trigger_entities');
$events = [];
foreach ($entities as $key => $entity) {
$object = app($entity['class']);
$events[$key] = [
'id' => $key,
'name' => $entity['name'],
'events' => $entity['events'],
];
}
return $events;
}
/**
* Returns conditions to match for the entity
*
* @return array
*/
public function getConditions()
{
$entities = config('workflows.trigger_entities');
$conditions = [];
foreach ($entities as $key => $entity) {
$object = app($entity['class']);
$conditions[$key] = $object->getConditions();
}
return $conditions;
}
/**
* Returns workflow actions
*
* @return array
*/
public function getActions()
{
$entities = config('workflows.trigger_entities');
$conditions = [];
foreach ($entities as $key => $entity) {
$object = app($entity['class']);
$conditions[$key] = $object->getActions();
}
return $conditions;
}
/**
* Returns placeholders for email templates
*
* @return array
*/
public function getEmailTemplatePlaceholders()
{
$entities = config('workflows.trigger_entities');
$placeholders = [];
foreach ($entities as $key => $entity) {
$object = app($entity['class']);
$placeholders[] = $object->getEmailTemplatePlaceholders($entity);
}
return $placeholders;
}
}