Merge remote-tracking branch 'origin/master' into oasis

# Conflicts:
#	app/Console/Commands/SetupDevEnvironment.php
#	app/Console/Kernel.php
#	app/Http/Resources/InvoiceResource.php
#	app/Http/Resources/UserResource.php
#	app/Models/User.php
#	composer.lock
#	config/app.php
#	config/custom-language-translations.php
#	config/language-translations.php
#	public/chunks/admin.js
#	public/chunks/app-language.js
#	public/chunks/dashboard.js
#	public/chunks/files.js
#	public/chunks/files~chunks/shared-files~chunks/shared/file-browser.js
#	public/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js
#	public/chunks/invoices.js
#	public/chunks/pages.js
#	public/chunks/plan-subscribers.js
#	public/chunks/plans.js
#	public/chunks/platform.js
#	public/chunks/settings-invoices.js
#	public/chunks/settings-payment-methods.js
#	public/chunks/settings-subscription.js
#	public/chunks/shared-files.js
#	public/chunks/shared.js
#	public/chunks/shared/file-browser.js
#	public/chunks/user-invoices.js
#	public/chunks/user-subscription.js
#	public/chunks/users.js
#	public/js/main.js
#	public/mix-manifest.json
#	resources/js/components/FilesView/FileItemGrid.vue
#	resources/js/components/FilesView/FileItemList.vue
This commit is contained in:
Peter Papp
2021-04-29 11:06:14 +02:00
166 changed files with 2945 additions and 2876 deletions
+10 -11
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,19 +15,19 @@ class FileResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'type' => 'file',
'id' => $this->id,
'type' => 'file',
'attributes' => [
'name' => $this->name,
'basename' => $this->basename,
'mimetype' => $this->mimetype,
'filesize' => $this->filesize,
'type' => $this->type,
'file_url' => $this->file_url,
'thumbnail' => $this->thumbnail,
'name' => $this->name,
'basename' => $this->basename,
'mimetype' => $this->mimetype,
'filesize' => $this->filesize,
'type' => $this->type,
'file_url' => $this->file_url,
'thumbnail' => $this->thumbnail,
'created_at' => $this->created_at,
'updated_at' => $this->created_at,
]
],
],
];
}
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+24 -25
View File
@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use App\Models\User;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
use Illuminate\Http\Resources\Json\JsonResource;
class InvoiceAdminResource extends JsonResource
{
@@ -21,43 +20,43 @@ class InvoiceAdminResource extends JsonResource
return [
'data' => [
'id' => $this['id'],
'type' => 'invoices',
'id' => $this['id'],
'type' => 'invoices',
'attributes' => [
'customer' => $this['customer'],
'total' => Cashier::formatAmount($this['total']),
'currency' => $this['currency'],
'customer' => $this['customer'],
'total' => Cashier::formatAmount($this['total']),
'currency' => $this['currency'],
'created_at_formatted' => format_date($this['created']),
'created_at' => $this['created'],
'order' => $this['number'],
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this['customer_address'],
'billing_name' => $this['customer_name'],
'created_at' => $this['created'],
'order' => $this['number'],
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this['customer_address'],
'billing_name' => $this['customer_name'],
'billing_phone_number' => $this['customer_phone'],
],
'bag' => [
'amount' => $this['lines']['data'][0]['amount'],
'currency' => $this['lines']['data'][0]['currency'],
'type' => $this['lines']['data'][0]['type'],
'bag' => [
'amount' => $this['lines']['data'][0]['amount'],
'currency' => $this['lines']['data'][0]['currency'],
'type' => $this['lines']['data'][0]['type'],
'description' => $this['lines']['data'][0]['description'],
],
'seller' => null,
'seller' => null,
],
$this->mergeWhen($user, function () use ($user) {
return [
'relationships' => [
'user' => [
'data' => [
'id' => $user->id,
'type' => 'user',
'id' => $user->id,
'type' => 'user',
'attributes' => [
'name' => $user->settings->name,
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
]
]
]
]
],
],
],
],
];
}),
],
-1
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+27 -28
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\User;
@@ -20,38 +19,38 @@ class InvoiceResource extends JsonResource
return [
'data' => [
'id' => $this->id,
'type' => 'invoices',
'id' => $this->id,
'type' => 'invoices',
'attributes' => [
'customer' => $this->customer,
'total' => $this->total(),
'currency' => $this->currency,
'created_at_formatted' => format_date($this->date(), '%d. %B %Y'),
'created_at' => $this->created,
'order' => $this->number,
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this->customer_address,
'billing_name' => $this->customer_name,
'customer' => $this->customer,
'total' => $this->total(),
'currency' => $this->currency,
'created_at_formatted' => format_date($this->date(), '%d. %B. %Y'),
'created_at' => $this->created,
'order' => $this->number,
'user_id' => $user->id ?? null,
'client' => [
'billing_address' => $this->customer_address,
'billing_name' => $this->customer_name,
'billing_phone_number' => $this->customer_phone,
],
'seller' => null,
'invoice_items' => $this->get_invoice_items(),
'seller' => null,
'invoice_items' => $this->get_invoice_items(),
'invoice_subscriptions' => $this->get_invoice_subscriptions(),
],
$this->mergeWhen($user, [
'relationships' => [
'user' => [
'data' => [
'id' => $user->id,
'type' => 'user',
'id' => $user->id,
'type' => 'user',
'attributes' => [
'name' => $user->settings->name,
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
]
]
]
]
],
],
],
],
]),
],
];
@@ -66,10 +65,10 @@ class InvoiceResource extends JsonResource
foreach ($this->subscriptions() as $item) {
array_push($array, [
'amount' => $item->total(),
'amount' => $item->total(),
'description' => $item->description,
'currency' => $item->currency,
'type' => $item->type,
'currency' => $item->currency,
'type' => $item->type,
]);
}
@@ -85,10 +84,10 @@ class InvoiceResource extends JsonResource
foreach ($this->invoiceItems() as $item) {
array_push($array, [
'amount' => $item->total(),
'amount' => $item->total(),
'description' => $item->description,
'currency' => $item->currency,
'type' => $item->type,
'currency' => $item->currency,
'type' => $item->type,
]);
}
+2 -3
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\Language;
@@ -24,8 +23,8 @@ class LanguageCollection extends ResourceCollection
return [
'data' => $this->collection,
'meta' => [
'current_language' => new LanguageResource($current_language),
'reference_translations' => get_default_language_translations()
'current_language' => new LanguageResource($current_language),
'reference_translations' => get_default_language_translations(),
],
];
}
+7 -8
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,15 +15,15 @@ class LanguageResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'type' => 'languages',
'id' => $this->id,
'type' => 'languages',
'attributes' => [
'name' => $this->name,
'locale' => $this->locale,
'name' => $this->name,
'locale' => $this->locale,
'translations' => map_language_translations($this->languageTranslations),
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
]
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
],
],
];
}
-1
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+7 -9
View File
@@ -1,8 +1,6 @@
<?php
namespace App\Http\Resources;
use App\Models\Page;
use Illuminate\Http\Resources\Json\JsonResource;
class PageResource extends JsonResource
@@ -17,15 +15,15 @@ class PageResource extends JsonResource
{
return [
'data' => [
'id' => $this->slug,
'type' => 'pages',
'id' => $this->slug,
'type' => 'pages',
'attributes' => [
'visibility' => $this->visibility,
'title' => $this->title,
'slug' => $this->slug,
'content' => $this->content,
'visibility' => $this->visibility,
'title' => $this->title,
'slug' => $this->slug,
'content' => $this->content,
'content_formatted' => add_paragraphs($this->content),
]
],
],
];
}
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+12 -13
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class PaymentCardResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this['id'],
'type' => 'payment_method',
'id' => (string) $this['id'],
'type' => 'payment_method',
'attributes' => [
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => strtolower($this['card']['brand']),
'last4' => $this['card']['last4'],
'exp_month' => $this['card']['exp_month'],
'exp_year' => $this['card']['exp_year'],
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => strtolower($this['card']['brand']),
'last4' => $this['card']['last4'],
'exp_month' => $this['card']['exp_month'],
'exp_year' => $this['card']['exp_year'],
'created_at' => format_date($this['created_at'], '%d. %B. %Y'),
'status' => 'active',
'default' => 0,
]
]
'status' => 'active',
'default' => 0,
],
],
];
}
}
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class PaymentDefaultCardResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this['id'],
'type' => 'payment_method',
'id' => (string) $this['id'],
'type' => 'payment_method',
'attributes' => [
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => isset($this['brand']) ? strtolower($this['brand']) : strtolower($this['card']['brand']),
'last4' => isset($this['last4']) ? $this['last4'] : $this['card']['last4'],
'exp_month' => isset($this['exp_month']) ? $this['exp_month'] : $this['card']['exp_month'],
'exp_year' => isset($this['exp_year']) ? $this['exp_year'] : $this['card']['exp_year'],
'provider' => 'stripe',
'card_id' => $this['id'],
'brand' => isset($this['brand']) ? strtolower($this['brand']) : strtolower($this['card']['brand']),
'last4' => isset($this['last4']) ? $this['last4'] : $this['card']['last4'],
'exp_month' => isset($this['exp_month']) ? $this['exp_month'] : $this['card']['exp_month'],
'exp_year' => isset($this['exp_year']) ? $this['exp_year'] : $this['card']['exp_year'],
'created_at' => format_date($this['created_at'], '%d. %B. %Y'),
'status' => 'active',
'default' => 0,
]
]
'status' => 'active',
'default' => 0,
],
],
];
}
}
-1
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+14 -15
View File
@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
use Laravel\Cashier\Subscription;
use Illuminate\Http\Resources\Json\JsonResource;
class PlanResource extends JsonResource
{
@@ -23,21 +22,21 @@ class PlanResource extends JsonResource
return [
'data' => [
'id' => $this['plan']['id'],
'type' => 'plans',
'id' => $this['plan']['id'],
'type' => 'plans',
'attributes' => [
'subscribers' => $subscriber_count->count(),
'status' => $this['plan']['active'] ? 1 : 0,
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => $this['plan']['amount'],
'price_formatted' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int) $this['product']['metadata']['capacity'],
'subscribers' => $subscriber_count->count(),
'status' => $this['plan']['active'] ? 1 : 0,
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => $this['plan']['amount'],
'price_formatted' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int) $this['product']['metadata']['capacity'],
'created_at_formatted' => format_date($this['plan']['created']),
'created_at' => $this['plan']['created'],
]
]
'created_at' => $this['plan']['created'],
],
],
];
}
}
-1
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
+12 -13
View File
@@ -1,10 +1,9 @@
<?php
namespace App\Http\Resources;
use Laravel\Cashier\Cashier;
use App\Services\StripeService;
use Illuminate\Http\Resources\Json\JsonResource;
use Laravel\Cashier\Cashier;
class PricingResource extends JsonResource
{
@@ -18,18 +17,18 @@ class PricingResource extends JsonResource
{
return [
'data' => [
'id' => $this['plan']['id'],
'type' => 'plans',
'id' => $this['plan']['id'],
'type' => 'plans',
'attributes' => [
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => Cashier::formatAmount($this['plan']['amount']),
'name' => $this['product']['name'],
'description' => $this['product']['description'],
'price' => Cashier::formatAmount($this['plan']['amount']),
'capacity_formatted' => format_gigabytes($this['product']['metadata']['capacity']),
'capacity' => (int)$this['product']['metadata']['capacity'],
'currency' => config('cashier.currency'),
'tax_rates' => resolve(StripeService::class)->get_tax_rates($this['plan']['amount'])
]
]
'capacity' => (int) $this['product']['metadata']['capacity'],
'currency' => config('cashier.currency'),
'tax_rates' => resolve(StripeService::class)->get_tax_rates($this['plan']['amount']),
],
],
];
}
}
}
+12 -13
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -16,20 +15,20 @@ class ShareResource extends JsonResource
{
return [
'data' => [
'id' => (string)$this->id,
'type' => 'shares',
'id' => (string) $this->id,
'type' => 'shares',
'attributes' => [
'permission' => $this->permission,
'permission' => $this->permission,
'is_protected' => $this->is_protected,
'item_id' => $this->item_id,
'expire_in' => (int)$this->expire_in,
'token' => $this->token,
'link' => $this->link,
'type' => $this->type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
]
]
'item_id' => $this->item_id,
'expire_in' => (int) $this->expire_in,
'token' => $this->token,
'link' => $this->link,
'type' => $this->type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
],
],
];
}
}
+32 -37
View File
@@ -1,11 +1,6 @@
<?php
namespace App\Http\Resources;
use App\Services\StripeService;
use App\Models\User;
use Cartalyst\Stripe\Api\PaymentMethods;
use Faker\Factory;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource
@@ -21,52 +16,52 @@ class UserResource extends JsonResource
// TODO: zrefaktorovat
return [
'data' => [
'id' => $this->id,
'type' => 'user',
'attributes' => [
'storage_capacity' => $this->settings->storage_capacity,
'subscription' => $this->subscribed('main'),
'incomplete_payment' => $this->hasIncompletePayment('main') ? route('cashier.payment', $this->subscription('main')->latestPayment()->id) : null,
'stripe_customer' => is_null($this->stripe_id) ? false : true,
'email' => is_demo() ? obfuscate_email($this->email) : $this->email,
'role' => $this->role,
'folders' => $this->folder_tree,
'storage' => $this->storage,
'id' => $this->id,
'type' => 'user',
'attributes' => [
'storage_capacity' => $this->settings->storage_capacity,
'subscription' => $this->subscribed('main'),
'incomplete_payment' => $this->hasIncompletePayment('main') ? route('cashier.payment', $this->subscription('main')->latestPayment()->id) : null,
'stripe_customer' => is_null($this->stripe_id) ? false : true,
'email' => is_demo() ? obfuscate_email($this->email) : $this->email,
'role' => $this->role,
'folders' => $this->folder_tree,
'storage' => $this->storage,
'created_at_formatted' => format_date($this->created_at, '%d. %B. %Y'),
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
],
'relationships' => [
'settings' => [
'settings' => [
'data' => [
'id' => $this->id,
'type' => 'settings',
'id' => $this->id,
'type' => 'settings',
'attributes' => [
'avatar' => $this->settings->avatar,
'name' => $this->settings->name,
'address' => $this->settings->address,
'state' => $this->settings->state,
'city' => $this->settings->city,
'postal_code' => $this->settings->postal_code,
'country' => $this->settings->country,
'phone_number' => $this->settings->phone_number,
'timezone' => $this->settings->timezone,
'avatar' => $this->settings->avatar,
'name' => $this->settings->name,
'address' => $this->settings->address,
'state' => $this->settings->state,
'city' => $this->settings->city,
'postal_code' => $this->settings->postal_code,
'country' => $this->settings->country,
'phone_number' => $this->settings->phone_number,
'timezone' => $this->settings->timezone,
// OasisDrive
'payment_activation' => (integer) $this->settings->payment_activation
]
]
],
],
],
'favourites' => [
'data' => [
'id' => $this->id,
'type' => 'favourite_folders',
'id' => $this->id,
'type' => 'favourite_folders',
'attributes' => [
'folders' => $this->favouriteFolders->makeHidden(['pivot'])
'folders' => $this->favouriteFolders->makeHidden(['pivot']),
],
],
]
]
],
],
],
];
}
+28 -29
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use App\Models\File;
@@ -17,31 +16,31 @@ class UserStorageResource extends JsonResource
public function toArray($request)
{
$document_mimetypes = [
'pdf', 'numbers', 'xlsx', 'xls', 'txt', 'md', 'rtf', 'pptx', 'ppt', 'odt', 'ods', 'odp', 'epub', 'docx', 'doc', 'csv', 'pages'
'pdf', 'numbers', 'xlsx', 'xls', 'txt', 'md', 'rtf', 'pptx', 'ppt', 'odt', 'ods', 'odp', 'epub', 'docx', 'doc', 'csv', 'pages',
];
// Get all images
$images = File::where('user_id', $this->id)
->where('type', 'image')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all audios
$audios = File::where('user_id', $this->id)
->where('type', 'audio')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all videos
$videos = File::where('user_id', $this->id)
->where('type', 'video')->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all documents
$documents = File::where('user_id', $this->id)
->whereIn('mimetype', $document_mimetypes)->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
// Get all other files
@@ -49,41 +48,41 @@ class UserStorageResource extends JsonResource
->whereNotIn('mimetype', $document_mimetypes)
->whereNotIn('type', ['audio', 'video', 'image'])
->get()->map(function ($item) {
return (int)$item->getRawOriginal('filesize');
return (int) $item->getRawOriginal('filesize');
})->sum();
return [
'data' => [
'id' => (string)$this->id,
'type' => 'storage',
'attributes' => [
'used' => Metric::bytes($this->used_capacity)->format(),
'capacity' => format_gigabytes($this->settings->storage_capacity),
'percentage' => (float)get_storage_fill_percentage($this->used_capacity, $this->settings->storage_capacity),
'id' => (string) $this->id,
'type' => 'storage',
'attributes' => [
'used' => Metric::bytes($this->used_capacity)->format(),
'capacity' => format_gigabytes($this->settings->storage_capacity),
'percentage' => (float) get_storage_fill_percentage($this->used_capacity, $this->settings->storage_capacity),
],
'meta' => [
'images' => [
'used' => Metric::bytes($images)->format(),
'percentage' => (float)get_storage_fill_percentage($images, $this->settings->storage_capacity),
'images' => [
'used' => Metric::bytes($images)->format(),
'percentage' => (float) get_storage_fill_percentage($images, $this->settings->storage_capacity),
],
'audios' => [
'used' => Metric::bytes($audios)->format(),
'percentage' => (float)get_storage_fill_percentage($audios, $this->settings->storage_capacity),
'audios' => [
'used' => Metric::bytes($audios)->format(),
'percentage' => (float) get_storage_fill_percentage($audios, $this->settings->storage_capacity),
],
'videos' => [
'used' => Metric::bytes($videos)->format(),
'percentage' => (float)get_storage_fill_percentage($videos, $this->settings->storage_capacity),
'videos' => [
'used' => Metric::bytes($videos)->format(),
'percentage' => (float) get_storage_fill_percentage($videos, $this->settings->storage_capacity),
],
'documents' => [
'used' => Metric::bytes($documents)->format(),
'percentage' => (float)get_storage_fill_percentage($documents, $this->settings->storage_capacity),
'used' => Metric::bytes($documents)->format(),
'percentage' => (float) get_storage_fill_percentage($documents, $this->settings->storage_capacity),
],
'others' => [
'used' => Metric::bytes($others)->format(),
'percentage' => (float)get_storage_fill_percentage($others, $this->settings->storage_capacity),
'others' => [
'used' => Metric::bytes($others)->format(),
'percentage' => (float) get_storage_fill_percentage($others, $this->settings->storage_capacity),
],
]
]
],
],
];
}
}
+13 -14
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -23,21 +22,21 @@ class UserSubscription extends JsonResource
return [
'data' => [
'id' => $subscription['plan']['id'],
'type' => 'subscription',
'id' => $subscription['plan']['id'],
'type' => 'subscription',
'attributes' => [
'incomplete' => $this->subscription('main')->incomplete(),
'active' => $this->subscription('main')->active(),
'canceled' => $this->subscription('main')->cancelled(),
'name' => $subscription['product']['name'],
'capacity' => (int)$subscription['product']['metadata']['capacity'],
'incomplete' => $this->subscription('main')->incomplete(),
'active' => $this->subscription('main')->active(),
'canceled' => $this->subscription('main')->cancelled(),
'name' => $subscription['product']['name'],
'capacity' => (int) $subscription['product']['metadata']['capacity'],
'capacity_formatted' => format_gigabytes($subscription['product']['metadata']['capacity']),
'slug' => $subscription['plan']['id'],
'canceled_at' => format_date($active_subscription["canceled_at"], '%d. %B. %Y'),
'created_at' => format_date($active_subscription["current_period_start"], '%d. %B. %Y'),
'ends_at' => format_date($active_subscription["current_period_end"], '%d. %B. %Y'),
]
]
'slug' => $subscription['plan']['id'],
'canceled_at' => format_date($active_subscription['canceled_at'], '%d. %B. %Y'),
'created_at' => format_date($active_subscription['current_period_start'], '%d. %B. %Y'),
'ends_at' => format_date($active_subscription['current_period_end'], '%d. %B. %Y'),
],
],
];
}
}
-1
View File
@@ -1,5 +1,4 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;