diff --git a/.env.example b/.env.example index 027a9cb243..66a994748b 100644 --- a/.env.example +++ b/.env.example @@ -243,7 +243,7 @@ ALLOW_WEBHOOKS=false STATIC_CRON_TOKEN= # You can fine tune the start-up of a Docker container by editing these environment variables. -# Use this at your own risk. Disabling certain checks and features may result in lost of inconsistent data. +# Use this at your own risk. Disabling certain checks and features may result in lots of inconsistent data. # However if you know what you're doing you can significantly speed up container start times. # Set each value to true to enable, or false to disable. diff --git a/.github/security.md b/.github/security.md index 47ff2ced99..f7ca20f761 100644 --- a/.github/security.md +++ b/.github/security.md @@ -40,7 +40,7 @@ The Firefly III developer will respond to vulnerability reports as follows: 9. Once the fix is confirmed, the developer will patch the vulnerability in the next patch or minor release. Upon release of the patched version of Firefly III, we will follow the **Public Disclosure Process**. ### Public Disclosure Process -The developer publishes a public [advisory](https://github.com/firefly-iii/firefly-iii/security/advisories) to the Firefly III community via GitHub. In most cases, additional communication via Twitter, reddit and other channels will assist in educating Firefly III users and rolling out the patched release to affected users. +The developer publishes a public [advisory](https://github.com/firefly-iii/firefly-iii/security/advisories) to the Firefly III community via GitHub. In most cases, additional communication via Mastodon, Gitter and other channels will assist in educating Firefly III users and rolling out the patched release to affected users. The develop will also publish any mitigating steps users can take until the fix can be applied to their Firefly III instances. diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2581619f8c..142b371703 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,6 +2,7 @@ name: "Close stale issues" on: schedule: - cron: "30 1 * * *" + workflow_dispatch: permissions: contents: read @@ -13,7 +14,7 @@ jobs: pull-requests: write # for actions/stale to close stale PRs runs-on: ubuntu-latest steps: - - uses: actions/stale@v3 + - uses: actions/stale@v6 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: > diff --git a/app/Events/ChangedPiggyBankAmount.php b/app/Events/ChangedPiggyBankAmount.php new file mode 100644 index 0000000000..fd3462c5f0 --- /dev/null +++ b/app/Events/ChangedPiggyBankAmount.php @@ -0,0 +1,58 @@ +. + */ + +namespace FireflyIII\Events; + +use FireflyIII\Models\PiggyBank; +use FireflyIII\Models\TransactionGroup; +use FireflyIII\Models\TransactionJournal; +use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Log; + +/** + * Class ChangedPiggyBankAmount + */ +class ChangedPiggyBankAmount extends Event +{ + use SerializesModels; + + public PiggyBank $piggyBank; + public ?TransactionJournal $transactionJournal; + public ?TransactionGroup $transactionGroup; + public string $amount; + + /** + * Create a new event instance. + * + * @param PiggyBank $piggyBank + * @param string $amount + * @param TransactionJournal|null $transactionJournal + * @param TransactionGroup|null $transactionGroup + */ + public function __construct(PiggyBank $piggyBank, string $amount, ?TransactionJournal $transactionJournal, ?TransactionGroup $transactionGroup) + { + Log::debug(sprintf('Created piggy bank event for piggy bank #%d with amount %s', $piggyBank->id, $amount)); + $this->piggyBank = $piggyBank; + $this->transactionJournal = $transactionJournal; + $this->transactionGroup = $transactionGroup; + $this->amount = $amount; + } +} diff --git a/app/Factory/PiggyBankEventFactory.php b/app/Factory/PiggyBankEventFactory.php index 58495df09e..5011be0799 100644 --- a/app/Factory/PiggyBankEventFactory.php +++ b/app/Factory/PiggyBankEventFactory.php @@ -22,6 +22,7 @@ declare(strict_types=1); namespace FireflyIII\Factory; +use FireflyIII\Events\ChangedPiggyBankAmount; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBankEvent; use FireflyIII\Models\TransactionJournal; @@ -39,22 +40,20 @@ class PiggyBankEventFactory /** * @param TransactionJournal $journal * @param PiggyBank|null $piggyBank - * - * @return PiggyBankEvent|null */ - public function create(TransactionJournal $journal, ?PiggyBank $piggyBank): ?PiggyBankEvent + public function create(TransactionJournal $journal, ?PiggyBank $piggyBank): void { Log::debug(sprintf('Now in PiggyBankEventCreate for a %s', $journal->transactionType->type)); if (null === $piggyBank) { Log::debug('Piggy bank is null'); - return null; + return; } if (TransactionType::TRANSFER !== $journal->transactionType->type) { Log::info(sprintf('Will not connect %s #%d to a piggy bank.', $journal->transactionType->type, $journal->id)); - return null; + return; } /** @var PiggyBankRepositoryInterface $piggyRepos */ @@ -65,20 +64,16 @@ class PiggyBankEventFactory if (null === $repetition) { Log::error(sprintf('No piggy bank repetition on %s!', $journal->date->format('Y-m-d'))); - return null; + return; } Log::debug('Found repetition'); $amount = $piggyRepos->getExactAmount($piggyBank, $repetition, $journal); if (0 === bccomp($amount, '0')) { Log::debug('Amount is zero, will not create event.'); - return null; + return; } - - $piggyRepos->addAmountToRepetition($repetition, $amount); - $event = $piggyRepos->createEventWithJournal($piggyBank, $amount, $journal); - Log::debug(sprintf('Created piggy bank event #%d', $event->id)); - - return $event; + // amount can be negative here + $piggyRepos->addAmountToRepetition($repetition, $amount, $journal); } } diff --git a/app/Factory/TransactionJournalFactory.php b/app/Factory/TransactionJournalFactory.php index 72cc769f84..bed3b93c02 100644 --- a/app/Factory/TransactionJournalFactory.php +++ b/app/Factory/TransactionJournalFactory.php @@ -93,7 +93,7 @@ class TransactionJournalFactory /** * Store a new (set of) transaction journals. * - * @param array $data + * @param array $data * * @return Collection * @throws DuplicateTransactionException @@ -144,7 +144,7 @@ class TransactionJournalFactory } /** - * @param NullArrayObject $row + * @param NullArrayObject $row * * @return TransactionJournal|null * @throws DuplicateTransactionException @@ -161,11 +161,11 @@ class TransactionJournalFactory $type = $this->typeRepository->findTransactionType(null, $row['type']); $carbon = $row['date'] ?? today(config('app.timezone')); $order = $row['order'] ?? 0; - $currency = $this->currencyRepository->findCurrency((int) $row['currency_id'], $row['currency_code']); + $currency = $this->currencyRepository->findCurrency((int)$row['currency_id'], $row['currency_code']); $foreignCurrency = $this->currencyRepository->findCurrencyNull($row['foreign_currency_id'], $row['foreign_currency_code']); - $bill = $this->billRepository->findBill((int) $row['bill_id'], $row['bill_name']); + $bill = $this->billRepository->findBill((int)$row['bill_id'], $row['bill_name']); $billId = TransactionType::WITHDRAWAL === $type->type && null !== $bill ? $bill->id : null; - $description = (string) $row['description']; + $description = (string)$row['description']; /** Manipulate basic fields */ $carbon->setTimezone(config('app.timezone')); @@ -244,7 +244,7 @@ class TransactionJournalFactory $transactionFactory->setForeignCurrency($foreignCurrency); $transactionFactory->setReconciled($row['reconciled'] ?? false); try { - $negative = $transactionFactory->createNegative((string) $row['amount'], (string) $row['foreign_amount']); + $negative = $transactionFactory->createNegative((string)$row['amount'], (string)$row['foreign_amount']); } catch (FireflyException $e) { Log::error('Exception creating negative transaction.'); Log::error($e->getMessage()); @@ -263,7 +263,7 @@ class TransactionJournalFactory $transactionFactory->setForeignCurrency($foreignCurrency); $transactionFactory->setReconciled($row['reconciled'] ?? false); try { - $transactionFactory->createPositive((string) $row['amount'], (string) $row['foreign_amount']); + $transactionFactory->createPositive((string)$row['amount'], (string)$row['foreign_amount']); } catch (FireflyException $e) { Log::error('Exception creating positive transaction.'); Log::error($e->getMessage()); @@ -301,7 +301,7 @@ class TransactionJournalFactory } /** - * @param NullArrayObject $row + * @param NullArrayObject $row * * @return string * @throws JsonException @@ -325,7 +325,7 @@ class TransactionJournalFactory /** * If this transaction already exists, throw an error. * - * @param string $hash + * @param string $hash * * @throws DuplicateTransactionException * @throws JsonException @@ -358,7 +358,7 @@ class TransactionJournalFactory } /** - * @param NullArrayObject $data + * @param NullArrayObject $data * * @throws FireflyException */ @@ -371,10 +371,10 @@ class TransactionJournalFactory // validate source account. $array = [ - 'id' => $data['source_id'] ? (int) $data['source_id'] : null, - 'name' => $data['source_name'] ? (string) $data['source_name'] : null, - 'iban' => $data['source_iban'] ? (string) $data['source_iban'] : null, - 'number' => $data['source_number'] ? (string) $data['source_number'] : null, + 'id' => $data['source_id'] ? (int)$data['source_id'] : null, + 'name' => $data['source_name'] ? (string)$data['source_name'] : null, + 'iban' => $data['source_iban'] ? (string)$data['source_iban'] : null, + 'number' => $data['source_number'] ? (string)$data['source_number'] : null, ]; $validSource = $this->accountValidator->validateSource($array); @@ -386,10 +386,10 @@ class TransactionJournalFactory // validate destination account $array = [ - 'id' => $data['destination_id'] ? (int) $data['destination_id'] : null, - 'name' => $data['destination_name'] ? (string) $data['destination_name'] : null, - 'iban' => $data['destination_iban'] ? (string) $data['destination_iban'] : null, - 'number' => $data['destination_number'] ? (string) $data['destination_number'] : null, + 'id' => $data['destination_id'] ? (int)$data['destination_id'] : null, + 'name' => $data['destination_name'] ? (string)$data['destination_name'] : null, + 'iban' => $data['destination_iban'] ? (string)$data['destination_iban'] : null, + 'number' => $data['destination_number'] ? (string)$data['destination_number'] : null, ]; $validDestination = $this->accountValidator->validateDestination($array); @@ -400,10 +400,10 @@ class TransactionJournalFactory } /** - * @param string $type - * @param TransactionCurrency|null $currency - * @param Account $source - * @param Account $destination + * @param string $type + * @param TransactionCurrency|null $currency + * @param Account $source + * @param Account $destination * * @return TransactionCurrency */ @@ -418,8 +418,8 @@ class TransactionJournalFactory } /** - * @param TransactionCurrency|null $currency - * @param Account $account + * @param TransactionCurrency|null $currency + * @param Account $account * * @return TransactionCurrency * @throws FireflyException @@ -442,8 +442,8 @@ class TransactionJournalFactory /** * Set foreign currency to NULL if it's the same as the normal currency: * - * @param TransactionCurrency|null $currency - * @param TransactionCurrency|null $foreignCurrency + * @param TransactionCurrency|null $currency + * @param TransactionCurrency|null $foreignCurrency * * @return TransactionCurrency|null */ @@ -460,9 +460,9 @@ class TransactionJournalFactory } /** - * @param string $type - * @param TransactionCurrency|null $foreignCurrency - * @param Account $destination + * @param string $type + * @param TransactionCurrency|null $foreignCurrency + * @param Account $destination * * @return TransactionCurrency|null */ @@ -476,7 +476,7 @@ class TransactionJournalFactory } /** - * @param string $description + * @param string $description * * @return string */ @@ -491,7 +491,7 @@ class TransactionJournalFactory * Force the deletion of an entire set of transaction journals and their meta object in case of * an error creating a group. * - * @param Collection $collection + * @param Collection $collection */ private function forceDeleteOnError(Collection $collection): void { @@ -505,7 +505,7 @@ class TransactionJournalFactory } /** - * @param Transaction $transaction + * @param Transaction $transaction */ private function forceTrDelete(Transaction $transaction): void { @@ -521,8 +521,8 @@ class TransactionJournalFactory /** * Link a piggy bank to this journal. * - * @param TransactionJournal $journal - * @param NullArrayObject $data + * @param TransactionJournal $journal + * @param NullArrayObject $data */ private function storePiggyEvent(TransactionJournal $journal, NullArrayObject $data): void { @@ -533,7 +533,7 @@ class TransactionJournalFactory return; } - $piggyBank = $this->piggyRepository->findPiggyBank((int) $data['piggy_bank_id'], $data['piggy_bank_name']); + $piggyBank = $this->piggyRepository->findPiggyBank((int)$data['piggy_bank_id'], $data['piggy_bank_name']); if (null !== $piggyBank) { $this->piggyEventFactory->create($journal, $piggyBank); @@ -545,8 +545,8 @@ class TransactionJournalFactory } /** - * @param TransactionJournal $journal - * @param NullArrayObject $transaction + * @param TransactionJournal $journal + * @param NullArrayObject $transaction */ private function storeMetaFields(TransactionJournal $journal, NullArrayObject $transaction): void { @@ -556,16 +556,16 @@ class TransactionJournalFactory } /** - * @param TransactionJournal $journal - * @param NullArrayObject $data - * @param string $field + * @param TransactionJournal $journal + * @param NullArrayObject $data + * @param string $field */ protected function storeMeta(TransactionJournal $journal, NullArrayObject $data, string $field): void { $set = [ 'journal' => $journal, 'name' => $field, - 'data' => (string) ($data[$field] ?? ''), + 'data' => (string)($data[$field] ?? ''), ]; //Log::debug(sprintf('Going to store meta-field "%s", with value "%s".', $set['name'], $set['data'])); @@ -576,7 +576,7 @@ class TransactionJournalFactory } /** - * @param bool $errorOnHash + * @param bool $errorOnHash */ public function setErrorOnHash(bool $errorOnHash): void { @@ -589,7 +589,7 @@ class TransactionJournalFactory /** * Set the user. * - * @param User $user + * @param User $user */ public function setUser(User $user): void { diff --git a/app/Handlers/Events/PiggyBankEventHandler.php b/app/Handlers/Events/PiggyBankEventHandler.php new file mode 100644 index 0000000000..7c97c29b19 --- /dev/null +++ b/app/Handlers/Events/PiggyBankEventHandler.php @@ -0,0 +1,69 @@ +. + */ + +namespace FireflyIII\Handlers\Events; + +use Carbon\Carbon; +use FireflyIII\Events\ChangedPiggyBankAmount; +use FireflyIII\Models\PiggyBankEvent; +use Illuminate\Support\Facades\Log; + + +/** + * Class PiggyBankEventHandler + */ +class PiggyBankEventHandler +{ + /** + * @param ChangedPiggyBankAmount $event + * @return void + */ + public function changePiggyAmount(ChangedPiggyBankAmount $event): void + { + // find journal if group is present. + $journal = $event->transactionJournal; + if (null !== $event->transactionGroup) { + $journal = $event->transactionGroup->transactionJournals()->first(); + } + $date = $journal?->date ?? Carbon::now(); + + // sanity check: event must not already exist for this journal and piggy bank. + if (null !== $journal) { + $exists = PiggyBankEvent::where('piggy_bank_id', $event->piggyBank->id) + ->where('transaction_journal_id', $journal->id) + ->exists(); + if($exists) { + Log::warning('Already have event for this journal and piggy, will not create another.'); + return; + } + } + + PiggyBankEvent::create( + [ + 'piggy_bank_id' => $event->piggyBank->id, + 'transaction_journal_id' => $journal?->id, + 'date' => $date->format('Y-m-d'), + 'amount' => $event->amount, + ] + ); + } + +} diff --git a/app/Helpers/Collector/Extensions/AttachmentCollection.php b/app/Helpers/Collector/Extensions/AttachmentCollection.php index a984ba8994..9c4198fb72 100644 --- a/app/Helpers/Collector/Extensions/AttachmentCollection.php +++ b/app/Helpers/Collector/Extensions/AttachmentCollection.php @@ -98,6 +98,7 @@ trait AttachmentCollection Log::debug('Add filter on attachment ID.'); $this->joinAttachmentTables(); $this->query->whereNotNull('attachments.attachable_id'); + $this->query->whereNull('attachments.deleted_at'); return $this; } diff --git a/app/Helpers/Collector/Extensions/MetaCollection.php b/app/Helpers/Collector/Extensions/MetaCollection.php index d789bab0a3..b1f0dce85e 100644 --- a/app/Helpers/Collector/Extensions/MetaCollection.php +++ b/app/Helpers/Collector/Extensions/MetaCollection.php @@ -1015,4 +1015,17 @@ trait MetaCollection return $this; } + + /** + * @inheritDoc + */ + public function setSepaCT(string $sepaCT): GroupCollectorInterface + { + $this->joinMetaDataTables(); + $this->query->where('journal_meta.name', '=', 'sepa_ct_id'); + $this->query->where('journal_meta.data', '=', sprintf('%s', json_encode($sepaCT))); + $this->query->whereNull('journal_meta.deleted_at'); + + return $this; + } } diff --git a/app/Http/Controllers/PiggyBank/AmountController.php b/app/Http/Controllers/PiggyBank/AmountController.php index 8546255405..6a6c24808f 100644 --- a/app/Http/Controllers/PiggyBank/AmountController.php +++ b/app/Http/Controllers/PiggyBank/AmountController.php @@ -128,7 +128,6 @@ class AmountController extends Controller } if ($this->piggyRepos->canAddAmount($piggyBank, $amount)) { $this->piggyRepos->addAmount($piggyBank, $amount); - $this->piggyRepos->createEvent($piggyBank, $amount); session()->flash( 'success', (string) trans( diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index fd90ecdd67..c836d81faa 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -26,6 +26,7 @@ use Exception; use FireflyIII\Events\ActuallyLoggedIn; use FireflyIII\Events\Admin\InvitationCreated; use FireflyIII\Events\AdminRequestedTestMessage; +use FireflyIII\Events\ChangedPiggyBankAmount; use FireflyIII\Events\DestroyedTransactionGroup; use FireflyIII\Events\DetectedNewIPAddress; use FireflyIII\Events\NewVersionAvailable; @@ -162,6 +163,10 @@ class EventServiceProvider extends ServiceProvider // audit log events: TriggeredAuditLog::class => [ 'FireflyIII\Handlers\Events\AuditEventHandler@storeAuditEvent', + + // piggy bank related events: + ChangedPiggyBankAmount::class => [ + 'FireflyIII\Handlers\Events\PiggyBankEventHandler@changePiggyAmount', ], ]; diff --git a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php index 98c0fd403b..ec985baca9 100644 --- a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php +++ b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php @@ -24,17 +24,16 @@ declare(strict_types=1); namespace FireflyIII\Repositories\PiggyBank; -use Carbon\Carbon; use Exception; +use FireflyIII\Events\ChangedPiggyBankAmount; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Note; use FireflyIII\Models\PiggyBank; -use FireflyIII\Models\PiggyBankEvent; use FireflyIII\Models\PiggyBankRepetition; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\ObjectGroup\CreatesObjectGroups; use Illuminate\Database\QueryException; -use Log; +use Illuminate\Support\Facades\Log; /** * Trait ModifiesPiggyBanks @@ -44,12 +43,12 @@ trait ModifiesPiggyBanks use CreatesObjectGroups; /** - * @param PiggyBank $piggyBank - * @param string $amount - * + * @param PiggyBank $piggyBank + * @param string $amount + * @param TransactionJournal|null $journal * @return bool */ - public function addAmount(PiggyBank $piggyBank, string $amount): bool + public function addAmount(PiggyBank $piggyBank, string $amount, ?TransactionJournal $journal = null): bool { $repetition = $this->getRepetition($piggyBank); if (null === $repetition) { @@ -59,30 +58,34 @@ trait ModifiesPiggyBanks $repetition->currentamount = bcadd($currentAmount, $amount); $repetition->save(); - // create event - //$this->createEvent($piggyBank, $amount); + Log::debug('addAmount: Trigger change for positive amount.'); + event(new ChangedPiggyBankAmount($piggyBank, $amount, $journal, null)); return true; } /** - * @param PiggyBankRepetition $repetition - * @param string $amount + * @param PiggyBankRepetition $repetition + * @param string $amount * - * @return string + * @return void */ - public function addAmountToRepetition(PiggyBankRepetition $repetition, string $amount): string + public function addAmountToRepetition(PiggyBankRepetition $repetition, string $amount, TransactionJournal $journal): void { - $newAmount = bcadd($repetition->currentamount, $amount); - $repetition->currentamount = $newAmount; - $repetition->save(); - - return $newAmount; + Log::debug(sprintf('addAmountToRepetition: %s', $amount)); + if (-1 === bccomp($amount, '0')) { + Log::debug('Remove amount.'); + $this->removeAmount($repetition->piggyBank, bcmul($amount, '-1'), $journal); + } + if (1 === bccomp($amount, '0')) { + Log::debug('Add amount.'); + $this->addAmount($repetition->piggyBank, $amount, $journal); + } } /** - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param string $amount * * @return bool */ @@ -90,10 +93,10 @@ trait ModifiesPiggyBanks { $today = today(config('app.timezone')); $leftOnAccount = $this->leftOnAccount($piggyBank, $today); - $savedSoFar = (string) $this->getRepetition($piggyBank)->currentamount; + $savedSoFar = (string)$this->getRepetition($piggyBank)->currentamount; $maxAmount = $leftOnAccount; $leftToSave = null; - if (0.0 !== (float) $piggyBank->targetamount) { + if (0.0 !== (float)$piggyBank->targetamount) { $leftToSave = bcsub($piggyBank->targetamount, $savedSoFar); $maxAmount = 1 === bccomp($leftOnAccount, $leftToSave) ? $leftToSave : $leftOnAccount; } @@ -111,8 +114,8 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param string $amount * * @return bool */ @@ -128,25 +131,7 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param string $amount - * @param TransactionJournal $journal - * - * @return PiggyBankEvent - */ - public function createEventWithJournal(PiggyBank $piggyBank, string $amount, TransactionJournal $journal): PiggyBankEvent - { - return PiggyBankEvent::create( - [ - 'piggy_bank_id' => $piggyBank->id, - 'transaction_journal_id' => $journal->id, - 'date' => $journal->date->format('Y-m-d'), - 'amount' => $amount] - ); - } - - /** - * @param PiggyBank $piggyBank + * @param PiggyBank $piggyBank * * @return bool * @throws Exception @@ -160,12 +145,12 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param string $amount * * @return bool */ - public function removeAmount(PiggyBank $piggyBank, string $amount): bool + public function removeAmount(PiggyBank $piggyBank, string $amount, ?TransactionJournal $journal = null): bool { $repetition = $this->getRepetition($piggyBank); if (null === $repetition) { @@ -174,27 +159,12 @@ trait ModifiesPiggyBanks $repetition->currentamount = bcsub($repetition->currentamount, $amount); $repetition->save(); - // create event - $this->createEvent($piggyBank, bcmul($amount, '-1')); + Log::debug('addAmount: Trigger change for negative amount.'); + event(new ChangedPiggyBankAmount($piggyBank, bcmul($amount, '-1'), $journal, null)); return true; } - /** - * @param PiggyBank $piggyBank - * @param string $amount - * - * @return PiggyBankEvent - */ - public function createEvent(PiggyBank $piggyBank, string $amount): PiggyBankEvent - { - if (0 === bccomp('0', $amount)) { - return new PiggyBankEvent(); - } - - return PiggyBankEvent::create(['date' => Carbon::now(), 'amount' => $amount, 'piggy_bank_id' => $piggyBank->id]); - } - /** * @inheritDoc */ @@ -206,8 +176,8 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param string $amount * * @return PiggyBank */ @@ -225,8 +195,14 @@ trait ModifiesPiggyBanks $repetition->currentamount = $amount; $repetition->save(); - // create event - $this->createEvent($piggyBank, $difference); + if (-1 === bccomp($difference, '0')) { + Log::debug('addAmount: Trigger change for negative amount.'); + event(new ChangedPiggyBankAmount($piggyBank, bcmul($amount, '-1'), null, null)); + } + if (1 === bccomp($difference, '0')) { + Log::debug('addAmount: Trigger change for positive amount.'); + event(new ChangedPiggyBankAmount($piggyBank, $amount, null, null)); + } return $piggyBank; } @@ -245,7 +221,7 @@ trait ModifiesPiggyBanks } /** - * @param array $data + * @param array $data * * @return PiggyBank * @throws FireflyException @@ -262,7 +238,7 @@ trait ModifiesPiggyBanks unset($piggyData['object_group_title'], $piggyData['object_group_id'], $piggyData['notes'], $piggyData['current_amount']); // validate amount: - if (array_key_exists('targetamount', $piggyData) && '' === (string) $piggyData['targetamount']) { + if (array_key_exists('targetamount', $piggyData) && '' === (string)$piggyData['targetamount']) { $piggyData['targetamount'] = '0'; } @@ -296,7 +272,7 @@ trait ModifiesPiggyBanks } } // try also with ID - $objectGroupId = (int) ($data['object_group_id'] ?? 0); + $objectGroupId = (int)($data['object_group_id'] ?? 0); if (0 !== $objectGroupId) { $objectGroup = $this->findObjectGroupById($objectGroupId); if (null !== $objectGroup) { @@ -316,7 +292,7 @@ trait ModifiesPiggyBanks $set = $this->user->piggyBanks()->orderBy('piggy_banks.order', 'ASC')->get(['piggy_banks.*']); $current = 1; foreach ($set as $piggyBank) { - if ((int) $piggyBank->order !== $current) { + if ((int)$piggyBank->order !== $current) { Log::debug(sprintf('Piggy bank #%d ("%s") was at place %d but should be on %d', $piggyBank->id, $piggyBank->name, $piggyBank->order, $current)); $piggyBank->order = $current; $piggyBank->save(); @@ -330,7 +306,7 @@ trait ModifiesPiggyBanks */ public function setOrder(PiggyBank $piggyBank, int $newOrder): bool { - $oldOrder = (int) $piggyBank->order; + $oldOrder = (int)$piggyBank->order; Log::debug(sprintf('Will move piggy bank #%d ("%s") from %d to %d', $piggyBank->id, $piggyBank->name, $oldOrder, $newOrder)); if ($newOrder > $oldOrder) { $this->user->piggyBanks()->where('piggy_banks.order', '<=', $newOrder)->where('piggy_banks.order', '>', $oldOrder) @@ -354,8 +330,8 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param string $note + * @param PiggyBank $piggyBank + * @param string $note * * @return bool */ @@ -385,8 +361,8 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param array $data + * @param PiggyBank $piggyBank + * @param array $data * * @return PiggyBank */ @@ -394,12 +370,12 @@ trait ModifiesPiggyBanks { $piggyBank = $this->updateProperties($piggyBank, $data); if (array_key_exists('notes', $data)) { - $this->updateNote($piggyBank, (string) $data['notes']); + $this->updateNote($piggyBank, (string)$data['notes']); } // update the order of the piggy bank: - $oldOrder = (int) $piggyBank->order; - $newOrder = (int) ($data['order'] ?? $oldOrder); + $oldOrder = (int)$piggyBank->order; + $newOrder = (int)($data['order'] ?? $oldOrder); if ($oldOrder !== $newOrder) { $this->setOrder($piggyBank, $newOrder); } @@ -407,9 +383,11 @@ trait ModifiesPiggyBanks // if the piggy bank is now smaller than the current relevant rep, // remove money from the rep. $repetition = $this->getRepetition($piggyBank); - if (null !== $repetition && $repetition->currentamount > $piggyBank->targetamount && 0.0 !== (float) $piggyBank->targetamount) { - $diff = bcsub($piggyBank->targetamount, $repetition->currentamount); - $this->createEvent($piggyBank, $diff); + if (null !== $repetition && $repetition->currentamount > $piggyBank->targetamount && 0.0 !== (float)$piggyBank->targetamount) { + $difference = bcsub($piggyBank->targetamount, $repetition->currentamount); + + // an amount will be removed, create "negative" event: + event(new ChangedPiggyBankAmount($piggyBank, $difference, null, null)); $repetition->currentamount = $piggyBank->targetamount; $repetition->save(); @@ -417,7 +395,7 @@ trait ModifiesPiggyBanks // update using name: if (array_key_exists('object_group_title', $data)) { - $objectGroupTitle = (string) $data['object_group_title']; + $objectGroupTitle = (string)$data['object_group_title']; if ('' !== $objectGroupTitle) { $objectGroup = $this->findOrCreateObjectGroup($objectGroupTitle); if (null !== $objectGroup) { @@ -436,7 +414,7 @@ trait ModifiesPiggyBanks // try also with ID: if (array_key_exists('object_group_id', $data)) { - $objectGroupId = (int) ($data['object_group_id'] ?? 0); + $objectGroupId = (int)($data['object_group_id'] ?? 0); if (0 !== $objectGroupId) { $objectGroup = $this->findObjectGroupById($objectGroupId); if (null !== $objectGroup) { @@ -452,8 +430,8 @@ trait ModifiesPiggyBanks } /** - * @param PiggyBank $piggyBank - * @param array $data + * @param PiggyBank $piggyBank + * @param array $data * * @return PiggyBank */ @@ -463,7 +441,7 @@ trait ModifiesPiggyBanks $piggyBank->name = $data['name']; } if (array_key_exists('account_id', $data) && 0 !== $data['account_id']) { - $piggyBank->account_id = (int) $data['account_id']; + $piggyBank->account_id = (int)$data['account_id']; } if (array_key_exists('targetamount', $data) && '' !== $data['targetamount']) { $piggyBank->targetamount = $data['targetamount']; diff --git a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php index cc0f494b7e..e3b83132b2 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php +++ b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php @@ -37,20 +37,18 @@ use Illuminate\Support\Collection; interface PiggyBankRepositoryInterface { /** - * @param PiggyBank $piggyBank - * @param string $amount - * + * @param PiggyBank $piggyBank + * @param string $amount + * @param TransactionJournal|null $journal * @return bool */ - public function addAmount(PiggyBank $piggyBank, string $amount): bool; + public function addAmount(PiggyBank $piggyBank, string $amount, ?TransactionJournal $journal = null): bool; /** * @param PiggyBankRepetition $repetition * @param string $amount - * - * @return string */ - public function addAmountToRepetition(PiggyBankRepetition $repetition, string $amount): string; + public function addAmountToRepetition(PiggyBankRepetition $repetition, string $amount, TransactionJournal $journal): void; /** * @param PiggyBank $piggyBank @@ -68,25 +66,6 @@ interface PiggyBankRepositoryInterface */ public function canRemoveAmount(PiggyBank $piggyBank, string $amount): bool; - /** - * Create a new event. - * - * @param PiggyBank $piggyBank - * @param string $amount - * - * @return PiggyBankEvent - */ - public function createEvent(PiggyBank $piggyBank, string $amount): PiggyBankEvent; - - /** - * @param PiggyBank $piggyBank - * @param string $amount - * @param TransactionJournal $journal - * - * @return PiggyBankEvent - */ - public function createEventWithJournal(PiggyBank $piggyBank, string $amount, TransactionJournal $journal): PiggyBankEvent; - /** * Destroy piggy bank. * @@ -218,12 +197,12 @@ interface PiggyBankRepositoryInterface public function leftOnAccount(PiggyBank $piggyBank, Carbon $date): string; /** - * @param PiggyBank $piggyBank - * @param string $amount - * + * @param PiggyBank $piggyBank + * @param string $amount + * @param TransactionJournal|null $journal * @return bool */ - public function removeAmount(PiggyBank $piggyBank, string $amount): bool; + public function removeAmount(PiggyBank $piggyBank, string $amount, ?TransactionJournal $journal = null): bool; /** * @param PiggyBank $piggyBank diff --git a/app/Services/Internal/Destroy/JournalDestroyService.php b/app/Services/Internal/Destroy/JournalDestroyService.php index 85b8e181ad..65a4954d8c 100644 --- a/app/Services/Internal/Destroy/JournalDestroyService.php +++ b/app/Services/Internal/Destroy/JournalDestroyService.php @@ -83,6 +83,7 @@ class JournalDestroyService $journal->notes()->delete(); // update events + // TODO move to repository $journal->piggyBankEvents()->update(['transaction_journal_id' => null]); $journal->delete(); diff --git a/app/Services/Internal/Update/GroupCloneService.php b/app/Services/Internal/Update/GroupCloneService.php index 66001d78ea..bb2fcab22d 100644 --- a/app/Services/Internal/Update/GroupCloneService.php +++ b/app/Services/Internal/Update/GroupCloneService.php @@ -105,7 +105,7 @@ class GroupCloneService // add note saying "cloned". // add relation. - // clone linked piggy banks + // TODO clone ALL linked piggy banks /** @var PiggyBankEvent $event */ $event = $journal->piggyBankEvents()->first(); if (null !== $event) { diff --git a/app/Support/Authentication/RemoteUserGuard.php b/app/Support/Authentication/RemoteUserGuard.php index 76d4fc0f24..24c415f7ed 100644 --- a/app/Support/Authentication/RemoteUserGuard.php +++ b/app/Support/Authentication/RemoteUserGuard.php @@ -68,6 +68,7 @@ class RemoteUserGuard implements Guard // Get the user identifier from $_SERVER or apache filtered headers $header = config('auth.guard_header', 'REMOTE_USER'); $userID = request()->server($header) ?? apache_request_headers()[$header] ?? null; + if (null === $userID) { Log::error(sprintf('No user in header "%s".', $header)); throw new FireflyException('The guard header was unexpectedly empty. See the logs.'); @@ -80,10 +81,14 @@ class RemoteUserGuard implements Guard $header = config('auth.guard_email'); if (null !== $header) { - $emailAddress = (string) (request()->server($header) ?? null); + $emailAddress = (string) (request()->server($header) ?? apache_request_headers()[$header] ?? null); $preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email'); - if (null !== $emailAddress && null === $preference && $emailAddress !== $userID) { + if ('' !== $emailAddress && null === $preference && $emailAddress !== $userID) { + app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress); + } + // if the pref isn't null and the object returned isn't null, update the email address. + if ('' !== $emailAddress && null !== $preference && $emailAddress !== $preference->data) { app('preferences')->setForUser($retrievedUser, 'remote_guard_alt_email', $emailAddress); } } diff --git a/app/Support/Search/OperatorQuerySearch.php b/app/Support/Search/OperatorQuerySearch.php index 4b018a757d..434666f143 100644 --- a/app/Support/Search/OperatorQuerySearch.php +++ b/app/Support/Search/OperatorQuerySearch.php @@ -1309,6 +1309,9 @@ class OperatorQuerySearch implements SearchInterface case '-exists': $this->collector->findNothing(); break; + case 'sepa_ct_is': + $this->collector->setSepaCT($value); + break; } return true; } diff --git a/app/Support/Steam.php b/app/Support/Steam.php index 2e7cda4eeb..136be54951 100644 --- a/app/Support/Steam.php +++ b/app/Support/Steam.php @@ -51,14 +51,6 @@ class Steam */ public function balanceIgnoreVirtual(Account $account, Carbon $date): string { - // abuse chart properties: - $cache = new CacheProperties(); - $cache->addProperty($account->id); - $cache->addProperty('balance-no-virtual'); - $cache->addProperty($date); - if ($cache->has()) { - return $cache->get(); - } /** @var AccountRepositoryInterface $repository */ $repository = app(AccountRepositoryInterface::class); $repository->setUser($account->user); @@ -80,11 +72,7 @@ class Steam ->get(['transactions.foreign_amount'])->toArray(); $foreignBalance = $this->sumTransactions($transactions, 'foreign_amount'); - $balance = bcadd($nativeBalance, $foreignBalance); - - $cache->store($balance); - - return $balance; + return bcadd($nativeBalance, $foreignBalance); } /** diff --git a/app/Support/Twig/TransactionGroupTwig.php b/app/Support/Twig/TransactionGroupTwig.php index 5f414369aa..b2d64f3b7a 100644 --- a/app/Support/Twig/TransactionGroupTwig.php +++ b/app/Support/Twig/TransactionGroupTwig.php @@ -219,7 +219,7 @@ class TransactionGroupTwig extends AbstractExtension /** @var Transaction $first */ $first = $journal->transactions()->where('amount', '<', 0)->first(); - return null !== $first->foreign_amount; + return '' !== $first->foreign_amount; } /** @@ -235,7 +235,7 @@ class TransactionGroupTwig extends AbstractExtension /** @var Transaction $first */ $first = $journal->transactions()->where('amount', '<', 0)->first(); $currency = $first->foreignCurrency; - $amount = $first->foreign_amount ?? '0'; + $amount = '' === $first->foreign_amount ? '0' : $first->foreign_amount; $colored = true; $sourceType = $first->account()->first()->accountType()->first()->type; diff --git a/app/TransactionRules/Actions/UpdatePiggybank.php b/app/TransactionRules/Actions/UpdatePiggybank.php index 5eabedafbe..71e0c3cd30 100644 --- a/app/TransactionRules/Actions/UpdatePiggybank.php +++ b/app/TransactionRules/Actions/UpdatePiggybank.php @@ -39,13 +39,12 @@ use Log; */ class UpdatePiggybank implements ActionInterface { - /** @var RuleAction The rule action */ - private $action; + private RuleAction $action; /** * TriggerInterface constructor. * - * @param RuleAction $action + * @param RuleAction $action */ public function __construct(RuleAction $action) { @@ -60,10 +59,10 @@ class UpdatePiggybank implements ActionInterface Log::debug(sprintf('Triggered rule action UpdatePiggybank on journal #%d', $journal['transaction_journal_id'])); // refresh the transaction type. - $user = User::find($journal['user_id']); + $user = User::find($journal['user_id']); /** @var TransactionJournal $journalObj */ $journalObj = $user->transactionJournals()->find($journal['transaction_journal_id']); - $type = TransactionType::find((int) $journalObj->transaction_type_id); + $type = TransactionType::find((int)$journalObj->transaction_type_id); $journal['transaction_type_type'] = $type->type; if (TransactionType::TRANSFER !== $journal['transaction_type_type']) { @@ -72,10 +71,10 @@ class UpdatePiggybank implements ActionInterface return false; } - $piggyBank = $this->findPiggybank($user); + $piggyBank = $this->findPiggyBank($user); if (null === $piggyBank) { Log::info( - sprintf('No piggy bank names "%s", cant execute action #%d of rule #%d', $this->action->action_value, $this->action->id, $this->action->rule_id) + sprintf('No piggy bank named "%s", cant execute action #%d of rule #%d', $this->action->action_value, $this->action->id, $this->action->rule_id) ); return false; @@ -84,20 +83,20 @@ class UpdatePiggybank implements ActionInterface Log::debug(sprintf('Found piggy bank #%d ("%s")', $piggyBank->id, $piggyBank->name)); /** @var Transaction $source */ - $source = Transaction::where('transaction_journal_id', $journal['transaction_journal_id'])->where('amount', '<', 0)->first(); /** @var Transaction $destination */ - $destination = Transaction::where('transaction_journal_id', $journal['transaction_journal_id'])->where('amount', '>', 0)->first(); + $source = $journalObj->transactions()->where('amount', '<', 0)->first(); + $destination = $journalObj->transactions()->where('amount', '>', 0)->first(); - if ((int) $source->account_id === (int) $piggyBank->account_id) { - Log::debug('Piggy bank account is linked to source, so remove amount.'); + if ((int)$source->account_id === (int)$piggyBank->account_id) { + Log::debug('Piggy bank account is linked to source, so remove amount from piggy bank.'); $this->removeAmount($journal, $piggyBank, $destination->amount); event(new TriggeredAuditLog($this->action->rule, $journalObj, 'remove_from_piggy', null, ['currency_symbol' => $journalObj->transactionCurrency->symbol, 'decimal_places' => $journalObj->transactionCurrency->decimal_places, 'amount' => $destination->amount, 'piggy' => $piggyBank->name])); return true; } - if ((int) $destination->account_id === (int) $piggyBank->account_id) { - Log::debug('Piggy bank account is linked to source, so add amount.'); + if ((int)$destination->account_id === (int)$piggyBank->account_id) { + Log::debug('Piggy bank account is linked to source, so add amount to piggy bank.'); $this->addAmount($journal, $piggyBank, $destination->amount); event(new TriggeredAuditLog($this->action->rule, $journalObj, 'add_to_piggy', null, ['currency_symbol' => $journalObj->transactionCurrency->symbol, 'decimal_places' => $journalObj->transactionCurrency->decimal_places, 'amount' => $destination->amount, 'piggy' => $piggyBank->name])); @@ -116,30 +115,30 @@ class UpdatePiggybank implements ActionInterface } /** - * @param User $user + * @param User $user * * @return PiggyBank|null */ - private function findPiggybank(User $user): ?PiggyBank + private function findPiggyBank(User $user): ?PiggyBank { return $user->piggyBanks()->where('piggy_banks.name', $this->action->action_value)->first(); } /** - * @param array $journalArray - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param TransactionJournal $journal + * @param string $amount + * @return void */ - private function removeAmount(array $journalArray, PiggyBank $piggyBank, string $amount): void + private function removeAmount(PiggyBank $piggyBank, TransactionJournal $journal, string $amount): void { - $user = User::find($journalArray['user_id']); - $journal = $user->transactionJournals()->find($journalArray['transaction_journal_id']); $repository = app(PiggyBankRepositoryInterface::class); $repository->setUser($journal->user); - // how much can we remove from piggy bank? + // how much can we remove from this piggy bank? $toRemove = $repository->getCurrentAmount($piggyBank); Log::debug(sprintf('Amount is %s, max to remove is %s', $amount, $toRemove)); + // if $amount is bigger than $toRemove, shrink it. $amount = -1 === bccomp($amount, $toRemove) ? $amount : $toRemove; Log::debug(sprintf('Amount is now %s', $amount)); @@ -159,19 +158,17 @@ class UpdatePiggybank implements ActionInterface } Log::debug(sprintf('Will now remove %s from piggy bank.', $amount)); - $repository->removeAmount($piggyBank, $amount); - $repository->createEventWithJournal($piggyBank, app('steam')->negative($amount), $journal); + $repository->removeAmount($piggyBank, $amount, $journal); } /** - * @param array $journalArray - * @param PiggyBank $piggyBank - * @param string $amount + * @param PiggyBank $piggyBank + * @param TransactionJournal $journal + * @param string $amount + * @return void */ - private function addAmount(array $journalArray, PiggyBank $piggyBank, string $amount): void + private function addAmount(PiggyBank $piggyBank, TransactionJournal $journal, string $amount): void { - $user = User::find($journalArray['user_id']); - $journal = $user->transactionJournals()->find($journalArray['transaction_journal_id']); $repository = app(PiggyBankRepositoryInterface::class); $repository->setUser($journal->user); @@ -198,7 +195,6 @@ class UpdatePiggybank implements ActionInterface } Log::debug(sprintf('Will now add %s to piggy bank.', $amount)); - $repository->addAmount($piggyBank, $amount); - $repository->createEventWithJournal($piggyBank, app('steam')->positive($amount), $journal); + $repository->addAmount($piggyBank, $amount, $journal); } } diff --git a/composer.json b/composer.json index e9b1b79945..dec45c90c2 100644 --- a/composer.json +++ b/composer.json @@ -92,7 +92,7 @@ "laravel/passport": "11.*", "laravel/sanctum": "^3.0", "laravel/slack-notification-channel": "^2.4", - "laravel/ui": "^4.0", + "laravel/ui": "^4.1", "laravelcollective/html": "6.*", "league/commonmark": "2.*", "league/csv": "^9.7", @@ -101,7 +101,7 @@ "pragmarx/google2fa": "^8.0", "predis/predis": "^2.0", "psr/log": "<4", - "ramsey/uuid": "^4.5", + "ramsey/uuid": "^4.6", "rcrowe/twigbridge": "^0.14", "spatie/data-transfer-object": "^3.9", "spatie/laravel-ignition": "^1.5", diff --git a/composer.lock b/composer.lock index 826b9cdaff..11435abd6f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "96cbe8f172b0de4896ce5567f1b17dcd", + "content-hash": "4230f1333b687bd2443ab952863f07e0", "packages": [ { "name": "bacon/bacon-qr-code", - "version": "2.0.7", + "version": "2.0.8", "source": { "type": "git", "url": "https://github.com/Bacon/BaconQrCode.git", - "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c" + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/d70c840f68657ce49094b8d91f9ee0cc07fbf66c", - "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22", + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22", "shasum": "" }, "require": { @@ -56,9 +56,9 @@ "homepage": "https://github.com/Bacon/BaconQrCode", "support": { "issues": "https://github.com/Bacon/BaconQrCode/issues", - "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.7" + "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.8" }, - "time": "2022-03-14T02:02:36+00:00" + "time": "2022-12-07T17:46:57+00:00" }, { "name": "brick/math", @@ -1064,16 +1064,16 @@ }, { "name": "filp/whoops", - "version": "2.14.5", + "version": "2.14.6", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" + "reference": "f7948baaa0330277c729714910336383286305da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "url": "https://api.github.com/repos/filp/whoops/zipball/f7948baaa0330277c729714910336383286305da", + "reference": "f7948baaa0330277c729714910336383286305da", "shasum": "" }, "require": { @@ -1123,7 +1123,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.5" + "source": "https://github.com/filp/whoops/tree/2.14.6" }, "funding": [ { @@ -1131,7 +1131,7 @@ "type": "github" } ], - "time": "2022-01-07T12:00:00+00:00" + "time": "2022-11-02T16:23:29+00:00" }, { "name": "firebase/php-jwt", @@ -1855,16 +1855,16 @@ }, { "name": "laravel/framework", - "version": "v9.38.0", + "version": "v9.43.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "abf198e443e06696af3f356b44de67c0fa516107" + "reference": "011f2e1d49a11c22519a7899b46ddf3bc5b0f40b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/abf198e443e06696af3f356b44de67c0fa516107", - "reference": "abf198e443e06696af3f356b44de67c0fa516107", + "url": "https://api.github.com/repos/laravel/framework/zipball/011f2e1d49a11c22519a7899b46ddf3bc5b0f40b", + "reference": "011f2e1d49a11c22519a7899b46ddf3bc5b0f40b", "shasum": "" }, "require": { @@ -2037,25 +2037,25 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-11-01T14:05:55+00:00" + "time": "2022-12-06T14:26:07+00:00" }, { "name": "laravel/passport", - "version": "v11.3.0", + "version": "v11.3.1", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "4c2105887c724fe05fc4cd9b7d6c8d8df30e1bcf" + "reference": "835febbfe875ba97306c026fdaa94f58f167363e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/4c2105887c724fe05fc4cd9b7d6c8d8df30e1bcf", - "reference": "4c2105887c724fe05fc4cd9b7d6c8d8df30e1bcf", + "url": "https://api.github.com/repos/laravel/passport/zipball/835febbfe875ba97306c026fdaa94f58f167363e", + "reference": "835febbfe875ba97306c026fdaa94f58f167363e", "shasum": "" }, "require": { "ext-json": "*", - "firebase/php-jwt": "^6.0", + "firebase/php-jwt": "^6.3.1", "illuminate/auth": "^9.0", "illuminate/console": "^9.0", "illuminate/container": "^9.0", @@ -2114,7 +2114,7 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2022-10-22T16:38:00+00:00" + "time": "2022-12-02T18:20:16+00:00" }, { "name": "laravel/sanctum", @@ -2304,16 +2304,16 @@ }, { "name": "laravel/ui", - "version": "v4.0.2", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "9aa6930c8ae98b2465594d7f14f4ac131bfd6a99" + "reference": "ac94e596ffd39c63cfa41f5407b765b07df97483" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/9aa6930c8ae98b2465594d7f14f4ac131bfd6a99", - "reference": "9aa6930c8ae98b2465594d7f14f4ac131bfd6a99", + "url": "https://api.github.com/repos/laravel/ui/zipball/ac94e596ffd39c63cfa41f5407b765b07df97483", + "reference": "ac94e596ffd39c63cfa41f5407b765b07df97483", "shasum": "" }, "require": { @@ -2359,9 +2359,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.0.2" + "source": "https://github.com/laravel/ui/tree/v4.1.1" }, - "time": "2022-09-09T18:20:35+00:00" + "time": "2022-12-05T15:09:21+00:00" }, { "name": "laravelcollective/html", @@ -2572,16 +2572,16 @@ }, { "name": "league/commonmark", - "version": "2.3.6", + "version": "2.3.8", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "857afc47ce113454bd629037213378ba3219dd40" + "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/857afc47ce113454bd629037213378ba3219dd40", - "reference": "857afc47ce113454bd629037213378ba3219dd40", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c493585c130544c4e91d2e0e131e6d35cb0cbc47", + "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47", "shasum": "" }, "require": { @@ -2609,7 +2609,7 @@ "symfony/finder": "^5.3 | ^6.0", "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -2674,7 +2674,7 @@ "type": "tidelift" } ], - "time": "2022-10-30T16:45:38+00:00" + "time": "2022-12-10T16:02:17+00:00" }, { "name": "league/config", @@ -2898,16 +2898,16 @@ }, { "name": "league/flysystem", - "version": "3.10.2", + "version": "3.11.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6" + "reference": "7e423e5dd240a60adfab9bde058d7668863b7731" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b9bd194b016114d6ff6765c09d40c7d427e4e3f6", - "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/7e423e5dd240a60adfab9bde058d7668863b7731", + "reference": "7e423e5dd240a60adfab9bde058d7668863b7731", "shasum": "" }, "require": { @@ -2969,7 +2969,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.10.2" + "source": "https://github.com/thephpleague/flysystem/tree/3.11.0" }, "funding": [ { @@ -2985,7 +2985,7 @@ "type": "tidelift" } ], - "time": "2022-10-25T07:01:47+00:00" + "time": "2022-12-02T14:39:57+00:00" }, { "name": "league/fractal", @@ -3115,16 +3115,16 @@ }, { "name": "league/oauth2-server", - "version": "8.3.5", + "version": "8.3.6", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "7aeb7c42b463b1a6fe4d084d3145e2fa22436876" + "reference": "28c5441716c10d0c936bd731860dc385d0f6d1a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/7aeb7c42b463b1a6fe4d084d3145e2fa22436876", - "reference": "7aeb7c42b463b1a6fe4d084d3145e2fa22436876", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/28c5441716c10d0c936bd731860dc385d0f6d1a8", + "reference": "28c5441716c10d0c936bd731860dc385d0f6d1a8", "shasum": "" }, "require": { @@ -3191,7 +3191,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/8.3.5" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.3.6" }, "funding": [ { @@ -3199,7 +3199,7 @@ "type": "github" } ], - "time": "2022-05-03T21:21:28+00:00" + "time": "2022-11-14T19:42:00+00:00" }, { "name": "league/uri", @@ -3476,16 +3476,16 @@ }, { "name": "nesbot/carbon", - "version": "2.62.1", + "version": "2.64.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a" + "reference": "889546413c97de2d05063b8cb7b193c2531ea211" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a", - "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/889546413c97de2d05063b8cb7b193c2531ea211", + "reference": "889546413c97de2d05063b8cb7b193c2531ea211", "shasum": "" }, "require": { @@ -3496,7 +3496,7 @@ "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.0", + "doctrine/dbal": "^2.0 || ^3.1.4", "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", @@ -3574,29 +3574,29 @@ "type": "tidelift" } ], - "time": "2022-09-02T07:48:13+00:00" + "time": "2022-11-26T17:36:00+00:00" }, { "name": "nette/schema", - "version": "v1.2.2", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.2" + "php": ">=7.1 <8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^0.12", + "phpstan/phpstan-nette": "^1.0", "tracy/tracy": "^2.7" }, "type": "library", @@ -3634,9 +3634,9 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.2" + "source": "https://github.com/nette/schema/tree/v1.2.3" }, - "time": "2021-10-15T11:40:02+00:00" + "time": "2022-10-13T01:24:26+00:00" }, { "name": "nette/utils", @@ -4631,6 +4631,54 @@ }, "time": "2021-02-03T23:26:27+00:00" }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, { "name": "psr/container", "version": "2.0.2", @@ -5120,21 +5168,20 @@ }, { "name": "ramsey/uuid", - "version": "4.5.1", + "version": "4.6.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d" + "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/a161a26d917604dc6d3aa25100fddf2556e9f35d", - "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/ad63bc700e7d021039e30ce464eba384c4a1d40f", + "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f", "shasum": "" }, "require": { "brick/math": "^0.8.8 || ^0.9 || ^0.10", - "ext-ctype": "*", "ext-json": "*", "php": "^8.0", "ramsey/collection": "^1.0" @@ -5166,7 +5213,6 @@ }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", @@ -5198,7 +5244,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.5.1" + "source": "https://github.com/ramsey/uuid/tree/4.6.0" }, "funding": [ { @@ -5210,7 +5256,7 @@ "type": "tidelift" } ], - "time": "2022-09-16T03:22:46+00:00" + "time": "2022-11-05T23:03:38+00:00" }, { "name": "rcrowe/twigbridge", @@ -5416,16 +5462,16 @@ }, { "name": "spatie/flare-client-php", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca" + "reference": "ebb9ae0509b75e02f128b39537eb9a3ef5ce18e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/b1b974348750925b717fa8c8b97a0db0d1aa40ca", - "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/ebb9ae0509b75e02f128b39537eb9a3ef5ce18e8", + "reference": "ebb9ae0509b75e02f128b39537eb9a3ef5ce18e8", "shasum": "" }, "require": { @@ -5473,7 +5519,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.3.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.3.1" }, "funding": [ { @@ -5481,7 +5527,7 @@ "type": "github" } ], - "time": "2022-08-08T10:10:20+00:00" + "time": "2022-11-16T08:30:20+00:00" }, { "name": "spatie/ignition", @@ -5560,16 +5606,16 @@ }, { "name": "spatie/laravel-ignition", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b" + "reference": "d6e1e1ad93abe280abf41c33f8ea7647dfc0c233" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/2b79cf6ed40946b64ac6713d7d2da8a9d87f612b", - "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/d6e1e1ad93abe280abf41c33f8ea7647dfc0c233", + "reference": "d6e1e1ad93abe280abf41c33f8ea7647dfc0c233", "shasum": "" }, "require": { @@ -5646,24 +5692,25 @@ "type": "github" } ], - "time": "2022-10-26T17:39:54+00:00" + "time": "2022-12-08T15:31:38+00:00" }, { "name": "stella-maris/clock", - "version": "0.1.6", + "version": "0.1.7", "source": { "type": "git", "url": "https://github.com/stella-maris-solutions/clock.git", - "reference": "a94228dac03c9a8411198ce8c8dacbbe99c930c3" + "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/a94228dac03c9a8411198ce8c8dacbbe99c930c3", - "reference": "a94228dac03c9a8411198ce8c8dacbbe99c930c3", + "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", + "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "php": "^7.0|^8.0", + "psr/clock": "^1.0" }, "type": "library", "autoload": { @@ -5690,23 +5737,22 @@ "psr20" ], "support": { - "issues": "https://github.com/stella-maris-solutions/clock/issues", - "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.6" + "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7" }, - "time": "2022-09-27T15:03:11+00:00" + "time": "2022-11-25T16:15:06+00:00" }, { "name": "symfony/console", - "version": "v6.1.7", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a1282bd0c096e0bdb8800b104177e2ce404d8815" + "reference": "58f6cef5dc5f641b7bbdbf8b32b44cc926c35f3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a1282bd0c096e0bdb8800b104177e2ce404d8815", - "reference": "a1282bd0c096e0bdb8800b104177e2ce404d8815", + "url": "https://api.github.com/repos/symfony/console/zipball/58f6cef5dc5f641b7bbdbf8b32b44cc926c35f3f", + "reference": "58f6cef5dc5f641b7bbdbf8b32b44cc926c35f3f", "shasum": "" }, "require": { @@ -5773,7 +5819,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.1.7" + "source": "https://github.com/symfony/console/tree/v6.2.1" }, "funding": [ { @@ -5789,20 +5835,20 @@ "type": "tidelift" } ], - "time": "2022-10-26T21:42:49+00:00" + "time": "2022-12-01T13:44:20+00:00" }, { "name": "symfony/css-selector", - "version": "v6.1.3", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443" + "reference": "91c342ffc99283c43653ed8eb47bc2a94db7f398" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/0dd5e36b80e1de97f8f74ed7023ac2b837a36443", - "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/91c342ffc99283c43653ed8eb47bc2a94db7f398", + "reference": "91c342ffc99283c43653ed8eb47bc2a94db7f398", "shasum": "" }, "require": { @@ -5838,7 +5884,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.1.3" + "source": "https://github.com/symfony/css-selector/tree/v6.2.0" }, "funding": [ { @@ -5854,20 +5900,20 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2022-08-26T05:51:22+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.1.1", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918" + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", "shasum": "" }, "require": { @@ -5876,7 +5922,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -5905,7 +5951,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" }, "funding": [ { @@ -5921,20 +5967,20 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/error-handler", - "version": "v6.1.7", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "699a26ce5ec656c198bf6e26398b0f0818c7e504" + "reference": "b4e41f62c1124378863ff2705158a60da3e4c6b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/699a26ce5ec656c198bf6e26398b0f0818c7e504", - "reference": "699a26ce5ec656c198bf6e26398b0f0818c7e504", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/b4e41f62c1124378863ff2705158a60da3e4c6b9", + "reference": "b4e41f62c1124378863ff2705158a60da3e4c6b9", "shasum": "" }, "require": { @@ -5976,7 +6022,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.1.7" + "source": "https://github.com/symfony/error-handler/tree/v6.2.1" }, "funding": [ { @@ -5992,20 +6038,20 @@ "type": "tidelift" } ], - "time": "2022-10-28T16:23:08+00:00" + "time": "2022-12-01T21:07:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.1.0", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347" + "reference": "9efb1618fabee89515fe031314e8ed5625f85a53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9efb1618fabee89515fe031314e8ed5625f85a53", + "reference": "9efb1618fabee89515fe031314e8ed5625f85a53", "shasum": "" }, "require": { @@ -6059,7 +6105,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.0" }, "funding": [ { @@ -6075,20 +6121,20 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:51:07+00:00" + "time": "2022-11-02T09:08:04+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.1.1", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448" + "reference": "0782b0b52a737a05b4383d0df35a474303cabdae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/02ff5eea2f453731cfbc6bc215e456b781480448", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0782b0b52a737a05b4383d0df35a474303cabdae", + "reference": "0782b0b52a737a05b4383d0df35a474303cabdae", "shasum": "" }, "require": { @@ -6101,7 +6147,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -6138,7 +6184,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.0" }, "funding": [ { @@ -6154,20 +6200,20 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/finder", - "version": "v6.1.3", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709" + "reference": "eb2355f69519e4ef33f1835bca4c935f5d42e570" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709", + "url": "https://api.github.com/repos/symfony/finder/zipball/eb2355f69519e4ef33f1835bca4c935f5d42e570", + "reference": "eb2355f69519e4ef33f1835bca4c935f5d42e570", "shasum": "" }, "require": { @@ -6202,7 +6248,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.1.3" + "source": "https://github.com/symfony/finder/tree/v6.2.0" }, "funding": [ { @@ -6218,25 +6264,26 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:42:06+00:00" + "time": "2022-10-09T08:55:40+00:00" }, { "name": "symfony/http-client", - "version": "v6.1.7", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "f515d066728774efb34347a87580621416ca8968" + "reference": "153540b6ed72eecdcb42dc847f8d8cf2e2516e8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/f515d066728774efb34347a87580621416ca8968", - "reference": "f515d066728774efb34347a87580621416ca8968", + "url": "https://api.github.com/repos/symfony/http-client/zipball/153540b6ed72eecdcb42dc847f8d8cf2e2516e8e", + "reference": "153540b6ed72eecdcb42dc847f8d8cf2e2516e8e", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/http-client-contracts": "^3", "symfony/service-contracts": "^1.0|^2|^3" }, @@ -6286,7 +6333,7 @@ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v6.1.7" + "source": "https://github.com/symfony/http-client/tree/v6.2.0" }, "funding": [ { @@ -6302,7 +6349,7 @@ "type": "tidelift" } ], - "time": "2022-10-28T16:23:08+00:00" + "time": "2022-11-14T10:13:36+00:00" }, { "name": "symfony/http-client-contracts", @@ -6387,16 +6434,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.1.7", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "792a1856d2b95273f0e1c3435785f1d01a60ecc6" + "reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/792a1856d2b95273f0e1c3435785f1d01a60ecc6", - "reference": "792a1856d2b95273f0e1c3435785f1d01a60ecc6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d0bbd5a7e81b38f32504399b9199f265505b7bac", + "reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac", "shasum": "" }, "require": { @@ -6404,6 +6451,9 @@ "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.1" }, + "conflict": { + "symfony/cache": "<6.2" + }, "require-dev": { "predis/predis": "~1.0", "symfony/cache": "^5.4|^6.0", @@ -6442,7 +6492,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.1.7" + "source": "https://github.com/symfony/http-foundation/tree/v6.2.1" }, "funding": [ { @@ -6458,25 +6508,26 @@ "type": "tidelift" } ], - "time": "2022-10-12T09:44:59+00:00" + "time": "2022-12-04T18:26:13+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.1.7", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "8fc1ffe753948c47a103a809cdd6a4a8458b3254" + "reference": "bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/8fc1ffe753948c47a103a809cdd6a4a8458b3254", - "reference": "8fc1ffe753948c47a103a809cdd6a4a8458b3254", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404", + "reference": "bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/error-handler": "^6.1", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", @@ -6487,7 +6538,7 @@ "symfony/cache": "<5.4", "symfony/config": "<6.1", "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.1", + "symfony/dependency-injection": "<6.2", "symfony/doctrine-bridge": "<5.4", "symfony/form": "<5.4", "symfony/http-client": "<5.4", @@ -6507,7 +6558,7 @@ "symfony/config": "^6.1", "symfony/console": "^5.4|^6.0", "symfony/css-selector": "^5.4|^6.0", - "symfony/dependency-injection": "^6.1", + "symfony/dependency-injection": "^6.2", "symfony/dom-crawler": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", @@ -6552,7 +6603,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.1.7" + "source": "https://github.com/symfony/http-kernel/tree/v6.2.1" }, "funding": [ { @@ -6568,20 +6619,20 @@ "type": "tidelift" } ], - "time": "2022-10-28T18:06:36+00:00" + "time": "2022-12-06T17:28:26+00:00" }, { "name": "symfony/mailer", - "version": "v6.1.7", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "7e19813c0b43387c55665780c4caea505cc48391" + "reference": "a18c3dd41cfcf011e3866802e39b9ae9e541deaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/7e19813c0b43387c55665780c4caea505cc48391", - "reference": "7e19813c0b43387c55665780c4caea505cc48391", + "url": "https://api.github.com/repos/symfony/mailer/zipball/a18c3dd41cfcf011e3866802e39b9ae9e541deaf", + "reference": "a18c3dd41cfcf011e3866802e39b9ae9e541deaf", "shasum": "" }, "require": { @@ -6590,15 +6641,20 @@ "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0", + "symfony/mime": "^6.2", "symfony/service-contracts": "^1.1|^2|^3" }, "conflict": { - "symfony/http-kernel": "<5.4" + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" }, "require-dev": { + "symfony/console": "^5.4|^6.0", "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/messenger": "^5.4|^6.0" + "symfony/messenger": "^6.2", + "symfony/twig-bridge": "^6.2" }, "type": "library", "autoload": { @@ -6626,7 +6682,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.1.7" + "source": "https://github.com/symfony/mailer/tree/v6.2.1" }, "funding": [ { @@ -6642,20 +6698,20 @@ "type": "tidelift" } ], - "time": "2022-10-28T16:23:08+00:00" + "time": "2022-12-06T16:54:23+00:00" }, { "name": "symfony/mailgun-mailer", - "version": "v6.1.0", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "44d3c15049d84f5165917a6190f06adbe64d71dd" + "reference": "c5364fbcf5581ba9eae569db12b380b9255ce238" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/44d3c15049d84f5165917a6190f06adbe64d71dd", - "reference": "44d3c15049d84f5165917a6190f06adbe64d71dd", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/c5364fbcf5581ba9eae569db12b380b9255ce238", + "reference": "c5364fbcf5581ba9eae569db12b380b9255ce238", "shasum": "" }, "require": { @@ -6691,7 +6747,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v6.1.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.2.0" }, "funding": [ { @@ -6707,20 +6763,20 @@ "type": "tidelift" } ], - "time": "2022-04-01T07:15:35+00:00" + "time": "2022-10-09T08:55:40+00:00" }, { "name": "symfony/mime", - "version": "v6.1.7", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "f440f066d57691088d998d6e437ce98771144618" + "reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/f440f066d57691088d998d6e437ce98771144618", - "reference": "f440f066d57691088d998d6e437ce98771144618", + "url": "https://api.github.com/repos/symfony/mime/zipball/1e8005a7cbd79fb824ad81308ef2a76592a08bc0", + "reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0", "shasum": "" }, "require": { @@ -6732,15 +6788,17 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4" + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", + "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/property-access": "^5.4|^6.0", "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^5.2|^6.0" + "symfony/serializer": "^6.2" }, "type": "library", "autoload": { @@ -6772,7 +6830,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.1.7" + "source": "https://github.com/symfony/mime/tree/v6.2.0" }, "funding": [ { @@ -6788,20 +6846,20 @@ "type": "tidelift" } ], - "time": "2022-10-19T08:10:53+00:00" + "time": "2022-11-28T12:28:19+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { @@ -6816,7 +6874,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6854,7 +6912,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, "funding": [ { @@ -6870,20 +6928,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "433d05519ce6990bf3530fba6957499d327395c2" + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", - "reference": "433d05519ce6990bf3530fba6957499d327395c2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", "shasum": "" }, "require": { @@ -6895,7 +6953,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6935,7 +6993,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" }, "funding": [ { @@ -6951,20 +7009,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8" + "reference": "639084e360537a19f9ee352433b84ce831f3d2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "reference": "639084e360537a19f9ee352433b84ce831f3d2da", "shasum": "" }, "require": { @@ -6978,7 +7036,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7022,7 +7080,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" }, "funding": [ { @@ -7038,20 +7096,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -7063,7 +7121,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7106,7 +7164,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -7122,20 +7180,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { @@ -7150,7 +7208,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7189,7 +7247,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -7205,20 +7263,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -7227,7 +7285,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7265,7 +7323,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -7281,20 +7339,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -7303,7 +7361,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7348,7 +7406,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -7364,20 +7422,20 @@ "type": "tidelift" } ], - "time": "2022-05-10T07:21:04+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1" + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", "shasum": "" }, "require": { @@ -7386,7 +7444,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7427,7 +7485,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" }, "funding": [ { @@ -7443,20 +7501,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23" + "reference": "f3cf1a645c2734236ed1e2e671e273eeb3586166" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/a41886c1c81dc075a09c71fe6db5b9d68c79de23", - "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/f3cf1a645c2734236ed1e2e671e273eeb3586166", + "reference": "f3cf1a645c2734236ed1e2e671e273eeb3586166", "shasum": "" }, "require": { @@ -7471,7 +7529,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -7509,7 +7567,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.27.0" }, "funding": [ { @@ -7525,20 +7583,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", - "version": "v6.1.3", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292" + "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a6506e99cfad7059b1ab5cab395854a0a0c21292", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292", + "url": "https://api.github.com/repos/symfony/process/zipball/ba6e55359f8f755fe996c58a81e00eaa67a35877", + "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877", "shasum": "" }, "require": { @@ -7570,7 +7628,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.1.3" + "source": "https://github.com/symfony/process/tree/v6.2.0" }, "funding": [ { @@ -7586,20 +7644,20 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2022-11-02T09:08:04+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.1.3", + "version": "v2.1.4", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840" + "reference": "a125b93ef378c492e274f217874906fb9babdebb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", - "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a125b93ef378c492e274f217874906fb9babdebb", + "reference": "a125b93ef378c492e274f217874906fb9babdebb", "shasum": "" }, "require": { @@ -7658,7 +7716,7 @@ ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.3" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.4" }, "funding": [ { @@ -7674,20 +7732,20 @@ "type": "tidelift" } ], - "time": "2022-09-05T10:34:54+00:00" + "time": "2022-11-28T22:46:34+00:00" }, { "name": "symfony/routing", - "version": "v6.1.7", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "95effeb9d6e2cec861cee06bf5bbf82d09aea7f5" + "reference": "857ac6f4df371470fbdefa2f5967a2618dbf1852" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/95effeb9d6e2cec861cee06bf5bbf82d09aea7f5", - "reference": "95effeb9d6e2cec861cee06bf5bbf82d09aea7f5", + "url": "https://api.github.com/repos/symfony/routing/zipball/857ac6f4df371470fbdefa2f5967a2618dbf1852", + "reference": "857ac6f4df371470fbdefa2f5967a2618dbf1852", "shasum": "" }, "require": { @@ -7695,14 +7753,14 @@ }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.4", + "symfony/config": "<6.2", "symfony/dependency-injection": "<5.4", "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", + "symfony/config": "^6.2", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", @@ -7746,7 +7804,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.1.7" + "source": "https://github.com/symfony/routing/tree/v6.2.0" }, "funding": [ { @@ -7762,7 +7820,7 @@ "type": "tidelift" } ], - "time": "2022-10-18T13:12:43+00:00" + "time": "2022-11-09T13:28:29+00:00" }, { "name": "symfony/service-contracts", @@ -7851,16 +7909,16 @@ }, { "name": "symfony/string", - "version": "v6.1.7", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "823f143370880efcbdfa2dbca946b3358c4707e5" + "reference": "145702685e0d12f81d755c71127bfff7582fdd36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/823f143370880efcbdfa2dbca946b3358c4707e5", - "reference": "823f143370880efcbdfa2dbca946b3358c4707e5", + "url": "https://api.github.com/repos/symfony/string/zipball/145702685e0d12f81d755c71127bfff7582fdd36", + "reference": "145702685e0d12f81d755c71127bfff7582fdd36", "shasum": "" }, "require": { @@ -7876,6 +7934,7 @@ "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.0|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, @@ -7916,7 +7975,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.1.7" + "source": "https://github.com/symfony/string/tree/v6.2.0" }, "funding": [ { @@ -7932,20 +7991,20 @@ "type": "tidelift" } ], - "time": "2022-10-10T09:34:31+00:00" + "time": "2022-11-30T17:13:47+00:00" }, { "name": "symfony/translation", - "version": "v6.1.6", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e6cd330e5a072518f88d65148f3f165541807494" + "reference": "c08de62caead8357244efcb809d0b1a2584f2198" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e6cd330e5a072518f88d65148f3f165541807494", - "reference": "e6cd330e5a072518f88d65148f3f165541807494", + "url": "https://api.github.com/repos/symfony/translation/zipball/c08de62caead8357244efcb809d0b1a2584f2198", + "reference": "c08de62caead8357244efcb809d0b1a2584f2198", "shasum": "" }, "require": { @@ -7965,6 +8024,7 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { + "nikic/php-parser": "^4.13", "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0", "symfony/console": "^5.4|^6.0", @@ -7979,6 +8039,7 @@ "symfony/yaml": "^5.4|^6.0" }, "suggest": { + "nikic/php-parser": "To use PhpAstExtractor", "psr/log-implementation": "To use logging capability in translator", "symfony/config": "", "symfony/yaml": "" @@ -8012,7 +8073,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.1.6" + "source": "https://github.com/symfony/translation/tree/v6.2.0" }, "funding": [ { @@ -8028,20 +8089,20 @@ "type": "tidelift" } ], - "time": "2022-10-07T08:04:03+00:00" + "time": "2022-11-02T09:08:04+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.1.1", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc" + "reference": "68cce71402305a015f8c1589bfada1280dc64fe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/606be0f48e05116baef052f7f3abdb345c8e02cc", - "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/68cce71402305a015f8c1589bfada1280dc64fe7", + "reference": "68cce71402305a015f8c1589bfada1280dc64fe7", "shasum": "" }, "require": { @@ -8053,7 +8114,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -8093,7 +8154,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.2.0" }, "funding": [ { @@ -8109,20 +8170,20 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/uid", - "version": "v6.1.5", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "e03519f7b1ce1d3c0b74f751892bb41d549a2d98" + "reference": "4f9f537e57261519808a7ce1d941490736522bbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/e03519f7b1ce1d3c0b74f751892bb41d549a2d98", - "reference": "e03519f7b1ce1d3c0b74f751892bb41d549a2d98", + "url": "https://api.github.com/repos/symfony/uid/zipball/4f9f537e57261519808a7ce1d941490736522bbc", + "reference": "4f9f537e57261519808a7ce1d941490736522bbc", "shasum": "" }, "require": { @@ -8167,7 +8228,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.1.5" + "source": "https://github.com/symfony/uid/tree/v6.2.0" }, "funding": [ { @@ -8183,20 +8244,20 @@ "type": "tidelift" } ], - "time": "2022-09-09T09:34:27+00:00" + "time": "2022-10-09T08:55:40+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.1.6", + "version": "v6.2.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0f0adde127f24548e23cbde83bcaeadc491c551f" + "reference": "1e7544c8698627b908657e5276854d52ab70087a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0f0adde127f24548e23cbde83bcaeadc491c551f", - "reference": "0f0adde127f24548e23cbde83bcaeadc491c551f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1e7544c8698627b908657e5276854d52ab70087a", + "reference": "1e7544c8698627b908657e5276854d52ab70087a", "shasum": "" }, "require": { @@ -8255,7 +8316,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.1.6" + "source": "https://github.com/symfony/var-dumper/tree/v6.2.1" }, "funding": [ { @@ -8271,7 +8332,7 @@ "type": "tidelift" } ], - "time": "2022-10-07T08:04:03+00:00" + "time": "2022-12-03T22:32:58+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8768,16 +8829,16 @@ }, { "name": "composer/pcre", - "version": "3.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", "shasum": "" }, "require": { @@ -8819,7 +8880,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.0.0" + "source": "https://github.com/composer/pcre/tree/3.1.0" }, "funding": [ { @@ -8835,7 +8896,7 @@ "type": "tidelift" } ], - "time": "2022-02-25T20:21:48+00:00" + "time": "2022-11-17T09:50:14+00:00" }, { "name": "doctrine/instantiator", @@ -9236,16 +9297,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.1", + "version": "v4.15.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", "shasum": "" }, "require": { @@ -9286,22 +9347,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" }, - "time": "2022-09-04T07:30:47+00:00" + "time": "2022-11-12T15:38:23+00:00" }, { "name": "nunomaduro/larastan", - "version": "2.2.7", + "version": "2.2.9", "source": { "type": "git", "url": "https://github.com/nunomaduro/larastan.git", - "reference": "a3f67a4a668e477751557b0b19ad2c870e1e4e56" + "reference": "333e7915b984ce6606175749430081a372ead37e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/a3f67a4a668e477751557b0b19ad2c870e1e4e56", - "reference": "a3f67a4a668e477751557b0b19ad2c870e1e4e56", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/333e7915b984ce6606175749430081a372ead37e", + "reference": "333e7915b984ce6606175749430081a372ead37e", "shasum": "" }, "require": { @@ -9316,7 +9377,7 @@ "mockery/mockery": "^1.4.4", "php": "^8.0.2", "phpmyadmin/sql-parser": "^5.5", - "phpstan/phpstan": "^1.8.7" + "phpstan/phpstan": "^1.9.0" }, "require-dev": { "nikic/php-parser": "^4.13.2", @@ -9365,7 +9426,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/larastan/issues", - "source": "https://github.com/nunomaduro/larastan/tree/2.2.7" + "source": "https://github.com/nunomaduro/larastan/tree/2.2.9" }, "funding": [ { @@ -9385,7 +9446,7 @@ "type": "patreon" } ], - "time": "2022-10-30T15:02:40+00:00" + "time": "2022-11-04T14:58:00+00:00" }, { "name": "phar-io/manifest", @@ -9681,16 +9742,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.8.11", + "version": "1.9.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "46e223dd68a620da18855c23046ddb00940b4014" + "reference": "d6fdf01c53978b6429f1393ba4afeca39cc68afa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014", - "reference": "46e223dd68a620da18855c23046ddb00940b4014", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d6fdf01c53978b6429f1393ba4afeca39cc68afa", + "reference": "d6fdf01c53978b6429f1393ba4afeca39cc68afa", "shasum": "" }, "require": { @@ -9720,7 +9781,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.2" }, "funding": [ { @@ -9736,7 +9797,7 @@ "type": "tidelift" } ], - "time": "2022-10-24T15:45:13+00:00" + "time": "2022-11-10T09:56:11+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -9838,16 +9899,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.18", + "version": "9.2.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a" + "reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c77b56b63e3d2031bd8997fcec43c1925ae46559", + "reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559", "shasum": "" }, "require": { @@ -9903,7 +9964,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.19" }, "funding": [ { @@ -9911,7 +9972,7 @@ "type": "github" } ], - "time": "2022-10-27T13:35:33+00:00" + "time": "2022-11-18T07:47:47+00:00" }, { "name": "phpunit/php-file-iterator", @@ -10156,16 +10217,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.26", + "version": "9.5.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38", + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38", "shasum": "" }, "require": { @@ -10238,7 +10299,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27" }, "funding": [ { @@ -10254,7 +10315,7 @@ "type": "tidelift" } ], - "time": "2022-10-28T06:00:21+00:00" + "time": "2022-12-09T07:31:23+00:00" }, { "name": "sebastian/cli-parser", diff --git a/config/search.php b/config/search.php index ef7dd639ba..730554e150 100644 --- a/config/search.php +++ b/config/search.php @@ -231,5 +231,6 @@ return [ 'attachment_notes_ends' => ['alias' => false, 'needs_context' => true], 'attachment_notes_end' => ['alias' => true, 'alias_for' => 'attachment_notes_ends', 'needs_context' => true], 'exists' => ['alias' => false, 'needs_context' => false,], + 'sepa_ct_is' => ['alias' => false, 'needs_context' => true], ], ]; diff --git a/frontend/package.json b/frontend/package.json index b5f3877fe7..9a01169996 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,14 +11,14 @@ }, "dependencies": { "@popperjs/core": "^2.11.2", - "@quasar/extras": "^1.15.4", + "@quasar/extras": "^1.15.8", "apexcharts": "^3.32.1", "axios": "^0.21.1", "axios-cache-adapter": "^2.7.3", "core-js": "^3.6.5", "date-fns": "^2.28.0", "pinia": "^2.0.14", - "quasar": "^2.8.4", + "quasar": "^2.10.2", "vue": "3", "vue-i18n": "^9.0.0", "vue-router": "^4.0.0", @@ -26,7 +26,7 @@ }, "devDependencies": { "@babel/eslint-parser": "^7.13.14", - "@quasar/app-webpack": "^3.6.1", + "@quasar/app-webpack": "^3.6.2", "@types/node": "^12.20.21", "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 30ea0efcd8..d951a9bbf3 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1165,10 +1165,10 @@ resolved "https://registry.yarnpkg.com/@positron/stack-trace/-/stack-trace-1.0.0.tgz#14fcc712a530038ef9be1ce6952315a839f466a8" integrity sha1-FPzHEqUwA475vhzmlSMVqDn0Zqg= -"@quasar/app-webpack@^3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@quasar/app-webpack/-/app-webpack-3.6.1.tgz#f2189316e931b77df9c3c63bf21f6108c3111a2a" - integrity sha512-dwHs34fMXPaAY6iO4B0Qs6zexIS8kv9kI9LuYDEiU9uHndn6roH0Wsnk6MjiHk/4zPqFAKIVn6zF6FdE5nD9nA== +"@quasar/app-webpack@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@quasar/app-webpack/-/app-webpack-3.6.2.tgz#8ce387604687c36139a47f2d4efe394a20d8eb14" + integrity sha512-c1pVETEKUNYEJK0ZBRFgrIbXEttCByBhQYvVEFlmE2shbWJzIwqw2EqM/X4BXJ6xci6YyQyMmFVyHfGBxz/YwA== dependencies: "@quasar/babel-preset-app" "2.0.1" "@quasar/fastclick" "1.1.5" @@ -1261,10 +1261,10 @@ core-js "^3.6.5" core-js-compat "^3.6.5" -"@quasar/extras@^1.15.4": - version "1.15.4" - resolved "https://registry.yarnpkg.com/@quasar/extras/-/extras-1.15.4.tgz#c3c78416c2c39e4d4e791e8bd4dd6ff4b7e14b14" - integrity sha512-GGURiH/K/IZM41RD9hcNG0Zly63sFGFZ97Q+doVMFSGBqNySfVNsb3WFSovOyL5K/Lfnb/sjzslroVIUoDVTKw== +"@quasar/extras@^1.15.8": + version "1.15.8" + resolved "https://registry.yarnpkg.com/@quasar/extras/-/extras-1.15.8.tgz#948e35a7bc6006d97eb16273d1f05c99997fe126" + integrity sha512-UR6Snu7DSYdDOGqcNjUr0FJtKNfPn2Jc2hKTC+y/Y7Gf+vWu0RYUl49cguD33nn+wpbgs28+cvmjx7u3NNogoQ== "@quasar/fastclick@1.1.5": version "1.1.5" @@ -4193,9 +4193,9 @@ loader-runner@^4.2.0: integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^1.0.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -4455,11 +4455,16 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimist@1.2.6, minimist@^1.2.0: +minimist@1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.2.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + mrmime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" @@ -5259,10 +5264,10 @@ qs@6.9.7: resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== -quasar@^2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/quasar/-/quasar-2.8.4.tgz#d32d7f0c1c4f313ee45f8f3d72028f3085727172" - integrity sha512-bygg0GgSwQyrUJJTaHmYV50nVrz779QsNeH/cg2R/SHOQ4UmJI2FBA1hxU/nlpJ6DbmezNab1COa5ID57PvKfw== +quasar@^2.10.2: + version "2.10.2" + resolved "https://registry.yarnpkg.com/quasar/-/quasar-2.10.2.tgz#0a35d654a645d33fbe7dc537ea3be52917fa543d" + integrity sha512-y6suu0f2hJKrnFPHzx+p2EBVGzDF6xHaqYGkDIsMNkhxsrO9Qi2+dZCjq1J6+48EJiqPEOn8t9X/gT7yLSSnLw== queue-microtask@^1.2.2: version "1.2.3" diff --git a/package.json b/package.json index 0e9a390664..2292bce4a9 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ }, "devDependencies": { "@johmun/vue-tags-input": "^2", - "@vue/compiler-sfc": "^3.2.40", - "axios": "^1.1", + "@vue/compiler-sfc": "^3.2.45", + "axios": "^1.2", "bootstrap-sass": "^3", "cross-env": "^7.0", "font-awesome": "^4.7.0", diff --git a/readme.md b/readme.md index 9e52f67869..4ce6453aaf 100644 --- a/readme.md +++ b/readme.md @@ -77,7 +77,7 @@ If you need support using Firefly III or the associated tools, come find us! - [GitHub Discussions for questions and support](https://github.com/firefly-iii/firefly-iii/discussions/) - [Gitter.im for a good chat and a quick answer](https://gitter.im/firefly-iii/firefly-iii) - [GitHub Issues for bugs and issues](https://github.com/firefly-iii/firefly-iii/issues) -- [Follow me around for news and updates on Twitter](https://twitter.com/Firefly_iii) +- Follow me around for news and updates on Mastodon @@ -138,7 +138,7 @@ There are many ways to run Firefly III ## Contributing -You can contact me at [james@firefly-iii.org](mailto:james@firefly-iii.org), you may open an issue in the [main repository](https://github.com/firefly-iii/firefly-iii) or contact me through [gitter](https://gitter.im/firefly-iii/firefly-iii) and [Twitter](https://twitter.com/Firefly_III). +You can contact me at [james@firefly-iii.org](mailto:james@firefly-iii.org), you may open an issue in the [main repository](https://github.com/firefly-iii/firefly-iii) or contact me through [gitter](https://gitter.im/firefly-iii/firefly-iii) and [Mastodon](https://fosstodon.org/@ff3). Of course, there are some [contributing guidelines](https://docs.firefly-iii.org/firefly-iii/other-pages/contributing) and a [code of conduct](https://github.com/firefly-iii/firefly-iii/blob/main/.github/code_of_conduct.md), which I invite you to check out. diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 746136214a..8ee502c6a8 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -675,6 +675,7 @@ return [ 'search_modifier_not_attachment_notes_contains' => 'Any attachment\'s notes do not contain ":value"', 'search_modifier_not_attachment_notes_starts' => 'Any attachment\'s notes start with ":value"', 'search_modifier_not_attachment_notes_ends' => 'Any attachment\'s notes do not end with ":value"', + 'search_modifier_sepa_ct_is' => 'SEPA CT is ":value"', 'update_rule_from_query' => 'Update rule ":rule" from search query', 'create_rule_from_query' => 'Create new rule from search query', 'rule_from_search_words' => 'The rule engine has a hard time handling ":string". The suggested rule that fits your search query may give different results. Please verify the rule triggers carefully.', @@ -898,6 +899,8 @@ return [ 'rule_trigger_no_external_url_choice' => 'Transaction has no external URL', 'rule_trigger_id_choice' => 'Transaction ID is..', 'rule_trigger_id' => 'Transaction ID is ":trigger_value"', + 'rule_trigger_sepa_ct_is_choice' => 'SEPA CT is..', + 'rule_trigger_sepa_ct_is' => 'SEPA CT is ":trigger_value"', // new values: 'rule_trigger_user_action_choice' => 'User action is ":trigger_value"', @@ -2185,6 +2188,7 @@ return [ 'no_tags' => '(no tags)', // piggy banks: + 'event_history' => 'Event history', 'add_money_to_piggy' => 'Add money to piggy bank ":name"', 'piggy_bank' => 'Piggy bank', 'new_piggy_bank' => 'New piggy bank', diff --git a/resources/views/piggy-banks/show.twig b/resources/views/piggy-banks/show.twig index c3ba9a0b10..0c0ef544bb 100644 --- a/resources/views/piggy-banks/show.twig +++ b/resources/views/piggy-banks/show.twig @@ -98,7 +98,7 @@
-

