diff --git a/app/Activity.php b/app/Activity.php index 977aeb49..eab40f62 100644 --- a/app/Activity.php +++ b/app/Activity.php @@ -30,6 +30,9 @@ class Activity extends Model ]; } + /** + * @return BelongsToMany + */ public function subactivities(): BelongsToMany { return $this->belongsToMany(Subactivity::class); diff --git a/app/Contribution/Documents/DvDocument.php b/app/Contribution/Documents/DvDocument.php index 391be8af..c55736c7 100644 --- a/app/Contribution/Documents/DvDocument.php +++ b/app/Contribution/Documents/DvDocument.php @@ -5,19 +5,21 @@ namespace App\Contribution\Documents; use App\Country; use App\Member\Member; use Carbon\Carbon; -use Illuminate\Database\Eloquent\Collection; +use Illuminate\Support\Collection; use Illuminate\Http\Request; use Zoomyboy\Tex\Engine; use Zoomyboy\Tex\Template; class DvDocument extends ContributionDocument { + /** + * @param Collection> $members + */ public function __construct( public string $dateFrom, public string $dateUntil, public string $zipLocation, public ?Country $country, - /* @var Collection> */ public Collection $members, public ?string $filename = '', public string $type = 'F', @@ -38,7 +40,7 @@ class DvDocument extends ContributionDocument dateUntil: $request->dateUntil, zipLocation: $request->zipLocation, country: Country::where('id', $request->country)->firstOrFail(), - members: Member::whereIn('id', $request->members)->orderByRaw('lastname, firstname')->get()->chunk(17), + members: Member::whereIn('id', $request->members)->orderByRaw('lastname, firstname')->get()->toBase()->chunk(17), ); } diff --git a/app/Contribution/Documents/RemscheidDocument.php b/app/Contribution/Documents/RemscheidDocument.php index 5de1e01b..81a1dd80 100644 --- a/app/Contribution/Documents/RemscheidDocument.php +++ b/app/Contribution/Documents/RemscheidDocument.php @@ -5,21 +5,23 @@ namespace App\Contribution\Documents; use App\Country; use App\Member\Member; use Carbon\Carbon; -use Illuminate\Database\Eloquent\Collection; +use Illuminate\Support\Collection; use Illuminate\Http\Request; use Zoomyboy\Tex\Engine; use Zoomyboy\Tex\Template; class RemscheidDocument extends ContributionDocument { + /** + * @param Collection> $leaders + * @param Collection> $children + */ public function __construct( public string $dateFrom, public string $dateUntil, public string $zipLocation, public ?Country $country, - /* @var Collection> */ public Collection $leaders, - /* @var Collection> */ public Collection $children, public ?string $filename = '', public string $type = 'F', @@ -45,8 +47,8 @@ class RemscheidDocument extends ContributionDocument dateUntil: $request->dateUntil, zipLocation: $request->zipLocation, country: Country::where('id', $request->country)->firstOrFail(), - leaders: $leaders->values()->chunk(6), - children: $children->values()->chunk(20), + leaders: $leaders->values()->toBase()->chunk(6), + children: $children->values()->toBase()->chunk(20), ); } diff --git a/app/Contribution/Documents/SolingenDocument.php b/app/Contribution/Documents/SolingenDocument.php index 3af1da57..7bc8f8fe 100644 --- a/app/Contribution/Documents/SolingenDocument.php +++ b/app/Contribution/Documents/SolingenDocument.php @@ -4,7 +4,7 @@ namespace App\Contribution\Documents; use App\Member\Member; use Carbon\Carbon; -use Illuminate\Database\Eloquent\Collection; +use Illuminate\Support\Collection; use Illuminate\Http\Request; use Illuminate\Support\Str; use Zoomyboy\Tex\Engine; @@ -12,11 +12,13 @@ use Zoomyboy\Tex\Template; class SolingenDocument extends ContributionDocument { + /** + * @param array $members + */ final private function __construct( public string $dateFrom, public string $dateUntil, public string $zipLocation, - /** @var array */ public array $members, public string $eventName, public string $type = 'F', @@ -35,11 +37,11 @@ class SolingenDocument extends ContributionDocument } /** - * @return Collection> + * @return Collection> */ public function memberModels(): Collection { - return Member::whereIn('id', $this->members)->orderByRaw('lastname, firstname')->get()->chunk(14); + return Member::whereIn('id', $this->members)->orderByRaw('lastname, firstname')->get()->toBase()->chunk(14); } public function niceEventFrom(): string diff --git a/app/Course/Models/CourseMember.php b/app/Course/Models/CourseMember.php index 8200bdb7..9d603a79 100644 --- a/app/Course/Models/CourseMember.php +++ b/app/Course/Models/CourseMember.php @@ -10,8 +10,12 @@ class CourseMember extends Model { use HasFactory; + /** @var array */ public $guarded = []; + /** + * @return BelongsTo + */ public function course(): BelongsTo { return $this->belongsTo(Course::class); diff --git a/app/Course/Resources/CourseResource.php b/app/Course/Resources/CourseResource.php index 9a2328dc..b990118e 100644 --- a/app/Course/Resources/CourseResource.php +++ b/app/Course/Resources/CourseResource.php @@ -14,7 +14,7 @@ class CourseResource extends JsonResource * * @param \Illuminate\Http\Request $request * - * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable + * @return array */ public function toArray($request) { diff --git a/app/Fee.php b/app/Fee.php index fdaa8802..8ac5b4e8 100644 --- a/app/Fee.php +++ b/app/Fee.php @@ -11,9 +11,15 @@ class Fee extends Model { use HasFactory; + /** @var array */ public $fillable = ['name', 'nami_id']; + + /** @var bool */ public $timestamps = false; + /** + * @return HasMany + */ public function subscriptions(): HasMany { return $this->hasMany(Subscription::class); diff --git a/app/Group.php b/app/Group.php index a6aa441a..1ccba31f 100644 --- a/app/Group.php +++ b/app/Group.php @@ -15,6 +15,9 @@ class Group extends Model public $fillable = ['nami_id', 'name', 'parent_id']; public $timestamps = false; + /** + * @return BelongsTo + */ public function parent(): BelongsTo { return $this->belongsTo(static::class, 'parent_id'); diff --git a/app/Letter/Page.php b/app/Letter/Page.php index 8f43494f..63811564 100644 --- a/app/Letter/Page.php +++ b/app/Letter/Page.php @@ -4,13 +4,12 @@ namespace App\Letter; use App\Member\Member; use App\Payment\Payment; -use Illuminate\Database\Eloquent\Collection; -use Illuminate\Support\Collection as BaseCollection; +use Illuminate\Support\Collection; class Page { /** - * @var Collection + * @var Collection */ private Collection $members; public string $familyName; @@ -26,7 +25,7 @@ class Page public array $positions; /** - * @param Collection $members + * @param Collection $members */ public function __construct(Collection $members) { @@ -63,9 +62,9 @@ class Page } /** - * @return BaseCollection + * @return Collection */ - public function getPayments(): BaseCollection + public function getPayments(): Collection { return $this->members->pluck('payments')->flatten(1); } diff --git a/app/Letter/Queries/LetterMemberQuery.php b/app/Letter/Queries/LetterMemberQuery.php index e3014e7f..3fdc6f41 100644 --- a/app/Letter/Queries/LetterMemberQuery.php +++ b/app/Letter/Queries/LetterMemberQuery.php @@ -34,7 +34,7 @@ abstract class LetterMemberQuery /** * @param class-string $type * - * @return EloquentCollection + * @return EloquentCollection */ private function get(string $type): EloquentCollection { diff --git a/app/Mailman/Support/MailmanService.php b/app/Mailman/Support/MailmanService.php index fdfdaba0..5bae0618 100644 --- a/app/Mailman/Support/MailmanService.php +++ b/app/Mailman/Support/MailmanService.php @@ -68,6 +68,9 @@ class MailmanService return Http::withBasicAuth($this->username, $this->password)->withOptions(['base_uri' => $this->baseUrl]); } + /** + * @return LazyCollection + */ public function getLists(): LazyCollection { return app(Paginator::class)->result( diff --git a/app/Member/Member.php b/app/Member/Member.php index 7d53c1bb..e455bbb7 100644 --- a/app/Member/Member.php +++ b/app/Member/Member.php @@ -5,6 +5,7 @@ namespace App\Member; use App\Confession; use App\Country; use App\Course\Models\CourseMember; +use App\Gender; use App\Group; use App\Letter\BillKind; use App\Nami\HasNamiField; @@ -82,13 +83,17 @@ class Member extends Model ]; } - public function scopeSearch(Builder $q, ?string $text): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeSearch(Builder $query, ?string $text): Builder { if (is_null($text)) { - return $q; + return $query; } - return $q->where('firstname', 'LIKE', '%'.$text.'%') + return $query->where('firstname', 'LIKE', '%'.$text.'%') ->orWhere('lastname', 'LIKE', '%'.$text.'%') ->orWhere('address', 'LIKE', '%'.$text.'%') ->orWhere('zip', 'LIKE', '%'.$text.'%') @@ -179,16 +184,25 @@ class Member extends Model } // ---------------------------------- Relations ---------------------------------- + /** + * @return BelongsTo + */ public function country(): BelongsTo { return $this->belongsTo(Country::class); } + /** + * @return BelongsTo + */ public function gender(): BelongsTo { - return $this->belongsTo(\App\Gender::class); + return $this->belongsTo(Gender::class); } + /** + * @return BelongsTo + */ public function region(): BelongsTo { return $this->belongsTo(Region::class)->withDefault([ @@ -197,41 +211,62 @@ class Member extends Model ]); } + /** + * @return BelongsTo + */ public function confession(): BelongsTo { return $this->belongsTo(Confession::class); } - public function payments(): HasMany - { - return $this->hasMany(Payment::class)->orderBy('nr'); - } - + /** + * @return BelongsTo + */ public function nationality(): BelongsTo { return $this->belongsTo(Nationality::class); } - public function memberships(): HasMany - { - return $this->hasMany(Membership::class); - } - + /** + * @return BelongsTo + */ public function subscription(): BelongsTo { return $this->belongsTo(Subscription::class); } + /** + * @return BelongsTo + */ public function group(): BelongsTo { return $this->belongsTo(Group::class); } + /** + * @return HasMany + */ public function courses(): HasMany { return $this->hasMany(CourseMember::class); } + /** + * @return HasMany + */ + public function memberships(): HasMany + { + return $this->hasMany(Membership::class); + } + + /** + * @return HasMany + */ + public function payments(): HasMany + { + return $this->hasMany(Payment::class)->orderBy('nr'); + } + /** * @return HasMany */ @@ -257,19 +292,31 @@ class Member extends Model } // ---------------------------------- Scopes ----------------------------------- - public function scopeOrdered(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeOrdered(Builder $query): Builder { - return $q->orderByRaw('lastname, firstname'); + return $query->orderByRaw('lastname, firstname'); } - public function scopeSlangOrdered(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeSlangOrdered(Builder $query): Builder { - return $q->orderByRaw('firstname, lastname'); + return $query->orderByRaw('firstname, lastname'); } - public function scopeWithPendingPayment(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeWithPendingPayment(Builder $query): Builder { - return $q->addSelect([ + return $query->addSelect([ 'pending_payment' => Payment::selectRaw('SUM(subscription_children.amount)') ->whereColumn('payments.member_id', 'members.id') ->whereNeedsPayment() @@ -278,47 +325,73 @@ class Member extends Model ]); } - public function scopeWhereHasPendingPayment(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeWhereHasPendingPayment(Builder $query): Builder { - return $q->whereHas('payments', function (Builder $q): void { + return $query->whereHas('payments', function (Builder $q): void { $q->whereNeedsPayment(); }); } - public function scopeWhereAusstand(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeWhereAusstand(Builder $query): Builder { - return $q->whereHas('payments', function ($q) { + return $query->whereHas('payments', function ($q) { return $q->whereHas('status', fn ($q) => $q->where('is_remember', true)); }); } - public function scopePayable(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopePayable(Builder $query): Builder { - return $q->where('bill_kind', '!=', null)->where('subscription_id', '!=', null); + return $query->where('bill_kind', '!=', null)->where('subscription_id', '!=', null); } - public function scopeWhereNoPayment(Builder $q, int $year): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeWhereNoPayment(Builder $query, int $year): Builder { - return $q->whereDoesntHave('payments', function (Builder $q) use ($year) { + return $query->whereDoesntHave('payments', function (Builder $q) use ($year) { $q->where('nr', '=', $year); }); } - public function scopeForDashboard(Builder $q): Builder + /** + * @param Builder $query + * @return Builder + */ + public function scopeForDashboard(Builder $query): Builder { - return $q->selectRaw('SUM(id)'); + return $query->selectRaw('SUM(id)'); } - public function scopeFilter(Builder $q, array $filter): Builder + /** + * @todo refactor this to an actual filter model + * @param Builder $query + * @param array $filter + * @return Builder + */ + public function scopeFilter(Builder $query, array $filter): Builder { if (true === data_get($filter, 'ausstand', false)) { - $q->whereAusstand(); + $query->whereAusstand(); } if (data_get($filter, 'bill_kind', false)) { - $q->where('bill_kind', BillKind::fromValue($filter['bill_kind'])); + $query->where('bill_kind', BillKind::fromValue($filter['bill_kind'])); } if (data_get($filter, 'subactivity_id', false) || data_get($filter, 'activity_id', false)) { - $q->whereHas('memberships', function ($q) use ($filter) { + $query->whereHas('memberships', function ($q) use ($filter) { if (data_get($filter, 'subactivity_id', false)) { $q->where('subactivity_id', $filter['subactivity_id']); } @@ -328,7 +401,7 @@ class Member extends Model }); } - return $q; + return $query; } public static function fromVcard(string $url, string $data): static diff --git a/app/Member/MemberResource.php b/app/Member/MemberResource.php index 972977d8..58a88678 100644 --- a/app/Member/MemberResource.php +++ b/app/Member/MemberResource.php @@ -20,7 +20,7 @@ class MemberResource extends JsonResource * * @param \Illuminate\Http\Request $request * - * @return array + * @return array */ public function toArray($request) { diff --git a/app/Member/Membership.php b/app/Member/Membership.php index bb8631e3..3423ba8e 100644 --- a/app/Member/Membership.php +++ b/app/Member/Membership.php @@ -18,22 +18,27 @@ class Membership extends Model use HasFactory; use HasNamiField; + /** @var array */ public $fillable = ['subactivity_id', 'activity_id', 'group_id', 'member_id', 'nami_id', 'from', 'to', 'promised_at']; - /** - * @var array - */ + /** @var array */ public $casts = [ 'from' => 'date', 'to' => 'date', 'promised_at' => 'date', ]; + /** + * @return BelongsTo + */ public function activity(): BelongsTo { return $this->belongsTo(Activity::class); } + /** + * @return BelongsTo + */ public function subactivity(): BelongsTo { return $this->belongsTo(Subactivity::class); diff --git a/app/Payment/ActionFactory.php b/app/Payment/ActionFactory.php index 7e0ab37c..4502b785 100644 --- a/app/Payment/ActionFactory.php +++ b/app/Payment/ActionFactory.php @@ -7,6 +7,9 @@ use Illuminate\Support\Collection; class ActionFactory { + /** + * @return Collection + */ public function allLinks(): Collection { return app(DocumentFactory::class)->getTypes()->map(function ($repo) { diff --git a/app/Payment/Actions/AllpaymentStoreAction.php b/app/Payment/Actions/AllpaymentStoreAction.php index 66dfd68a..2509d65c 100644 --- a/app/Payment/Actions/AllpaymentStoreAction.php +++ b/app/Payment/Actions/AllpaymentStoreAction.php @@ -67,7 +67,7 @@ class AllpaymentStoreAction } /** - * @return Collection + * @return Collection */ public function promisedMemberships(Member $member, int $year): Collection { diff --git a/app/Payment/Payment.php b/app/Payment/Payment.php index 2ef22c2c..5035ba77 100644 --- a/app/Payment/Payment.php +++ b/app/Payment/Payment.php @@ -14,38 +14,62 @@ class Payment extends Model public $fillable = ['member_id', 'subscription_id', 'nr', 'status_id', 'last_remembered_at']; + /** + * @return BelongsTo + */ public function member(): BelongsTo { return $this->belongsTo(Member::class); } + /** + * @return BelongsTo + */ public function subscription(): BelongsTo { return $this->belongsTo(Subscription::class); } + /** + * @return BelongsTo + */ public function status(): BelongsTo { return $this->belongsTo(Status::class); } - public function scopeWhereNeedsPayment(Builder $q): Builder + /** + * @param Builder $query + * + * @return Builder + */ + public function scopeWhereNeedsPayment(Builder $query): Builder { - return $q->whereHas('status', function ($q) { + return $query->whereHas('status', function ($q) { return $q->needsPayment(); }); } - public function scopeWhereNeedsBill(Builder $q): Builder + /** + * @param Builder $query + * + * @return Builder + */ + public function scopeWhereNeedsBill(Builder $query): Builder { - return $q->whereHas('status', function ($q) { + return $query->whereHas('status', function ($q) { return $q->where('is_bill', true); }); } - public function scopeWhereNeedsRemember(Builder $q): Builder + /** + * @param Builder $query + * + * @return Builder + */ + public function scopeWhereNeedsRemember(Builder $query): Builder { - return $q->whereHas('status', function ($q) { + return $query->whereHas('status', function ($q) { return $q->where('is_remember', true); })->where(fn ($query) => $query->whereNull('last_remembered_at')->orWhere('last_remembered_at', '<=', now()->subMonths(3))); } diff --git a/app/Payment/Status.php b/app/Payment/Status.php index 5f0ce05e..876fb476 100644 --- a/app/Payment/Status.php +++ b/app/Payment/Status.php @@ -28,6 +28,10 @@ class Status extends Model } // ---------------------------------- Scopes ----------------------------------- + /** + * @param Builder $query + * @return Builder + */ public function scopeNeedsPayment(Builder $query): Builder { return $query->where(function (Builder $query): Builder { diff --git a/app/Payment/Subscription.php b/app/Payment/Subscription.php index c707d684..e1347cfb 100644 --- a/app/Payment/Subscription.php +++ b/app/Payment/Subscription.php @@ -30,11 +30,17 @@ class Subscription extends Model return $this->children->sum('amount'); } + /** + * @return BelongsTo + */ public function fee(): BelongsTo { return $this->belongsTo(Fee::class); } + /** + * @return HasMany + */ public function children(): HasMany { return $this->hasMany(SubscriptionChild::class, 'parent_id'); diff --git a/app/Region.php b/app/Region.php index 0a46a05f..b505c45b 100644 --- a/app/Region.php +++ b/app/Region.php @@ -2,7 +2,7 @@ namespace App; -use Illuminate\Database\Eloquent\Collection; +use Illuminate\Support\Collection; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -17,6 +17,9 @@ class Region extends Model 'is_null' => 'boolean', ]; + /** + * @return Collection + */ public static function forSelect(): Collection { return static::select('id', 'name')->get(); diff --git a/app/Subactivity.php b/app/Subactivity.php index 12a89f90..723a9ce7 100644 --- a/app/Subactivity.php +++ b/app/Subactivity.php @@ -31,6 +31,9 @@ class Subactivity extends Model ]; } + /** + * @return BelongsToMany + */ public function activities(): BelongsToMany { return $this->belongsToMany(Activity::class); diff --git a/composer.json b/composer.json index 6d1705f9..a98b6580 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,7 @@ "fakerphp/faker": "^1.9.1", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.4", - "nunomaduro/larastan": "^1.0", + "nunomaduro/larastan": "*", "orchestra/testbench": "^7.0", "phpstan/phpstan": "^1.8.10", "phpunit/phpunit": "^9.5.10" diff --git a/composer.lock b/composer.lock index be57562b..eec577e3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3f92cd2d13ef34d0928579c8f1ea9df9", + "content-hash": "88b1ba728ae191dbe5c7e953f0726aa7", "packages": [ { "name": "amphp/amp", @@ -559,22 +559,22 @@ }, { "name": "beyondcode/laravel-dump-server", - "version": "1.8.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "33a19c632655c1d4f16c0bc67ce6ba0504116b8a" + "reference": "1f2452617afc64e47b3cf49978beb7beeef084df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/33a19c632655c1d4f16c0bc67ce6ba0504116b8a", - "reference": "33a19c632655c1d4f16c0bc67ce6ba0504116b8a", + "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/1f2452617afc64e47b3cf49978beb7beeef084df", + "reference": "1f2452617afc64e47b3cf49978beb7beeef084df", "shasum": "" }, "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", + "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0|^10.0", "php": ">=7.2.5", "symfony/var-dumper": "^5.0|^6.0" }, @@ -618,9 +618,9 @@ ], "support": { "issues": "https://github.com/beyondcode/laravel-dump-server/issues", - "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.8.0" + "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.9.0" }, - "time": "2022-02-12T12:37:34+00:00" + "time": "2023-02-15T10:29:26+00:00" }, { "name": "brick/math", @@ -2364,16 +2364,16 @@ }, { "name": "laravel/framework", - "version": "v9.51.0", + "version": "v9.52.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "b81123134349a013a738a9f7f715c6ce99d5a414" + "reference": "eb85cd9d72e5bfa54b4d0d9040786f26d6184a9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/b81123134349a013a738a9f7f715c6ce99d5a414", - "reference": "b81123134349a013a738a9f7f715c6ce99d5a414", + "url": "https://api.github.com/repos/laravel/framework/zipball/eb85cd9d72e5bfa54b4d0d9040786f26d6184a9e", + "reference": "eb85cd9d72e5bfa54b4d0d9040786f26d6184a9e", "shasum": "" }, "require": { @@ -2558,20 +2558,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-02-07T15:37:18+00:00" + "time": "2023-02-14T14:51:14+00:00" }, { "name": "laravel/horizon", - "version": "v5.14.1", + "version": "v5.14.2", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "a990617de27700df73841f6ccaff46e09ba9ec3f" + "reference": "d41a14c601766af0e2cce9486fd5dd143688c25f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/a990617de27700df73841f6ccaff46e09ba9ec3f", - "reference": "a990617de27700df73841f6ccaff46e09ba9ec3f", + "url": "https://api.github.com/repos/laravel/horizon/zipball/d41a14c601766af0e2cce9486fd5dd143688c25f", + "reference": "d41a14c601766af0e2cce9486fd5dd143688c25f", "shasum": "" }, "require": { @@ -2633,9 +2633,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.14.1" + "source": "https://github.com/laravel/horizon/tree/v5.14.2" }, - "time": "2023-02-07T14:56:05+00:00" + "time": "2023-02-10T15:40:38+00:00" }, { "name": "laravel/serializable-closure", @@ -2699,16 +2699,16 @@ }, { "name": "laravel/telescope", - "version": "v4.13.1", + "version": "v4.13.2", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "f8afaccfb5b636aa20735e0a390ab312a6f57c65" + "reference": "34a259cf19a73cc3b9b31f49c3c85595afcfbb70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/f8afaccfb5b636aa20735e0a390ab312a6f57c65", - "reference": "f8afaccfb5b636aa20735e0a390ab312a6f57c65", + "url": "https://api.github.com/repos/laravel/telescope/zipball/34a259cf19a73cc3b9b31f49c3c85595afcfbb70", + "reference": "34a259cf19a73cc3b9b31f49c3c85595afcfbb70", "shasum": "" }, "require": { @@ -2762,9 +2762,9 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v4.13.1" + "source": "https://github.com/laravel/telescope/tree/v4.13.2" }, - "time": "2023-02-06T14:37:41+00:00" + "time": "2023-02-16T15:32:51+00:00" }, { "name": "laravel/tinker", @@ -2897,16 +2897,16 @@ }, { "name": "league/commonmark", - "version": "2.3.8", + "version": "2.3.9", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47" + "reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c493585c130544c4e91d2e0e131e6d35cb0cbc47", - "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c1e114f74e518daca2729ea8c4bf1167038fa4b5", + "reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5", "shasum": "" }, "require": { @@ -2999,7 +2999,7 @@ "type": "tidelift" } ], - "time": "2022-12-10T16:02:17+00:00" + "time": "2023-02-15T14:07:24+00:00" }, { "name": "league/config", @@ -6435,16 +6435,16 @@ }, { "name": "spatie/laravel-medialibrary", - "version": "10.7.10", + "version": "10.7.11", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "5c9fb62f8d4019e7fc2741d9812849661d78ed15" + "reference": "a6d562d2226c2b339db8299a3a02bacd031edabf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/5c9fb62f8d4019e7fc2741d9812849661d78ed15", - "reference": "5c9fb62f8d4019e7fc2741d9812849661d78ed15", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/a6d562d2226c2b339db8299a3a02bacd031edabf", + "reference": "a6d562d2226c2b339db8299a3a02bacd031edabf", "shasum": "" }, "require": { @@ -6527,7 +6527,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/10.7.10" + "source": "https://github.com/spatie/laravel-medialibrary/tree/10.7.11" }, "funding": [ { @@ -6539,7 +6539,7 @@ "type": "github" } ], - "time": "2023-01-19T07:58:23+00:00" + "time": "2023-02-17T08:44:20+00:00" }, { "name": "spatie/laravel-package-tools", @@ -9592,635 +9592,6 @@ } ], "packages-dev": [ - { - "name": "composer/ca-bundle", - "version": "1.3.5", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "74780ccf8c19d6acb8d65c5f39cd72110e132bbd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/74780ccf8c19d6acb8d65c5f39cd72110e132bbd", - "reference": "74780ccf8c19d6acb8d65c5f39cd72110e132bbd", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-01-11T08:27:00+00:00" - }, - { - "name": "composer/class-map-generator", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/1e1cb2b791facb2dfe32932a7718cf2571187513", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513", - "shasum": "" - }, - "require": { - "composer/pcre": "^2 || ^3", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6" - }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], - "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-06-19T11:31:27+00:00" - }, - { - "name": "composer/composer", - "version": "2.5.3", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab", - "reference": "607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/class-map-generator": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/pcre": "^2.1 || ^3.1", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.5.7", - "composer/xdebug-handler": "^2.0.2 || ^3.0.3", - "justinrainbow/json-schema": "^5.2.11", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "react/promise": "^2.8", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.2", - "seld/signal-handler": "^2.0", - "symfony/console": "^5.4.11 || ^6.0.11", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/polyfill-php73": "^1.24", - "symfony/polyfill-php80": "^1.24", - "symfony/polyfill-php81": "^1.24", - "symfony/process": "^5.4 || ^6.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.9.3", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10", - "symfony/phpunit-bridge": "^6.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "phpstan": { - "includes": [ - "phpstan/rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.5.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-02-10T12:23:52+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-11-17T09:50:14+00:00" - }, - { - "name": "composer/semver", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-04-01T19:23:25+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.7", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "c848241796da2abf65837d51dce1fae55a960149" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", - "reference": "c848241796da2abf65837d51dce1fae55a960149", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.7" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-05-23T07:37:50+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, { "name": "fakerphp/faker", "version": "v1.21.0", @@ -10340,88 +9711,18 @@ }, "time": "2020-07-09T08:09:16+00:00" }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.12", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" - }, - "time": "2022-04-13T08:02:27+00:00" - }, { "name": "laravel/sail", - "version": "v1.20.1", + "version": "v1.20.2", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "4b85dbfa3dceeaf7227e3029707562fd60297e86" + "reference": "5ae072b182b1efbec927409e8a3ce3b1078cc42c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/4b85dbfa3dceeaf7227e3029707562fd60297e86", - "reference": "4b85dbfa3dceeaf7227e3029707562fd60297e86", + "url": "https://api.github.com/repos/laravel/sail/zipball/5ae072b182b1efbec927409e8a3ce3b1078cc42c", + "reference": "5ae072b182b1efbec927409e8a3ce3b1078cc42c", "shasum": "" }, "require": { @@ -10469,7 +9770,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2023-02-08T02:08:37+00:00" + "time": "2023-02-08T20:22:21+00:00" }, { "name": "mockery/mockery", @@ -10604,37 +9905,35 @@ }, { "name": "nunomaduro/larastan", - "version": "1.0.4", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/larastan.git", - "reference": "769bc6346a6cce3b823c30eaace33d9c3a0dd40e" + "reference": "238fdbfba3aae133cdec73e99826c9b0232141f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/769bc6346a6cce3b823c30eaace33d9c3a0dd40e", - "reference": "769bc6346a6cce3b823c30eaace33d9c3a0dd40e", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/238fdbfba3aae133cdec73e99826c9b0232141f7", + "reference": "238fdbfba3aae133cdec73e99826c9b0232141f7", "shasum": "" }, "require": { - "composer/composer": "^1.0 || ^2.0", "ext-json": "*", - "illuminate/console": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/container": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/contracts": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/database": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/http": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/pipeline": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "mockery/mockery": "^0.9 || ^1.0", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.0 <1.9", - "symfony/process": "^4.3 || ^5.0 || ^6.0" + "illuminate/console": "^9.47.0 || ^10.0.0", + "illuminate/container": "^9.47.0 || ^10.0.0", + "illuminate/contracts": "^9.47.0 || ^10.0.0", + "illuminate/database": "^9.47.0 || ^10.0.0", + "illuminate/http": "^9.47.0 || ^10.0.0", + "illuminate/pipeline": "^9.47.0 || ^10.0.0", + "illuminate/support": "^9.47.0 || ^10.0.0", + "php": "^8.0.2", + "phpmyadmin/sql-parser": "^5.6.0", + "phpstan/phpstan": "^1.9.8" }, "require-dev": { - "nikic/php-parser": "^4.13.0", - "orchestra/testbench": "^4.0 || ^5.0 || ^6.0 || ^7.0", - "phpunit/phpunit": "^7.3 || ^8.2 || ^9.3" + "nikic/php-parser": "^4.15.2", + "orchestra/testbench": "^7.19.0|^8.0.0", + "phpunit/phpunit": "^9.5.27" }, "suggest": { "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" @@ -10642,7 +9941,7 @@ "type": "phpstan-extension", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" }, "phpstan": { "includes": [ @@ -10678,7 +9977,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/larastan/issues", - "source": "https://github.com/nunomaduro/larastan/tree/1.0.4" + "source": "https://github.com/nunomaduro/larastan/tree/2.4.1" }, "funding": [ { @@ -10698,7 +9997,7 @@ "type": "patreon" } ], - "time": "2022-11-09T09:09:31+00:00" + "time": "2023-02-05T12:19:17+00:00" }, { "name": "orchestra/testbench", @@ -10957,17 +10256,104 @@ "time": "2022-02-21T01:04:05+00:00" }, { - "name": "phpstan/phpstan", - "version": "1.8.11", + "name": "phpmyadmin/sql-parser", + "version": "5.7.0", "source": { "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "46e223dd68a620da18855c23046ddb00940b4014" + "url": "https://github.com/phpmyadmin/sql-parser.git", + "reference": "0f5895aab2b6002d00b6831b60983523dea30bff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014", - "reference": "46e223dd68a620da18855c23046ddb00940b4014", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/0f5895aab2b6002d00b6831b60983523dea30bff", + "reference": "0f5895aab2b6002d00b6831b60983523dea30bff", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "phpmyadmin/motranslator": "<3.0" + }, + "require-dev": { + "phpbench/phpbench": "^1.1", + "phpmyadmin/coding-standard": "^3.0", + "phpmyadmin/motranslator": "^4.0 || ^5.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.9.12", + "phpstan/phpstan-phpunit": "^1.3.3", + "phpunit/php-code-coverage": "*", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "^0.16.1", + "vimeo/psalm": "^4.11", + "zumba/json-serializer": "^3.0" + }, + "suggest": { + "ext-mbstring": "For best performance", + "phpmyadmin/motranslator": "Translate messages to your favorite locale" + }, + "bin": [ + "bin/highlight-query", + "bin/lint-query", + "bin/tokenize-query" + ], + "type": "library", + "autoload": { + "psr-4": { + "PhpMyAdmin\\SqlParser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "The phpMyAdmin Team", + "email": "developers@phpmyadmin.net", + "homepage": "https://www.phpmyadmin.net/team/" + } + ], + "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", + "homepage": "https://github.com/phpmyadmin/sql-parser", + "keywords": [ + "analysis", + "lexer", + "parser", + "query linter", + "sql", + "sql lexer", + "sql linter", + "sql parser", + "sql syntax highlighter", + "sql tokenizer" + ], + "support": { + "issues": "https://github.com/phpmyadmin/sql-parser/issues", + "source": "https://github.com/phpmyadmin/sql-parser" + }, + "funding": [ + { + "url": "https://www.phpmyadmin.net/donate/", + "type": "other" + } + ], + "time": "2023-01-25T10:43:40+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.9.18", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "f2d5cf71be91172a57c649770b73c20ebcffb0bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f2d5cf71be91172a57c649770b73c20ebcffb0bf", + "reference": "f2d5cf71be91172a57c649770b73c20ebcffb0bf", "shasum": "" }, "require": { @@ -10997,7 +10383,7 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.11" + "source": "https://github.com/phpstan/phpstan/tree/1.9.18" }, "funding": [ { @@ -11013,7 +10399,7 @@ "type": "tidelift" } ], - "time": "2022-10-24T15:45:13+00:00" + "time": "2023-02-17T15:01:27+00:00" }, { "name": "phpunit/php-code-coverage", @@ -11488,82 +10874,6 @@ }, "time": "2021-10-28T11:13:42+00:00" }, - { - "name": "react/promise", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.9.0" - }, - "funding": [ - { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-02-11T10:27:51+00:00" - }, { "name": "sebastian/cli-parser", "version": "1.0.1", @@ -12248,179 +11558,6 @@ ], "time": "2020-09-28T06:39:44+00:00" }, - { - "name": "seld/jsonlint", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "4211420d25eba80712bff236a98960ef68b866b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", - "reference": "4211420d25eba80712bff236a98960ef68b866b7", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2022-04-01T13:37:23+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" - }, - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "seld/signal-handler", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "f69d119511dc0360440cdbdaa71829c149b7be75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/f69d119511dc0360440cdbdaa71829c149b7be75", - "reference": "f69d119511dc0360440cdbdaa71829c149b7be75", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\Signal\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", - "keywords": [ - "posix", - "sigint", - "signal", - "sigterm", - "unix" - ], - "support": { - "issues": "https://github.com/Seldaek/signal-handler/issues", - "source": "https://github.com/Seldaek/signal-handler/tree/2.0.1" - }, - "time": "2022-07-20T18:31:45+00:00" - }, { "name": "spatie/laravel-ray", "version": "1.32.2", @@ -12632,69 +11769,6 @@ ], "time": "2023-02-10T09:24:13+00:00" }, - { - "name": "symfony/filesystem", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e59e8a4006afd7f5654786a83b4fcb8da98f4593", - "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-20T17:45:48+00:00" - }, { "name": "symfony/polyfill-iconv", "version": "v1.27.0", @@ -12778,164 +11852,6 @@ ], "time": "2022-11-03T14:55:06+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, { "name": "symfony/stopwatch", "version": "v6.2.5", @@ -13124,16 +12040,16 @@ }, { "name": "zbateson/mail-mime-parser", - "version": "2.3.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/zbateson/mail-mime-parser.git", - "reference": "d59e0c5eeb1442fca94bcb3b9d3c6be66318a500" + "reference": "20b3e48eb799537683780bc8782fbbe9bc25934a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/d59e0c5eeb1442fca94bcb3b9d3c6be66318a500", - "reference": "d59e0c5eeb1442fca94bcb3b9d3c6be66318a500", + "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/20b3e48eb799537683780bc8782fbbe9bc25934a", + "reference": "20b3e48eb799537683780bc8782fbbe9bc25934a", "shasum": "" }, "require": { @@ -13195,7 +12111,7 @@ "type": "github" } ], - "time": "2023-01-30T19:04:55+00:00" + "time": "2023-02-14T22:58:03+00:00" }, { "name": "zbateson/mb-wrapper", @@ -13330,14 +12246,7 @@ "time": "2023-01-11T23:22:44+00:00" } ], - "aliases": [ - { - "package": "zoomyboy/tex", - "version": "dev-main", - "alias": "1.0", - "alias_normalized": "1.0.0.0" - } - ], + "aliases": [], "minimum-stability": "dev", "stability-flags": { "zoomyboy/laravel-nami": 20, diff --git a/database/factories/ConfessionFactory.php b/database/factories/ConfessionFactory.php index 18bfc3a2..4d8a3816 100644 --- a/database/factories/ConfessionFactory.php +++ b/database/factories/ConfessionFactory.php @@ -5,6 +5,9 @@ namespace Database\Factories; use App\Confession; use Illuminate\Database\Eloquent\Factories\Factory; +/** + * @extends Factory + */ class ConfessionFactory extends Factory { protected $model = Confession::class; diff --git a/database/factories/Course/Models/CourseMemberFactory.php b/database/factories/Course/Models/CourseMemberFactory.php index abac0627..c74667e3 100644 --- a/database/factories/Course/Models/CourseMemberFactory.php +++ b/database/factories/Course/Models/CourseMemberFactory.php @@ -5,6 +5,9 @@ namespace Database\Factories\Course\Models; use App\Course\Models\CourseMember; use Illuminate\Database\Eloquent\Factories\Factory; +/** + * @extends Factory + */ class CourseMemberFactory extends Factory { public $model = CourseMember::class; diff --git a/database/factories/GenderFactory.php b/database/factories/GenderFactory.php index 2d0fb74d..ff269acf 100644 --- a/database/factories/GenderFactory.php +++ b/database/factories/GenderFactory.php @@ -2,10 +2,11 @@ namespace Database\Factories; +use App\Gender; use Illuminate\Database\Eloquent\Factories\Factory; /** - * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Gender> + * @extends Factory */ class GenderFactory extends Factory { diff --git a/database/factories/Payment/PaymentFactory.php b/database/factories/Payment/PaymentFactory.php index d28112c3..0499e0e1 100644 --- a/database/factories/Payment/PaymentFactory.php +++ b/database/factories/Payment/PaymentFactory.php @@ -9,6 +9,9 @@ use App\Payment\Subscription; use Illuminate\Database\Eloquent\Factories\Factory; use Tests\RequestFactories\Child; +/** + * @extends Factory + */ class PaymentFactory extends Factory { protected $model = Payment::class; diff --git a/database/factories/Payment/StatusFactory.php b/database/factories/Payment/StatusFactory.php index a521069e..19ee114f 100644 --- a/database/factories/Payment/StatusFactory.php +++ b/database/factories/Payment/StatusFactory.php @@ -5,6 +5,9 @@ namespace Database\Factories\Payment; use App\Payment\Status; use Illuminate\Database\Eloquent\Factories\Factory; +/** + * @extends Factory + */ class StatusFactory extends Factory { public $model = Status::class; diff --git a/database/factories/Payment/SubscriptionFactory.php b/database/factories/Payment/SubscriptionFactory.php index b8575eb5..cd7c21e3 100644 --- a/database/factories/Payment/SubscriptionFactory.php +++ b/database/factories/Payment/SubscriptionFactory.php @@ -8,6 +8,9 @@ use App\Payment\SubscriptionChild; use Illuminate\Database\Eloquent\Factories\Factory; use Tests\RequestFactories\Child; +/** + * @extends Factory + */ class SubscriptionFactory extends Factory { protected $model = Subscription::class; diff --git a/packages/laravel-nami b/packages/laravel-nami index 3c3d0df5..0ee77550 160000 --- a/packages/laravel-nami +++ b/packages/laravel-nami @@ -1 +1 @@ -Subproject commit 3c3d0df50e56ce09a09f8624e9491fdd43369dfa +Subproject commit 0ee77550774715324e2fa66ca2b821d8a0e19880 diff --git a/packages/tex b/packages/tex index f075f675..6f162102 160000 --- a/packages/tex +++ b/packages/tex @@ -1 +1 @@ -Subproject commit f075f67526bf0650a04fd2d3dd60ebbd74d43675 +Subproject commit 6f162102ef7ceca41822d18c3e694abd926f550b diff --git a/phpstan.neon b/phpstan.neon index 8b4fe328..35b83f66 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -20,11 +20,6 @@ parameters: count: 1 path: app/Activity.php - - - message: "#^Property App\\\\Activity\\:\\:\\$casts type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Activity.php - - message: "#^Unable to resolve the template type TKey in call to function collect$#" count: 1 @@ -35,11 +30,6 @@ parameters: count: 1 path: app/Course/Requests/StoreRequest.php - - - message: "#^Method App\\\\Course\\\\Resources\\\\CourseResource\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Course/Resources/CourseResource.php - - message: "#^Method App\\\\Dav\\\\AddressBookBackend\\:\\:getCard\\(\\) should return M of array\\{lastmodified\\: int, etag\\: string, uri\\: string, id\\: int, size\\: int\\} but returns false\\.$#" count: 1 @@ -140,12 +130,7 @@ parameters: count: 1 path: app/Member/Member.php - - - message: "#^Method App\\\\Member\\\\Member\\:\\:scopeFilter\\(\\) has parameter \\$filter with no value type specified in iterable type array\\.$#" - count: 1 - path: app/Member/Member.php - - - + - message: "#^Unsafe usage of new static\\(\\)\\.$#" count: 1 path: app/Member/Member.php @@ -160,11 +145,6 @@ parameters: count: 1 path: app/Member/MemberRequest.php - - - message: "#^Method App\\\\Member\\\\MemberResource\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Member/MemberResource.php - - message: "#^Method App\\\\Membership\\\\MembershipResource\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -175,11 +155,6 @@ parameters: count: 1 path: app/Payment/PaymentResource.php - - - message: "#^Property App\\\\Payment\\\\Status\\:\\:\\$casts type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Payment/Status.php - - message: "#^Method App\\\\Payment\\\\SubscriptionResource\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -195,21 +170,11 @@ parameters: count: 1 path: app/Providers/AuthServiceProvider.php - - - message: "#^Property App\\\\Region\\:\\:\\$casts type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Region.php - - message: "#^Method App\\\\Subactivity\\:\\:sluggable\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 path: app/Subactivity.php - - - message: "#^Property App\\\\Subactivity\\:\\:\\$casts type has no value type specified in iterable type array\\.$#" - count: 1 - path: app/Subactivity.php - - message: "#^Method Database\\\\Factories\\\\ActivityFactory\\:\\:definition\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -279,11 +244,6 @@ parameters: count: 1 path: tests/TestCase.php - - - message: "#^Access to an undefined property Illuminate\\\\Database\\\\Eloquent\\\\Model\\:\\:\\$nami_id\\.$#" - count: 1 - path: tests/Unit/InitializeGroupsTest.php - - message: "#^Parameter \\#1 \\$api of class App\\\\Initialize\\\\InitializeGroups constructor expects Zoomyboy\\\\LaravelNami\\\\Api, PHPUnit\\\\Framework\\\\MockObject\\\\Stub given\\.$#" count: 6 @@ -294,46 +254,6 @@ parameters: count: 1 path: tests/Unit/Mailman/ServiceTest.php - - - message: "#^Property Zoomyboy\\\\LaravelNami\\\\Authentication\\\\FakeCookie\\:\\:\\$authenticated type has no value type specified in iterable type array\\.$#" - count: 1 - path: packages/laravel-nami/src/Authentication/FakeCookie.php - - - - message: "#^Property Zoomyboy\\\\LaravelNami\\\\Authentication\\\\FakeCookie\\:\\:\\$invalidAccounts type has no value type specified in iterable type array\\.$#" - count: 1 - path: packages/laravel-nami/src/Authentication/FakeCookie.php - - - - message: "#^Property Zoomyboy\\\\LaravelNami\\\\Authentication\\\\FakeCookie\\:\\:\\$validAccounts type has no value type specified in iterable type array\\.$#" - count: 1 - path: packages/laravel-nami/src/Authentication/FakeCookie.php - - - - message: "#^Method Zoomyboy\\\\LaravelNami\\\\Backend\\\\FakeBackend\\:\\:fakeSingleMembership\\(\\) has no return type specified\\.$#" - count: 1 - path: packages/laravel-nami/src/Backend/FakeBackend.php - - - - message: "#^Method Zoomyboy\\\\LaravelNami\\\\Backend\\\\FakeBackend\\:\\:fakeSingleMembership\\(\\) has parameter \\$data with no value type specified in iterable type array\\.$#" - count: 1 - path: packages/laravel-nami/src/Backend/FakeBackend.php - - - - message: "#^Return type of call to function collect contains unresolvable type\\.$#" - count: 1 - path: packages/laravel-nami/src/Backend/FakeBackend.php - - - - message: "#^Unable to resolve the template type TKey in call to function collect$#" - count: 1 - path: packages/laravel-nami/src/Backend/FakeBackend.php - - - - message: "#^Unable to resolve the template type TValue in call to function collect$#" - count: 1 - path: packages/laravel-nami/src/Backend/FakeBackend.php - - message: "#^Method Zoomyboy\\\\LaravelNami\\\\Confession\\:\\:fromNami\\(\\) has no return type specified\\.$#" count: 1 diff --git a/tests/Feature/Bill/SettingTest.php b/tests/Feature/Bill/SettingTest.php index 72546450..7cf32b00 100644 --- a/tests/Feature/Bill/SettingTest.php +++ b/tests/Feature/Bill/SettingTest.php @@ -49,7 +49,7 @@ class SettingTest extends TestCase $response = $this->get('/setting/bill'); - /** @var array */ + /** @var array */ $menus = $this->inertia($response, 'setting_menu'); $this->assertTrue( collect($menus) diff --git a/tests/Feature/Course/StoreTest.php b/tests/Feature/Course/StoreTest.php index 1461da64..1578b10c 100644 --- a/tests/Feature/Course/StoreTest.php +++ b/tests/Feature/Course/StoreTest.php @@ -98,7 +98,7 @@ class StoreTest extends TestCase public function testItThrowsErrorWhenLoginIsWrong(): void { - $this->login()->failedNami(); + $this->login()->withNamiSettings(); $member = Member::factory()->defaults()->inNami(123)->createOne(); $course = Course::factory()->inNami(456)->createOne(); diff --git a/tests/Feature/Course/UpdateTest.php b/tests/Feature/Course/UpdateTest.php index 08e9f386..1f05ea59 100644 --- a/tests/Feature/Course/UpdateTest.php +++ b/tests/Feature/Course/UpdateTest.php @@ -100,7 +100,7 @@ class UpdateTest extends TestCase public function testItThrowsErrorWhenLoginIsWrong(): void { - $this->login()->failedNami(); + $this->login()->withNamiSettings(); $member = Member::factory()->defaults()->inNami(123)->has(CourseMember::factory()->inNami(999)->for(Course::factory()), 'courses')->createOne(); $newCourse = Course::factory()->inNami(789)->create(); diff --git a/tests/Feature/Initialize/InitializeActionTest.php b/tests/Feature/Initialize/InitializeActionTest.php index 7985bc5b..38070879 100644 --- a/tests/Feature/Initialize/InitializeActionTest.php +++ b/tests/Feature/Initialize/InitializeActionTest.php @@ -53,7 +53,6 @@ class InitializeActionTest extends TestCase public function testItValidatesLogin(): void { $this->login(); - Auth::fails(12345, 'secret'); $response = $this->post('/initialize', $this->factory()->withCredentials(12345, 'secret')->create()); diff --git a/tests/Feature/Member/UpdateTest.php b/tests/Feature/Member/UpdateTest.php index 695d0ca3..674b4113 100644 --- a/tests/Feature/Member/UpdateTest.php +++ b/tests/Feature/Member/UpdateTest.php @@ -117,17 +117,22 @@ class UpdateTest extends TestCase private function fakeRequest(): void { Http::fake(function ($request) { - if ($request->url() === app(FakeBackend::class)->singleMemberUrl(10, 135) && 'GET' === $request->method()) { + if ($request->url() === $this->singleMemberUrl(10, 135) && 'GET' === $request->method()) { return Http::response('{ "success": true, "data": {"missingkey": "missingvalue", "kontoverbindung": {"a": "b"} } }', 200); } - if ($request->url() === app(FakeBackend::class)->singleMemberUrl(10, 135) && 'PUT' === $request->method() && 43 === $request['version']) { + if ($request->url() === $this->singleMemberUrl(10, 135) && 'PUT' === $request->method() && 43 === $request['version']) { return Http::response('{ "success": false, "message": "Update nicht möglich. Der Datensatz wurde zwischenzeitlich verändert." }', 200); } - if ($request->url() === app(FakeBackend::class)->singleMemberUrl(10, 135) && 'PUT' === $request->method()) { + if ($request->url() === $this->singleMemberUrl(10, 135) && 'PUT' === $request->method()) { return Http::response('{ "success": true, "data": { "version": 44 } }', 200); } }); } + + private function singleMemberUrl(int $gruppierungId, int $memberId): string + { + return "https://nami.dpsg.de/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/{$gruppierungId}/{$memberId}"; + } } diff --git a/tests/TestCase.php b/tests/TestCase.php index 07cb040b..55ef8a62 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -47,18 +47,6 @@ abstract class TestCase extends BaseTestCase return $this; } - public function failedNami(int $mglnr = 12345, string $password = 'password'): self - { - Auth::fails($mglnr, $password); - NamiSettings::fake([ - 'mglnr' => $mglnr, - 'password' => $password, - 'default_group_id' => 55, - ]); - - return $this; - } - public function login(): self { $this->be($user = User::factory()->create());