feat(subscription): implement resource quota management based on subscription plans

This commit is contained in:
hamed
2026-08-04 19:38:49 +03:30
parent 0dca245246
commit 3e7028d77a
16 changed files with 408 additions and 18 deletions
@@ -83,6 +83,7 @@ class SubscriptionController extends BaseController
'effective_plan' => $effectivePlan === null ? null : [
'features' => $effectivePlan->getFeatures(),
'max_secretaries' => $effectivePlan->getMaxSecretaries(),
'max_resources' => $effectivePlan->getMaxResources(),
],
]);
}
@@ -148,7 +149,8 @@ class SubscriptionController extends BaseController
$name,
(int) $data['level'],
(int) ($data['max_secretaries'] ?? 1),
$data['features'] ?? []
$data['features'] ?? [],
(int) ($data['max_resources'] ?? 1)
);
$this->planRepo->save($plan);
@@ -176,6 +178,7 @@ class SubscriptionController extends BaseController
}
if (isset($data['level'])) { $plan->setLevel((int) $data['level']); }
if (isset($data['max_secretaries'])) { $plan->setMaxSecretaries((int) $data['max_secretaries']); }
if (isset($data['max_resources'])) { $plan->setMaxResources((int) $data['max_resources']); }
if (isset($data['features'])) { $plan->setFeatures($data['features']); }
if (isset($data['active'])) { $plan->setActive((bool) $data['active']); }