bring into standalone plugin for distribution

This commit is contained in:
2024-11-24 18:38:29 -08:00
parent 279d46f14b
commit ded60d16bf
83 changed files with 7020 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* ExternalProductCatalog Entity
*
* @property int $id
* @property string $product_catalog_id
* @property string $base_url
* @property string $api_url
* @property \Cake\I18n\DateTime $created
* @property \Cake\I18n\DateTime|null $deleted
* @property bool $enabled
*
* @property \CakeProducts\Model\Entity\ProductCatalog $product_catalog
*/
class ExternalProductCatalog extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'product_catalog_id' => true,
'base_url' => true,
'api_url' => true,
'created' => true,
'deleted' => true,
'enabled' => true,
'product_catalog' => true,
];
}

View File

@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* Product Entity
*
* @property string $id
* @property string $name
* @property string $product_category_id
* @property \CakeProducts\Model\Enum\ProductProductTypeId $product_type_id
*
* @property \CakeProducts\Model\Entity\ProductCategory $product_category
*/
class Product extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'name' => true,
'product_category_id' => true,
'product_type_id' => true,
'product_category' => true,
];
}

View File

@@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* ProductCatalog Entity
*
* @property string $id
* @property string $name
* @property string|null $catalog_description
* @property bool $enabled
*
* @property \CakeProducts\Model\Entity\ProductCategory[] $product_categories
* @property \CakeProducts\Model\Entity\ExternalProductCatalog[] $external_product_catalogs
*/
class ProductCatalog extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'name' => true,
'catalog_description' => true,
'enabled' => true,
'product_categories' => true,
'external_product_catalogs' => true,
];
}

View File

@@ -0,0 +1,49 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* ProductCategory Entity
*
* @property int $id
* @property string $internal_id
* @property string $product_catalog_id
* @property string $name
* @property string|null $category_description
* @property int|null $parent_id
* @property int $lft
* @property int $rght
* @property bool $enabled
*
* @property \CakeProducts\Model\Entity\ProductCatalog $product_catalog
* @property \CakeProducts\Model\Entity\ParentProductCategory $parent_product_category
* @property \CakeProducts\Model\Entity\ChildProductCategory[] $child_product_categories
*/
class ProductCategory extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'product_catalog_id' => true,
'internal_id' => true,
'name' => true,
'category_description' => true,
'parent_id' => true,
'lft' => true,
'rght' => true,
'enabled' => true,
'product_catalog' => true,
'parent_product_category' => true,
'child_product_categories' => true,
];
}

View File

@@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* ProductCategoryAttribute Entity
*
* @property string $id
* @property string $name
* @property string|null $product_category_id
* @property int $attribute_type_id
* @property bool $enabled
*
* @property ProductCategory $product_category
* @property ProductCategoryAttributeOption[] $product_category_attribute_options
*/
class ProductCategoryAttribute extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'name' => true,
'product_category_id' => true,
'attribute_type_id' => true,
'enabled' => true,
'product_category' => true,
'product_category_attribute_options' => true,
];
}

View File

@@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace CakeProducts\Model\Entity;
use Cake\ORM\Entity;
/**
* ProductCategoryAttributeOption Entity
*
* @property string $id
* @property string $product_category_attribute_id
* @property string $attribute_value
* @property string $attribute_label
* @property bool $enabled
*
* @property ProductCategoryAttribute $product_category_attribute
*/
class ProductCategoryAttributeOption extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array<string, bool>
*/
protected array $_accessible = [
'product_category_attribute_id' => true,
'attribute_value' => true,
'attribute_label' => true,
'enabled' => true,
'product_category_attribute' => true,
];
}