Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bd77727f58 |
48
AGENTS.md
48
AGENTS.md
@@ -8,22 +8,18 @@
|
|||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
This project uses a domain-oriented structure grouped by business area under
|
This project uses a domain-oriented structure under `app/Domains`.
|
||||||
`app/Domains`. Cross-cutting modules live under `app/Shared`.
|
|
||||||
|
|
||||||
Business domains must live in:
|
Each domain must live in:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
app/Domains/<Area>/<DomainName>/
|
app/Domains/<DomainName>/
|
||||||
```
|
```
|
||||||
|
|
||||||
The current areas are `Core`, `Commerce`, and `Ticketing`. Cross-cutting
|
|
||||||
modules live in `app/Shared/<ModuleName>/`.
|
|
||||||
|
|
||||||
Supported folders inside each domain:
|
Supported folders inside each domain:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
app/Domains/<Area>/<DomainName>/
|
app/Domains/<DomainName>/
|
||||||
├── Models/
|
├── Models/
|
||||||
├── Controllers/
|
├── Controllers/
|
||||||
├── Requests/
|
├── Requests/
|
||||||
@@ -38,28 +34,22 @@ app/Domains/<Area>/<DomainName>/
|
|||||||
|
|
||||||
- Root API routes live in `routes/api.php`.
|
- Root API routes live in `routes/api.php`.
|
||||||
- `routes/api.php` should act as an aggregator only.
|
- `routes/api.php` should act as an aggregator only.
|
||||||
- Each business domain defines its own routes in
|
- Each domain defines its own routes in `app/Domains/<DomainName>/routes/api.php`.
|
||||||
`app/Domains/<Area>/<DomainName>/routes/api.php`.
|
|
||||||
- Shared modules that expose routes define them in
|
|
||||||
`app/Shared/<ModuleName>/routes/api.php`.
|
|
||||||
|
|
||||||
## Namespaces
|
## Namespaces
|
||||||
|
|
||||||
Use this namespace pattern:
|
Use this namespace pattern:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
App\Domains\<Area>\<DomainName>\Models
|
App\Domains\<DomainName>\Models
|
||||||
App\Domains\<Area>\<DomainName>\Controllers
|
App\Domains\<DomainName>\Controllers
|
||||||
App\Domains\<Area>\<DomainName>\Requests
|
App\Domains\<DomainName>\Requests
|
||||||
App\Domains\<Area>\<DomainName>\Resources
|
App\Domains\<DomainName>\Resources
|
||||||
App\Domains\<Area>\<DomainName>\Services
|
App\Domains\<DomainName>\Services
|
||||||
App\Domains\<Area>\<DomainName>\Policies
|
App\Domains\<DomainName>\Policies
|
||||||
App\Domains\<Area>\<DomainName>\Exceptions
|
App\Domains\<DomainName>\Exceptions
|
||||||
```
|
```
|
||||||
|
|
||||||
For cross-cutting modules, use `App\Shared\<ModuleName>\...`. Reusable enums
|
|
||||||
and rules live directly under `App\Shared`.
|
|
||||||
|
|
||||||
## Responsibilities
|
## Responsibilities
|
||||||
|
|
||||||
- `Models/`: Eloquent models and model relationships.
|
- `Models/`: Eloquent models and model relationships.
|
||||||
@@ -90,19 +80,13 @@ and rules live directly under `App\Shared`.
|
|||||||
- Namespace, folder, and class names must stay aligned.
|
- Namespace, folder, and class names must stay aligned.
|
||||||
- Route files should be named `api.php`.
|
- Route files should be named `api.php`.
|
||||||
|
|
||||||
## Current Areas and Modules
|
## Current Domains
|
||||||
|
|
||||||
- `Core`: `Administrator`, `Auth`, `Authorization`, `Bootstrap`, `Client`,
|
- `Tenant`
|
||||||
`Menu`, `Staff`, `Tenant`.
|
- `Product`
|
||||||
- `Commerce`: `Cart`, `Catalog`, `Purchase`, `Sale`.
|
|
||||||
- `Ticketing`: `Desfile`, `Event`, `FiestaFutbolInfantil`, `Ticket`.
|
|
||||||
- `Shared`: `Attachable`, `Forms`, `Integration`, `Logging`, `MailTest`,
|
|
||||||
`Notification`, `StorageTest`, plus shared enums and rules.
|
|
||||||
|
|
||||||
## Notes For Future Changes
|
## Notes For Future Changes
|
||||||
|
|
||||||
- New features should be added inside the corresponding domain first.
|
- New features should be added inside the corresponding domain first.
|
||||||
- Add new business features to the appropriate area under `app/Domains`.
|
- If a concern does not belong to an existing domain, create a new domain under `app/Domains`.
|
||||||
- Keep generic reusable code in `app/Shared`; do not use it as a catch-all for
|
|
||||||
business features.
|
|
||||||
- Avoid placing new business code in `app/Http/Controllers` or `app/Models`.
|
- Avoid placing new business code in `app/Http/Controllers` or `app/Models`.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"info": {
|
"info": {
|
||||||
"_postman_id": "76fd6fd2-53b9-4d92-8e02-1ddcc6207fa2",
|
"_postman_id": "76fd6fd2-53b9-4d92-8e02-1ddcc6207fa2",
|
||||||
"name": "ShopIt API — Complete",
|
"name": "ShopIt API — Complete",
|
||||||
"description": "Colección canónica generada desde las rutas reales de Laravel. Incluye 136 operaciones HTTP, presets de configuración para cada integración, ejemplos de payload, filtros, archivos y tokens separados para Storefront, Admin App y Scanner.\n\nUso rápido:\n1. Ajustá `base_url` y las credenciales.\n2. Ejecutá el Login de la aplicación correspondiente; el token se guarda automáticamente.\n3. Ajustá los IDs y códigos de las variables de colección.\n\nRegeneración: `php postman/generate-shopit-collection.php`.",
|
"description": "Colección canónica generada desde las rutas reales de Laravel. Incluye 137 operaciones HTTP, presets de configuración para cada integración, ejemplos de payload, filtros, archivos y tokens separados para Storefront, Admin App y Scanner.\n\nUso rápido:\n1. Ajustá `base_url` y las credenciales.\n2. Ejecutá el Login de la aplicación correspondiente; el token se guarda automáticamente.\n3. Ajustá los IDs y códigos de las variables de colección.\n\nRegeneración: `php postman/generate-shopit-collection.php`.",
|
||||||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
||||||
},
|
},
|
||||||
"item": [
|
"item": [
|
||||||
@@ -678,6 +678,57 @@
|
|||||||
},
|
},
|
||||||
"response": []
|
"response": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Create Catalog",
|
||||||
|
"request": {
|
||||||
|
"method": "POST",
|
||||||
|
"header": [
|
||||||
|
{
|
||||||
|
"key": "Accept",
|
||||||
|
"value": "application/json",
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Content-Type",
|
||||||
|
"value": "application/json",
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/catalog-items`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@store`",
|
||||||
|
"url": {
|
||||||
|
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog-items?q=demo&page=1",
|
||||||
|
"host": [
|
||||||
|
"{{base_url}}"
|
||||||
|
],
|
||||||
|
"path": [
|
||||||
|
"api",
|
||||||
|
"tenants",
|
||||||
|
"{{tenant_code}}",
|
||||||
|
"catalog-items"
|
||||||
|
],
|
||||||
|
"query": [
|
||||||
|
{
|
||||||
|
"key": "q",
|
||||||
|
"value": "demo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "page",
|
||||||
|
"value": "1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"body": {
|
||||||
|
"mode": "raw",
|
||||||
|
"raw": "{\n \"type\": \"standard\",\n \"category_id\": {{category_id}},\n \"slug\": \"producto-demo\",\n \"nombre\": \"Producto Demo\",\n \"descripcion\": \"Producto creado desde Postman\",\n \"precio\": 10000,\n \"inventory_policy\": \"tracked\",\n \"inventory_subject\": \"product\",\n \"max_units_per_user\": 5,\n \"has_tickets\": false,\n \"real_stock\": 100,\n \"images\": [\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\"\n ]\n}",
|
||||||
|
"options": {
|
||||||
|
"raw": {
|
||||||
|
"language": "json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"response": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Get Catalog",
|
"name": "Get Catalog",
|
||||||
"request": {
|
"request": {
|
||||||
@@ -1856,7 +1907,7 @@
|
|||||||
"description": "Consulta, configura o desvincula cualquier integración usando `{{integration_code}}`.",
|
"description": "Consulta, configura o desvincula cualquier integración usando `{{integration_code}}`.",
|
||||||
"item": [
|
"item": [
|
||||||
{
|
{
|
||||||
"name": "List Admin Website Type Integration",
|
"name": "List Website Type Integration",
|
||||||
"request": {
|
"request": {
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"header": [
|
"header": [
|
||||||
@@ -1866,16 +1917,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `GET /api/admin-website-types/{adminWebsiteType:codigo}/integrations`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@index`\n\nRequiere autenticación Sanctum.",
|
"description": "Ruta Laravel: `GET /api/website-types/{websiteType:codigo}/integrations`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@index`\n\nRequiere autenticación Sanctum.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations"
|
"integrations"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -1893,7 +1944,7 @@
|
|||||||
"response": []
|
"response": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Get Admin Website Type Integration",
|
"name": "Get Website Type Integration",
|
||||||
"request": {
|
"request": {
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"header": [
|
"header": [
|
||||||
@@ -1903,16 +1954,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `GET /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@show`\n\nRequiere autenticación Sanctum.",
|
"description": "Ruta Laravel: `GET /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@show`\n\nRequiere autenticación Sanctum.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/{{integration_code}}",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/{{integration_code}}",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"{{integration_code}}"
|
"{{integration_code}}"
|
||||||
]
|
]
|
||||||
@@ -1946,16 +1997,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `PUT /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.",
|
"description": "Ruta Laravel: `PUT /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/{{integration_code}}",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/{{integration_code}}",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"{{integration_code}}"
|
"{{integration_code}}"
|
||||||
]
|
]
|
||||||
@@ -1983,7 +2034,7 @@
|
|||||||
"response": []
|
"response": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Delete Admin Website Type Integration",
|
"name": "Delete Website Type Integration",
|
||||||
"request": {
|
"request": {
|
||||||
"method": "DELETE",
|
"method": "DELETE",
|
||||||
"header": [
|
"header": [
|
||||||
@@ -1993,16 +2044,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `DELETE /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@destroy`\n\nRequiere autenticación Sanctum.",
|
"description": "Ruta Laravel: `DELETE /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@destroy`\n\nRequiere autenticación Sanctum.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/{{integration_code}}",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/{{integration_code}}",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"{{integration_code}}"
|
"{{integration_code}}"
|
||||||
]
|
]
|
||||||
@@ -2042,16 +2093,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `PUT /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `email`. Configura el transporte SMTP usado para el envío de correos.",
|
"description": "Ruta Laravel: `PUT /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `email`. Configura el transporte SMTP usado para el envío de correos.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/email",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/email",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"email"
|
"email"
|
||||||
]
|
]
|
||||||
@@ -2100,16 +2151,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `PUT /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `telepagos`. Configura las credenciales productivas de Telepagos.",
|
"description": "Ruta Laravel: `PUT /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `telepagos`. Configura las credenciales productivas de Telepagos.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/telepagos",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/telepagos",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"telepagos"
|
"telepagos"
|
||||||
]
|
]
|
||||||
@@ -2158,16 +2209,16 @@
|
|||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Ruta Laravel: `PUT /api/admin-website-types/{adminWebsiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\AdminWebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `telepagos_homo`. Configura las credenciales del entorno de homologación de Telepagos.",
|
"description": "Ruta Laravel: `PUT /api/website-types/{websiteType:codigo}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\WebsiteTypeIntegrationController@store`\n\nRequiere autenticación Sanctum.\n\nPreset: `telepagos_homo`. Configura las credenciales del entorno de homologación de Telepagos.",
|
||||||
"url": {
|
"url": {
|
||||||
"raw": "{{base_url}}/api/admin-website-types/{{admin_website_type_code}}/integrations/telepagos_homo",
|
"raw": "{{base_url}}/api/website-types/{{website_type_code}}/integrations/telepagos_homo",
|
||||||
"host": [
|
"host": [
|
||||||
"{{base_url}}"
|
"{{base_url}}"
|
||||||
],
|
],
|
||||||
"path": [
|
"path": [
|
||||||
"api",
|
"api",
|
||||||
"admin-website-types",
|
"website-types",
|
||||||
"{{admin_website_type_code}}",
|
"{{website_type_code}}",
|
||||||
"integrations",
|
"integrations",
|
||||||
"telepagos_homo"
|
"telepagos_homo"
|
||||||
]
|
]
|
||||||
@@ -2499,7 +2550,7 @@
|
|||||||
},
|
},
|
||||||
"body": {
|
"body": {
|
||||||
"mode": "raw",
|
"mode": "raw",
|
||||||
"raw": "{\n \"client_id\": {{client_id}},\n \"codigo\": \"{{tenant_code}}\",\n \"nombre\": \"Tenant Demo\",\n \"dominio\": \"{{tenant_domain}}\",\n \"site_title\": \"ShopIt Demo\",\n \"primary_color\": \"#111827\",\n \"secondary_color\": \"#2563EB\",\n \"danger_color\": \"#DC2626\",\n \"success_color\": \"#16A34A\",\n \"header_bg_color\": \"#FFFFFF\",\n \"footer_bg_color\": \"#111827\",\n \"header_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"footer_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"search_product_layout\": \"column_with_image\",\n \"search_group_layout\": \"paginated\",\n \"search_items_per_page\": 12,\n \"display_categories\": true,\n \"display_seach_bar\": true,\n \"display_cart\": true,\n \"cart_editing_policy\": \"full\",\n \"admin_website_type_code\": \"shopit\",\n \"storefront_website_type_code\": \"shopit\"\n}",
|
"raw": "{\n \"client_id\": {{client_id}},\n \"codigo\": \"{{tenant_code}}\",\n \"nombre\": \"Tenant Demo\",\n \"dominio\": \"{{tenant_domain}}\",\n \"site_title\": \"ShopIt Demo\",\n \"primary_color\": \"#111827\",\n \"secondary_color\": \"#2563EB\",\n \"danger_color\": \"#DC2626\",\n \"success_color\": \"#16A34A\",\n \"header_bg_color\": \"#FFFFFF\",\n \"footer_bg_color\": \"#111827\",\n \"header_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"footer_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"search_product_layout\": \"column_with_image\",\n \"search_group_layout\": \"paginated\",\n \"search_items_per_page\": 12,\n \"display_categories\": true,\n \"display_seach_bar\": true,\n \"display_cart\": true,\n \"cart_editing_policy\": \"full\",\n \"website_type_code\": \"shopit\"\n}",
|
||||||
"options": {
|
"options": {
|
||||||
"raw": {
|
"raw": {
|
||||||
"language": "json"
|
"language": "json"
|
||||||
@@ -6217,7 +6268,7 @@
|
|||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "storefront_website_type_code",
|
"key": "website_type_code",
|
||||||
"value": "shopit",
|
"value": "shopit",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
@@ -6330,10 +6381,6 @@
|
|||||||
"key": "s3_path",
|
"key": "s3_path",
|
||||||
"value": "postman/test-file.png",
|
"value": "postman/test-file.png",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "admin_website_type_code",
|
|
||||||
"value": "shopit"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Administrator\Controllers;
|
namespace App\Domains\Administrator\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Administrator\Requests\StoreAdministratorRequest;
|
use App\Domains\Administrator\Requests\StoreAdministratorRequest;
|
||||||
use App\Domains\Core\Administrator\Requests\UpdateAdministratorRequest;
|
use App\Domains\Administrator\Requests\UpdateAdministratorRequest;
|
||||||
use App\Domains\Core\Administrator\Resources\AdministratorResource;
|
use App\Domains\Administrator\Resources\AdministratorResource;
|
||||||
use App\Domains\Core\Administrator\Services\AdministratorService;
|
use App\Domains\Administrator\Services\AdministratorService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Administrator\Requests;
|
namespace App\Domains\Administrator\Requests;
|
||||||
|
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Administrator\Requests;
|
namespace App\Domains\Administrator\Requests;
|
||||||
|
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Administrator\Resources;
|
namespace App\Domains\Administrator\Resources;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Administrator\Services;
|
namespace App\Domains\Administrator\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\Collection;
|
use Illuminate\Database\Eloquent\Collection;
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Administrator\Controllers\AdminAppAdministratorController;
|
use App\Domains\Administrator\Controllers\AdminAppAdministratorController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('v1/adminapp/tenant')
|
Route::prefix('v1/adminapp/tenant')
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Shared\Attachable\Enums;
|
namespace App\Domains\Attachable\Enums;
|
||||||
|
|
||||||
enum AttachmentType: string
|
enum AttachmentType: string
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Shared\Attachable\Exceptions;
|
namespace App\Domains\Attachable\Exceptions;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Shared\Attachable\Models;
|
namespace App\Domains\Attachable\Models;
|
||||||
|
|
||||||
use App\Shared\Attachable\Enums\AttachmentType;
|
use App\Domains\Attachable\Enums\AttachmentType;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Shared\Attachable\Models;
|
namespace App\Domains\Attachable\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Shared\Attachable\Services;
|
namespace App\Domains\Attachable\Services;
|
||||||
|
|
||||||
use App\Shared\Attachable\Enums\AttachmentType;
|
use App\Domains\Attachable\Enums\AttachmentType;
|
||||||
use App\Shared\Attachable\Exceptions\AttachmentStorageException;
|
use App\Domains\Attachable\Exceptions\AttachmentStorageException;
|
||||||
use App\Shared\Attachable\Models\Attachment;
|
use App\Domains\Attachable\Models\Attachment;
|
||||||
use App\Shared\Attachable\Models\AttachmentCrop;
|
use App\Domains\Attachable\Models\AttachmentCrop;
|
||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\AdminAppLoginRequest;
|
use App\Domains\Auth\Requests\AdminAppLoginRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\PasswordLoginService;
|
use App\Domains\Auth\Services\PasswordLoginService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Auth\Resources\AdminAppMeResource;
|
use App\Domains\Auth\Resources\AdminAppMeResource;
|
||||||
use App\Domains\Core\Auth\Services\AdminAppContextService;
|
use App\Domains\Auth\Services\AdminAppContextService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Requests\AdminAppCreateResetPasswordAttemptRequest;
|
use App\Domains\Auth\Requests\AdminAppCreateResetPasswordAttemptRequest;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Requests\CreateResetPasswordAttemptRequest;
|
use App\Domains\Auth\Requests\CreateResetPasswordAttemptRequest;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Requests\ScannerCreateResetPasswordAttemptRequest;
|
use App\Domains\Auth\Requests\ScannerCreateResetPasswordAttemptRequest;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Services\GoogleAuthService;
|
use App\Domains\Auth\Services\GoogleAuthService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\GoogleTokenExchangeRequest;
|
use App\Domains\Auth\Requests\GoogleTokenExchangeRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\GoogleAuthService;
|
use App\Domains\Auth\Services\GoogleAuthService;
|
||||||
use App\Domains\Commerce\Cart\Services\GuestCartMergeService;
|
use App\Domains\Cart\Services\GuestCartMergeService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Cookie;
|
use Illuminate\Support\Facades\Cookie;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\LoginUserRequest;
|
use App\Domains\Auth\Requests\LoginUserRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\PasswordLoginService;
|
use App\Domains\Auth\Services\PasswordLoginService;
|
||||||
use App\Domains\Commerce\Cart\Services\GuestCartMergeService;
|
use App\Domains\Cart\Services\GuestCartMergeService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Cookie;
|
use Illuminate\Support\Facades\Cookie;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\RegisterUserRequest;
|
use App\Domains\Auth\Requests\RegisterUserRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\RegisterUserService;
|
use App\Domains\Auth\Services\RegisterUserService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Requests\ResetPasswordRequest;
|
use App\Domains\Auth\Requests\ResetPasswordRequest;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\ScannerLoginRequest;
|
use App\Domains\Auth\Requests\ScannerLoginRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\PasswordLoginService;
|
use App\Domains\Auth\Services\PasswordLoginService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Auth\Resources\ScannerMeResource;
|
use App\Domains\Auth\Resources\ScannerMeResource;
|
||||||
use App\Domains\Core\Auth\Services\ScannerContextService;
|
use App\Domains\Auth\Services\ScannerContextService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Requests\UpdateProfileRequest;
|
use App\Domains\Auth\Requests\UpdateProfileRequest;
|
||||||
use App\Domains\Core\Auth\Resources\UserResource;
|
use App\Domains\Auth\Resources\UserResource;
|
||||||
use App\Domains\Core\Auth\Services\ProfileService;
|
use App\Domains\Auth\Services\ProfileService;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
|
|
||||||
class UpdateProfileController
|
class UpdateProfileController
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Controllers;
|
namespace App\Domains\Auth\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Requests\ValidateResetPasswordAttemptRequest;
|
use App\Domains\Auth\Requests\ValidateResetPasswordAttemptRequest;
|
||||||
use App\Domains\Core\Auth\Services\ResetPasswordAttemptService;
|
use App\Domains\Auth\Services\ResetPasswordAttemptService;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Exceptions;
|
namespace App\Domains\Auth\Exceptions;
|
||||||
|
|
||||||
use Carbon\CarbonImmutable;
|
use Carbon\CarbonImmutable;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Models;
|
namespace App\Domains\Auth\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Models;
|
namespace App\Domains\Auth\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Hidden;
|
use Illuminate\Database\Eloquent\Attributes\Hidden;
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Models;
|
namespace App\Domains\Auth\Models;
|
||||||
|
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Domains\Core\Authorization\Models\Role;
|
use App\Domains\Authorization\Models\Role;
|
||||||
use App\Domains\Commerce\Catalog\Models\Category;
|
use App\Domains\Catalog\Models\Category;
|
||||||
use App\Domains\Ticketing\Event\Models\EventDateChangeView;
|
use App\Domains\Event\Models\EventDateChangeView;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Domains\Ticketing\Ticket\Models\ScanAttempt;
|
use App\Domains\Ticket\Models\ScanAttempt;
|
||||||
use Database\Factories\UserFactory;
|
use Database\Factories\UserFactory;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Hidden;
|
use Illuminate\Database\Eloquent\Attributes\Hidden;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Validation\Rules\Password;
|
use Illuminate\Validation\Rules\Password;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
class ScannerLoginRequest extends AdminAppLoginRequest {}
|
class ScannerLoginRequest extends AdminAppLoginRequest {}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Requests;
|
namespace App\Domains\Auth\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Resources;
|
namespace App\Domains\Auth\Resources;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Tenant\Resources\TenantResource;
|
use App\Domains\Tenant\Resources\TenantResource;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Resources;
|
namespace App\Domains\Auth\Resources;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Tenant\Resources\TenantResource;
|
use App\Domains\Tenant\Resources\TenantResource;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Resources;
|
namespace App\Domains\Auth\Resources;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
|
|
||||||
class AdminAppContextService
|
class AdminAppContextService
|
||||||
{
|
{
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class AdminCredentialVerifier
|
class AdminCredentialVerifier
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Shared\Notification\Events\UserRegistered;
|
use App\Domains\Notification\Events\UserRegistered;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Domains\Core\Tenant\Support\TenantDomainNormalizer;
|
use App\Domains\Tenant\Support\TenantDomainNormalizer;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Cache;
|
use Illuminate\Support\Facades\Cache;
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Exceptions\AccountLockedException;
|
use App\Domains\Auth\Exceptions\AccountLockedException;
|
||||||
use App\Domains\Core\Auth\Models\LoginAttempt;
|
use App\Domains\Auth\Models\LoginAttempt;
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Authorization\Enums\PermissionCode;
|
use App\Domains\Authorization\Enums\PermissionCode;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Shared\Notification\Events\PasswordResetRequested;
|
use App\Domains\Notification\Events\PasswordResetRequested;
|
||||||
use Carbon\CarbonImmutable;
|
use Carbon\CarbonImmutable;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class ProfileService
|
class ProfileService
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Shared\Notification\Events\UserRegistered;
|
use App\Domains\Notification\Events\UserRegistered;
|
||||||
|
|
||||||
class RegisterUserService
|
class RegisterUserService
|
||||||
{
|
{
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\ResetPasswordAttempt;
|
use App\Domains\Auth\Models\ResetPasswordAttempt;
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Shared\Notification\Events\PasswordResetRequested;
|
use App\Domains\Notification\Events\PasswordResetRequested;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Auth\Services;
|
namespace App\Domains\Auth\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
|
|
||||||
class ScannerContextService
|
class ScannerContextService
|
||||||
{
|
{
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Controllers\AdminAppLoginController;
|
use App\Domains\Auth\Controllers\AdminAppLoginController;
|
||||||
use App\Domains\Core\Auth\Controllers\AdminAppMeController;
|
use App\Domains\Auth\Controllers\AdminAppMeController;
|
||||||
use App\Domains\Core\Auth\Controllers\CreateAdminAppResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\CreateAdminAppResetPasswordAttemptController;
|
||||||
use App\Domains\Core\Auth\Controllers\ResetPasswordController;
|
use App\Domains\Auth\Controllers\ResetPasswordController;
|
||||||
use App\Domains\Core\Auth\Controllers\ValidateResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\ValidateResetPasswordAttemptController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('v1/adminapp')->group(function (): void {
|
Route::prefix('v1/adminapp')->group(function (): void {
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Controllers\CreateResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\CreateResetPasswordAttemptController;
|
||||||
use App\Domains\Core\Auth\Controllers\GoogleTokenExchangeController;
|
use App\Domains\Auth\Controllers\GoogleTokenExchangeController;
|
||||||
use App\Domains\Core\Auth\Controllers\LoginController;
|
use App\Domains\Auth\Controllers\LoginController;
|
||||||
use App\Domains\Core\Auth\Controllers\LogoutController;
|
use App\Domains\Auth\Controllers\LogoutController;
|
||||||
use App\Domains\Core\Auth\Controllers\MeController;
|
use App\Domains\Auth\Controllers\MeController;
|
||||||
use App\Domains\Core\Auth\Controllers\RegisterController;
|
use App\Domains\Auth\Controllers\RegisterController;
|
||||||
use App\Domains\Core\Auth\Controllers\ResetPasswordController;
|
use App\Domains\Auth\Controllers\ResetPasswordController;
|
||||||
use App\Domains\Core\Auth\Controllers\UpdateProfileController;
|
use App\Domains\Auth\Controllers\UpdateProfileController;
|
||||||
use App\Domains\Core\Auth\Controllers\ValidateResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\ValidateResetPasswordAttemptController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::post('/register', RegisterController::class);
|
Route::post('/register', RegisterController::class);
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Controllers\CreateScannerResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\CreateScannerResetPasswordAttemptController;
|
||||||
use App\Domains\Core\Auth\Controllers\ResetPasswordController;
|
use App\Domains\Auth\Controllers\ResetPasswordController;
|
||||||
use App\Domains\Core\Auth\Controllers\ScannerLoginController;
|
use App\Domains\Auth\Controllers\ScannerLoginController;
|
||||||
use App\Domains\Core\Auth\Controllers\ScannerMeController;
|
use App\Domains\Auth\Controllers\ScannerMeController;
|
||||||
use App\Domains\Core\Auth\Controllers\ValidateResetPasswordAttemptController;
|
use App\Domains\Auth\Controllers\ValidateResetPasswordAttemptController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('v1/scanner')->group(function (): void {
|
Route::prefix('v1/scanner')->group(function (): void {
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Authorization\Enums;
|
namespace App\Domains\Authorization\Enums;
|
||||||
|
|
||||||
enum PermissionCode: string
|
enum PermissionCode: string
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Authorization\Enums;
|
namespace App\Domains\Authorization\Enums;
|
||||||
|
|
||||||
enum RoleCode: string
|
enum RoleCode: string
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Authorization\Models;
|
namespace App\Domains\Authorization\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Authorization\Models;
|
namespace App\Domains\Authorization\Models;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Core\Menu\Models\Menu;
|
use App\Domains\Menu\Models\Menu;
|
||||||
use App\Domains\Core\Menu\Models\MenuRole;
|
use App\Domains\Menu\Models\MenuRole;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Authorization\Models;
|
namespace App\Domains\Authorization\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Controllers;
|
namespace App\Domains\Bootstrap\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Requests\AdminAppBootstrapRequest;
|
use App\Domains\Bootstrap\Requests\AdminAppBootstrapRequest;
|
||||||
use App\Domains\Core\Bootstrap\Resources\AdminAppBootstrapResource;
|
use App\Domains\Bootstrap\Resources\AdminAppBootstrapResource;
|
||||||
use App\Domains\Core\Bootstrap\Services\AdminAppBootstrapService;
|
use App\Domains\Bootstrap\Services\AdminAppBootstrapService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
class AdminAppBootstrapController extends Controller
|
class AdminAppBootstrapController extends Controller
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Controllers;
|
namespace App\Domains\Bootstrap\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Requests\ScannerBootstrapRequest;
|
use App\Domains\Bootstrap\Requests\ScannerBootstrapRequest;
|
||||||
use App\Domains\Core\Bootstrap\Resources\ScannerBootstrapResource;
|
use App\Domains\Bootstrap\Resources\ScannerBootstrapResource;
|
||||||
use App\Domains\Core\Bootstrap\Services\ScannerBootstrapService;
|
use App\Domains\Bootstrap\Services\ScannerBootstrapService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
class ScannerBootstrapController extends Controller
|
class ScannerBootstrapController extends Controller
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Controllers;
|
namespace App\Domains\Bootstrap\Controllers;
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Requests\TenantBootstrapRequest;
|
use App\Domains\Bootstrap\Requests\TenantBootstrapRequest;
|
||||||
use App\Domains\Core\Bootstrap\Services\TenantBootstrapService;
|
use App\Domains\Bootstrap\Services\TenantBootstrapService;
|
||||||
use App\Domains\Core\Tenant\Resources\TenantResource;
|
use App\Domains\Tenant\Resources\TenantResource;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
class TenantBootstrapController extends Controller
|
class TenantBootstrapController extends Controller
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Requests;
|
namespace App\Domains\Bootstrap\Requests;
|
||||||
|
|
||||||
class AdminAppBootstrapRequest extends TenantBootstrapRequest {}
|
class AdminAppBootstrapRequest extends TenantBootstrapRequest {}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Requests;
|
namespace App\Domains\Bootstrap\Requests;
|
||||||
|
|
||||||
class ScannerBootstrapRequest extends TenantBootstrapRequest {}
|
class ScannerBootstrapRequest extends TenantBootstrapRequest {}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Requests;
|
namespace App\Domains\Bootstrap\Requests;
|
||||||
|
|
||||||
use App\Domains\Core\Tenant\Support\TenantDomainNormalizer;
|
use App\Domains\Tenant\Support\TenantDomainNormalizer;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Resources;
|
namespace App\Domains\Bootstrap\Resources;
|
||||||
|
|
||||||
use App\Domains\Core\Tenant\Models\AdminWebsiteType;
|
use App\Domains\Tenant\Models\WebsiteType;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
/** @mixin array{website_type: AdminWebsiteType} */
|
/** @mixin array{website_type: WebsiteType} */
|
||||||
class AdminAppBootstrapResource extends JsonResource
|
class AdminAppBootstrapResource extends JsonResource
|
||||||
{
|
{
|
||||||
/** @return array<string, mixed> */
|
/** @return array<string, mixed> */
|
||||||
public function toArray(Request $request): array
|
public function toArray(Request $request): array
|
||||||
{
|
{
|
||||||
/** @var AdminWebsiteType $websiteType */
|
/** @var WebsiteType $websiteType */
|
||||||
$websiteType = $this->resource['website_type'];
|
$websiteType = $this->resource['website_type'];
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'admin_website_type_code' => $websiteType->codigo,
|
'website_type_code' => $websiteType->codigo,
|
||||||
'site_title' => $websiteType->site_title,
|
'site_title' => $websiteType->site_title,
|
||||||
'primary_color' => $websiteType->primary_color,
|
'primary_color' => $websiteType->primary_color,
|
||||||
'secondary_color' => $websiteType->secondary_color,
|
'secondary_color' => $websiteType->secondary_color,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Resources;
|
namespace App\Domains\Bootstrap\Resources;
|
||||||
|
|
||||||
class ScannerBootstrapResource extends AdminAppBootstrapResource {}
|
class ScannerBootstrapResource extends AdminAppBootstrapResource {}
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Services;
|
namespace App\Domains\Bootstrap\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Tenant\Models\AdminWebsiteType;
|
use App\Domains\Tenant\Models\WebsiteType;
|
||||||
|
|
||||||
class AdminAppBootstrapService
|
class AdminAppBootstrapService
|
||||||
{
|
{
|
||||||
/** @return array{website_type: AdminWebsiteType} */
|
/** @return array{website_type: WebsiteType} */
|
||||||
public function get(string $domain): array
|
public function get(string $domain): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'website_type' => AdminWebsiteType::query()
|
'website_type' => WebsiteType::query()
|
||||||
->with(['siteLogo', 'footerLogo', 'favicon'])
|
->with(['siteLogo', 'footerLogo', 'favicon'])
|
||||||
->where('dominio', $domain)
|
->where('dominio', $domain)
|
||||||
->firstOrFail(),
|
->firstOrFail(),
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Services;
|
namespace App\Domains\Bootstrap\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Tenant\Models\AdminWebsiteType;
|
use App\Domains\Tenant\Models\WebsiteType;
|
||||||
|
|
||||||
class ScannerBootstrapService
|
class ScannerBootstrapService
|
||||||
{
|
{
|
||||||
/** @return array{website_type: AdminWebsiteType} */
|
/** @return array{website_type: WebsiteType} */
|
||||||
public function get(string $domain): array
|
public function get(string $domain): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'website_type' => AdminWebsiteType::query()
|
'website_type' => WebsiteType::query()
|
||||||
->with(['siteLogo', 'footerLogo', 'favicon'])
|
->with(['siteLogo', 'footerLogo', 'favicon'])
|
||||||
->where('scanner_domain', $domain)
|
->where('scanner_domain', $domain)
|
||||||
->firstOrFail(),
|
->firstOrFail(),
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Core\Bootstrap\Services;
|
namespace App\Domains\Bootstrap\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Authorization\Enums\RoleCode;
|
use App\Domains\Authorization\Enums\RoleCode;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Domains\Core\Tenant\Services\TenantInformationService;
|
use App\Domains\Tenant\Services\TenantInformationService;
|
||||||
use App\Domains\Core\Tenant\Support\TenantDomainNormalizer;
|
use App\Domains\Tenant\Support\TenantDomainNormalizer;
|
||||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||||
|
|
||||||
class TenantBootstrapService
|
class TenantBootstrapService
|
||||||
@@ -37,8 +37,7 @@ class TenantBootstrapService
|
|||||||
'roles',
|
'roles',
|
||||||
fn ($query) => $query->where('codigo', RoleCode::User->value)
|
fn ($query) => $query->where('codigo', RoleCode::User->value)
|
||||||
),
|
),
|
||||||
$tenant->storefront_website_type_code === 'onticket_multi_event'
|
'categories' => fn ($query) => $query->orderBy('nombre'),
|
||||||
? 'eventCategories' : 'categories' => fn ($query) => $query->orderBy('nombre'),
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Controllers\AdminAppBootstrapController;
|
use App\Domains\Bootstrap\Controllers\AdminAppBootstrapController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get(
|
Route::get(
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Controllers\TenantBootstrapController;
|
use App\Domains\Bootstrap\Controllers\TenantBootstrapController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get('tenants/bootstrap', TenantBootstrapController::class);
|
Route::get('tenants/bootstrap', TenantBootstrapController::class);
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Core\Bootstrap\Controllers\ScannerBootstrapController;
|
use App\Domains\Bootstrap\Controllers\ScannerBootstrapController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::get(
|
Route::get(
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Controllers;
|
namespace App\Domains\Cart\Controllers;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Models\CartItem;
|
use App\Domains\Cart\Models\CartItem;
|
||||||
use App\Domains\Commerce\Cart\Requests\AddCartItemRequest;
|
use App\Domains\Cart\Requests\AddCartItemRequest;
|
||||||
use App\Domains\Commerce\Cart\Requests\UpdateCartItemQuantityRequest;
|
use App\Domains\Cart\Requests\UpdateCartItemQuantityRequest;
|
||||||
use App\Domains\Commerce\Cart\Resources\CartResource;
|
use App\Domains\Cart\Resources\CartResource;
|
||||||
use App\Domains\Commerce\Cart\Services\CartService;
|
use App\Domains\Cart\Services\CartService;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Models;
|
namespace App\Domains\Cart\Models;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Commerce\Catalog\Models\CatalogItem;
|
use App\Domains\Catalog\Models\CatalogItem;
|
||||||
use App\Domains\Commerce\Catalog\Models\Inventory;
|
use App\Domains\Catalog\Models\Inventory;
|
||||||
use App\Domains\Commerce\Catalog\Models\StockReservation;
|
use App\Domains\Catalog\Models\StockReservation;
|
||||||
use App\Domains\Commerce\Catalog\Models\Variant;
|
use App\Domains\Catalog\Models\Variant;
|
||||||
use App\Domains\Commerce\Catalog\Services\CatalogInventoryService;
|
use App\Domains\Catalog\Services\CatalogInventoryService;
|
||||||
use App\Domains\Commerce\Catalog\Services\StockReservationService;
|
use App\Domains\Catalog\Services\StockReservationService;
|
||||||
use App\Domains\Commerce\Purchase\Models\Purchase;
|
use App\Domains\Purchase\Models\Purchase;
|
||||||
use App\Domains\Commerce\Purchase\Services\UserPurchaseLimitService;
|
use App\Domains\Purchase\Services\UserPurchaseLimitService;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -375,7 +375,7 @@ class Cart extends Model
|
|||||||
): CatalogItem|Variant {
|
): CatalogItem|Variant {
|
||||||
$catalogItemQuery = CatalogItem::query()
|
$catalogItemQuery = CatalogItem::query()
|
||||||
->whereKey($catalogItemId)
|
->whereKey($catalogItemId)
|
||||||
->forTenantCatalog($this->tenant()->firstOrFail());
|
->where('tenant_code', $this->tenant_codigo);
|
||||||
|
|
||||||
if ($lockForUpdate) {
|
if ($lockForUpdate) {
|
||||||
$catalogItemQuery->lockForUpdate();
|
$catalogItemQuery->lockForUpdate();
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Models;
|
namespace App\Domains\Cart\Models;
|
||||||
|
|
||||||
use App\Domains\Commerce\Catalog\Models\CatalogItem;
|
use App\Domains\Catalog\Models\CatalogItem;
|
||||||
use App\Domains\Commerce\Catalog\Models\Variant;
|
use App\Domains\Catalog\Models\Variant;
|
||||||
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Requests;
|
namespace App\Domains\Cart\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Requests;
|
namespace App\Domains\Cart\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Resources;
|
namespace App\Domains\Cart\Resources;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Models\CartItem;
|
use App\Domains\Cart\Models\CartItem;
|
||||||
use App\Domains\Commerce\Catalog\Enums\InventoryPolicy;
|
use App\Domains\Catalog\Enums\InventoryPolicy;
|
||||||
use App\Domains\Commerce\Catalog\Models\Variant;
|
use App\Domains\Catalog\Models\Variant;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Resources;
|
namespace App\Domains\Cart\Resources;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Models\Cart;
|
use App\Domains\Cart\Models\Cart;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Services;
|
namespace App\Domains\Cart\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Commerce\Cart\Models\Cart;
|
use App\Domains\Cart\Models\Cart;
|
||||||
use App\Domains\Commerce\Catalog\Exceptions\StockReservationExpiredException;
|
use App\Domains\Catalog\Exceptions\StockReservationExpiredException;
|
||||||
use App\Domains\Commerce\Catalog\Services\ExpireStockReservationsService;
|
use App\Domains\Catalog\Services\ExpireStockReservationsService;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Services;
|
namespace App\Domains\Cart\Services;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Models\Cart;
|
use App\Domains\Cart\Models\Cart;
|
||||||
use App\Domains\Commerce\Cart\Models\CartItem;
|
use App\Domains\Cart\Models\CartItem;
|
||||||
use App\Domains\Commerce\Catalog\Models\Variant;
|
use App\Domains\Catalog\Models\Variant;
|
||||||
use App\Domains\Commerce\Catalog\Services\CatalogInventoryService;
|
use App\Domains\Catalog\Services\CatalogInventoryService;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
|
|
||||||
class CartVariantReplacementService
|
class CartVariantReplacementService
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Services;
|
namespace App\Domains\Cart\Services;
|
||||||
|
|
||||||
use App\Domains\Core\Auth\Models\User;
|
use App\Domains\Auth\Models\User;
|
||||||
use App\Domains\Commerce\Cart\Models\Cart;
|
use App\Domains\Cart\Models\Cart;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class GuestCartMergeService
|
class GuestCartMergeService
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Cart\Services;
|
namespace App\Domains\Cart\Services;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Models\Cart;
|
use App\Domains\Cart\Models\Cart;
|
||||||
use App\Domains\Commerce\Catalog\Models\StockReservation;
|
use App\Domains\Catalog\Models\StockReservation;
|
||||||
use App\Domains\Commerce\Catalog\Services\StockReservationService;
|
use App\Domains\Catalog\Services\StockReservationService;
|
||||||
use App\Domains\Commerce\Purchase\Models\Purchase;
|
use App\Domains\Purchase\Models\Purchase;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Controllers\CartController;
|
use App\Domains\Cart\Controllers\CartController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('tenants/{tenant:codigo}')
|
Route::prefix('tenants/{tenant:codigo}')
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Catalog\Controllers\AdminApp;
|
namespace App\Domains\Catalog\Controllers\AdminApp;
|
||||||
|
|
||||||
use App\Domains\Commerce\Catalog\Models\FeaturedGroup;
|
use App\Domains\Catalog\Models\FeaturedGroup;
|
||||||
use App\Domains\Commerce\Catalog\Requests\AdminApp\UpsertOnTicketFeaturedGroupRequest;
|
use App\Domains\Catalog\Requests\AdminApp\UpsertOnTicketFeaturedGroupRequest;
|
||||||
use App\Domains\Commerce\Catalog\Resources\AdminApp\OnTicketFeaturedGroupResource;
|
use App\Domains\Catalog\Resources\AdminApp\OnTicketFeaturedGroupResource;
|
||||||
use App\Domains\Commerce\Catalog\Services\OnTicketFeaturedGroupService;
|
use App\Domains\Catalog\Services\OnTicketFeaturedGroupService;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@@ -58,7 +58,7 @@ class OnTicketFeaturedGroupController extends Controller
|
|||||||
{
|
{
|
||||||
$tenant = $request->user()->tenant()->firstOrFail();
|
$tenant = $request->user()->tenant()->firstOrFail();
|
||||||
|
|
||||||
abort_unless(in_array($tenant->storefront_website_type_code, ['onticket', 'onticket_multi_event'], true), 404);
|
abort_unless($tenant->website_type_code === 'onticket', 404);
|
||||||
|
|
||||||
return $tenant;
|
return $tenant;
|
||||||
}
|
}
|
||||||
@@ -1,25 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Catalog\Controllers;
|
namespace App\Domains\Catalog\Controllers;
|
||||||
|
|
||||||
use App\Domains\Commerce\Cart\Services\CartService;
|
use App\Domains\Cart\Services\CartService;
|
||||||
use App\Domains\Commerce\Catalog\Models\CatalogItem;
|
use App\Domains\Catalog\Models\CatalogItem;
|
||||||
use App\Domains\Commerce\Catalog\Models\Category;
|
use App\Domains\Catalog\Models\Category;
|
||||||
use App\Domains\Commerce\Catalog\Models\FeaturedGroup;
|
use App\Domains\Catalog\Models\FeaturedGroup;
|
||||||
use App\Domains\Commerce\Catalog\Requests\CatalogItemDetailRequest;
|
use App\Domains\Catalog\Requests\CatalogItemDetailRequest;
|
||||||
use App\Domains\Commerce\Catalog\Requests\CatalogVariantOptionsRequest;
|
use App\Domains\Catalog\Requests\CatalogVariantOptionsRequest;
|
||||||
use App\Domains\Commerce\Catalog\Requests\CategoryPageRequest;
|
use App\Domains\Catalog\Requests\CategoryPageRequest;
|
||||||
use App\Domains\Commerce\Catalog\Requests\FeaturedGroupPageRequest;
|
use App\Domains\Catalog\Requests\FeaturedGroupPageRequest;
|
||||||
use App\Domains\Commerce\Catalog\Requests\SearchCatalogItemsRequest;
|
use App\Domains\Catalog\Requests\SearchCatalogItemsRequest;
|
||||||
use App\Domains\Commerce\Catalog\Resources\CatalogFeaturedGroupResource;
|
use App\Domains\Catalog\Requests\StoreCatalogItemRequest;
|
||||||
use App\Domains\Commerce\Catalog\Resources\CatalogItemDetailResource;
|
use App\Domains\Catalog\Resources\CatalogFeaturedGroupResource;
|
||||||
use App\Domains\Commerce\Catalog\Resources\CatalogSearchItemResource;
|
use App\Domains\Catalog\Resources\CatalogItemDetailResource;
|
||||||
use App\Domains\Commerce\Catalog\Resources\CatalogVariantOptionsResource;
|
use App\Domains\Catalog\Resources\CatalogItemResource;
|
||||||
use App\Domains\Commerce\Catalog\Services\CatalogItemAllowanceService;
|
use App\Domains\Catalog\Resources\CatalogSearchItemResource;
|
||||||
use App\Domains\Commerce\Catalog\Services\CatalogService;
|
use App\Domains\Catalog\Resources\CatalogVariantOptionsResource;
|
||||||
use App\Domains\Commerce\Catalog\Services\FeaturedGroupService;
|
use App\Domains\Catalog\Services\CatalogItemAllowanceService;
|
||||||
use App\Domains\Commerce\Catalog\Services\VariantSelectionService;
|
use App\Domains\Catalog\Services\CatalogService;
|
||||||
use App\Domains\Core\Tenant\Models\Tenant;
|
use App\Domains\Catalog\Services\FeaturedGroupService;
|
||||||
|
use App\Domains\Catalog\Services\VariantSelectionService;
|
||||||
|
use App\Domains\Tenant\Models\Tenant;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@@ -38,7 +40,7 @@ class CatalogController extends Controller
|
|||||||
return response()->json($featuredGroups->map(
|
return response()->json($featuredGroups->map(
|
||||||
fn (FeaturedGroup $featuredGroup): array => (new CatalogFeaturedGroupResource(
|
fn (FeaturedGroup $featuredGroup): array => (new CatalogFeaturedGroupResource(
|
||||||
$featuredGroup,
|
$featuredGroup,
|
||||||
$featuredGroupService->itemsResponse($featuredGroup, $tenant, 1, $this->userId($request)),
|
$featuredGroupService->itemsResponse($featuredGroup, 1, $this->userId($request)),
|
||||||
))->resolve()
|
))->resolve()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@@ -100,7 +102,6 @@ class CatalogController extends Controller
|
|||||||
|
|
||||||
return response()->json($featuredGroupService->itemsResponse(
|
return response()->json($featuredGroupService->itemsResponse(
|
||||||
$featuredGroup,
|
$featuredGroup,
|
||||||
$tenant,
|
|
||||||
$page,
|
$page,
|
||||||
$this->userId($request),
|
$this->userId($request),
|
||||||
));
|
));
|
||||||
@@ -113,8 +114,7 @@ class CatalogController extends Controller
|
|||||||
CatalogService $catalogService,
|
CatalogService $catalogService,
|
||||||
CatalogItemAllowanceService $allowances,
|
CatalogItemAllowanceService $allowances,
|
||||||
): CatalogItemDetailResource {
|
): CatalogItemDetailResource {
|
||||||
abort_unless($catalogItem->tenant_code === $tenant->codigo
|
abort_unless($catalogItem->tenant_code === $tenant->codigo, 404);
|
||||||
&& ($tenant->active_event_id === null || $catalogItem->event_id === $tenant->active_event_id), 404);
|
|
||||||
|
|
||||||
$variantId = $request->validated('variant_id');
|
$variantId = $request->validated('variant_id');
|
||||||
|
|
||||||
@@ -134,8 +134,7 @@ class CatalogController extends Controller
|
|||||||
VariantSelectionService $variantSelectionService,
|
VariantSelectionService $variantSelectionService,
|
||||||
CartService $cartService,
|
CartService $cartService,
|
||||||
): CatalogVariantOptionsResource {
|
): CatalogVariantOptionsResource {
|
||||||
abort_unless($catalogItem->tenant_code === $tenant->codigo
|
abort_unless($catalogItem->tenant_code === $tenant->codigo, 404);
|
||||||
&& ($tenant->active_event_id === null || $catalogItem->event_id === $tenant->active_event_id), 404);
|
|
||||||
|
|
||||||
$includedVariantId = null;
|
$includedVariantId = null;
|
||||||
$cartItemId = $request->validated('cart_item_id');
|
$cartItemId = $request->validated('cart_item_id');
|
||||||
@@ -164,6 +163,21 @@ class CatalogController extends Controller
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function store(
|
||||||
|
StoreCatalogItemRequest $request,
|
||||||
|
Tenant $tenant,
|
||||||
|
CatalogService $catalogService,
|
||||||
|
): JsonResponse {
|
||||||
|
$catalogItem = $catalogService->create([
|
||||||
|
...$request->validated(),
|
||||||
|
'tenant_code' => $tenant->codigo,
|
||||||
|
]);
|
||||||
|
|
||||||
|
return CatalogItemResource::make($catalogItem)
|
||||||
|
->response()
|
||||||
|
->setStatusCode(201);
|
||||||
|
}
|
||||||
|
|
||||||
private function userId(Request $request): ?int
|
private function userId(Request $request): ?int
|
||||||
{
|
{
|
||||||
$userId = $request->user()?->getAuthIdentifier() ?? Auth::guard('sanctum')->id();
|
$userId = $request->user()?->getAuthIdentifier() ?? Auth::guard('sanctum')->id();
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Catalog\Enums;
|
namespace App\Domains\Catalog\Enums;
|
||||||
|
|
||||||
enum CatalogItemType: string
|
enum CatalogItemType: string
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Catalog\Enums;
|
namespace App\Domains\Catalog\Enums;
|
||||||
|
|
||||||
enum FeaturedGroupSource: string
|
enum FeaturedGroupSource: string
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Domains\Commerce\Catalog\Enums;
|
namespace App\Domains\Catalog\Enums;
|
||||||
|
|
||||||
enum GroupLayout: string
|
enum GroupLayout: string
|
||||||
{
|
{
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user