Files
hub/config/filesystems.php
kelly aa788e9fe2 feat: Complete product and inventory management system
## Major Features Added
- Sale pricing support throughout checkout flow
- Stock notification system for out-of-stock products
- Backorder request system with job queue processing
- Inventory management dashboard and tracking
- Product observer for automatic inventory alerts

## Sale Pricing Fixes
- Fixed checkout to respect sale_price when available
- Updated cart calculations to use sale pricing
- Added sale badges and strikethrough pricing to:
  - Product preview pages
  - Cart display
  - Checkout summary
  - Order details (buyer/seller)
  - Invoice displays

## UI/UX Improvements
- Moved backorder quantity controls below button (better vertical flow)
- Added case quantity display with unit counts
- Fixed invoice total calculation (was showing subtotal as total)
- Added payment terms surcharge visibility in invoice breakdown

## Database Changes
- Created stock_notifications table for back-in-stock alerts
- Created backorders table for customer backorder requests
- Enhanced inventory_items and inventory_movements tables
- Added missing marketplace fields to products and brands

## Bug Fixes
- Fixed unit_price calculation to respect sale_price
- Fixed invoice JavaScript calculateTotal() to include surcharges
- Fixed CartController subtotal to use sale pricing
- Removed inline styles, migrated to Tailwind/DaisyUI classes

## Architecture Improvements
- Added BackorderService and StockNotificationService
- Created ProcessBackorderRequest job for async processing
- Implemented ProductObserver for inventory management
- Enhanced OrderModificationService

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 23:14:52 -07:00

94 lines
2.9 KiB
PHP

<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application for file storage.
|
*/
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Below you may configure as many filesystem disks as necessary, and you
| may even configure multiple disks for the same driver. Examples for
| most supported storage drivers are configured here for reference.
|
| Supported drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'serve' => true,
'throw' => false,
'report' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
'report' => false,
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
'report' => false,
],
'minio' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', true),
'throw' => false,
'report' => false,
],
],
/*
|--------------------------------------------------------------------------
| Symbolic Links
|--------------------------------------------------------------------------
|
| Here you may configure the symbolic links that will be created when the
| `storage:link` Artisan command is executed. The array keys should be
| the locations of the links and the values should be their targets.
|
*/
'links' => [
public_path('storage') => storage_path('app/public'),
],
];