44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Modules\Subscriptions;
|
|
|
|
use App\Core\{Request, Response};
|
|
use App\Modules\Subscriptions\SubscriptionModel;
|
|
|
|
final class SubscriptionController
|
|
{
|
|
public function __construct(private readonly SubscriptionModel $subscriptionModel) {}
|
|
|
|
public function me(Request $request): void
|
|
{
|
|
$tenantId = $request->tenantId;
|
|
$subscription = $this->subscriptionModel->findByTenantId($tenantId);
|
|
|
|
if (!$subscription) {
|
|
Response::error('لا يوجد اشتراك فعال حالياً', 'NOT_FOUND', 404);
|
|
return;
|
|
}
|
|
|
|
Response::json([
|
|
'success' => true,
|
|
'data' => $subscription
|
|
]);
|
|
}
|
|
|
|
public function plans(): void
|
|
{
|
|
Response::json([
|
|
'success' => true,
|
|
'data' => [
|
|
['plan' => 'free', 'price_jod' => 0, 'max_companies' => 1, 'max_invoices' => 10, 'max_users' => 1],
|
|
['plan' => 'basic', 'price_jod' => 25, 'max_companies' => 3, 'max_invoices' => 50, 'max_users' => 2],
|
|
['plan' => 'office', 'price_jod' => 75, 'max_companies' => 10, 'max_invoices' => 200, 'max_users' => 5],
|
|
['plan' => 'pro', 'price_jod' => 150, 'max_companies' => 30, 'max_invoices' => 500, 'max_users' => 15],
|
|
['plan' => 'enterprise', 'price_jod' => 0, 'max_companies' => 999, 'max_invoices' => 9999, 'max_users' => 99],
|
|
],
|
|
]);
|
|
}
|
|
}
|