Compare commits

..

No commits in common. "bda8b9c293744c3fb29804ea5d8bb04834244f58" and "e345ace428417304061be1979cc43e5116f3af91" have entirely different histories.

7 changed files with 28 additions and 19 deletions

View File

@ -17,7 +17,7 @@ steps:
- composer install --ignore-platform-reqs --dev - composer install --ignore-platform-reqs --dev
- name: mysql_healthcheck - name: mysql_healthcheck
image: mysql:oracle image: mariadb/server:10.3
commands: commands:
- while ! mysqladmin ping -h db -u db -pdb --silent; do sleep 1; done - while ! mysqladmin ping -h db -u db -pdb --silent; do sleep 1; done
@ -29,11 +29,10 @@ steps:
- name: tests - name: tests
image: zoomyboy/adrema-base:latest image: zoomyboy/adrema-base:latest
commands: commands:
- echo 'memory_limit = 2G' >> /usr/local/etc/php/conf.d/99-custom-php-memlimit.ini; - php -d 'memory_limit=2G' artisan migrate
- php artisan migrate - php -d 'memory_limit=2G' artisan test
- php artisan test
- rm -f .env - rm -f .env
- vendor/bin/phpstan analyse - vendor/bin/phpstan analyse --memory-limit=2G
environment: environment:
APP_NAME: Scoutrobot APP_NAME: Scoutrobot
APP_KEY: APP_KEY:
@ -148,12 +147,12 @@ steps:
services: services:
- name: db - name: db
image: mariadb:10.3 image: mariadb/server:10.3
environment: environment:
MARIADB_DATABASE: db MARIADB_DATABASE: db
MARIADB_USER: db MARIADB_USER: db
MARIADB_PASSWORD: db MARIADB_PASSWORD: db
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: yes MARIADB_ALLOW_EMPTY_PASSWORD: yes
- name: redis - name: redis
image: redis image: redis

View File

@ -2,7 +2,7 @@
namespace App\Course\Actions; namespace App\Course\Actions;
use App\Course\Models\CourseMember; use App\Course\Models\Course;
use App\Course\Resources\CourseMemberResource; use App\Course\Resources\CourseMemberResource;
use App\Member\Member; use App\Member\Member;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@ -14,7 +14,7 @@ class CourseIndexAction
use AsAction; use AsAction;
/** /**
* @return Collection<int, CourseMember> * @return Collection<int, Course>
*/ */
public function handle(Member $member): Collection public function handle(Member $member): Collection
{ {

View File

@ -4,11 +4,15 @@ namespace App\Course\Actions;
use App\Course\Models\Course; use App\Course\Models\Course;
use App\Course\Models\CourseMember; use App\Course\Models\CourseMember;
use App\Course\Resources\CourseMemberResource;
use App\Lib\JobMiddleware\JobChannels; use App\Lib\JobMiddleware\JobChannels;
use App\Lib\JobMiddleware\WithJobState; use App\Lib\JobMiddleware\WithJobState;
use App\Lib\Queue\TracksJob; use App\Lib\Queue\TracksJob;
use App\Member\Member;
use App\Setting\NamiSettings; use App\Setting\NamiSettings;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Lorisleiva\Actions\ActionRequest; use Lorisleiva\Actions\ActionRequest;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
@ -18,7 +22,7 @@ class CourseUpdateAction
use TracksJob; use TracksJob;
/** /**
* @param array<string, string> $attributes * @return Collection<int, Course>
*/ */
public function handle(CourseMember $course, array $attributes): void public function handle(CourseMember $course, array $attributes): void
{ {

View File

@ -46,7 +46,7 @@ class StoreForGroupAction
]; ];
Membership::where($attributes)->active()->whereNotIn('member_id', $members)->get() Membership::where($attributes)->active()->whereNotIn('member_id', $members)->get()
->each(fn ($membership) => MembershipDestroyAction::run($membership->id)); ->each(fn ($membership) => MembershipDestroyAction::run($membership));
collect($members) collect($members)
->except(Membership::where($attributes)->active()->pluck('member_id')) ->except(Membership::where($attributes)->active()->pluck('member_id'))

View File

@ -7,6 +7,7 @@ use App\Lib\JobMiddleware\WithJobState;
use App\Lib\Queue\TracksJob; use App\Lib\Queue\TracksJob;
use App\Member\Member; use App\Member\Member;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Validation\Rules\In;
use Lorisleiva\Actions\ActionRequest; use Lorisleiva\Actions\ActionRequest;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
@ -15,16 +16,13 @@ class PaymentStoreAction
use AsAction; use AsAction;
use TracksJob; use TracksJob;
/**
* @param array<string, string> $attributes
*/
public function handle(Member $member, array $attributes): void public function handle(Member $member, array $attributes): void
{ {
$member->createPayment($attributes); $member->createPayment($attributes);
} }
/** /**
* @return array<string, string> * @return array<string, array<int, string|In>>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@ -7,6 +7,7 @@ use App\Lib\JobMiddleware\WithJobState;
use App\Lib\Queue\TracksJob; use App\Lib\Queue\TracksJob;
use App\Payment\Payment; use App\Payment\Payment;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Validation\Rules\In;
use Lorisleiva\Actions\ActionRequest; use Lorisleiva\Actions\ActionRequest;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
@ -15,16 +16,13 @@ class PaymentUpdateAction
use AsAction; use AsAction;
use TracksJob; use TracksJob;
/**
* @param array<string, string> $attributes
*/
public function handle(Payment $payment, array $attributes): void public function handle(Payment $payment, array $attributes): void
{ {
$payment->update($attributes); $payment->update($attributes);
} }
/** /**
* @return array<string, string> * @return array<string, array<int, string|In>>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@ -28,6 +28,16 @@ parameters:
count: 1 count: 1
path: app/Activity.php path: app/Activity.php
-
message: "#^Unable to resolve the template type TKey in call to function collect$#"
count: 1
path: app/Course/Requests/StoreRequest.php
-
message: "#^Unable to resolve the template type TValue in call to function collect$#"
count: 1
path: app/Course/Requests/StoreRequest.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\\.$#" 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 count: 1