{{ 'transactions'|_ }}

+

{{ 'event_history'|_ }}

{% include 'list/piggy-bank-events' %} diff --git a/yarn.lock b/yarn.lock index c3776321aa..c9674c2986 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1249,56 +1249,56 @@ dependencies: "@types/node" "*" -"@vue/compiler-core@3.2.41": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.41.tgz#fb5b25f23817400f44377d878a0cdead808453ef" - integrity sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw== +"@vue/compiler-core@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz#d9311207d96f6ebd5f4660be129fb99f01ddb41b" + integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A== dependencies: "@babel/parser" "^7.16.4" - "@vue/shared" "3.2.41" + "@vue/shared" "3.2.45" estree-walker "^2.0.2" source-map "^0.6.1" -"@vue/compiler-dom@3.2.41": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz#dc63dcd3ce8ca8a8721f14009d498a7a54380299" - integrity sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw== +"@vue/compiler-dom@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce" + integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw== dependencies: - "@vue/compiler-core" "3.2.41" - "@vue/shared" "3.2.41" + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" -"@vue/compiler-sfc@2.7.13": - version "2.7.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.13.tgz#818944f4a9616b752d48dac6a56bffe2db88bdff" - integrity sha512-zzu2rLRZlgIU+OT3Atbr7Y6PG+LW4wVQpPfNRrGDH3dM9PsrcVfa+1pKb8bW467bGM3aDOvAnsYLWVpYIv3GRg== +"@vue/compiler-sfc@2.7.14": + version "2.7.14" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz#3446fd2fbb670d709277fc3ffa88efc5e10284fd" + integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA== dependencies: "@babel/parser" "^7.18.4" postcss "^8.4.14" source-map "^0.6.1" -"@vue/compiler-sfc@^3.2.40": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz#238fb8c48318408c856748f4116aff8cc1dc2a73" - integrity sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w== +"@vue/compiler-sfc@^3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70" + integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q== dependencies: "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.41" - "@vue/compiler-dom" "3.2.41" - "@vue/compiler-ssr" "3.2.41" - "@vue/reactivity-transform" "3.2.41" - "@vue/shared" "3.2.41" + "@vue/compiler-core" "3.2.45" + "@vue/compiler-dom" "3.2.45" + "@vue/compiler-ssr" "3.2.45" + "@vue/reactivity-transform" "3.2.45" + "@vue/shared" "3.2.45" estree-walker "^2.0.2" magic-string "^0.25.7" postcss "^8.1.10" source-map "^0.6.1" -"@vue/compiler-ssr@3.2.41": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz#344f564d68584b33367731c04ffc949784611fcb" - integrity sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ== +"@vue/compiler-ssr@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2" + integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ== dependencies: - "@vue/compiler-dom" "3.2.41" - "@vue/shared" "3.2.41" + "@vue/compiler-dom" "3.2.45" + "@vue/shared" "3.2.45" "@vue/component-compiler-utils@^3.1.0": version "3.3.0" @@ -1316,21 +1316,21 @@ optionalDependencies: prettier "^1.18.2 || ^2.0.0" -"@vue/reactivity-transform@3.2.41": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz#9ff938877600c97f646e09ac1959b5150fb11a0c" - integrity sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A== +"@vue/reactivity-transform@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz#07ac83b8138550c83dfb50db43cde1e0e5e8124d" + integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ== dependencies: "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.41" - "@vue/shared" "3.2.41" + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/shared@3.2.41": - version "3.2.41" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.41.tgz#fbc95422df654ea64e8428eced96ba6ad555d2bb" - integrity sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw== +"@vue/shared@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2" + integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -1619,10 +1619,10 @@ autoprefixer@^10.4.0: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -axios@^1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35" - integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA== +axios@^1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.0.tgz#1cb65bd75162c70e9f8d118a905126c4a201d383" + integrity sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -3432,9 +3432,9 @@ loader-runner@^4.2.0: integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -4247,9 +4247,9 @@ postcss@^7.0.36: source-map "^0.6.1" postcss@^8.1.10, postcss@^8.2.15, postcss@^8.4, postcss@^8.4.14: - version "8.4.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== + version "8.4.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" + integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -5124,9 +5124,9 @@ vue-i18n@^8: integrity sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA== vue-loader@^15: - version "15.10.0" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.10.0.tgz#2a12695c421a2a2cc2138f05a949d04ed086e38b" - integrity sha512-VU6tuO8eKajrFeBzMssFUP9SvakEeeSi1BxdTH5o3+1yUyrldp8IERkSdXlMI2t4kxF2sqYUDsQY+WJBxzBmZg== + version "15.10.1" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.10.1.tgz#c451c4cd05a911aae7b5dbbbc09fb913fb3cca18" + integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== dependencies: "@vue/component-compiler-utils" "^3.1.0" hash-sum "^1.0.2" @@ -5143,9 +5143,9 @@ vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: loader-utils "^1.0.2" vue-template-compiler@^2.7: - version "2.7.13" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz#1520a5aa6d1af51dd0622824e79814f6e8cb7058" - integrity sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog== + version "2.7.14" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" + integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== dependencies: de-indent "^1.0.2" he "^1.2.0" @@ -5156,11 +5156,11 @@ vue-template-es2015-compiler@^1.9.0: integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== vue@^2.6.10, vue@^2.7: - version "2.7.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.13.tgz#e9e499cc6da46dc7941c2510193b15aa6a84a79f" - integrity sha512-QnM6ULTNnPmn71eUO+4hdjfBIA3H0GLsBnchnI/kS678tjI45GOUZhXd0oP/gX9isikXz1PAzSnkPspp9EUNfQ== + version "2.7.14" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.14.tgz#3743dcd248fd3a34d421ae456b864a0246bafb17" + integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ== dependencies: - "@vue/compiler-sfc" "2.7.13" + "@vue/compiler-sfc" "2.7.14" csstype "^3.1.0" watchpack@^2.4.0: