refactor: rename namespace from Core\Mod\Tenant to Core\Tenant
Simplifies the namespace hierarchy by removing the intermediate Mod segment. Updates all 118 files including models, services, controllers, middleware, tests, and composer.json autoload configuration. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
68525ca247
commit
d0ad2737cb
121 changed files with 1189 additions and 460 deletions
46
Boot.php
46
Boot.php
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant;
|
||||
namespace Core\Tenant;
|
||||
|
||||
use Core\Events\AdminPanelBooting;
|
||||
use Core\Events\ApiRoutesRegistering;
|
||||
|
|
@ -40,48 +40,48 @@ class Boot extends ServiceProvider
|
|||
public function register(): void
|
||||
{
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Contracts\TwoFactorAuthenticationProvider::class,
|
||||
\Core\Mod\Tenant\Services\TotpService::class
|
||||
\Core\Tenant\Contracts\TwoFactorAuthenticationProvider::class,
|
||||
\Core\Tenant\Services\TotpService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\EntitlementService::class,
|
||||
\Core\Mod\Tenant\Services\EntitlementService::class
|
||||
\Core\Tenant\Services\EntitlementService::class,
|
||||
\Core\Tenant\Services\EntitlementService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\WorkspaceManager::class,
|
||||
\Core\Mod\Tenant\Services\WorkspaceManager::class
|
||||
\Core\Tenant\Services\WorkspaceManager::class,
|
||||
\Core\Tenant\Services\WorkspaceManager::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\UserStatsService::class,
|
||||
\Core\Mod\Tenant\Services\UserStatsService::class
|
||||
\Core\Tenant\Services\UserStatsService::class,
|
||||
\Core\Tenant\Services\UserStatsService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\WorkspaceService::class,
|
||||
\Core\Mod\Tenant\Services\WorkspaceService::class
|
||||
\Core\Tenant\Services\WorkspaceService::class,
|
||||
\Core\Tenant\Services\WorkspaceService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\WorkspaceCacheManager::class,
|
||||
\Core\Mod\Tenant\Services\WorkspaceCacheManager::class
|
||||
\Core\Tenant\Services\WorkspaceCacheManager::class,
|
||||
\Core\Tenant\Services\WorkspaceCacheManager::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\UsageAlertService::class,
|
||||
\Core\Mod\Tenant\Services\UsageAlertService::class
|
||||
\Core\Tenant\Services\UsageAlertService::class,
|
||||
\Core\Tenant\Services\UsageAlertService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\EntitlementWebhookService::class,
|
||||
\Core\Mod\Tenant\Services\EntitlementWebhookService::class
|
||||
\Core\Tenant\Services\EntitlementWebhookService::class,
|
||||
\Core\Tenant\Services\EntitlementWebhookService::class
|
||||
);
|
||||
|
||||
$this->app->singleton(
|
||||
\Core\Mod\Tenant\Services\WorkspaceTeamService::class,
|
||||
\Core\Mod\Tenant\Services\WorkspaceTeamService::class
|
||||
\Core\Tenant\Services\WorkspaceTeamService::class,
|
||||
\Core\Tenant\Services\WorkspaceTeamService::class
|
||||
);
|
||||
|
||||
$this->registerBackwardCompatAliases();
|
||||
|
|
@ -91,28 +91,28 @@ class Boot extends ServiceProvider
|
|||
{
|
||||
if (! class_exists(\App\Services\WorkspaceManager::class)) {
|
||||
class_alias(
|
||||
\Core\Mod\Tenant\Services\WorkspaceManager::class,
|
||||
\Core\Tenant\Services\WorkspaceManager::class,
|
||||
\App\Services\WorkspaceManager::class
|
||||
);
|
||||
}
|
||||
|
||||
if (! class_exists(\App\Services\UserStatsService::class)) {
|
||||
class_alias(
|
||||
\Core\Mod\Tenant\Services\UserStatsService::class,
|
||||
\Core\Tenant\Services\UserStatsService::class,
|
||||
\App\Services\UserStatsService::class
|
||||
);
|
||||
}
|
||||
|
||||
if (! class_exists(\App\Services\WorkspaceService::class)) {
|
||||
class_alias(
|
||||
\Core\Mod\Tenant\Services\WorkspaceService::class,
|
||||
\Core\Tenant\Services\WorkspaceService::class,
|
||||
\App\Services\WorkspaceService::class
|
||||
);
|
||||
}
|
||||
|
||||
if (! class_exists(\App\Services\WorkspaceCacheManager::class)) {
|
||||
class_alias(
|
||||
\Core\Mod\Tenant\Services\WorkspaceCacheManager::class,
|
||||
\Core\Tenant\Services\WorkspaceCacheManager::class,
|
||||
\App\Services\WorkspaceCacheManager::class
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Concerns;
|
||||
namespace Core\Tenant\Concerns;
|
||||
|
||||
use Core\Mod\Tenant\Models\Namespace_;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Namespace_;
|
||||
use Core\Tenant\Models\User;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Support\Collection;
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Concerns;
|
||||
namespace Core\Tenant\Concerns;
|
||||
|
||||
use Core\Mod\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Scopes\WorkspaceScope;
|
||||
use Core\Mod\Tenant\Services\WorkspaceCacheManager;
|
||||
use Core\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Scopes\WorkspaceScope;
|
||||
use Core\Tenant\Services\WorkspaceCacheManager;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Support\Collection;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Concerns;
|
||||
namespace Core\Tenant\Concerns;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\WorkspaceCacheManager;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\WorkspaceCacheManager;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Concerns;
|
||||
namespace Core\Tenant\Concerns;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\TwoFactorAuthenticationProvider;
|
||||
use Core\Mod\Tenant\Models\UserTwoFactorAuth;
|
||||
use Core\Mod\Tenant\Services\TotpService;
|
||||
use Core\Tenant\Contracts\TwoFactorAuthenticationProvider;
|
||||
use Core\Tenant\Models\UserTwoFactorAuth;
|
||||
use Core\Tenant\Services\TotpService;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Console\Commands;
|
||||
namespace Core\Tenant\Console\Commands;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\UsageAlertService;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\UsageAlertService;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Console\Commands;
|
||||
namespace Core\Tenant\Console\Commands;
|
||||
|
||||
use Core\Mod\Tenant\Models\AccountDeletionRequest;
|
||||
use Core\Tenant\Models\AccountDeletionRequest;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Console\Commands;
|
||||
namespace Core\Tenant\Console\Commands;
|
||||
|
||||
use Core\Mod\Tenant\Jobs\ComputeUserStats;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Tenant\Jobs\ComputeUserStats;
|
||||
use Core\Tenant\Models\User;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class RefreshUserStats extends Command
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Console\Commands;
|
||||
namespace Core\Tenant\Console\Commands;
|
||||
|
||||
use Core\Mod\Tenant\Models\Boost;
|
||||
use Core\Mod\Tenant\Models\EntitlementLog;
|
||||
use Core\Mod\Tenant\Models\UsageRecord;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Notifications\BoostExpiredNotification;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Models\Boost;
|
||||
use Core\Tenant\Models\EntitlementLog;
|
||||
use Core\Tenant\Models\UsageRecord;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Notifications\BoostExpiredNotification;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Collection;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Contracts;
|
||||
namespace Core\Tenant\Contracts;
|
||||
|
||||
/**
|
||||
* Contract for entitlement webhook events.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Contracts;
|
||||
namespace Core\Tenant\Contracts;
|
||||
|
||||
/**
|
||||
* Contract for two-factor authentication providers.
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Controllers\Api;
|
||||
namespace Core\Tenant\Controllers\Api;
|
||||
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementWebhookService;
|
||||
use Core\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementWebhookService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Controllers;
|
||||
namespace Core\Tenant\Controllers;
|
||||
|
||||
use Core\Front\Controller;
|
||||
use Illuminate\Auth\Events\Registered;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Controllers;
|
||||
namespace Core\Tenant\Controllers;
|
||||
|
||||
use Core\Helpers\PrivacyHelper;
|
||||
use Core\Mod\Trees\Models\TreePlanting;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Controllers;
|
||||
namespace Core\Tenant\Controllers;
|
||||
|
||||
use Core\Front\Controller;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Controllers;
|
||||
namespace Core\Tenant\Controllers;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspaceInvitation;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspaceInvitation;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Factories;
|
||||
namespace Core\Tenant\Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Mod\Tenant\Models\User>
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Tenant\Models\User>
|
||||
*/
|
||||
class UserFactory extends Factory
|
||||
{
|
||||
|
|
@ -17,7 +17,7 @@ class UserFactory extends Factory
|
|||
* Uses the backward-compatible alias class to ensure type compatibility
|
||||
* with existing code that expects Mod\Tenant\Models\User.
|
||||
*/
|
||||
protected $model = \Core\Mod\Tenant\Models\User::class;
|
||||
protected $model = \Core\Tenant\Models\User::class;
|
||||
|
||||
/**
|
||||
* The current password being used by the factory.
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Factories;
|
||||
namespace Core\Tenant\Database\Factories;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\UserToken;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\UserToken;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Factories;
|
||||
namespace Core\Tenant\Database\Factories;
|
||||
|
||||
use Core\Mod\Tenant\Models\WaitlistEntry;
|
||||
use Core\Tenant\Models\WaitlistEntry;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Mod\Tenant\Models\WaitlistEntry>
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Tenant\Models\WaitlistEntry>
|
||||
*/
|
||||
class WaitlistEntryFactory extends Factory
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Factories;
|
||||
namespace Core\Tenant\Database\Factories;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Mod\Tenant\Models\Workspace>
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Tenant\Models\Workspace>
|
||||
*/
|
||||
class WorkspaceFactory extends Factory
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Factories;
|
||||
namespace Core\Tenant\Database\Factories;
|
||||
|
||||
use Core\Mod\Tenant\Models\WorkspaceInvitation;
|
||||
use Core\Tenant\Models\WorkspaceInvitation;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Mod\Tenant\Models\WorkspaceInvitation>
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\Core\Tenant\Models\WorkspaceInvitation>
|
||||
*/
|
||||
class WorkspaceInvitationFactory extends Factory
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Seeders;
|
||||
namespace Core\Tenant\Database\Seeders;
|
||||
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Seeders;
|
||||
namespace Core\Tenant\Database\Seeders;
|
||||
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Seeders;
|
||||
namespace Core\Tenant\Database\Seeders;
|
||||
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Seeders;
|
||||
namespace Core\Tenant\Database\Seeders;
|
||||
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspacePackage;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspacePackage;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class SystemWorkspaceSeeder extends Seeder
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Database\Seeders;
|
||||
namespace Core\Tenant\Database\Seeders;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspacePackage;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspacePackage;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Enums;
|
||||
namespace Core\Tenant\Enums;
|
||||
|
||||
enum UserTier: string
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Enums;
|
||||
namespace Core\Tenant\Enums;
|
||||
|
||||
enum WebhookDeliveryStatus: string
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Events\Webhook;
|
||||
namespace Core\Tenant\Events\Webhook;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Models\Boost;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Models\Boost;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
|
||||
/**
|
||||
* Event fired when a boost is activated for a workspace.
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Events\Webhook;
|
||||
namespace Core\Tenant\Events\Webhook;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Models\Boost;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Models\Boost;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
|
||||
/**
|
||||
* Event fired when a boost expires for a workspace.
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Events\Webhook;
|
||||
namespace Core\Tenant\Events\Webhook;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
|
||||
/**
|
||||
* Event fired when workspace usage reaches 100% of the limit.
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Events\Webhook;
|
||||
namespace Core\Tenant\Events\Webhook;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
|
||||
/**
|
||||
* Event fired when workspace usage reaches the warning threshold (80%).
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Events\Webhook;
|
||||
namespace Core\Tenant\Events\Webhook;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
|
||||
/**
|
||||
* Event fired when a workspace's package changes (upgrade, downgrade, or new assignment).
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Exceptions;
|
||||
namespace Core\Tenant\Exceptions;
|
||||
|
||||
use Exception;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Exceptions;
|
||||
namespace Core\Tenant\Exceptions;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Features;
|
||||
namespace Core\Tenant\Features;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
|
||||
class ApolloTier
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Features;
|
||||
namespace Core\Tenant\Features;
|
||||
|
||||
use Illuminate\Support\Lottery;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Features;
|
||||
namespace Core\Tenant\Features;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
|
||||
class HadesTier
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Features;
|
||||
namespace Core\Tenant\Features;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
|
||||
class UnlimitedWorkspaces
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Jobs;
|
||||
namespace Core\Tenant\Jobs;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Services\UserStatsService;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Services\UserStatsService;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Jobs;
|
||||
namespace Core\Tenant\Jobs;
|
||||
|
||||
use Core\Mod\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Tenant\Models\EntitlementWebhook;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Jobs;
|
||||
namespace Core\Tenant\Jobs;
|
||||
|
||||
use Core\Mod\Tenant\Models\AccountDeletionRequest;
|
||||
use Core\Tenant\Models\AccountDeletionRequest;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Listeners;
|
||||
namespace Core\Tenant\Listeners;
|
||||
|
||||
use Core\Mod\Tenant\Notifications\WelcomeNotification;
|
||||
use Core\Tenant\Notifications\WelcomeNotification;
|
||||
use Illuminate\Auth\Events\Registered;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Mail;
|
||||
namespace Core\Tenant\Mail;
|
||||
|
||||
use Core\Mod\Tenant\Models\AccountDeletionRequest;
|
||||
use Core\Tenant\Models\AccountDeletionRequest;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Mail\Mailable;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Middleware;
|
||||
namespace Core\Tenant\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\WorkspaceTeamService;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\WorkspaceTeamService;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Middleware;
|
||||
namespace Core\Tenant\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Middleware;
|
||||
namespace Core\Tenant\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ use Symfony\Component\HttpFoundation\Response;
|
|||
* });
|
||||
*
|
||||
* Register in Kernel.php:
|
||||
* 'workspace.required' => \Core\Mod\Tenant\Middleware\RequireWorkspaceContext::class,
|
||||
* 'workspace.required' => \Core\Tenant\Middleware\RequireWorkspaceContext::class,
|
||||
*/
|
||||
class RequireWorkspaceContext
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Middleware;
|
||||
namespace Core\Tenant\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Services\NamespaceService;
|
||||
use Core\Tenant\Services\NamespaceService;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Middleware;
|
||||
namespace Core\Tenant\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\WorkspaceService;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\WorkspaceService;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Core\Mod\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use DateTimeInterface;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
|
@ -20,9 +20,9 @@ class User extends Authenticatable implements MustVerifyEmail
|
|||
/**
|
||||
* Create a new factory instance for the model.
|
||||
*/
|
||||
protected static function newFactory(): \Core\Mod\Tenant\Database\Factories\UserFactory
|
||||
protected static function newFactory(): \Core\Tenant\Database\Factories\UserFactory
|
||||
{
|
||||
return \Core\Mod\Tenant\Database\Factories\UserFactory::new();
|
||||
return \Core\Tenant\Database\Factories\UserFactory::new();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
@ -18,9 +18,9 @@ class UserToken extends Model
|
|||
{
|
||||
use HasFactory;
|
||||
|
||||
protected static function newFactory(): \Core\Mod\Tenant\Database\Factories\UserTokenFactory
|
||||
protected static function newFactory(): \Core\Tenant\Database\Factories\UserTokenFactory
|
||||
{
|
||||
return \Core\Mod\Tenant\Database\Factories\UserTokenFactory::new();
|
||||
return \Core\Tenant\Database\Factories\UserTokenFactory::new();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
@ -13,9 +13,9 @@ class WaitlistEntry extends Model
|
|||
use HasFactory;
|
||||
use Notifiable;
|
||||
|
||||
protected static function newFactory(): \Core\Mod\Tenant\Database\Factories\WaitlistEntryFactory
|
||||
protected static function newFactory(): \Core\Tenant\Database\Factories\WaitlistEntryFactory
|
||||
{
|
||||
return \Core\Mod\Tenant\Database\Factories\WaitlistEntryFactory::new();
|
||||
return \Core\Tenant\Database\Factories\WaitlistEntryFactory::new();
|
||||
}
|
||||
|
||||
protected $fillable = [
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Core\Mod\Tenant\Services\EntitlementResult;
|
||||
use Core\Mod\Tenant\Services\EntitlementService;
|
||||
use Core\Tenant\Services\EntitlementResult;
|
||||
use Core\Tenant\Services\EntitlementService;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
|
|
@ -14,9 +14,9 @@ class Workspace extends Model
|
|||
{
|
||||
use HasFactory;
|
||||
|
||||
protected static function newFactory(): \Core\Mod\Tenant\Database\Factories\WorkspaceFactory
|
||||
protected static function newFactory(): \Core\Tenant\Database\Factories\WorkspaceFactory
|
||||
{
|
||||
return \Core\Mod\Tenant\Database\Factories\WorkspaceFactory::new();
|
||||
return \Core\Tenant\Database\Factories\WorkspaceFactory::new();
|
||||
}
|
||||
|
||||
protected $fillable = [
|
||||
|
|
@ -577,7 +577,7 @@ class Workspace extends Model
|
|||
}
|
||||
|
||||
// Try to get from authenticated user's default workspace
|
||||
if (auth()->check() && auth()->user() instanceof \Core\Mod\Tenant\Models\User) {
|
||||
if (auth()->check() && auth()->user() instanceof \Core\Tenant\Models\User) {
|
||||
return auth()->user()->defaultHostWorkspace();
|
||||
}
|
||||
|
||||
|
|
@ -680,7 +680,7 @@ class Workspace extends Model
|
|||
]);
|
||||
|
||||
// Send notification
|
||||
$invitation->notify(new \Core\Mod\Tenant\Notifications\WorkspaceInvitationNotification($invitation));
|
||||
$invitation->notify(new \Core\Tenant\Notifications\WorkspaceInvitationNotification($invitation));
|
||||
|
||||
return $invitation;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
@ -15,9 +15,9 @@ class WorkspaceInvitation extends Model
|
|||
use HasFactory;
|
||||
use Notifiable;
|
||||
|
||||
protected static function newFactory(): \Core\Mod\Tenant\Database\Factories\WorkspaceInvitationFactory
|
||||
protected static function newFactory(): \Core\Tenant\Database\Factories\WorkspaceInvitationFactory
|
||||
{
|
||||
return \Core\Mod\Tenant\Database\Factories\WorkspaceInvitationFactory::new();
|
||||
return \Core\Tenant\Database\Factories\WorkspaceInvitationFactory::new();
|
||||
}
|
||||
|
||||
protected $fillable = [
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Models;
|
||||
namespace Core\Tenant\Models;
|
||||
|
||||
use Core\Mod\Tenant\Concerns\BelongsToWorkspace;
|
||||
use Core\Tenant\Concerns\BelongsToWorkspace;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Notifications;
|
||||
namespace Core\Tenant\Notifications;
|
||||
|
||||
use Core\Mod\Tenant\Models\Boost;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Boost;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Notifications;
|
||||
namespace Core\Tenant\Notifications;
|
||||
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\UsageAlertHistory;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\UsageAlertHistory;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Notifications;
|
||||
namespace Core\Tenant\Notifications;
|
||||
|
||||
use Core\Mod\Tenant\Models\WaitlistEntry;
|
||||
use Core\Tenant\Models\WaitlistEntry;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Notifications;
|
||||
namespace Core\Tenant\Notifications;
|
||||
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Notifications;
|
||||
namespace Core\Tenant\Notifications;
|
||||
|
||||
use Core\Mod\Tenant\Models\WorkspaceInvitation;
|
||||
use Core\Tenant\Models\WorkspaceInvitation;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@ use Illuminate\Support\Facades\Route;
|
|||
|
||||
Route::middleware(['web', 'auth', 'admin.domain'])->prefix('admin/tenant')->name('hub.admin.tenant.')->group(function () {
|
||||
// Team Manager
|
||||
Route::get('/teams', \Core\Mod\Tenant\View\Modal\Admin\TeamManager::class)
|
||||
Route::get('/teams', \Core\Tenant\View\Modal\Admin\TeamManager::class)
|
||||
->name('teams');
|
||||
|
||||
// Member Manager
|
||||
Route::get('/members', \Core\Mod\Tenant\View\Modal\Admin\MemberManager::class)
|
||||
Route::get('/members', \Core\Tenant\View\Modal\Admin\MemberManager::class)
|
||||
->name('members');
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ declare(strict_types=1);
|
|||
*/
|
||||
|
||||
use Core\Mod\Api\Controllers\WorkspaceController;
|
||||
use Core\Mod\Tenant\Controllers\Api\EntitlementWebhookController;
|
||||
use Core\Tenant\Controllers\Api\EntitlementWebhookController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ declare(strict_types=1);
|
|||
* Account management and workspace routes.
|
||||
*/
|
||||
|
||||
use Core\Mod\Tenant\View\Modal\Web\CancelDeletion;
|
||||
use Core\Mod\Tenant\View\Modal\Web\ConfirmDeletion;
|
||||
use Core\Mod\Tenant\View\Modal\Web\WorkspaceHome;
|
||||
use Core\Tenant\View\Modal\Web\CancelDeletion;
|
||||
use Core\Tenant\View\Modal\Web\ConfirmDeletion;
|
||||
use Core\Tenant\View\Modal\Web\WorkspaceHome;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|
|
@ -41,7 +41,7 @@ Route::prefix('account')->name('account.')->group(function () {
|
|||
|
|
||||
*/
|
||||
|
||||
Route::get('/workspace/invitation/{token}', \Core\Mod\Tenant\Controllers\WorkspaceInvitationController::class)
|
||||
Route::get('/workspace/invitation/{token}', \Core\Tenant\Controllers\WorkspaceInvitationController::class)
|
||||
->name('workspace.invitation.accept');
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Rules;
|
||||
namespace Core\Tenant\Rules;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Tenant\Models\User;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Rules;
|
||||
namespace Core\Tenant\Rules;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Social\Enums\ResourceStatus;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Scopes;
|
||||
namespace Core\Tenant\Scopes;
|
||||
|
||||
use Core\Mod\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Exceptions\MissingWorkspaceContextException;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Scope;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
/**
|
||||
* Value object representing the result of an entitlement check.
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\Boost;
|
||||
use Core\Mod\Tenant\Models\EntitlementLog;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\Namespace_;
|
||||
use Core\Mod\Tenant\Models\NamespacePackage;
|
||||
use Core\Mod\Tenant\Models\Package;
|
||||
use Core\Mod\Tenant\Models\UsageRecord;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspacePackage;
|
||||
use Core\Tenant\Models\Boost;
|
||||
use Core\Tenant\Models\EntitlementLog;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\Namespace_;
|
||||
use Core\Tenant\Models\NamespacePackage;
|
||||
use Core\Tenant\Models\Package;
|
||||
use Core\Tenant\Models\UsageRecord;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspacePackage;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Mod\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Mod\Tenant\Events\Webhook\BoostActivatedEvent;
|
||||
use Core\Mod\Tenant\Events\Webhook\BoostExpiredEvent;
|
||||
use Core\Mod\Tenant\Events\Webhook\LimitReachedEvent;
|
||||
use Core\Mod\Tenant\Events\Webhook\LimitWarningEvent;
|
||||
use Core\Mod\Tenant\Events\Webhook\PackageChangedEvent;
|
||||
use Core\Mod\Tenant\Jobs\DispatchEntitlementWebhook;
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Contracts\EntitlementWebhookEvent;
|
||||
use Core\Tenant\Enums\WebhookDeliveryStatus;
|
||||
use Core\Tenant\Events\Webhook\BoostActivatedEvent;
|
||||
use Core\Tenant\Events\Webhook\BoostExpiredEvent;
|
||||
use Core\Tenant\Events\Webhook\LimitReachedEvent;
|
||||
use Core\Tenant\Events\Webhook\LimitWarningEvent;
|
||||
use Core\Tenant\Events\Webhook\PackageChangedEvent;
|
||||
use Core\Tenant\Jobs\DispatchEntitlementWebhook;
|
||||
use Core\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Str;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\Namespace_;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Namespace_;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\Namespace_;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Namespace_;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use chillerlan\QRCode\QRCode;
|
||||
use chillerlan\QRCode\QROptions;
|
||||
use Core\Mod\Tenant\Contracts\TwoFactorAuthenticationProvider;
|
||||
use Core\Tenant\Contracts\TwoFactorAuthenticationProvider;
|
||||
|
||||
/**
|
||||
* TOTP (Time-based One-Time Password) service.
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Events\Webhook\LimitReachedEvent;
|
||||
use Core\Mod\Tenant\Events\Webhook\LimitWarningEvent;
|
||||
use Core\Mod\Tenant\Models\Feature;
|
||||
use Core\Mod\Tenant\Models\UsageAlertHistory;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Notifications\UsageAlertNotification;
|
||||
use Core\Tenant\Events\Webhook\LimitReachedEvent;
|
||||
use Core\Tenant\Events\Webhook\LimitWarningEvent;
|
||||
use Core\Tenant\Models\Feature;
|
||||
use Core\Tenant\Models\UsageAlertHistory;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Notifications\UsageAlertNotification;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Enums\UserTier;
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Tenant\Enums\UserTier;
|
||||
use Core\Tenant\Models\User;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class UserStatsService
|
||||
|
|
@ -44,7 +44,7 @@ class UserStatsService
|
|||
// For page loads, return cached data immediately and queue refresh
|
||||
if ($user->cached_stats) {
|
||||
// Queue background refresh
|
||||
dispatch(new \Core\Mod\Tenant\Jobs\ComputeUserStats($user->id))->onQueue('stats');
|
||||
dispatch(new \Core\Tenant\Jobs\ComputeUserStats($user->id))->onQueue('stats');
|
||||
|
||||
return $user->cached_stats;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Closure;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Cache\TaggableStore;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\Services;
|
||||
namespace Core\Tenant\Services;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspaceMember;
|
||||
use Core\Mod\Tenant\Models\WorkspaceTeam;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspaceMember;
|
||||
use Core\Tenant\Models\WorkspaceTeam;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@php
|
||||
$appName = config('core.app.name', __('core::core.brand.name'));
|
||||
$isLimit = $threshold === \Core\Mod\Tenant\Models\UsageAlertHistory::THRESHOLD_LIMIT;
|
||||
$isCritical = $threshold === \Core\Mod\Tenant\Models\UsageAlertHistory::THRESHOLD_CRITICAL;
|
||||
$isLimit = $threshold === \Core\Tenant\Models\UsageAlertHistory::THRESHOLD_LIMIT;
|
||||
$isCritical = $threshold === \Core\Tenant\Models\UsageAlertHistory::THRESHOLD_CRITICAL;
|
||||
@endphp
|
||||
|
||||
<x-mail::message>
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Admin;
|
||||
namespace Core\Tenant\View\Modal\Admin;
|
||||
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Mod\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Services\EntitlementWebhookService;
|
||||
use Core\Tenant\Models\EntitlementWebhook;
|
||||
use Core\Tenant\Models\EntitlementWebhookDelivery;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Services\EntitlementWebhookService;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Livewire\Attributes\Title;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Admin;
|
||||
namespace Core\Tenant\View\Modal\Admin;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspaceMember;
|
||||
use Core\Mod\Tenant\Models\WorkspaceTeam;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspaceMember;
|
||||
use Core\Tenant\Models\WorkspaceTeam;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Livewire\Component;
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Admin;
|
||||
namespace Core\Tenant\View\Modal\Admin;
|
||||
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Mod\Tenant\Models\WorkspaceMember;
|
||||
use Core\Mod\Tenant\Models\WorkspaceTeam;
|
||||
use Core\Mod\Tenant\Services\WorkspaceTeamService;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\WorkspaceMember;
|
||||
use Core\Tenant\Models\WorkspaceTeam;
|
||||
use Core\Tenant\Services\WorkspaceTeamService;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Livewire\Component;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Admin;
|
||||
namespace Core\Tenant\View\Modal\Admin;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Livewire\Component;
|
||||
|
||||
|
|
@ -125,7 +125,7 @@ class WorkspaceDetails extends Component
|
|||
$activities = collect();
|
||||
|
||||
// Entitlement logs
|
||||
if (class_exists(\Core\Mod\Tenant\Models\EntitlementLog::class)) {
|
||||
if (class_exists(\Core\Tenant\Models\EntitlementLog::class)) {
|
||||
try {
|
||||
$logs = $this->workspace->entitlementLogs()
|
||||
->with('user', 'feature')
|
||||
|
|
@ -147,7 +147,7 @@ class WorkspaceDetails extends Component
|
|||
}
|
||||
|
||||
// Usage records
|
||||
if (class_exists(\Core\Mod\Tenant\Models\UsageRecord::class)) {
|
||||
if (class_exists(\Core\Tenant\Models\UsageRecord::class)) {
|
||||
try {
|
||||
$usage = $this->workspace->usageRecords()
|
||||
->with('user', 'feature')
|
||||
|
|
@ -325,7 +325,7 @@ class WorkspaceDetails extends Component
|
|||
#[Computed]
|
||||
public function allPackages()
|
||||
{
|
||||
return \Core\Mod\Tenant\Models\Package::active()
|
||||
return \Core\Tenant\Models\Package::active()
|
||||
->ordered()
|
||||
->get();
|
||||
}
|
||||
|
|
@ -333,7 +333,7 @@ class WorkspaceDetails extends Component
|
|||
#[Computed]
|
||||
public function allFeatures()
|
||||
{
|
||||
return \Core\Mod\Tenant\Models\Feature::active()
|
||||
return \Core\Tenant\Models\Feature::active()
|
||||
->orderBy('category')
|
||||
->orderBy('sort_order')
|
||||
->get();
|
||||
|
|
@ -403,7 +403,7 @@ class WorkspaceDetails extends Component
|
|||
public function resolvedEntitlements()
|
||||
{
|
||||
try {
|
||||
return app(\Core\Mod\Tenant\Services\EntitlementService::class)
|
||||
return app(\Core\Tenant\Services\EntitlementService::class)
|
||||
->getUsageSummary($this->workspace);
|
||||
} catch (\Exception $e) {
|
||||
return collect();
|
||||
|
|
@ -431,7 +431,7 @@ class WorkspaceDetails extends Component
|
|||
return;
|
||||
}
|
||||
|
||||
$package = \Core\Mod\Tenant\Models\Package::findOrFail($this->selectedPackageId);
|
||||
$package = \Core\Tenant\Models\Package::findOrFail($this->selectedPackageId);
|
||||
|
||||
// Check if already assigned
|
||||
$existing = $this->workspace->workspacePackages()
|
||||
|
|
@ -446,7 +446,7 @@ class WorkspaceDetails extends Component
|
|||
return;
|
||||
}
|
||||
|
||||
\Core\Mod\Tenant\Models\WorkspacePackage::create([
|
||||
\Core\Tenant\Models\WorkspacePackage::create([
|
||||
'workspace_id' => $this->workspace->id,
|
||||
'package_id' => $package->id,
|
||||
'status' => 'active',
|
||||
|
|
@ -461,7 +461,7 @@ class WorkspaceDetails extends Component
|
|||
|
||||
public function removePackage(int $workspacePackageId): void
|
||||
{
|
||||
$wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
$wp = \Core\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
->findOrFail($workspacePackageId);
|
||||
|
||||
$packageName = $wp->package?->name ?? 'Package';
|
||||
|
|
@ -474,7 +474,7 @@ class WorkspaceDetails extends Component
|
|||
|
||||
public function suspendPackage(int $workspacePackageId): void
|
||||
{
|
||||
$wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
$wp = \Core\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
->findOrFail($workspacePackageId);
|
||||
|
||||
$wp->suspend();
|
||||
|
|
@ -486,7 +486,7 @@ class WorkspaceDetails extends Component
|
|||
|
||||
public function reactivatePackage(int $workspacePackageId): void
|
||||
{
|
||||
$wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
$wp = \Core\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id)
|
||||
->findOrFail($workspacePackageId);
|
||||
|
||||
$wp->reactivate();
|
||||
|
|
@ -523,7 +523,7 @@ class WorkspaceDetails extends Component
|
|||
return;
|
||||
}
|
||||
|
||||
$feature = \Core\Mod\Tenant\Models\Feature::where('code', $this->selectedFeatureCode)->first();
|
||||
$feature = \Core\Tenant\Models\Feature::where('code', $this->selectedFeatureCode)->first();
|
||||
|
||||
if (! $feature) {
|
||||
$this->actionMessage = 'Feature not found.';
|
||||
|
|
@ -534,24 +534,24 @@ class WorkspaceDetails extends Component
|
|||
|
||||
// Map type to boost type constant
|
||||
$boostType = match ($this->entitlementType) {
|
||||
'enable' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ENABLE,
|
||||
'add_limit' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ADD_LIMIT,
|
||||
'unlimited' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_UNLIMITED,
|
||||
default => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ENABLE,
|
||||
'enable' => \Core\Tenant\Models\Boost::BOOST_TYPE_ENABLE,
|
||||
'add_limit' => \Core\Tenant\Models\Boost::BOOST_TYPE_ADD_LIMIT,
|
||||
'unlimited' => \Core\Tenant\Models\Boost::BOOST_TYPE_UNLIMITED,
|
||||
default => \Core\Tenant\Models\Boost::BOOST_TYPE_ENABLE,
|
||||
};
|
||||
|
||||
$durationType = $this->entitlementDuration === 'permanent'
|
||||
? \Core\Mod\Tenant\Models\Boost::DURATION_PERMANENT
|
||||
: \Core\Mod\Tenant\Models\Boost::DURATION_DURATION;
|
||||
? \Core\Tenant\Models\Boost::DURATION_PERMANENT
|
||||
: \Core\Tenant\Models\Boost::DURATION_DURATION;
|
||||
|
||||
\Core\Mod\Tenant\Models\Boost::create([
|
||||
\Core\Tenant\Models\Boost::create([
|
||||
'workspace_id' => $this->workspace->id,
|
||||
'feature_code' => $this->selectedFeatureCode,
|
||||
'boost_type' => $boostType,
|
||||
'duration_type' => $durationType,
|
||||
'limit_value' => $this->entitlementType === 'add_limit' ? $this->entitlementLimit : null,
|
||||
'consumed_quantity' => 0,
|
||||
'status' => \Core\Mod\Tenant\Models\Boost::STATUS_ACTIVE,
|
||||
'status' => \Core\Tenant\Models\Boost::STATUS_ACTIVE,
|
||||
'starts_at' => now(),
|
||||
'expires_at' => $this->entitlementExpiresAt ? \Carbon\Carbon::parse($this->entitlementExpiresAt) : null,
|
||||
'metadata' => ['granted_by' => auth()->id(), 'granted_at' => now()->toDateTimeString()],
|
||||
|
|
@ -565,7 +565,7 @@ class WorkspaceDetails extends Component
|
|||
|
||||
public function removeBoost(int $boostId): void
|
||||
{
|
||||
$boost = \Core\Mod\Tenant\Models\Boost::where('workspace_id', $this->workspace->id)
|
||||
$boost = \Core\Tenant\Models\Boost::where('workspace_id', $this->workspace->id)
|
||||
->findOrFail($boostId);
|
||||
|
||||
$featureCode = $boost->feature_code;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Admin;
|
||||
namespace Core\Tenant\View\Modal\Admin;
|
||||
|
||||
use Core\Mod\Tenant\Models\User;
|
||||
use Core\Mod\Tenant\Models\Workspace;
|
||||
use Core\Tenant\Models\User;
|
||||
use Core\Tenant\Models\Workspace;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Livewire\Component;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Core\Mod\Tenant\View\Modal\Web;
|
||||
namespace Core\Tenant\View\Modal\Web;
|
||||
|
||||
use Core\Mod\Tenant\Models\AccountDeletionRequest;
|
||||
use Core\Tenant\Models\AccountDeletionRequest;
|
||||
use Livewire\Attributes\Layout;
|
||||
use Livewire\Component;
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue