Merge branch 'v5-develop' into yodlee

This commit is contained in:
David Bomba 2022-08-09 08:40:48 +10:00
commit 72b86cd25b
23 changed files with 115270 additions and 114868 deletions

View File

@ -40,7 +40,8 @@ class RecurringInvoicesCron
public function handle() : void public function handle() : void
{ {
/* Get all invoices where the send date is less than NOW + 30 minutes() */ /* Get all invoices where the send date is less than NOW + 30 minutes() */
nlog('Sending recurring invoices '.Carbon::now()->format('Y-m-d h:i:s')); $start = Carbon::now()->format('Y-m-d h:i:s');
nlog('Sending recurring invoices '.$start);
if (! config('ninja.db.multi_db_enabled')) { if (! config('ninja.db.multi_db_enabled')) {
$recurring_invoices = RecurringInvoice::where('next_send_date', '<=', now()->toDateTimeString()) $recurring_invoices = RecurringInvoice::where('next_send_date', '<=', now()->toDateTimeString())
@ -119,5 +120,8 @@ class RecurringInvoicesCron
}); });
} }
} }
nlog("Recurring invoice send duration " . $start . " - " . Carbon::now()->format('Y-m-d h:i:s'));
} }
} }

View File

@ -41,7 +41,7 @@ class PaymentFailedMailer implements ShouldQueue
public ?PaymentHash $payment_hash; public ?PaymentHash $payment_hash;
public string $error; public $error;
public Company $company; public Company $company;
@ -55,7 +55,7 @@ class PaymentFailedMailer implements ShouldQueue
* @param $company * @param $company
* @param $amount * @param $amount
*/ */
public function __construct(?PaymentHash $payment_hash, Company $company, Client $client, string $error) public function __construct(?PaymentHash $payment_hash, Company $company, Client $client, $error)
{ {
$this->payment_hash = $payment_hash; $this->payment_hash = $payment_hash;
$this->client = $client; $this->client = $client;
@ -70,6 +70,10 @@ class PaymentFailedMailer implements ShouldQueue
*/ */
public function handle() public function handle()
{ {
if(!is_string($this->error)){
$this->error = "Payment failed, no reason given.";
}
//Set DB //Set DB
MultiDB::setDb($this->company->db); MultiDB::setDb($this->company->db);
App::setLocale($this->client->locale()); App::setLocale($this->client->locale());

View File

@ -127,7 +127,7 @@ class SendRecurring implements ShouldQueue
$invoice->invitations->each(function ($invitation) use ($invoice) { $invoice->invitations->each(function ($invitation) use ($invoice) {
if ($invitation->contact && ! $invitation->contact->trashed() && strlen($invitation->contact->email) >= 1 && $invoice->client->getSetting('auto_email_invoice')) { if ($invitation->contact && ! $invitation->contact->trashed() && strlen($invitation->contact->email) >= 1 && $invoice->client->getSetting('auto_email_invoice')) {
try { try {
EmailEntity::dispatch($invitation, $invoice->company)->delay(10); EmailEntity::dispatch($invitation, $invoice->company)->delay(rand(10,20));
} catch (\Exception $e) { } catch (\Exception $e) {
nlog($e->getMessage()); nlog($e->getMessage());
} }
@ -140,13 +140,13 @@ class SendRecurring implements ShouldQueue
if ($invoice->client->getSetting('auto_bill_date') == 'on_send_date' && $invoice->auto_bill_enabled) { if ($invoice->client->getSetting('auto_bill_date') == 'on_send_date' && $invoice->auto_bill_enabled) {
nlog("attempting to autobill {$invoice->number}"); nlog("attempting to autobill {$invoice->number}");
// $invoice->service()->autoBill(); // $invoice->service()->autoBill();
AutoBill::dispatch($invoice, $this->db)->delay(20); AutoBill::dispatch($invoice, $this->db)->delay(rand(30,40));
} elseif ($invoice->client->getSetting('auto_bill_date') == 'on_due_date' && $invoice->auto_bill_enabled) { } elseif ($invoice->client->getSetting('auto_bill_date') == 'on_due_date' && $invoice->auto_bill_enabled) {
if ($invoice->due_date && Carbon::parse($invoice->due_date)->startOfDay()->lte(now()->startOfDay())) { if ($invoice->due_date && Carbon::parse($invoice->due_date)->startOfDay()->lte(now()->startOfDay())) {
nlog("attempting to autobill {$invoice->number}"); nlog("attempting to autobill {$invoice->number}");
// $invoice->service()->autoBill(); // $invoice->service()->autoBill();
AutoBill::dispatch($invoice, $this->db)->delay(20); AutoBill::dispatch($invoice, $this->db)->delay(rand(30,40));
} }
} }
} }

View File

@ -96,12 +96,9 @@ class InvoiceEmailEngine extends BaseEmailEngine
if (is_array($this->template_data) && array_key_exists('subject', $this->template_data) && strlen($this->template_data['subject']) > 0) { if (is_array($this->template_data) && array_key_exists('subject', $this->template_data) && strlen($this->template_data['subject']) > 0) {
$subject_template = $this->template_data['subject']; $subject_template = $this->template_data['subject'];
nlog('subject = template data');
} elseif (strlen($this->client->getSetting('email_subject_'.$this->reminder_template)) > 0) { } elseif (strlen($this->client->getSetting('email_subject_'.$this->reminder_template)) > 0) {
$subject_template = $this->client->getSetting('email_subject_'.$this->reminder_template); $subject_template = $this->client->getSetting('email_subject_'.$this->reminder_template);
nlog('subject = settings var');
} else { } else {
nlog('subject = default template '.'email_subject_'.$this->reminder_template);
$subject_template = EmailTemplateDefaults::getDefaultTemplate('email_subject_'.$this->reminder_template, $this->client->locale()); $subject_template = EmailTemplateDefaults::getDefaultTemplate('email_subject_'.$this->reminder_template, $this->client->locale());
// $subject_template = $this->client->getSetting('email_subject_'.$this->reminder_template); // $subject_template = $this->client->getSetting('email_subject_'.$this->reminder_template);
} }

View File

@ -73,6 +73,7 @@ class CompanyGateway extends BaseModel
// const TYPE_WEPAY = 309; // const TYPE_WEPAY = 309;
// const TYPE_PAYFAST = 310; // const TYPE_PAYFAST = 310;
// const TYPE_PAYTRACE = 311; // const TYPE_PAYTRACE = 311;
// const TYPE_FORTE = 314;
public $gateway_consts = [ public $gateway_consts = [
'38f2c48af60c7dd69e04248cbb24c36e' => 300, '38f2c48af60c7dd69e04248cbb24c36e' => 300,
@ -85,6 +86,7 @@ class CompanyGateway extends BaseModel
'8fdeed552015b3c7b44ed6c8ebd9e992' => 309, '8fdeed552015b3c7b44ed6c8ebd9e992' => 309,
'd6814fc83f45d2935e7777071e629ef9' => 310, 'd6814fc83f45d2935e7777071e629ef9' => 310,
'bbd736b3254b0aabed6ad7fda1298c88' => 311, 'bbd736b3254b0aabed6ad7fda1298c88' => 311,
'kivcvjexxvdiyqtj3mju5d6yhpeht2xs' => 314,
'65faab2ab6e3223dbe848b1686490baz' => 320, '65faab2ab6e3223dbe848b1686490baz' => 320,
'b9886f9257f0c6ee7c302f1c74475f6c' => 321, 'b9886f9257f0c6ee7c302f1c74475f6c' => 321,
'hxd6gwg3ekb9tb3v9lptgx1mqyg69zu9' => 322, 'hxd6gwg3ekb9tb3v9lptgx1mqyg69zu9' => 322,

View File

@ -558,6 +558,10 @@ class RecurringInvoice extends BaseModel
case '': case '':
return $this->calculateDateFromTerms($date); return $this->calculateDateFromTerms($date);
break; break;
case 'on_receipt':
return Carbon::Parse($date)->copy();
break;
default: default:
return $this->setDayOfMonth($date, $this->due_date_days); return $this->setDayOfMonth($date, $this->due_date_days);

View File

@ -100,6 +100,8 @@ class SystemLog extends Model
const TYPE_MOLLIE = 312; const TYPE_MOLLIE = 312;
const TYPE_EWAY = 313; const TYPE_EWAY = 313;
const TYPE_FORTE = 314;
const TYPE_SQUARE = 320; const TYPE_SQUARE = 320;
@ -250,7 +252,9 @@ class SystemLog extends Model
case self::TYPE_WEPAY: case self::TYPE_WEPAY:
return 'WePay'; return 'WePay';
case self::TYPE_PAYFAST: case self::TYPE_PAYFAST:
return 'Payfast'; return "Payfast";
case self::TYPE_FORTE:
return "Forte";
default: default:
return 'undefined'; return 'undefined';
} }

View File

@ -431,6 +431,10 @@ class BaseDriver extends AbstractPaymentDriver
public function sendFailureMail($error) public function sendFailureMail($error)
{ {
if(is_object($error)){
$error = 'Payment Aborted';
}
if (! is_null($this->payment_hash)) { if (! is_null($this->payment_hash)) {
$this->unWindGatewayFees($this->payment_hash); $this->unWindGatewayFees($this->payment_hash);
} }

View File

@ -20,6 +20,8 @@ use App\Http\Requests\Request;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\PaymentDrivers\FortePaymentDriver; use App\PaymentDrivers\FortePaymentDriver;
use App\Jobs\Util\SystemLogger;
use App\Models\SystemLog;
class ACH class ACH
{ {
@ -129,13 +131,36 @@ class ACH
} catch (\Throwable $th) { } catch (\Throwable $th) {
throw $th; throw $th;
} }
$message = [
'server_message' => $response->response->response_desc,
'server_response' => $response,
'data' => $payment_hash->data,
];
if ($httpcode>299) { if ($httpcode>299) {
SystemLogger::dispatch(
$message,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_FAILURE,
SystemLog::TYPE_FORTE,
$this->forte->client,
$this->forte->client->company,
);
$error = Validator::make([], []); $error = Validator::make([], []);
$error->getMessageBag()->add('gateway_error', $response->response->response_desc); $error->getMessageBag()->add('gateway_error', $response->response->response_desc);
return redirect('client/invoices')->withErrors($error); return redirect('client/invoices')->withErrors($error);
} }
SystemLogger::dispatch(
$message,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_SUCCESS,
SystemLog::TYPE_FORTE,
$this->forte->client,
$this->forte->client->company,
);
$data = [ $data = [
'payment_method' => $request->payment_method_id, 'payment_method' => $request->payment_method_id,
'payment_type' => PaymentType::ACH, 'payment_type' => PaymentType::ACH,

View File

@ -21,6 +21,8 @@ use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\PaymentDrivers\FortePaymentDriver; use App\PaymentDrivers\FortePaymentDriver;
use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest; use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest;
use App\Jobs\Util\SystemLogger;
use App\Models\SystemLog;
class CreditCard class CreditCard
{ {
@ -141,12 +143,36 @@ class CreditCard
} catch (\Throwable $th) { } catch (\Throwable $th) {
throw $th; throw $th;
} }
$message = [
'server_message' => $response->response->response_desc,
'server_response' => $response,
'data' => $payment_hash->data,
];
if ($httpcode>299) { if ($httpcode>299) {
SystemLogger::dispatch(
$message,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_FAILURE,
SystemLog::TYPE_FORTE,
$this->forte->client,
$this->forte->client->company,
);
$error = Validator::make([], []); $error = Validator::make([], []);
$error->getMessageBag()->add('gateway_error', $response->response->response_desc); $error->getMessageBag()->add('gateway_error', $response->response->response_desc);
return redirect('client/invoices')->withErrors($error); return redirect('client/invoices')->withErrors($error);
} }
SystemLogger::dispatch(
$message,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_SUCCESS,
SystemLog::TYPE_FORTE,
$this->forte->client,
$this->forte->client->company,
);
$data = [ $data = [
'payment_method' => $request->payment_method_id, 'payment_method' => $request->payment_method_id,
'payment_type' => PaymentType::parseCardType(strtolower($request->card_brand)) ?: PaymentType::CREDIT_CARD_OTHER, 'payment_type' => PaymentType::parseCardType(strtolower($request->card_brand)) ?: PaymentType::CREDIT_CARD_OTHER,

View File

@ -49,7 +49,7 @@ class FortePaymentDriver extends BaseDriver
return $types; return $types;
} }
const SYSTEM_LOG_TYPE = SystemLog::TYPE_STRIPE; //define a constant for your gateway ie TYPE_YOUR_CUSTOM_GATEWAY - set the const in the SystemLog model const SYSTEM_LOG_TYPE = SystemLog::TYPE_FORTE; //define a constant for your gateway ie TYPE_YOUR_CUSTOM_GATEWAY - set the const in the SystemLog model
public function setPaymentMethod($payment_method_id) public function setPaymentMethod($payment_method_id)
{ {

View File

@ -156,7 +156,6 @@ class CreditCard
'zip' => $this->paytrace->client->postal_code, 'zip' => $this->paytrace->client->postal_code,
]; ];
nlog($data);
} }
public function paymentView($data) public function paymentView($data)

View File

@ -89,15 +89,11 @@ class PaytracePaymentDriver extends BaseDriver
public function refund(Payment $payment, $amount, $return_client_response = false) public function refund(Payment $payment, $amount, $return_client_response = false)
{ {
// $cgt = ClientGatewayToken::where('company_gateway_id', $payment->company_gateway_id)
// ->where('gateway_type_id', $payment->gateway_type_id)
// ->first();
$data = [ $data = [
'amount' => $amount, 'amount' => $amount,
//'customer_id' => $cgt->token,
'transaction_id' => $payment->transaction_reference, 'transaction_id' => $payment->transaction_reference,
'integrator_id' => '959195xd1CuC', 'integrator_id' => $this->company_gateway->getConfigField('integratorId'),
]; ];
$response = $this->gatewayRequest('/v1/transactions/refund/for_transaction', $data); $response = $this->gatewayRequest('/v1/transactions/refund/for_transaction', $data);

View File

@ -167,6 +167,17 @@ class CreditCard
$this->stripe->client->company, $this->stripe->client->company,
); );
//If the user has come from a subscription double check here if we need to redirect.
//08-08-2022
if($payment->invoices()->whereHas('subscription')->exists()){
$subscription = $payment->invoices()->first()->subscription;
if($subscription && array_key_exists('return_url', $subscription->webhook_configuration) && strlen($subscription->webhook_configuration['return_url']) >=1)
return redirect($subscription->webhook_configuration['return_url']);
}
//08-08-2022
return redirect()->route('client.payments.show', ['payment' => $this->stripe->encodePrimaryKey($payment->id)]); return redirect()->route('client.payments.show', ['payment' => $this->stripe->encodePrimaryKey($payment->id)]);
} }

View File

@ -414,6 +414,7 @@ class HtmlEngine
$data['$portal_button'] = ['value' => '<a class="button" href="'.$this->contact->getLoginLink().'?client_hash='.$this->client->client_hash.'">'.ctrans('texts.view_client_portal').'</a>', 'label' => ctrans('view_client_portal')]; $data['$portal_button'] = ['value' => '<a class="button" href="'.$this->contact->getLoginLink().'?client_hash='.$this->client->client_hash.'">'.ctrans('texts.view_client_portal').'</a>', 'label' => ctrans('view_client_portal')];
$data['$contact.portal_button'] = &$data['$portal_button']; $data['$contact.portal_button'] = &$data['$portal_button'];
$data['$portalButton'] = &$data['$portal_button'];
$data['$contact.custom1'] = ['value' => isset($this->contact) ? $this->contact->custom_value1 : '&nbsp;', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'contact1')]; $data['$contact.custom1'] = ['value' => isset($this->contact) ? $this->contact->custom_value1 : '&nbsp;', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'contact1')];
$data['$contact.custom2'] = ['value' => isset($this->contact) ? $this->contact->custom_value2 : '&nbsp;', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'contact2')]; $data['$contact.custom2'] = ['value' => isset($this->contact) ? $this->contact->custom_value2 : '&nbsp;', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'contact2')];
@ -543,7 +544,6 @@ class HtmlEngine
/*Payment Aliases*/ /*Payment Aliases*/
$data['$paymentLink'] = &$data['$payment_link']; $data['$paymentLink'] = &$data['$payment_link'];
$data['$payment_url'] = &$data['$payment_link']; $data['$payment_url'] = &$data['$payment_link'];
$data['$portalButton'] = &$data['$portal_button'];
$data['$dir'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'rtl' : 'ltr', 'label' => '']; $data['$dir'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'rtl' : 'ltr', 'label' => ''];
$data['$dir_text_align'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'right' : 'left', 'label' => '']; $data['$dir_text_align'] = ['value' => in_array(optional($this->client->language())->locale, ['ar', 'he']) ? 'right' : 'left', 'label' => ''];

90
composer.lock generated
View File

@ -378,16 +378,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.232.2", "version": "3.232.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "390ceb3372ffb9f834694e2bd76a36a78ed7d2ee" "reference": "96fae7f4b2ab11a3eb3fceacef7cb4b12e46b27c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/390ceb3372ffb9f834694e2bd76a36a78ed7d2ee", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/96fae7f4b2ab11a3eb3fceacef7cb4b12e46b27c",
"reference": "390ceb3372ffb9f834694e2bd76a36a78ed7d2ee", "reference": "96fae7f4b2ab11a3eb3fceacef7cb4b12e46b27c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -464,9 +464,9 @@
"support": { "support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues", "issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.232.2" "source": "https://github.com/aws/aws-sdk-php/tree/3.232.3"
}, },
"time": "2022-08-04T18:17:49+00:00" "time": "2022-08-08T18:19:49+00:00"
}, },
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
@ -1165,16 +1165,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "3.3.7", "version": "3.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "9f79d4650430b582f4598fe0954ef4d52fbc0a8a" "reference": "118a360e9437e88d49024f36283c8bcbd76105f5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/9f79d4650430b582f4598fe0954ef4d52fbc0a8a", "url": "https://api.github.com/repos/doctrine/dbal/zipball/118a360e9437e88d49024f36283c8bcbd76105f5",
"reference": "9f79d4650430b582f4598fe0954ef4d52fbc0a8a", "reference": "118a360e9437e88d49024f36283c8bcbd76105f5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1182,21 +1182,21 @@
"doctrine/cache": "^1.11|^2.0", "doctrine/cache": "^1.11|^2.0",
"doctrine/deprecations": "^0.5.3|^1", "doctrine/deprecations": "^0.5.3|^1",
"doctrine/event-manager": "^1.0", "doctrine/event-manager": "^1.0",
"php": "^7.3 || ^8.0", "php": "^7.4 || ^8.0",
"psr/cache": "^1|^2|^3", "psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3" "psr/log": "^1|^2|^3"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "9.0.0", "doctrine/coding-standard": "9.0.0",
"jetbrains/phpstorm-stubs": "2022.1", "jetbrains/phpstorm-stubs": "2022.1",
"phpstan/phpstan": "1.7.13", "phpstan/phpstan": "1.8.2",
"phpstan/phpstan-strict-rules": "^1.2", "phpstan/phpstan-strict-rules": "^1.3",
"phpunit/phpunit": "9.5.20", "phpunit/phpunit": "9.5.21",
"psalm/plugin-phpunit": "0.16.1", "psalm/plugin-phpunit": "0.17.0",
"squizlabs/php_codesniffer": "3.7.0", "squizlabs/php_codesniffer": "3.7.1",
"symfony/cache": "^5.2|^6.0", "symfony/cache": "^5.4|^6.0",
"symfony/console": "^2.7|^3.0|^4.0|^5.0|^6.0", "symfony/console": "^4.4|^5.4|^6.0",
"vimeo/psalm": "4.23.0" "vimeo/psalm": "4.24.0"
}, },
"suggest": { "suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files." "symfony/console": "For helpful console commands such as SQL execution and import of files."
@ -1256,7 +1256,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/dbal/issues", "issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.3.7" "source": "https://github.com/doctrine/dbal/tree/3.4.0"
}, },
"funding": [ "funding": [
{ {
@ -1272,7 +1272,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-06-13T21:43:03+00:00" "time": "2022-08-06T20:35:57+00:00"
}, },
{ {
"name": "doctrine/deprecations", "name": "doctrine/deprecations",
@ -2162,16 +2162,16 @@
}, },
{ {
"name": "google/apiclient-services", "name": "google/apiclient-services",
"version": "v0.260.0", "version": "v0.261.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/googleapis/google-api-php-client-services.git", "url": "https://github.com/googleapis/google-api-php-client-services.git",
"reference": "8c519ddfd2458fda02dc10d10b142973e578516a" "reference": "c91c5a694e3b8bca37136b830072a23f2c1250fa"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/8c519ddfd2458fda02dc10d10b142973e578516a", "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/c91c5a694e3b8bca37136b830072a23f2c1250fa",
"reference": "8c519ddfd2458fda02dc10d10b142973e578516a", "reference": "c91c5a694e3b8bca37136b830072a23f2c1250fa",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2200,9 +2200,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/googleapis/google-api-php-client-services/issues", "issues": "https://github.com/googleapis/google-api-php-client-services/issues",
"source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.260.0" "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.261.0"
}, },
"time": "2022-07-31T00:58:12+00:00" "time": "2022-08-08T01:28:12+00:00"
}, },
{ {
"name": "google/auth", "name": "google/auth",
@ -4801,16 +4801,16 @@
}, },
{ {
"name": "livewire/livewire", "name": "livewire/livewire",
"version": "v2.10.6", "version": "v2.10.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/livewire/livewire.git", "url": "https://github.com/livewire/livewire.git",
"reference": "020ad095cf1239138b097d22b584e2701ec3edfb" "reference": "fa0441bf82f1674beecb3a8ad8a4ae428736ed18"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/livewire/livewire/zipball/020ad095cf1239138b097d22b584e2701ec3edfb", "url": "https://api.github.com/repos/livewire/livewire/zipball/fa0441bf82f1674beecb3a8ad8a4ae428736ed18",
"reference": "020ad095cf1239138b097d22b584e2701ec3edfb", "reference": "fa0441bf82f1674beecb3a8ad8a4ae428736ed18",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4862,7 +4862,7 @@
"description": "A front-end framework for Laravel.", "description": "A front-end framework for Laravel.",
"support": { "support": {
"issues": "https://github.com/livewire/livewire/issues", "issues": "https://github.com/livewire/livewire/issues",
"source": "https://github.com/livewire/livewire/tree/v2.10.6" "source": "https://github.com/livewire/livewire/tree/v2.10.7"
}, },
"funding": [ "funding": [
{ {
@ -4870,7 +4870,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-06-19T02:54:20+00:00" "time": "2022-08-08T13:52:53+00:00"
}, },
{ {
"name": "microsoft/microsoft-graph", "name": "microsoft/microsoft-graph",
@ -5404,16 +5404,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.60.0", "version": "2.61.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "00a259ae02b003c563158b54fb6743252b638ea6" "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/00a259ae02b003c563158b54fb6743252b638ea6", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bdf4f4fe3a3eac4de84dbec0738082a862c68ba6",
"reference": "00a259ae02b003c563158b54fb6743252b638ea6", "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5502,7 +5502,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-07-27T15:57:48+00:00" "time": "2022-08-06T12:41:24+00:00"
}, },
{ {
"name": "nette/schema", "name": "nette/schema",
@ -16041,16 +16041,16 @@
}, },
{ {
"name": "spatie/flare-client-php", "name": "spatie/flare-client-php",
"version": "1.2.0", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/flare-client-php.git", "url": "https://github.com/spatie/flare-client-php.git",
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f" "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/flare-client-php/zipball/86a380f5b1ce839af04a08f1c8f2697184cdf23f", "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/b1b974348750925b717fa8c8b97a0db0d1aa40ca",
"reference": "86a380f5b1ce839af04a08f1c8f2697184cdf23f", "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -16098,7 +16098,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/spatie/flare-client-php/issues", "issues": "https://github.com/spatie/flare-client-php/issues",
"source": "https://github.com/spatie/flare-client-php/tree/1.2.0" "source": "https://github.com/spatie/flare-client-php/tree/1.3.0"
}, },
"funding": [ "funding": [
{ {
@ -16106,7 +16106,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-05-16T12:13:39+00:00" "time": "2022-08-08T10:10:20+00:00"
}, },
{ {
"name": "spatie/ignition", "name": "spatie/ignition",
@ -16707,5 +16707,5 @@
"platform-dev": { "platform-dev": {
"php": "^7.4|^8.0" "php": "^7.4|^8.0"
}, },
"plugin-api-version": "2.1.0" "plugin-api-version": "2.3.0"
} }

View File

@ -7,11 +7,11 @@ const RESOURCES = {
"canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd", "canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd",
"canvaskit/canvaskit.js": "c2b4e5f3d7a3d82aed024e7249a78487", "canvaskit/canvaskit.js": "c2b4e5f3d7a3d82aed024e7249a78487",
"canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba", "canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba",
"/": "784b9b59de6c49b2fa8bc36999656d6a", "/": "a5608e67957af02b2ae0efbcefc9b26a",
"favicon.png": "dca91c54388f52eded692718d5a98b8b", "favicon.png": "dca91c54388f52eded692718d5a98b8b",
"main.dart.js": "819a7e0f760429027b88f15315928b59", "main.dart.js": "8f5dcc89d5e7a00c97fa3b155f1cc63c",
"manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40", "manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40",
"version.json": "c0a4deee2c1337ed484674fb0099de5c", "version.json": "a10748384e57f928f4d2871ac7563faf",
"flutter.js": "eb2682e33f25cd8f1fc59011497c35f8", "flutter.js": "eb2682e33f25cd8f1fc59011497c35f8",
"icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35", "icons/Icon-512.png": "0f9aff01367f0a0c69773d25ca16ef35",
"icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed", "icons/Icon-192.png": "bb1cf5f6982006952211c7c8404ffbed",

114845
public/main.dart.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

114059
public/main.foss.dart.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"app_name":"invoiceninja_flutter","version":"5.0.90","build_number":"90","package_name":"invoiceninja_flutter"} {"app_name":"invoiceninja_flutter","version":"5.0.91","build_number":"91","package_name":"invoiceninja_flutter"}