Skip to content

Commit 248cf53

Browse files
authored
Update skautis/skautis to 3.0.0-alpha.4 (#33)
1 parent 6f6788a commit 248cf53

12 files changed

+139
-35
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"source": "https://github.com/skaut/SkautisNette"
1717
},
1818
"require": {
19-
"php": ">=7.1",
20-
"skautis/skautis": "3.0.0-alpha.1",
19+
"php": ">=7.2",
20+
"skautis/skautis": "3.0.0-alpha.4",
2121
"nette/di": "^3.0",
2222
"nette/http": "^3.0",
2323
"nette/utils": "^3.0"

src/SessionAdapter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Skautis\Nette;
66

77
use Nette;
8-
use Skautis\SessionAdapter\AdapterInterface;
8+
use Skaut\Skautis\SessionAdapter\AdapterInterface;
99

1010

1111
class SessionAdapter implements AdapterInterface

src/SkautisExtension.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@
66

77
use Nette;
88
use Nette\Schema\Expect;
9-
use Skautis\Config;
10-
use Skautis\Wsdl\WebServiceFactory;
11-
use Skautis\Wsdl\WsdlManager;
12-
use Skautis\Nette\SessionAdapter;
13-
use Skautis\User;
14-
use Skautis\Skautis;
9+
use Skaut\Skautis\Config;
10+
use Skaut\Skautis\Wsdl\WebServiceFactory;
11+
use Skaut\Skautis\Wsdl\WsdlManager;
12+
use Skaut\Skautis\User;
13+
use Skaut\Skautis\Skautis;
1514
use Skautis\Nette\Tracy\Panel;
1615
use Tracy\Debugger;
1716

src/Tracy/EventDispatcher.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
namespace Skautis\Nette\Tracy;
5+
6+
use Psr\EventDispatcher\EventDispatcherInterface;
7+
use Skaut\Skautis\Wsdl\Event\RequestFailEvent;
8+
use Skaut\Skautis\Wsdl\Event\RequestPostEvent;
9+
use Skaut\Skautis\Wsdl\Event\RequestPreEvent;
10+
use stdClass;
11+
12+
13+
/**
14+
* Trida pro logovani dotazu.
15+
*/
16+
class EventDispatcher implements EventDispatcherInterface
17+
{
18+
/** @var SkautisQuery[] */
19+
private $queries = [];
20+
21+
/**
22+
* @param RequestPreEvent|RequestPostEvent|RequestFailEvent $event
23+
*/
24+
public function dispatch($event): object
25+
{
26+
switch (true) {
27+
case $event instanceof RequestPreEvent:
28+
// no-op
29+
break;
30+
case $event instanceof RequestPostEvent:
31+
$this->queries[] = SkautisQuery::createFromPostEvent($event);
32+
break;
33+
case $event instanceof RequestFailEvent:
34+
$this->queries[] = SkautisQuery::createFromFailEvent($event);
35+
break;
36+
}
37+
38+
return $event;
39+
}
40+
41+
/** @return SkautisQuery[] */
42+
public function getQueries(): array
43+
{
44+
return $this->queries;
45+
}
46+
}

src/Tracy/Panel.php

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
namespace Skautis\Nette\Tracy;
66

77
use Nette;
8-
use Skautis\SkautisQuery;
9-
use Skautis\Wsdl\WebService;
10-
use Skautis\Wsdl\WsdlManager;
8+
use Skaut\Skautis\Wsdl\WsdlManager;
119
use Tracy;
1210
use Tracy\Debugger;
1311

@@ -19,41 +17,36 @@
1917
*/
2018
class Panel implements Tracy\IBarPanel
2119
{
22-
2320
use Nette\SmartObject;
2421

25-
/** @var SkautisQuery[] */
26-
private $queries = [];
22+
/** @var EventDispatcher */
23+
private $eventDispatcher;
2724

25+
public function __construct()
26+
{
27+
$this->eventDispatcher = new EventDispatcher();
28+
}
2829

29-
/**
30+
/**
3031
* Registers event listener on WebService objects via WsdlManager
3132
*/
3233
public function register(WsdlManager $wsdlManager): void
3334
{
34-
$wsdlManager->addWebServiceListener(WebService::EVENT_SUCCESS, [$this, 'logEvent']);
35-
$wsdlManager->addWebServiceListener(WebService::EVENT_FAILURE, [$this, 'logEvent']);
35+
$wsdlManager->setEventDispatcher($this->eventDispatcher);
3636
Debugger::getBar()->addPanel($this);
3737
}
3838

39-
40-
public function logEvent(SkautisQuery $query): void
41-
{
42-
$this->queries[] = $query;
43-
}
44-
45-
4639
/**
4740
* @inheritdoc
4841
*/
4942
public function getTab(): string
5043
{
5144
$totalTime = 0;
52-
foreach ($this->queries as $query) {
45+
foreach ($this->eventDispatcher->getQueries() as $query) {
5346
$totalTime += $query->time;
5447
}
5548
return '<span title="skautis"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKQWlDQ1BJQ0MgUHJvZmlsZQAASA2dlndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKGhCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji1wnyEFDGwVFEReXdjGsJ7601896a/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwSE8vE9wIYEAEOWAHA4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/UCZz1v9/kSI3QyQGAApF1TY8fiYX5QKUU7PFGTL/BMr0lSkyhjEyFqEJoqwi48SvbPan5iu7yZiXJuShGlnOGbw0noy7UN6aJeGjjAShXJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcmoWyJMkUUGe6J8gIACJTEObxyDov5OWieAHimZ+SKBIlJYqYR15hp5ejIZvrxs1P5YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW5mj5v9nfHn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUAtG0GQOXhrE/vIADyBQC03pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivoN/ufgm/Kv4Y595nL7vtWO6YXP4EjSRUzZUXlpqemS0TMzAwOl89k/fcQ/+PAOWnNycMsnJ/AF/GF6FVR6JQJhIlou4U8gViQLmQKhH/V4X8YNicHGX6daxRodV8AfYU5ULhJB8hvPQBDIwMkbj96An3rWxAxCsi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9kciWiLBmj34RswQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJBPtgACkEx2AF2g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUswAd6BaQiC8BAVokGqkBakD5lC1hAbWgh5Q0FQOBQDxUOJkBCSQPnQJqgYKoOqoUNQPfQjdBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA2bA7HAhHwsvgRHgVnAcXwNvhSrgWPg63whfhG/AALIVfwpMIQMgIA9FGWAgb8URCkFgkAREha5EipAKpRZqQDqQbuY1IkXHkAwaHoWGYGBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5gqVi1bGmWCesP3YJNhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJuNa4Etw/XjLuA68MN4SbxeLwq3hTvgg/Bc/BifCG+Cn8cfx7fjx/GvyeQCVoEa4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7YQbxJHCZOkxRJhiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5PriSfIF8lD5I/UJQoJhRPShxFQtlOOUq5QHlAeUOlUg2obtRYqpi6nVpPvUR9Sn0vR5Mzl/OX48mtk6uRa5Xrl3slT5TXl3eXXy6fJ18hf0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqilWKIYppiiWKD4jXFUSW8koGStxJPqUDpsNIlpSEaQtOledK4tE20Otpl2jAdRzek+9OT6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyTjLuMj/M05rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP1DBqJmphatlq+9Uuq43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o96pMamhq+GhkaVRqXNMY1GZpumsma5ZrnNMe0aFoLtQRa5VrntV4wlZnuzFRmJbOLOaGtru2nLdE+pN2rPa1jqLNYZ6NOs84TXZIuWzdBt1y3U3dCT0svWC9fr1HvoT5Rn62fpL9Hv1t/ysDQINpgi0GbwaihiqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+41smsImdSZJJjclNU9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5m/krCz2LWIudFt0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq42Ozzqbd5rWtqS3fdr/tfTuaXbDdFrtOu8/2DvYi+yb7MQc9h3iHvQ732HR2KLuEfdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsMF/AX1C0YctFx4bgccpEuZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E3dg92f24+ysPSw+RR4vHlKeT5xrPC16Il69XkVevt5L3Yu9q76c+Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX+08EOASsCegKpARGBFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJNQxdFfpzGC4sNKwm7Hm4VXh+eHcELWJFREPEu0iPyNLIR4uNFksWd0bJR8VF1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH4+ziCuPuLjNclrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRfuXflBNeTu4f7kufGK+eN8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnjAk9BteB1sl/ygeSplJCUoykzqdGpzWmEtPi000IlYYqwK10zPSe9L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruYjv5M9UiMJJslg1kLs2qy3mdHZZ/KUcwR5vTkmuRuyx3J88n7fjVmNXd1Z752/ob8wTXuaw6thdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99uit7UUaBRsL5gaLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l3JLr31l9V/ndzPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t5czyovK3u1fsvlZhW3FgD2mPZI+0MqiyvUqvakfVp+qk6oEaj5rmvep7t+2d2sfb17/fbX/TAY0DxQc+HhQcvH/I91BrrUFtxWHc4azDz+ui6rq/Z39ff0TtSPGRz0eFR6XHwo911TvU1zeoN5Q2wo2SxrHjccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4H++eDDzZeYp9qukn/Z/2ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2mZqzymdLz5HOFZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5cqnbvfv8VZerZ645XTt9nX297Yb9jdYeu56WX+x+aem172296XCz/ZbjrY6+BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3RB6kPXj/Mejj9aP1j7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hnj4a4Qy//lfmvT8MFz6nPK0a0RupHrUfPjPmM3Xqx9MXwy4yX0+OFvyn+tveV0auffnf7vWdiycTwa9HrmT9K3qi+OfrW9m3nZOjk03dp76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn88ngmbWbm3/eE8/syOll+AAAC5ElEQVQ4EY2SXUhTYRjH/+c9Z9uZ0+3MsU2bn6nDdKJ1q4J34aWFJkGFXXRR6o0iXZmgUCAZQREiaARBqVhgRZRgZakZiJQ68ys/p27OTZ37Ots5OamlktFz8fI+z/t/fvzf930o/CXa7rRxEzu0Sa8KboKiBLuTqI3clvlSebn9sJw6XKivb0v76mGeWwU2o9gw6d/hZeIra6LMQDzTOZy3uKbmysj+HrI/Ce1nfOSalVFlxLEOlOSsSUuzl2VqZhsWRpX6Y5tUHdYfAHQ3N0coWIkoBPwoS5+GVsUgQSviQuoU+EAQjIQO9Lc3yfdD9q4w1l4nvTmc3OAQydlYmVtidQvx9wrHEauWgKYpmJd5VPWYEKcILq35lZ4Ema/rqmmhNrOkzk+HaMGUiyUeCdVUecqsPmOyqozsHPRKHqxEAKFEeNwuZHFWFOVsK+MVDs0nqzZvapU1D/a9GGVCgGU3ks5lL6DghAcBH0FsVhS80jTwTBQ2ttyIUDuRH7MCQQTiol2Y3VjC+wl1cqh37w20CqZfr/AFRR6gSQA+koDB1Vzc7ZKi4vYmxjynIUgTdt0EIAYpxLBeQSMnn8OALR7GwTUDoXbtdo8waO0HBP8mbDY75udXQQVdeNBH0GumIArAlw0D4QmVEgZwEq/qg01PfVuSYcSZiDcWHeQyHouLDkTIWTjsK3g2FwPz5jEMLURgyKGFVPRyYcBJDenQBrYnHo+lYNLJIVHq6hDcNkvScQPy8jOg53hLoszdObyuR+f3ZOh5x4yRc3eFAOFJfNTYqBtyRucXmVbPZ8Suy4ngy4W+UMn7dkDZ320RaeTHgVkN3zut6zBKFnsr6uosBwChJBQzb2vL1FGe1o11G3QqGkFRhNMFKFUaTCzTZbkltx7uCX8tYQd/iiL15H5DOkvbMwuy+HYvT+H1MFsqCJGjl6tvmHdN737mf8b4y+stA0+rW/8l3xukowQtPbrKo85+138CPAUnGWDNKlEAAAAASUVORK5CYII=">'
56-
. count($this->queries) . ' queries'
49+
. count($this->eventDispatcher->getQueries()) . ' queries'
5750
. ($totalTime ? sprintf(' / %0.1f&nbsp;ms', $totalTime * 1000) : '')
5851
. '</span>';
5952
}
@@ -66,7 +59,7 @@ public function getPanel(): string
6659
{
6760
$cnt = 0;
6861
$s = "";
69-
foreach ($this->queries as $query) {
62+
foreach ($this->eventDispatcher->getQueries() as $query) {
7063
$rowId = "tracy-debug-Skautis-args-row-$cnt";
7164
$s .= "<tr>"
7265
. "<td>" . sprintf('%0.2f', $query->time * 1000) . "</td>"
@@ -77,7 +70,7 @@ public function getPanel(): string
7770
$cnt++;
7871
}
7972

80-
return empty($this->queries) ? '' :
73+
return empty($this->eventDispatcher->getQueries()) ? '' :
8174
'<h1>Skautis</h1>'
8275
. '<div class="tracy-inner">'
8376
. '<table>'

src/Tracy/SkautisQuery.php

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
namespace Skautis\Nette\Tracy;
5+
6+
use Skaut\Skautis\Wsdl\Event\RequestFailEvent;
7+
use Skaut\Skautis\Wsdl\Event\RequestPostEvent;
8+
9+
10+
/**
11+
* Objekt s informacemi o dotazu.
12+
*/
13+
class SkautisQuery
14+
{
15+
/**
16+
* Nazev funkce volane pomoci SOAP requestu.
17+
* @var string
18+
*/
19+
public $fname;
20+
21+
/**
22+
* Parametry SOAP requestu na server.
23+
* @var array<int|string, mixed>
24+
*/
25+
public $args;
26+
27+
/**
28+
* Zasobnik volanych funkci.
29+
* @var array<int, array<string, mixed>>
30+
*/
31+
public $trace;
32+
33+
/**
34+
* Doba trvani pozadvku.
35+
* @var float
36+
*/
37+
public $time;
38+
39+
/**
40+
* SOAP response.
41+
* @var mixed
42+
*/
43+
public $result;
44+
45+
/**
46+
* @param array<int|string, mixed> $args
47+
* @param array<int, array<string, mixed>> $trace
48+
* @param mixed $result
49+
*/
50+
private function __construct(string $fname, array $args, array $trace, float $time, $result)
51+
{
52+
$this->fname = $fname;
53+
$this->args = $args;
54+
$this->trace = $trace;
55+
$this->time = $time;
56+
$this->result = $result;
57+
}
58+
59+
public static function createFromPostEvent(RequestPostEvent $event): SkautisQuery {
60+
return new SkautisQuery($event->getFname(), $event->getArgs(), $event->getTrace(), $event->getDuration(), $event->getResult());
61+
}
62+
63+
public static function createFromFailEvent(RequestFailEvent $event): SkautisQuery {
64+
return new SkautisQuery($event->getFname(), $event->getArgs(), $event->getTrace(), $event->getDuration(), null);
65+
}
66+
}

tests/SkautisNette/SkautisExtension.debug.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ else {
2323
}
2424

2525
Assert::true($container->hasService('skautis.skautis'));
26-
Assert::type('Skautis\Skautis', $container->getService('skautis.skautis'));
26+
Assert::type('Skaut\Skautis\Skautis', $container->getService('skautis.skautis'));
2727

2828
if (class_exists('Tracy\Debugger')) {
2929
Assert::true($container->isCreated('skautis.panel'));

tests/SkautisNette/SkautisExtension.production.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ $configurator->setDebugMode(FALSE);
1414
$configurator->addConfig(__DIR__ . '/files/config.neon');
1515
$container = $configurator->createContainer();
1616

17-
Assert::type('Skautis\Skautis', $container->getService('skautis.skautis'));
17+
Assert::type('Skaut\Skautis\Skautis', $container->getService('skautis.skautis'));
1818
Assert::false($container->hasService('skautis.panel'));

tests/composer-nette-3.0-without-tracy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"require": {
1919
"php": ">=7.1",
20-
"skautis/skautis": "3.0.0-alpha.1",
20+
"skautis/skautis": "3.0.0-alpha.4",
2121
"nette/di": "^3.0",
2222
"nette/http": "^3.0",
2323
"nette/utils": "^3.0"

tests/composer-nette-3.0.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"require": {
1919
"php": ">=7.1",
20-
"skautis/skautis": "3.0.0-alpha.1",
20+
"skautis/skautis": "3.0.0-alpha.4",
2121
"nette/di": "^3.0",
2222
"nette/http": "^3.0",
2323
"nette/utils": "^3.0"

0 commit comments

Comments
 (0)