- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
50 lines
862 B
PHP
50 lines
862 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Pagination\ValueObjects;
|
|
|
|
/**
|
|
* Pagination direction for cursor-based pagination
|
|
*/
|
|
enum Direction: string
|
|
{
|
|
case ASC = 'asc';
|
|
case DESC = 'desc';
|
|
|
|
/**
|
|
* Check if direction is ascending
|
|
*/
|
|
public function isAscending(): bool
|
|
{
|
|
return $this === self::ASC;
|
|
}
|
|
|
|
/**
|
|
* Check if direction is descending
|
|
*/
|
|
public function isDescending(): bool
|
|
{
|
|
return $this === self::DESC;
|
|
}
|
|
|
|
/**
|
|
* Get opposite direction
|
|
*/
|
|
public function opposite(): self
|
|
{
|
|
return match ($this) {
|
|
self::ASC => self::DESC,
|
|
self::DESC => self::ASC,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Get SQL ORDER BY clause value
|
|
*/
|
|
public function toSql(): string
|
|
{
|
|
return strtoupper($this->value);
|
|
}
|
|
}
|