chore: ide helpers and formatting
This commit is contained in:
parent
2aa76db042
commit
a51a2cd436
@ -1157,6 +1157,8 @@
|
|||||||
'services.ses.region' => 'string',
|
'services.ses.region' => 'string',
|
||||||
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
||||||
'services.slack.notifications.channel' => 'NULL',
|
'services.slack.notifications.channel' => 'NULL',
|
||||||
|
'services.stripe.secret' => 'string',
|
||||||
|
'services.stripe.webhook' => 'string',
|
||||||
'session.driver' => 'string',
|
'session.driver' => 'string',
|
||||||
'session.lifetime' => 'integer',
|
'session.lifetime' => 'integer',
|
||||||
'session.expire_on_close' => 'boolean',
|
'session.expire_on_close' => 'boolean',
|
||||||
@ -1597,6 +1599,8 @@
|
|||||||
'services.ses.region' => 'string',
|
'services.ses.region' => 'string',
|
||||||
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
||||||
'services.slack.notifications.channel' => 'NULL',
|
'services.slack.notifications.channel' => 'NULL',
|
||||||
|
'services.stripe.secret' => 'string',
|
||||||
|
'services.stripe.webhook' => 'string',
|
||||||
'session.driver' => 'string',
|
'session.driver' => 'string',
|
||||||
'session.lifetime' => 'integer',
|
'session.lifetime' => 'integer',
|
||||||
'session.expire_on_close' => 'boolean',
|
'session.expire_on_close' => 'boolean',
|
||||||
@ -2037,6 +2041,8 @@
|
|||||||
'services.ses.region' => 'string',
|
'services.ses.region' => 'string',
|
||||||
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
'services.slack.notifications.bot_user_oauth_token' => 'NULL',
|
||||||
'services.slack.notifications.channel' => 'NULL',
|
'services.slack.notifications.channel' => 'NULL',
|
||||||
|
'services.stripe.secret' => 'string',
|
||||||
|
'services.stripe.webhook' => 'string',
|
||||||
'session.driver' => 'string',
|
'session.driver' => 'string',
|
||||||
'session.lifetime' => 'integer',
|
'session.lifetime' => 'integer',
|
||||||
'session.expire_on_close' => 'boolean',
|
'session.expire_on_close' => 'boolean',
|
||||||
@ -2204,17 +2210,17 @@
|
|||||||
'queue.batching.table','queue.failed.driver','queue.failed.database','queue.failed.table','sanctum.stateful',
|
'queue.batching.table','queue.failed.driver','queue.failed.database','queue.failed.table','sanctum.stateful',
|
||||||
'sanctum.guard','sanctum.expiration','sanctum.token_prefix','sanctum.middleware.authenticate_session','sanctum.middleware.encrypt_cookies',
|
'sanctum.guard','sanctum.expiration','sanctum.token_prefix','sanctum.middleware.authenticate_session','sanctum.middleware.encrypt_cookies',
|
||||||
'sanctum.middleware.validate_csrf_token','services.postmark.key','services.resend.key','services.ses.key','services.ses.secret',
|
'sanctum.middleware.validate_csrf_token','services.postmark.key','services.resend.key','services.ses.key','services.ses.secret',
|
||||||
'services.ses.region','services.slack.notifications.bot_user_oauth_token','services.slack.notifications.channel','session.driver','session.lifetime',
|
'services.ses.region','services.slack.notifications.bot_user_oauth_token','services.slack.notifications.channel','services.stripe.secret','services.stripe.webhook',
|
||||||
'session.expire_on_close','session.encrypt','session.files','session.connection','session.table',
|
'session.driver','session.lifetime','session.expire_on_close','session.encrypt','session.files',
|
||||||
'session.store','session.lottery','session.cookie','session.path','session.domain',
|
'session.connection','session.table','session.store','session.lottery','session.cookie',
|
||||||
'session.secure','session.http_only','session.same_site','session.partitioned','ide-helper.filename',
|
'session.path','session.domain','session.secure','session.http_only','session.same_site',
|
||||||
'ide-helper.models_filename','ide-helper.meta_filename','ide-helper.include_fluent','ide-helper.include_factory_builders','ide-helper.write_model_magic_where',
|
'session.partitioned','ide-helper.filename','ide-helper.models_filename','ide-helper.meta_filename','ide-helper.include_fluent',
|
||||||
'ide-helper.write_model_external_builder_methods','ide-helper.write_model_relation_count_properties','ide-helper.write_model_relation_exists_properties','ide-helper.write_eloquent_model_mixins','ide-helper.include_helpers',
|
'ide-helper.include_factory_builders','ide-helper.write_model_magic_where','ide-helper.write_model_external_builder_methods','ide-helper.write_model_relation_count_properties','ide-helper.write_model_relation_exists_properties',
|
||||||
'ide-helper.helper_files','ide-helper.model_locations','ide-helper.ignored_models','ide-helper.model_hooks','ide-helper.extra.Eloquent',
|
'ide-helper.write_eloquent_model_mixins','ide-helper.include_helpers','ide-helper.helper_files','ide-helper.model_locations','ide-helper.ignored_models',
|
||||||
'ide-helper.extra.Session','ide-helper.magic','ide-helper.interfaces','ide-helper.model_camel_case_properties','ide-helper.type_overrides.integer',
|
'ide-helper.model_hooks','ide-helper.extra.Eloquent','ide-helper.extra.Session','ide-helper.magic','ide-helper.interfaces',
|
||||||
'ide-helper.type_overrides.boolean','ide-helper.include_class_docblocks','ide-helper.force_fqn','ide-helper.use_generics_annotations','ide-helper.macro_default_return_types.Illuminate\\Http\\Client\\Factory',
|
'ide-helper.model_camel_case_properties','ide-helper.type_overrides.integer','ide-helper.type_overrides.boolean','ide-helper.include_class_docblocks','ide-helper.force_fqn',
|
||||||
'ide-helper.additional_relation_types','ide-helper.additional_relation_return_types','ide-helper.enforce_nullable_relationships','ide-helper.post_migrate','tinker.commands',
|
'ide-helper.use_generics_annotations','ide-helper.macro_default_return_types.Illuminate\\Http\\Client\\Factory','ide-helper.additional_relation_types','ide-helper.additional_relation_return_types','ide-helper.enforce_nullable_relationships',
|
||||||
'tinker.alias','tinker.dont_alias','tinker.trust_project',);
|
'ide-helper.post_migrate','tinker.commands','tinker.alias','tinker.dont_alias','tinker.trust_project',);
|
||||||
registerArgumentsSet('middleware',
|
registerArgumentsSet('middleware',
|
||||||
'web','api','auth','auth.basic','auth.session',
|
'web','api','auth','auth.basic','auth.session',
|
||||||
'cache.headers','can','guest','password.confirm','precognitive',
|
'cache.headers','can','guest','password.confirm','precognitive',
|
||||||
@ -2222,9 +2228,8 @@
|
|||||||
registerArgumentsSet('routes',
|
registerArgumentsSet('routes',
|
||||||
'sanctum.csrf-cookie','cart.show','cart.update','cart.store','cart.destroy',
|
'sanctum.csrf-cookie','cart.show','cart.update','cart.store','cart.destroy',
|
||||||
'user.addresses.index','user.addresses.store','addresses.show','addresses.update','addresses.destroy',
|
'user.addresses.index','user.addresses.store','addresses.show','addresses.update','addresses.destroy',
|
||||||
'users.orders.index','users.orders.store','orders.show','orders.update','orders.destroy','products.index','products.store','products.show','products.update',
|
'users.orders.index','users.orders.store','orders.show','orders.update','orders.destroy','products.index','products.store','products.show',
|
||||||
'products.destroy',
|
'products.update','products.destroy','storage.local','storage.local.upload',);
|
||||||
'storage.local','storage.local.upload',);
|
|
||||||
registerArgumentsSet('views',
|
registerArgumentsSet('views',
|
||||||
'laravel-exceptions-renderer::components.badge','laravel-exceptions-renderer::components.empty-state','laravel-exceptions-renderer::components.file-with-line','laravel-exceptions-renderer::components.formatted-source','laravel-exceptions-renderer::components.frame',
|
'laravel-exceptions-renderer::components.badge','laravel-exceptions-renderer::components.empty-state','laravel-exceptions-renderer::components.file-with-line','laravel-exceptions-renderer::components.formatted-source','laravel-exceptions-renderer::components.frame',
|
||||||
'laravel-exceptions-renderer::components.frame-code','laravel-exceptions-renderer::components.header','laravel-exceptions-renderer::components.http-method','laravel-exceptions-renderer::components.icons.alert','laravel-exceptions-renderer::components.icons.check',
|
'laravel-exceptions-renderer::components.frame-code','laravel-exceptions-renderer::components.header','laravel-exceptions-renderer::components.http-method','laravel-exceptions-renderer::components.icons.alert','laravel-exceptions-renderer::components.icons.check',
|
||||||
@ -2279,7 +2284,8 @@
|
|||||||
'REDIS_CLIENT','REDIS_HOST','REDIS_PASSWORD','REDIS_PORT','MAIL_MAILER',
|
'REDIS_CLIENT','REDIS_HOST','REDIS_PASSWORD','REDIS_PORT','MAIL_MAILER',
|
||||||
'MAIL_SCHEME','MAIL_HOST','MAIL_PORT','MAIL_USERNAME','MAIL_PASSWORD',
|
'MAIL_SCHEME','MAIL_HOST','MAIL_PORT','MAIL_USERNAME','MAIL_PASSWORD',
|
||||||
'MAIL_FROM_ADDRESS','MAIL_FROM_NAME','AWS_ACCESS_KEY_ID','AWS_SECRET_ACCESS_KEY','AWS_DEFAULT_REGION',
|
'MAIL_FROM_ADDRESS','MAIL_FROM_NAME','AWS_ACCESS_KEY_ID','AWS_SECRET_ACCESS_KEY','AWS_DEFAULT_REGION',
|
||||||
'AWS_BUCKET','AWS_USE_PATH_STYLE_ENDPOINT','VITE_APP_NAME','FRONTEND_URL','SANCTUM_STATEFUL_DOMAINS',);
|
'AWS_BUCKET','AWS_USE_PATH_STYLE_ENDPOINT','VITE_APP_NAME','FRONTEND_URL','SANCTUM_STATEFUL_DOMAINS',
|
||||||
|
'STRIPE_SECRET_KEY','STRIPE_WEBHOOK_KEY',);
|
||||||
|
|
||||||
expectedArguments(\Illuminate\Support\Facades\Gate::has(), 0, argumentsSet('auth'));
|
expectedArguments(\Illuminate\Support\Facades\Gate::has(), 0, argumentsSet('auth'));
|
||||||
expectedArguments(\Illuminate\Support\Facades\Gate::allows(), 0, argumentsSet('auth'));
|
expectedArguments(\Illuminate\Support\Facades\Gate::allows(), 0, argumentsSet('auth'));
|
||||||
|
|||||||
@ -84,6 +84,7 @@ class IdeHelperCart {}
|
|||||||
* @property \Illuminate\Support\Carbon|null $created_at
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \App\Models\Cart|null $cart
|
* @property-read \App\Models\Cart|null $cart
|
||||||
|
* @property-read \App\Models\StripeSession|null $stripeSession
|
||||||
* @property-read \App\Models\User $user
|
* @property-read \App\Models\User $user
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Order newModelQuery()
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Order newModelQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Order newQuery()
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Order newQuery()
|
||||||
@ -106,6 +107,55 @@ class IdeHelperCart {}
|
|||||||
class IdeHelperOrder {}
|
class IdeHelperOrder {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace App\Models{
|
||||||
|
/**
|
||||||
|
* @property int $id
|
||||||
|
* @property int $order_id
|
||||||
|
* @property string $transaction_id
|
||||||
|
* @property int $amount
|
||||||
|
* @property string $currency
|
||||||
|
* @property string $payment_method
|
||||||
|
* @property int $payment_status_id
|
||||||
|
* @property string|null $error_message
|
||||||
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
|
* @property-read \App\Models\Order|null $order
|
||||||
|
* @property-read \App\Models\PaymentStatus|null $paymentStatus
|
||||||
|
* @property-read mixed $status
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment newModelQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment newQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment query()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereAmount($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereCreatedAt($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereCurrency($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereErrorMessage($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereOrderId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment wherePaymentMethod($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment wherePaymentStatusId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereTransactionId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Payment whereUpdatedAt($value)
|
||||||
|
* @mixin \Eloquent
|
||||||
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
|
class IdeHelperPayment {}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace App\Models{
|
||||||
|
/**
|
||||||
|
* @property int $id
|
||||||
|
* @property string $name
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|PaymentStatus newModelQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|PaymentStatus newQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|PaymentStatus query()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|PaymentStatus whereId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|PaymentStatus whereName($value)
|
||||||
|
* @mixin \Eloquent
|
||||||
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
|
class IdeHelperPaymentStatus {}
|
||||||
|
}
|
||||||
|
|
||||||
namespace App\Models{
|
namespace App\Models{
|
||||||
/**
|
/**
|
||||||
* @property int $id
|
* @property int $id
|
||||||
@ -188,6 +238,28 @@ class IdeHelperProductCategory {}
|
|||||||
class IdeHelperProductImage {}
|
class IdeHelperProductImage {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace App\Models{
|
||||||
|
/**
|
||||||
|
* @property int $id
|
||||||
|
* @property string $session_id
|
||||||
|
* @property int $order_id
|
||||||
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
|
* @property-read \App\Models\Order|null $order
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession newModelQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession newQuery()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession query()
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession whereCreatedAt($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession whereId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession whereOrderId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession whereSessionId($value)
|
||||||
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|StripeSession whereUpdatedAt($value)
|
||||||
|
* @mixin \Eloquent
|
||||||
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
|
class IdeHelperStripeSession {}
|
||||||
|
}
|
||||||
|
|
||||||
namespace App\Models{
|
namespace App\Models{
|
||||||
/**
|
/**
|
||||||
* @property int $id
|
* @property int $id
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,13 +22,26 @@ public function user(): BelongsTo
|
|||||||
return $this->belongsTo(User::class);
|
return $this->belongsTo(User::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function cart(): HasOne
|
public function cart(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->hasOne(Cart::class);
|
return $this->belongsTo(Cart::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stripe session id helps to update status later from webhook
|
||||||
|
*
|
||||||
|
* @return HasOne<StripeSession>
|
||||||
|
*/
|
||||||
public function stripeSession(): HasOne
|
public function stripeSession(): HasOne
|
||||||
{
|
{
|
||||||
return $this->hasOne(StripeSession::class);
|
return $this->hasOne(StripeSession::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return HasMany<Payment>
|
||||||
|
*/
|
||||||
|
public function payments(): HasMany
|
||||||
|
{
|
||||||
|
return $this->hasMany(Payment::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,9 @@
|
|||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @mixin IdeHelperStripeSession
|
||||||
|
*/
|
||||||
class StripeSession extends Model
|
class StripeSession extends Model
|
||||||
{
|
{
|
||||||
public $fillable = ['session_id', 'order_id'];
|
public $fillable = ['session_id', 'order_id'];
|
||||||
|
|||||||
@ -12,7 +12,8 @@
|
|||||||
"php": "^8.2",
|
"php": "^8.2",
|
||||||
"laravel/framework": "^12.0",
|
"laravel/framework": "^12.0",
|
||||||
"laravel/sanctum": "^4.0",
|
"laravel/sanctum": "^4.0",
|
||||||
"laravel/tinker": "^2.10.1"
|
"laravel/tinker": "^2.10.1",
|
||||||
|
"stripe/stripe-php": "^19.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-ide-helper": "^3.6",
|
"barryvdh/laravel-ide-helper": "^3.6",
|
||||||
|
|||||||
61
backend/composer.lock
generated
61
backend/composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "eb492a5715ccca89342113f679f1a050",
|
"content-hash": "68eb84c37a2e900c5295571a84d50566",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
@ -3358,6 +3358,65 @@
|
|||||||
},
|
},
|
||||||
"time": "2025-12-14T04:43:48+00:00"
|
"time": "2025-12-14T04:43:48+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "stripe/stripe-php",
|
||||||
|
"version": "v19.4.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/stripe/stripe-php.git",
|
||||||
|
"reference": "095384404587d07de2ad1154c389c4051c5ed92f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/095384404587d07de2ad1154c389c4051c5ed92f",
|
||||||
|
"reference": "095384404587d07de2ad1154c389c4051c5ed92f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-curl": "*",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"php": ">=5.6.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"friendsofphp/php-cs-fixer": "3.94.0",
|
||||||
|
"phpstan/phpstan": "^1.2",
|
||||||
|
"phpunit/phpunit": "^5.7 || ^9.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Stripe\\": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Stripe and contributors",
|
||||||
|
"homepage": "https://github.com/stripe/stripe-php/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Stripe PHP Library",
|
||||||
|
"homepage": "https://stripe.com/",
|
||||||
|
"keywords": [
|
||||||
|
"api",
|
||||||
|
"payment processing",
|
||||||
|
"stripe"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/stripe/stripe-php/issues",
|
||||||
|
"source": "https://github.com/stripe/stripe-php/tree/v19.4.1"
|
||||||
|
},
|
||||||
|
"time": "2026-03-06T22:53:13+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/clock",
|
"name": "symfony/clock",
|
||||||
"version": "v8.0.0",
|
"version": "v8.0.0",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user