Skip to content

Commit 542dfe7

Browse files
authored
Merge pull request #32 from mnkincir/main
Fixed duplicate feature slugs.
2 parents fc9a378 + 8648089 commit 542dfe7

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

Diff for: src/Models/Subscription.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ public function recordFeatureUsage(string $featureSlug, int $uses = 1, bool $inc
338338

339339
public function reduceFeatureUsage(string $featureSlug, int $uses = 1): ?SubscriptionUsage
340340
{
341-
$usage = $this->usage()->byFeatureSlug($featureSlug)->first();
341+
$usage = $this->usage()->byFeatureSlug($featureSlug, $this->plan_id)->first();
342342

343343
if ($usage === null) {
344344
return null;
@@ -357,7 +357,7 @@ public function reduceFeatureUsage(string $featureSlug, int $uses = 1): ?Subscri
357357
public function canUseFeature(string $featureSlug): bool
358358
{
359359
$featureValue = $this->getFeatureValue($featureSlug);
360-
$usage = $this->usage()->byFeatureSlug($featureSlug)->first();
360+
$usage = $this->usage()->byFeatureSlug($featureSlug, $this->plan_id)->first();
361361

362362
if ($featureValue === 'true') {
363363
return true;
@@ -378,7 +378,7 @@ public function canUseFeature(string $featureSlug): bool
378378
*/
379379
public function getFeatureUsage(string $featureSlug): int
380380
{
381-
$usage = $this->usage()->byFeatureSlug($featureSlug)->first();
381+
$usage = $this->usage()->byFeatureSlug($featureSlug, $this->plan_id)->first();
382382

383383
return (! $usage || $usage->expired()) ? 0 : $usage->used;
384384
}

Diff for: src/Models/SubscriptionUsage.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ public function subscription(): BelongsTo
6464
return $this->belongsTo(config('laravel-subscriptions.models.subscription'), 'subscription_id', 'id', 'subscription');
6565
}
6666

67-
public function scopeByFeatureSlug(Builder $builder, string $featureSlug): Builder
67+
public function scopeByFeatureSlug(Builder $builder, string $featureSlug, int $planId): Builder
6868
{
6969
$model = config('laravel-subscriptions.models.feature', Feature::class);
70-
$feature = $model::where('slug', $featureSlug)->first();
70+
$feature = $model::where('plan_id', $planId)->where('slug', $featureSlug)->first();
7171

7272
return $builder->where('feature_id', $feature ? $feature->getKey() : null);
7373
}

0 commit comments

Comments
 (0)