391 lines
12 KiB
PHP
391 lines
12 KiB
PHP
<?php
|
|
|
|
use App\Http\Requests\Support\Resources\SupportDataExportResourceRequest;
|
|
use App\Http\Requests\Support\Resources\SupportPhotoboothSettingResourceRequest;
|
|
use App\Http\Requests\Support\Resources\SupportTenantFeedbackResourceRequest;
|
|
use App\Http\Requests\Support\Resources\SupportTenantResourceRequest;
|
|
use App\Http\Requests\Support\Resources\SupportUserResourceRequest;
|
|
use App\Models\BlogCategory;
|
|
use App\Models\BlogPost;
|
|
use App\Models\Coupon;
|
|
use App\Models\DataExport;
|
|
use App\Models\Emotion;
|
|
use App\Models\Event;
|
|
use App\Models\EventPurchase;
|
|
use App\Models\EventType;
|
|
use App\Models\GiftVoucher;
|
|
use App\Models\InfrastructureActionLog;
|
|
use App\Models\LegalPage;
|
|
use App\Models\MediaStorageTarget;
|
|
use App\Models\Package;
|
|
use App\Models\PackageAddon;
|
|
use App\Models\PackagePurchase;
|
|
use App\Models\Photo;
|
|
use App\Models\PhotoboothSetting;
|
|
use App\Models\PurchaseHistory;
|
|
use App\Models\RetentionOverride;
|
|
use App\Models\SuperAdminActionLog;
|
|
use App\Models\Task;
|
|
use App\Models\TaskCollection;
|
|
use App\Models\Tenant;
|
|
use App\Models\TenantAnnouncement;
|
|
use App\Models\TenantFeedback;
|
|
use App\Models\TenantPackage;
|
|
use App\Models\User;
|
|
|
|
return [
|
|
'token' => [
|
|
'name' => 'support-api',
|
|
'default_abilities' => [
|
|
'support-admin',
|
|
'support:read',
|
|
'support:write',
|
|
'support:actions',
|
|
'support:billing',
|
|
'support:ops',
|
|
'support:content',
|
|
'support:settings',
|
|
'support:infrastructure',
|
|
],
|
|
],
|
|
'pagination' => [
|
|
'default_per_page' => 50,
|
|
'max_per_page' => 200,
|
|
],
|
|
'resources' => [
|
|
'tenants' => [
|
|
'model' => Tenant::class,
|
|
'search' => ['name', 'slug', 'contact_email', 'paddle_customer_id'],
|
|
'with' => ['user', 'activeResellerPackage'],
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
'write' => ['support:write'],
|
|
'actions' => ['support:actions'],
|
|
],
|
|
'validation' => [
|
|
'update' => SupportTenantResourceRequest::class,
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => true,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'users' => [
|
|
'model' => User::class,
|
|
'search' => ['email', 'username', 'name', 'first_name', 'last_name'],
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
'write' => ['support:write'],
|
|
],
|
|
'validation' => [
|
|
'update' => SupportUserResourceRequest::class,
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => true,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'events' => [
|
|
'model' => Event::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'event-types' => [
|
|
'model' => EventType::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'photos' => [
|
|
'model' => Photo::class,
|
|
'search' => ['id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
],
|
|
'event-purchases' => [
|
|
'model' => EventPurchase::class,
|
|
'search' => ['id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
],
|
|
'purchases' => [
|
|
'model' => PackagePurchase::class,
|
|
'search' => ['provider_id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
],
|
|
'purchase-histories' => [
|
|
'model' => PurchaseHistory::class,
|
|
'search' => ['provider_id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
],
|
|
'packages' => [
|
|
'model' => Package::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'package-addons' => [
|
|
'model' => PackageAddon::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'tenant-packages' => [
|
|
'model' => TenantPackage::class,
|
|
'search' => ['id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
],
|
|
'coupons' => [
|
|
'model' => Coupon::class,
|
|
'search' => ['code', 'name'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'gift-vouchers' => [
|
|
'model' => GiftVoucher::class,
|
|
'search' => ['code', 'email'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:billing'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'tenant-feedback' => [
|
|
'model' => TenantFeedback::class,
|
|
'search' => ['email', 'message'],
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
'write' => ['support:write'],
|
|
],
|
|
'validation' => [
|
|
'update' => SupportTenantFeedbackResourceRequest::class,
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => true,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'tenant-announcements' => [
|
|
'model' => TenantAnnouncement::class,
|
|
'search' => ['title', 'body'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'media-storage-targets' => [
|
|
'model' => MediaStorageTarget::class,
|
|
'search' => ['name', 'driver'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:ops'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'retention-overrides' => [
|
|
'model' => RetentionOverride::class,
|
|
'search' => ['id'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:ops'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'data-exports' => [
|
|
'model' => DataExport::class,
|
|
'search' => ['id'],
|
|
'abilities' => [
|
|
'read' => ['support:ops'],
|
|
'write' => ['support:ops'],
|
|
],
|
|
'validation' => [
|
|
'create' => SupportDataExportResourceRequest::class,
|
|
],
|
|
'mutations' => [
|
|
'create' => true,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'photobooth-settings' => [
|
|
'model' => PhotoboothSetting::class,
|
|
'search' => ['label'],
|
|
'abilities' => [
|
|
'read' => ['support:ops'],
|
|
'write' => ['support:ops'],
|
|
],
|
|
'validation' => [
|
|
'update' => SupportPhotoboothSettingResourceRequest::class,
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => true,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'legal-pages' => [
|
|
'model' => LegalPage::class,
|
|
'search' => ['slug', 'title'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:content'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'blog-categories' => [
|
|
'model' => BlogCategory::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:content'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'blog-posts' => [
|
|
'model' => BlogPost::class,
|
|
'search' => ['title', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:content'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'emotions' => [
|
|
'model' => Emotion::class,
|
|
'search' => ['name', 'slug'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:content'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'tasks' => [
|
|
'model' => Task::class,
|
|
'search' => ['title'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'task-collections' => [
|
|
'model' => TaskCollection::class,
|
|
'search' => ['name'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:read'],
|
|
],
|
|
'mutations' => [
|
|
'create' => false,
|
|
'update' => false,
|
|
'delete' => false,
|
|
],
|
|
],
|
|
'super-admin-action-logs' => [
|
|
'model' => SuperAdminActionLog::class,
|
|
'search' => ['action', 'target_type'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:infrastructure'],
|
|
],
|
|
],
|
|
'infrastructure-action-logs' => [
|
|
'model' => InfrastructureActionLog::class,
|
|
'search' => ['action', 'target_type'],
|
|
'read_only' => true,
|
|
'abilities' => [
|
|
'read' => ['support:infrastructure'],
|
|
],
|
|
],
|
|
],
|
|
];
|