Commit 74056091 authored by Mark Siy's avatar Mark Siy

implementation of office 365 api

parent 71628e16
...@@ -16,7 +16,7 @@ DB_PASSWORD= ...@@ -16,7 +16,7 @@ DB_PASSWORD=
BROADCAST_DRIVER=log BROADCAST_DRIVER=log
CACHE_DRIVER=file CACHE_DRIVER=file
QUEUE_CONNECTION=sync QUEUE_CONNECTION=sync
SESSION_DRIVER=cookie SESSION_DRIVER=file
SESSION_LIFETIME=120 SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1 REDIS_HOST=127.0.0.1
...@@ -42,3 +42,11 @@ PUSHER_APP_CLUSTER=mt1 ...@@ -42,3 +42,11 @@ PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
OAUTH_APP_ID=YOUR_APP_ID_HERE
OAUTH_APP_PASSWORD=YOUR_APP_PASSWORD_HERE
OAUTH_REDIRECT_URI=http://localhost:8000/callback
OAUTH_SCOPES='openid profile offline_access user.read calendars.read'
OAUTH_AUTHORITY=https://login.microsoftonline.com/common
OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData">
<serverData>
<paths name="laravelmanticor">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dragonmantank/cron-expression" />
<excludeFolder url="file://$MODULE_DIR$/vendor/egulias/email-validator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/erusev/parsedown" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/flare-client-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/ignition" />
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/ignition-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fideloper/proxy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/filp/whoops" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fzaninotto/faker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-color" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/oauth2-client" />
<excludeFolder url="file://$MODULE_DIR$/vendor/microsoft/microsoft-graph" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mockery/mockery" />
<excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nesbot/carbon" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nunomaduro/collision" />
<excludeFolder url="file://$MODULE_DIR$/vendor/opis/closure" />
<excludeFolder url="file://$MODULE_DIR$/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoption/phpoption" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/uuid" />
<excludeFolder url="file://$MODULE_DIR$/vendor/scrivo/highlight.php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/swiftmailer/swiftmailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-iconv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php73" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
<excludeFolder url="file://$MODULE_DIR$/vendor/vlucas/phpdotenv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/graph-tutorial.iml" filepath="$PROJECT_DIR$/.idea/graph-tutorial.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/erusev/parsedown" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/vendor/vlucas/phpdotenv" />
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/vendor/symfony/debug" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/vendor/phpoption/phpoption" />
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/vendor/dragonmantank/cron-expression" />
<path value="$PROJECT_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-iconv" />
<path value="$PROJECT_DIR$/vendor/egulias/email-validator" />
<path value="$PROJECT_DIR$/vendor/opis/closure" />
<path value="$PROJECT_DIR$/vendor/paragonie/random_compat" />
<path value="$PROJECT_DIR$/vendor/ramsey/uuid" />
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
<path value="$PROJECT_DIR$/vendor/swiftmailer/swiftmailer" />
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
<path value="$PROJECT_DIR$/vendor/psr/container" />
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/vendor/laravel/framework" />
<path value="$PROJECT_DIR$/vendor/symfony/console" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/vendor/ralouphie/getallheaders" />
<path value="$PROJECT_DIR$/vendor/fideloper/proxy" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-color" />
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<path value="$PROJECT_DIR$/vendor/psy/psysh" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<path value="$PROJECT_DIR$/vendor/laravel/tinker" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/vendor/league/oauth2-client" />
<path value="$PROJECT_DIR$/vendor/microsoft/microsoft-graph" />
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/vendor/facade/ignition" />
<path value="$PROJECT_DIR$/vendor/facade/flare-client-php" />
<path value="$PROJECT_DIR$/vendor/facade/ignition-contracts" />
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
<path value="$PROJECT_DIR$/vendor/scrivo/highlight.php" />
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
<path value="$PROJECT_DIR$/vendor/hamcrest/hamcrest-php" />
<path value="$PROJECT_DIR$/vendor/fzaninotto/faker" />
<path value="$PROJECT_DIR$/vendor/mockery/mockery" />
<path value="$PROJECT_DIR$/vendor/nunomaduro/collision" />
<path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
<path value="$PROJECT_DIR$/vendor/filp/whoops" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" />
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
</phpunit_settings>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="22657ff2-9806-4232-83e2-30e4542e59ad" name="Default Changelist" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ComposerSettings" doNotAsk="true" synchronizationState="SYNCHRONIZE">
<pharConfigPath>$PROJECT_DIR$/composer.json</pharConfigPath>
<execution>
<executable />
</execution>
</component>
<component name="PhpWorkspaceProjectConfiguration">
<include_path>
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/erusev/parsedown" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/vendor/vlucas/phpdotenv" />
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
<path value="$PROJECT_DIR$/vendor/symfony/debug" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php73" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/vendor/phpoption/phpoption" />
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/vendor/dragonmantank/cron-expression" />
<path value="$PROJECT_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-iconv" />
<path value="$PROJECT_DIR$/vendor/egulias/email-validator" />
<path value="$PROJECT_DIR$/vendor/opis/closure" />
<path value="$PROJECT_DIR$/vendor/paragonie/random_compat" />
<path value="$PROJECT_DIR$/vendor/ramsey/uuid" />
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
<path value="$PROJECT_DIR$/vendor/swiftmailer/swiftmailer" />
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
<path value="$PROJECT_DIR$/vendor/psr/container" />
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/vendor/laravel/framework" />
<path value="$PROJECT_DIR$/vendor/symfony/console" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/vendor/ralouphie/getallheaders" />
<path value="$PROJECT_DIR$/vendor/fideloper/proxy" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-color" />
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<path value="$PROJECT_DIR$/vendor/psy/psysh" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<path value="$PROJECT_DIR$/vendor/laravel/tinker" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/vendor/league/oauth2-client" />
<path value="$PROJECT_DIR$/vendor/microsoft/microsoft-graph" />
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/vendor/facade/ignition" />
<path value="$PROJECT_DIR$/vendor/facade/flare-client-php" />
<path value="$PROJECT_DIR$/vendor/facade/ignition-contracts" />
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
<path value="$PROJECT_DIR$/vendor/scrivo/highlight.php" />
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
<path value="$PROJECT_DIR$/vendor/hamcrest/hamcrest-php" />
<path value="$PROJECT_DIR$/vendor/fzaninotto/faker" />
<path value="$PROJECT_DIR$/vendor/mockery/mockery" />
<path value="$PROJECT_DIR$/vendor/nunomaduro/collision" />
<path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
<path value="$PROJECT_DIR$/vendor/filp/whoops" />
</include_path>
</component>
<component name="ProjectId" id="1WNcQYzWb4SP0jWnYsPCOWdUfVi" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_package_manager_path" value="npm" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\xampp\htdocs\msgraph\msgraph-training-phpapp\Demos\03-add-msgraph\graph-tutorial\app\Http\Controllers" />
</key>
</component>
<component name="RunManager">
<configuration name="phpunit.xml" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner scope="XML" />
<method v="2" />
</configuration>
</component>
<component name="ServiceViewManager">
<option name="viewStates">
<list>
<serviceView>
<treeState>
<expand />
<select />
</treeState>
</serviceView>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="22657ff2-9806-4232-83e2-30e4542e59ad" name="Default Changelist" comment="" />
<created>1578993477944</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1578993477944</updated>
<workItem from="1578993479161" duration="14089000" />
<workItem from="1579071152601" duration="1587000" />
<workItem from="1579087941089" duration="267000" />
<workItem from="1579089004567" duration="176000" />
<workItem from="1579089209797" duration="197000" />
<workItem from="1579089906424" duration="8772000" />
<workItem from="1579161141854" duration="53000" />
<workItem from="1579176491772" duration="1940000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="WindowStateProjectService">
<state x="530" y="189" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1579091096343">
<screen x="0" y="0" width="1600" height="860" />
</state>
<state x="530" y="189" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/0.0.1600.860@0.0.1600.860" timestamp="1579091096343" />
<state x="387" y="265" key="NewPhpClassDialog" timestamp="1579090156057">
<screen x="0" y="0" width="1600" height="860" />
</state>
<state x="387" y="265" key="NewPhpClassDialog/0.0.1600.860@0.0.1600.860" timestamp="1579090156057" />
<state x="634" y="362" key="NewPhpFileDialog" timestamp="1579096104441">
<screen x="0" y="0" width="1600" height="860" />
</state>
<state x="634" y="362" key="NewPhpFileDialog/0.0.1600.860@0.0.1600.860" timestamp="1579096104441" />
<state x="508" y="259" key="com.intellij.ide.util.TipDialog" timestamp="1579161147877">
<screen x="0" y="0" width="1600" height="860" />
</state>
<state x="508" y="259" key="com.intellij.ide.util.TipDialog/0.0.1600.860@0.0.1600.860" timestamp="1579161147877" />
<state x="463" y="180" width="672" height="678" key="search.everywhere.popup" timestamp="1579094166525">
<screen x="0" y="0" width="1600" height="860" />
</state>
<state x="463" y="180" width="672" height="678" key="search.everywhere.popup/0.0.1600.860@0.0.1600.860" timestamp="1579094166525" />
</component>
</project>
\ No newline at end of file
<p align="center"><img src="https://res.cloudinary.com/dtfbvvkyp/image/upload/v1566331377/laravel-logolockup-cmyk-red.svg" width="400"></p>
<p align="center">
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/d/total.svg" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/v/stable.svg" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/license.svg" alt="License"></a>
</p>
## About Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Cubet Techno Labs](https://cubettech.com)**
- **[Cyber-Duck](https://cyber-duck.co.uk)**
- **[British Software Development](https://www.britishsoftware.co)**
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
- **[DevSquad](https://devsquad.com)**
- [UserInsights](https://userinsights.com)
- [Fragrantica](https://www.fragrantica.com)
- [SOFTonSOFA](https://softonsofa.com/)
- [User10](https://user10.com)
- [Soumettre.fr](https://soumettre.fr/)
- [CodeBrisk](https://codebrisk.com)
- [1Forge](https://1forge.com)
- [TECPRESSO](https://tecpresso.co.jp/)
- [Runtime Converter](http://runtimeconverter.com/)
- [WebL'Agence](https://weblagence.com/)
- [Invoice Ninja](https://www.invoiceninja.com)
- [iMi digital](https://www.imi-digital.de/)
- [Earthlink](https://www.earthlink.ro/)
- [Steadfast Collective](https://steadfastcollective.com/)
- [We Are The Robots Inc.](https://watr.mx/)
- [Understand.io](https://www.understand.io/)
- [Abdel Elrafa](https://abdelelrafa.com)
- [Hyper Host](https://hyper.host)
- [Appoly](https://www.appoly.co.uk)
- [OP.GG](https://op.gg)
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ConfirmsPasswords;
class ConfirmPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Confirm Password Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password confirmations and
| uses a simple trait to include the behavior. You're free to explore
| this trait and override any functions that require customization.
|
*/
use ConfirmsPasswords;
/**
* Where to redirect users when the intended url fails.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
}
...@@ -19,4 +19,14 @@ class ForgotPasswordController extends Controller ...@@ -19,4 +19,14 @@ class ForgotPasswordController extends Controller
*/ */
use SendsPasswordResetEmails; use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
} }
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller class LoginController extends Controller
...@@ -26,7 +25,7 @@ class LoginController extends Controller ...@@ -26,7 +25,7 @@ class LoginController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/** /**
* Create a new controller instance. * Create a new controller instance.
......
...@@ -2,12 +2,11 @@ ...@@ -2,12 +2,11 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User; use App\User;
use Illuminate\Foundation\Auth\RegistersUsers; use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller class RegisterController extends Controller
{ {
...@@ -29,7 +28,7 @@ class RegisterController extends Controller ...@@ -29,7 +28,7 @@ class RegisterController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/** /**
* Create a new controller instance. * Create a new controller instance.
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
...@@ -26,5 +25,15 @@ class ResetPasswordController extends Controller ...@@ -26,5 +25,15 @@ class ResetPasswordController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
} }
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\VerifiesEmails; use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller class VerificationController extends Controller
...@@ -26,7 +25,7 @@ class VerificationController extends Controller ...@@ -26,7 +25,7 @@ class VerificationController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/** /**
* Create a new controller instance. * Create a new controller instance.
......
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
use App\TokenStore\TokenCache;
class AuthController extends Controller
{
public function signin()
{
// Initialize the OAuth client
$oauthClient = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => env('OAUTH_APP_ID'),
'clientSecret' => env('OAUTH_APP_PASSWORD'),
'redirectUri' => env('OAUTH_REDIRECT_URI'),
'urlAuthorize' => env('OAUTH_AUTHORITY').env('OAUTH_AUTHORIZE_ENDPOINT'),
'urlAccessToken' => env('OAUTH_AUTHORITY').env('OAUTH_TOKEN_ENDPOINT'),
'urlResourceOwnerDetails' => '',
'scopes' => env('OAUTH_SCOPES')
]);
$authUrl = $oauthClient->getAuthorizationUrl();
// Save client state so we can validate in callback
session(['oauthState' => $oauthClient->getState()]);
// Redirect to AAD signin page
return redirect()->away($authUrl);
}
public function callback(Request $request)
{
// Validate state
$expectedState = session('oauthState');
$request->session()->forget('oauthState');
$providedState = $request->query('state');
if (!isset($expectedState)) {
// If there is no expected state in the session,
// do nothing and redirect to the home page.
return redirect('/');
}
if (!isset($providedState) || $expectedState != $providedState) {
return redirect('/')
->with('error', 'Invalid auth state')
->with('errorDetail', 'The provided auth state did not match the expected value');
}
// Authorization code should be in the "code" query param
$authCode = $request->query('code');
if (isset($authCode)) {
// Initialize the OAuth client
$oauthClient = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => env('OAUTH_APP_ID'),
'clientSecret' => env('OAUTH_APP_PASSWORD'),
'redirectUri' => env('OAUTH_REDIRECT_URI'),
'urlAuthorize' => env('OAUTH_AUTHORITY').env('OAUTH_AUTHORIZE_ENDPOINT'),
'urlAccessToken' => env('OAUTH_AUTHORITY').env('OAUTH_TOKEN_ENDPOINT'),
'urlResourceOwnerDetails' => '',
'scopes' => env('OAUTH_SCOPES')
]);
try {
// Make the token request
$accessToken = $oauthClient->getAccessToken('authorization_code', [
'code' => $authCode
]);
$graph = new Graph();
$graph->setAccessToken($accessToken->getToken());
$user = $graph->createRequest('GET', '/me')
->setReturnType(Model\User::class)
->execute();
$tokenCache = new TokenCache();
$tokenCache->storeTokens($accessToken, $user);
return redirect('/');
}
catch (League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
return redirect('/')
->with('error', 'Error requesting access token')
->with('errorDetail', $e->getMessage());
}
}
return redirect('/')
->with('error', $request->query('error'))
->with('errorDetail', $request->query('error_description'));
}
public function signout()
{
$tokenCache = new TokenCache();
$tokenCache->clearTokens();
return redirect('/');
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
use App\TokenStore\TokenCache;
class CalendarController extends Controller
{
public function calendar()
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$queryParams = array(
'$select' => 'subject,organizer,start,end',
'$orderby' => 'createdDateTime DESC'
);
// $user = $graph->createRequest('GET', '/me')
// //->setReturnType(Model\User::class)
// ->setReturnType(Model\User::class)
// ->execute();
//
// //return 'User: '.$user->getDisplayName();
//
// return $user;
// $userIterator = $graph->createCollectionRequest("GET", "/users")
// ->setReturnType(Model\User::class)
// ->setPageSize(100);
// $users = $userIterator->getPage();
//
// return $users;
// get all users
// $users = $graph->createRequest('GET', '/users')
// ->setReturnType(Model\User::class)
// ->execute();
// return $users;
// $groups = $graph->createRequest('GET', '/subscribedSkus')
// ->setReturnType(Model\SubscribedSku::class)
// ->execute();
//
// return $groups;
$groups = $graph->createRequest('GET', '/groups')
->setReturnType(Model\Group::class)
->execute();
return $groups;
// Append query parameters to the '/me/events' url
$getEventsUrl = '/me/events?'.http_build_query($queryParams);
$events = $graph->createRequest('GET', $getEventsUrl)
->setReturnType(Model\Event::class)
->execute();
$viewData['events'] = $events;
return view('calendar', $viewData);
}
}
...@@ -2,12 +2,32 @@ ...@@ -2,12 +2,32 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController; use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController class Controller extends BaseController
{ {
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function loadViewData()
{
$viewData = [];
// Check for flash errors
if (session('error')) {
$viewData['error'] = session('error');
$viewData['errorDetail'] = session('errorDetail');
}
// Check for logged on user
if (session('userName'))
{
$viewData['userName'] = session('userName');
$viewData['userEmail'] = session('userEmail');
}
return $viewData;
}
} }
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function welcome()
{
$viewData = $this->loadViewData();
return view('welcome', $viewData);
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
use App\TokenStore\TokenCache;
class Office365ApiController extends Controller
{
public function getAllOffice365Users()
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$users = $graph->createRequest('GET', '/users')
->setReturnType(Model\User::class)
->execute();
$viewData['users'] = $users;
return view('users', $viewData);
}
public function getAllOffice365Groups()
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$groups = $graph->createRequest('GET', '/groups')
->setReturnType(Model\Group::class)
->execute();
$viewData['groups'] = $groups;
return view('groups', $viewData);
}
public function createNewOffice365User()
{
return view('createuser');
}
public function storeNewOffice365User()
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$users = $graph->createRequest('POST', '/users')
->attachBody(array(
"accountEnabled" => true,
"displayName" => request('displayName'), //"newuser",
"mailNickname" => "newuserMail",
"userPrincipalName" => request('userPrincipalName'), //"newuser@ceetroxtest.onmicrosoft.com",
"passwordProfile" => array(
"forceChangePasswordNextSignIn" => false,
"password" => "Password@123"
)
))
->setReturnType(Model\User::class)
->execute();
return redirect('/users');
}
public function deleteOffice365User($id)
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$users = $graph->createRequest('DELETE', '/users/'.$id)
->execute();
return redirect('/users');
}
public function assignOffice365LicenseToUser($id)
{
$viewData = $this->loadViewData();
// Get the access token from the cache
$tokenCache = new TokenCache();
$accessToken = $tokenCache->getAccessToken();
// Create a Graph client
$graph = new Graph();
$graph->setAccessToken($accessToken);
$users = $graph->createRequest('POST', '/users/'.$id.'/assignLicense')
->attachBody(array(
"addLicenses" => array(
"disabledPlans" => [],
"skuId" => "3b555118-da6a-4418-894f-7df1e2096870"
),
"removeLicenses" => []
))
->execute();
return redirect('/users');
}
}
...@@ -57,7 +57,6 @@ class Kernel extends HttpKernel ...@@ -57,7 +57,6 @@ class Kernel extends HttpKernel
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
......
...@@ -10,7 +10,7 @@ class Authenticate extends Middleware ...@@ -10,7 +10,7 @@ class Authenticate extends Middleware
* Get the path the user should be redirected to when they are not authenticated. * Get the path the user should be redirected to when they are not authenticated.
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return string|null * @return string
*/ */
protected function redirectTo($request) protected function redirectTo($request)
{ {
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
namespace App\Http\Middleware; namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider;
use Closure; use Closure;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -19,7 +18,7 @@ class RedirectIfAuthenticated ...@@ -19,7 +18,7 @@ class RedirectIfAuthenticated
public function handle($request, Closure $next, $guard = null) public function handle($request, Closure $next, $guard = null)
{ {
if (Auth::guard($guard)->check()) { if (Auth::guard($guard)->check()) {
return redirect(RouteServiceProvider::HOME); return redirect('/home');
} }
return $next($request); return $next($request);
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
namespace App\Http\Middleware; namespace App\Http\Middleware;
use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware class TrustProxies extends Middleware
{ {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider class AuthServiceProvider extends ServiceProvider
{ {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Facades\Broadcast;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Broadcast;
class BroadcastServiceProvider extends ServiceProvider class BroadcastServiceProvider extends ServiceProvider
{ {
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Auth\Events\Registered; use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
class EventServiceProvider extends ServiceProvider class EventServiceProvider extends ServiceProvider
{ {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider class RouteServiceProvider extends ServiceProvider
{ {
...@@ -16,13 +16,6 @@ class RouteServiceProvider extends ServiceProvider ...@@ -16,13 +16,6 @@ class RouteServiceProvider extends ServiceProvider
*/ */
protected $namespace = 'App\Http\Controllers'; protected $namespace = 'App\Http\Controllers';
/**
* The path to the "home" route for your application.
*
* @var string
*/
public const HOME = '/home';
/** /**
* Define your route model bindings, pattern filters, etc. * Define your route model bindings, pattern filters, etc.
* *
......
<?php
namespace App\TokenStore;
class TokenCache {
public function storeTokens($accessToken, $user) {
session([
'accessToken' => $accessToken->getToken(),
'refreshToken' => $accessToken->getRefreshToken(),
'tokenExpires' => $accessToken->getExpires(),
'userName' => $user->getDisplayName(),
'userEmail' => null !== $user->getMail() ? $user->getMail() : $user->getUserPrincipalName()
]);
}
public function updateTokens($accessToken) {
session([
'accessToken' => $accessToken->getToken(),
'refreshToken' => $accessToken->getRefreshToken(),
'tokenExpires' => $accessToken->getExpires()
]);
}
public function clearTokens() {
session()->forget('accessToken');
session()->forget('refreshToken');
session()->forget('tokenExpires');
session()->forget('userName');
session()->forget('userEmail');
}
public function getAccessToken() {
// Check if tokens exist
if (empty(session('accessToken')) ||
empty(session('refreshToken')) ||
empty(session('tokenExpires'))) {
return '';
}
// Check if token is expired
//Get current time + 5 minutes (to allow for time differences)
$now = time() + 300;
if (session('tokenExpires') <= $now) {
// Token is expired (or very close to it)
// so let's refresh
// Initialize the OAuth client
$oauthClient = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => env('OAUTH_APP_ID'),
'clientSecret' => env('OAUTH_APP_PASSWORD'),
'redirectUri' => env('OAUTH_REDIRECT_URI'),
'urlAuthorize' => env('OAUTH_AUTHORITY').env('OAUTH_AUTHORIZE_ENDPOINT'),
'urlAccessToken' => env('OAUTH_AUTHORITY').env('OAUTH_TOKEN_ENDPOINT'),
'urlResourceOwnerDetails' => '',
'scopes' => env('OAUTH_SCOPES')
]);
try {
$newToken = $oauthClient->getAccessToken('refresh_token', [
'refresh_token' => session('refreshToken')
]);
// Store the new values
$this->updateTokens($newToken);
return $newToken->getToken();
}
catch (League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
return '';
}
}
// Token is still valid, just return it
return session('accessToken');
}
}
\ No newline at end of file
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
namespace App; namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable class User extends Authenticatable
{ {
......
...@@ -10,8 +10,11 @@ ...@@ -10,8 +10,11 @@
"require": { "require": {
"php": "^7.2", "php": "^7.2",
"fideloper/proxy": "^4.0", "fideloper/proxy": "^4.0",
"laravel/framework": "^6.2", "guzzlehttp/guzzle": "~6.0",
"laravel/tinker": "^2.0" "laravel/framework": "^6.0",
"laravel/tinker": "^1.0",
"league/oauth2-client": "dev-master",
"microsoft/microsoft-graph": "^1.10"
}, },
"require-dev": { "require-dev": {
"facade/ignition": "^1.4", "facade/ignition": "^1.4",
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "3bb4dacacf43532a01bf1d3d6dd3bbe1", "content-hash": "73c7543fd013d5c7b0559390646de880",
"packages": [ "packages": [
{ {
"name": "dnoegel/php-xdg-base-dir", "name": "dnoegel/php-xdg-base-dir",
...@@ -224,26 +224,27 @@ ...@@ -224,26 +224,27 @@
}, },
{ {
"name": "egulias/email-validator", "name": "egulias/email-validator",
"version": "2.1.14", "version": "2.1.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/egulias/EmailValidator.git", "url": "https://github.com/egulias/EmailValidator.git",
"reference": "c4b8d12921999d8a561004371701dbc2e05b5ece" "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/c4b8d12921999d8a561004371701dbc2e05b5ece", "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23",
"reference": "c4b8d12921999d8a561004371701dbc2e05b5ece", "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/lexer": "^1.0.1", "doctrine/lexer": "^1.0.1",
"php": ">=5.5" "php": ">= 5.5"
}, },
"require-dev": { "require-dev": {
"dominicsayers/isemail": "^3.0.7", "dominicsayers/isemail": "dev-master",
"phpunit/phpunit": "^4.8.36|^7.5.15", "phpunit/phpunit": "^4.8.35||^5.7||^6.0",
"satooshi/php-coveralls": "^1.0.1" "satooshi/php-coveralls": "^1.0.1",
"symfony/phpunit-bridge": "^4.4@dev"
}, },
"suggest": { "suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
...@@ -277,20 +278,66 @@ ...@@ -277,20 +278,66 @@
"validation", "validation",
"validator" "validator"
], ],
"time": "2020-01-05T14:11:20+00:00" "time": "2019-08-13T17:33:27+00:00"
},
{
"name": "erusev/parsedown",
"version": "1.7.3",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
"reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7",
"reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
},
"type": "library",
"autoload": {
"psr-0": {
"Parsedown": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Emanuil Rusev",
"email": "hello@erusev.com",
"homepage": "http://erusev.com"
}
],
"description": "Parser for Markdown.",
"homepage": "http://parsedown.org",
"keywords": [
"markdown",
"parser"
],
"time": "2019-03-17T18:48:37+00:00"
}, },
{ {
"name": "fideloper/proxy", "name": "fideloper/proxy",
"version": "4.2.2", "version": "4.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/fideloper/TrustedProxy.git", "url": "https://github.com/fideloper/TrustedProxy.git",
"reference": "790194d5d3da89a713478875d2e2d05855a90a81" "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/790194d5d3da89a713478875d2e2d05855a90a81", "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/03085e58ec7bee24773fa5a8850751a6e61a7e8a",
"reference": "790194d5d3da89a713478875d2e2d05855a90a81", "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -331,7 +378,196 @@ ...@@ -331,7 +378,196 @@
"proxy", "proxy",
"trusted proxy" "trusted proxy"
], ],
"time": "2019-12-20T13:11:11+00:00" "time": "2019-09-03T16:45:42+00:00"
},
{
"name": "guzzlehttp/guzzle",
"version": "6.5.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "43ece0e75098b7ecd8d13918293029e555a50f82"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82",
"reference": "43ece0e75098b7ecd8d13918293029e555a50f82",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.0",
"guzzlehttp/psr7": "^1.6.1",
"php": ">=5.5"
},
"require-dev": {
"ext-curl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
"psr/log": "^1.1"
},
"suggest": {
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "6.5-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle is a PHP HTTP client library",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"rest",
"web service"
],
"time": "2019-12-23T11:57:10+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "v1.3.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
"shasum": ""
},
"require": {
"php": ">=5.5.0"
},
"require-dev": {
"phpunit/phpunit": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle promises library",
"keywords": [
"promise"
],
"time": "2016-12-20T10:07:11+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "1.6.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "239400de7a173fe9901b9ac7c06497751f00727a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
"reference": "239400de7a173fe9901b9ac7c06497751f00727a",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
},
"suggest": {
"zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"psr-7",
"request",
"response",
"stream",
"uri",
"url"
],
"time": "2019-07-01T23:21:34+00:00"
}, },
{ {
"name": "jakub-onderka/php-console-color", "name": "jakub-onderka/php-console-color",
...@@ -423,27 +659,26 @@ ...@@ -423,27 +659,26 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v6.11.0", "version": "v6.6.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "17af23842c259edcfd8c5b9e6a7c86596e040034" "reference": "27efba7e13aaf91a87ae9a63db158e943eb71410"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/17af23842c259edcfd8c5b9e6a7c86596e040034", "url": "https://api.github.com/repos/laravel/framework/zipball/27efba7e13aaf91a87ae9a63db158e943eb71410",
"reference": "17af23842c259edcfd8c5b9e6a7c86596e040034", "reference": "27efba7e13aaf91a87ae9a63db158e943eb71410",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/inflector": "^1.1", "doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0", "dragonmantank/cron-expression": "^2.0",
"egulias/email-validator": "^2.1.10", "egulias/email-validator": "^2.1.10",
"erusev/parsedown": "^1.7",
"ext-json": "*", "ext-json": "*",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-openssl": "*", "ext-openssl": "*",
"league/commonmark": "^1.1",
"league/commonmark-ext-table": "^2.1",
"league/flysystem": "^1.0.8", "league/flysystem": "^1.0.8",
"monolog/monolog": "^1.12|^2.0", "monolog/monolog": "^1.12|^2.0",
"nesbot/carbon": "^2.0", "nesbot/carbon": "^2.0",
...@@ -503,13 +738,14 @@ ...@@ -503,13 +738,14 @@
"filp/whoops": "^2.4", "filp/whoops": "^2.4",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^6.3",
"league/flysystem-cached-adapter": "^1.0", "league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.3.1", "mockery/mockery": "^1.2.3",
"moontoast/math": "^1.1", "moontoast/math": "^1.1",
"orchestra/testbench-core": "^4.0", "orchestra/testbench-core": "^4.0",
"pda/pheanstalk": "^4.0", "pda/pheanstalk": "^4.0",
"phpunit/phpunit": "^8.4|^9.0", "phpunit/phpunit": "^8.3",
"predis/predis": "^1.1.1", "predis/predis": "^1.1.1",
"symfony/cache": "^4.3.4" "symfony/cache": "^4.3",
"true/punycode": "^2.1"
}, },
"suggest": { "suggest": {
"aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).",
...@@ -527,7 +763,6 @@ ...@@ -527,7 +763,6 @@
"league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
"league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
"moontoast/math": "Required to use ordered UUIDs (^1.1).", "moontoast/math": "Required to use ordered UUIDs (^1.1).",
"nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).",
...@@ -566,40 +801,40 @@ ...@@ -566,40 +801,40 @@
"framework", "framework",
"laravel" "laravel"
], ],
"time": "2020-01-14T15:12:09+00:00" "time": "2019-12-05T13:49:53+00:00"
}, },
{ {
"name": "laravel/tinker", "name": "laravel/tinker",
"version": "v2.1.0", "version": "v1.0.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/tinker.git", "url": "https://github.com/laravel/tinker.git",
"reference": "d8ce361f2fd979c03e5f66c79d4a95a1c1e68640" "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/tinker/zipball/d8ce361f2fd979c03e5f66c79d4a95a1c1e68640", "url": "https://api.github.com/repos/laravel/tinker/zipball/ad571aacbac1539c30d480908f9d0c9614eaf1a7",
"reference": "d8ce361f2fd979c03e5f66c79d4a95a1c1e68640", "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"illuminate/console": "^6.0|^7.0", "illuminate/console": "~5.1|^6.0",
"illuminate/contracts": "^6.0|^7.0", "illuminate/contracts": "~5.1|^6.0",
"illuminate/support": "^6.0|^7.0", "illuminate/support": "~5.1|^6.0",
"php": "^7.2", "php": ">=5.5.9",
"psy/psysh": "^0.9", "psy/psysh": "0.7.*|0.8.*|0.9.*",
"symfony/var-dumper": "^4.0|^5.0" "symfony/var-dumper": "~3.0|~4.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^8.0" "phpunit/phpunit": "~4.0|~5.0"
}, },
"suggest": { "suggest": {
"illuminate/database": "The Illuminate Database package (^6.0|^7.0)." "illuminate/database": "The Illuminate Database package (~5.1)."
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.x-dev" "dev-master": "1.0-dev"
}, },
"laravel": { "laravel": {
"providers": [ "providers": [
...@@ -629,113 +864,127 @@ ...@@ -629,113 +864,127 @@
"laravel", "laravel",
"psysh" "psysh"
], ],
"time": "2020-01-14T16:58:39+00:00" "time": "2019-08-07T15:10:45+00:00"
}, },
{ {
"name": "league/commonmark", "name": "league/flysystem",
"version": "1.2.1", "version": "1.0.61",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/commonmark.git", "url": "https://github.com/thephpleague/flysystem.git",
"reference": "74e08793c41c72c8ed7a22df803f2ffcaf77efb7" "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/74e08793c41c72c8ed7a22df803f2ffcaf77efb7", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fb13c01784a6c9f165a351e996871488ca2d8c9",
"reference": "74e08793c41c72c8ed7a22df803f2ffcaf77efb7", "reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-mbstring": "*", "ext-fileinfo": "*",
"php": "^7.1" "php": ">=5.5.9"
}, },
"replace": { "conflict": {
"colinodell/commonmark-php": "*" "league/flysystem-sftp": "<1.0.6"
}, },
"require-dev": { "require-dev": {
"cebe/markdown": "~1.0", "phpspec/phpspec": "^3.4",
"commonmark/commonmark.js": "0.29.1", "phpunit/phpunit": "^5.7.10"
"erusev/parsedown": "~1.0",
"ext-json": "*",
"michelf/php-markdown": "~1.4",
"mikehaertl/php-shellcommand": "^1.4",
"phpstan/phpstan-shim": "^0.11.5",
"phpunit/phpunit": "^7.5",
"scrutinizer/ocular": "^1.5",
"symfony/finder": "^4.2"
}, },
"suggest": { "suggest": {
"league/commonmark-extras": "Library of useful extensions including smart punctuation" "ext-fileinfo": "Required for MimeType",
"ext-ftp": "Allows you to use FTP server storage",
"ext-openssl": "Allows you to use FTPS server storage",
"league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
"league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
"league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
"league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
"league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
"league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
"league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
"league/flysystem-webdav": "Allows you to use WebDAV storage",
"league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
"spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
"srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
}, },
"bin": [
"bin/commonmark"
],
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3-dev" "dev-master": "1.1-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"League\\CommonMark\\": "src" "League\\Flysystem\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"BSD-3-Clause" "MIT"
], ],
"authors": [ "authors": [
{ {
"name": "Colin O'Dell", "name": "Frank de Jonge",
"email": "colinodell@gmail.com", "email": "info@frenky.net"
"homepage": "https://www.colinodell.com",
"role": "Lead Developer"
} }
], ],
"description": "PHP Markdown parser based on the CommonMark spec", "description": "Filesystem abstraction: Many filesystems, one API.",
"homepage": "https://commonmark.thephpleague.com",
"keywords": [ "keywords": [
"commonmark", "Cloud Files",
"markdown", "WebDAV",
"parser" "abstraction",
"aws",
"cloud",
"copy.com",
"dropbox",
"file systems",
"files",
"filesystem",
"filesystems",
"ftp",
"rackspace",
"remote",
"s3",
"sftp",
"storage"
], ],
"time": "2020-01-15T03:32:39+00:00" "time": "2019-12-08T21:46:50+00:00"
}, },
{ {
"name": "league/commonmark-ext-table", "name": "league/oauth2-client",
"version": "v2.1.0", "version": "dev-master",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/commonmark-ext-table.git", "url": "https://github.com/thephpleague/oauth2-client.git",
"reference": "3228888ea69636e855efcf6636ff8e6316933fe7" "reference": "8c318529c0a951ec46b59b675711815a9231a87e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark-ext-table/zipball/3228888ea69636e855efcf6636ff8e6316933fe7", "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/8c318529c0a951ec46b59b675711815a9231a87e",
"reference": "3228888ea69636e855efcf6636ff8e6316933fe7", "reference": "8c318529c0a951ec46b59b675711815a9231a87e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"league/commonmark": "~0.19.3|^1.0", "guzzlehttp/guzzle": "^6.0",
"php": "^7.1" "paragonie/random_compat": "^1|^2|^9.99",
"php": "^5.6|^7.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "^2.14", "eloquent/liberator": "^2.0",
"phpstan/phpstan": "~0.11", "eloquent/phony-phpunit": "^1.0|^3.0",
"phpunit/phpunit": "^7.0|^8.0", "jakub-onderka/php-parallel-lint": "^0.9.2",
"symfony/var-dumper": "^4.0", "phpunit/phpunit": "^5.7|^6.0",
"vimeo/psalm": "^3.0" "squizlabs/php_codesniffer": "^2.3|^3.0"
}, },
"type": "commonmark-extension", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.2-dev" "dev-2.x": "2.0.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"League\\CommonMark\\Ext\\Table\\": "src" "League\\OAuth2\\Client\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -744,79 +993,58 @@ ...@@ -744,79 +993,58 @@
], ],
"authors": [ "authors": [
{ {
"name": "Martin Hasoň", "name": "Alex Bilbie",
"email": "martin.hason@gmail.com" "email": "hello@alexbilbie.com",
}, "homepage": "http://www.alexbilbie.com",
{ "role": "Developer"
"name": "Webuni s.r.o.",
"homepage": "https://www.webuni.cz"
}, },
{ {
"name": "Colin O'Dell", "name": "Woody Gilk",
"email": "colinodell@gmail.com", "homepage": "https://github.com/shadowhand",
"homepage": "https://www.colinodell.com" "role": "Contributor"
} }
], ],
"description": "Table extension for league/commonmark", "description": "OAuth 2.0 Client Library",
"homepage": "https://github.com/thephpleague/commonmark-ext-table",
"keywords": [ "keywords": [
"commonmark", "Authentication",
"extension", "SSO",
"markdown", "authorization",
"table" "identity",
"idp",
"oauth",
"oauth2",
"single sign on"
], ],
"time": "2019-09-26T13:28:33+00:00" "time": "2019-09-18T15:36:52+00:00"
}, },
{ {
"name": "league/flysystem", "name": "microsoft/microsoft-graph",
"version": "1.0.46", "version": "1.12.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem.git", "url": "https://github.com/microsoftgraph/msgraph-sdk-php.git",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2" "reference": "8bcd1c3ebcb6dbd65713a180d85432eedb3faeed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2", "url": "https://api.github.com/repos/microsoftgraph/msgraph-sdk-php/zipball/8bcd1c3ebcb6dbd65713a180d85432eedb3faeed",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2", "reference": "8bcd1c3ebcb6dbd65713a180d85432eedb3faeed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.5.9" "guzzlehttp/guzzle": "^6.2",
}, "php": "^5.6 || ^7.0"
"conflict": {
"league/flysystem-sftp": "<1.0.6"
}, },
"require-dev": { "require-dev": {
"ext-fileinfo": "*", "mikey179/vfsstream": "^1.2",
"phpspec/phpspec": "^3.4", "phpdocumentor/phpdocumentor": "^2.9",
"phpunit/phpunit": "^5.7.10" "phpunit/phpunit": "^5.5"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
"ext-ftp": "Allows you to use FTP server storage",
"ext-openssl": "Allows you to use FTPS server storage",
"league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
"league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
"league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
"league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
"league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
"league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
"league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
"league/flysystem-webdav": "Allows you to use WebDAV storage",
"league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
"spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
"srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"League\\Flysystem\\": "src/" "Microsoft\\Graph\\": "src/",
"Microsoft\\Graph\\Test\\": "tests/Functional/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
...@@ -825,44 +1053,27 @@ ...@@ -825,44 +1053,27 @@
], ],
"authors": [ "authors": [
{ {
"name": "Frank de Jonge", "name": "Michael Mainer",
"email": "info@frenky.net" "email": "mmainer@microsoft.com",
"role": "Developer"
} }
], ],
"description": "Filesystem abstraction: Many filesystems, one API.", "description": "The Microsoft Graph SDK for PHP",
"keywords": [ "homepage": "https://graph.microsoft.io/en-us/",
"Cloud Files", "time": "2019-10-29T21:37:52+00:00"
"WebDAV",
"abstraction",
"aws",
"cloud",
"copy.com",
"dropbox",
"file systems",
"files",
"filesystem",
"filesystems",
"ftp",
"rackspace",
"remote",
"s3",
"sftp",
"storage"
],
"time": "2018-08-22T07:45:22+00:00"
}, },
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "2.0.2", "version": "2.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Seldaek/monolog.git", "url": "https://github.com/Seldaek/monolog.git",
"reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8" "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9d56fd2f5533322caccdfcddbb56aedd622ef1c",
"reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8", "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -930,20 +1141,20 @@ ...@@ -930,20 +1141,20 @@
"logging", "logging",
"psr-3" "psr-3"
], ],
"time": "2019-12-20T14:22:59+00:00" "time": "2019-11-13T10:27:43+00:00"
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "2.28.0", "version": "2.27.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/briannesbitt/Carbon.git", "url": "https://github.com/briannesbitt/Carbon.git",
"reference": "e2bcbcd43e67ee6101d321d5de916251d2870ca8" "reference": "13b8485a8690f103bf19cba64879c218b102b726"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e2bcbcd43e67ee6101d321d5de916251d2870ca8", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/13b8485a8690f103bf19cba64879c218b102b726",
"reference": "e2bcbcd43e67ee6101d321d5de916251d2870ca8", "reference": "13b8485a8690f103bf19cba64879c218b102b726",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1000,7 +1211,7 @@ ...@@ -1000,7 +1211,7 @@
"datetime", "datetime",
"time" "time"
], ],
"time": "2019-12-16T16:30:25+00:00" "time": "2019-11-20T06:59:06+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
...@@ -1162,29 +1373,28 @@ ...@@ -1162,29 +1373,28 @@
}, },
{ {
"name": "phpoption/phpoption", "name": "phpoption/phpoption",
"version": "1.7.2", "version": "1.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/schmittjoh/php-option.git", "url": "https://github.com/schmittjoh/php-option.git",
"reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" "reference": "f4e7a6a1382183412246f0d361078c29fb85089e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/f4e7a6a1382183412246f0d361078c29fb85089e",
"reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", "reference": "f4e7a6a1382183412246f0d361078c29fb85089e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.5.9 || ^7.0" "php": "^5.5.9 || ^7.0"
}, },
"require-dev": { "require-dev": {
"bamarni/composer-bin-plugin": "^1.3",
"phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.7-dev" "dev-master": "1.6-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -1213,7 +1423,7 @@ ...@@ -1213,7 +1423,7 @@
"php", "php",
"type" "type"
], ],
"time": "2019-12-15T19:35:24+00:00" "time": "2019-11-30T20:20:49+00:00"
}, },
{ {
"name": "psr/container", "name": "psr/container",
...@@ -1264,6 +1474,56 @@ ...@@ -1264,6 +1474,56 @@
], ],
"time": "2017-02-14T16:28:37+00:00" "time": "2017-02-14T16:28:37+00:00"
}, },
{
"name": "psr/http-message",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2016-08-06T14:39:51+00:00"
},
{ {
"name": "psr/log", "name": "psr/log",
"version": "1.1.2", "version": "1.1.2",
...@@ -1433,24 +1693,64 @@ ...@@ -1433,24 +1693,64 @@
], ],
"time": "2019-12-06T14:19:43+00:00" "time": "2019-12-06T14:19:43+00:00"
}, },
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/ralouphie/getallheaders.git",
"reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ralph Khattar",
"email": "ralph.khattar@gmail.com"
}
],
"description": "A polyfill for getallheaders.",
"time": "2019-03-08T08:55:37+00:00"
},
{ {
"name": "ramsey/uuid", "name": "ramsey/uuid",
"version": "3.9.2", "version": "3.9.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ramsey/uuid.git", "url": "https://github.com/ramsey/uuid.git",
"reference": "7779489a47d443f845271badbdcedfe4df8e06fb" "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/7779489a47d443f845271badbdcedfe4df8e06fb", "url": "https://api.github.com/repos/ramsey/uuid/zipball/5ac2740e0c8c599d2bbe7f113a939f2b5b216c67",
"reference": "7779489a47d443f845271badbdcedfe4df8e06fb", "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-json": "*", "ext-json": "*",
"paragonie/random_compat": "^1 | ^2 | 9.99.99", "paragonie/random_compat": "^1 | ^2 | 9.99.99",
"php": "^5.4 | ^7 | ^8", "php": "^5.4 | ^7",
"symfony/polyfill-ctype": "^1.8" "symfony/polyfill-ctype": "^1.8"
}, },
"replace": { "replace": {
...@@ -1460,13 +1760,13 @@ ...@@ -1460,13 +1760,13 @@
"codeception/aspect-mock": "^1 | ^2", "codeception/aspect-mock": "^1 | ^2",
"doctrine/annotations": "^1.2", "doctrine/annotations": "^1.2",
"goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1",
"jakub-onderka/php-parallel-lint": "^1", "jakub-onderka/php-parallel-lint": "^0.9.0",
"mockery/mockery": "^0.9.11 | ^1", "mockery/mockery": "^0.9.9",
"moontoast/math": "^1.1", "moontoast/math": "^1.1",
"paragonie/random-lib": "^2", "paragonie/random-lib": "^2",
"php-mock/php-mock-phpunit": "^0.3 | ^1.1", "php-mock/php-mock-phpunit": "^0.3 | ^1.1",
"phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5",
"squizlabs/php_codesniffer": "^3.5" "squizlabs/php_codesniffer": "^2.3"
}, },
"suggest": { "suggest": {
"ext-ctype": "Provides support for PHP Ctype functions", "ext-ctype": "Provides support for PHP Ctype functions",
...@@ -1518,7 +1818,7 @@ ...@@ -1518,7 +1818,7 @@
"identifier", "identifier",
"uuid" "uuid"
], ],
"time": "2019-12-17T08:18:51+00:00" "time": "2019-12-01T04:55:27+00:00"
}, },
{ {
"name": "swiftmailer/swiftmailer", "name": "swiftmailer/swiftmailer",
...@@ -1584,16 +1884,16 @@ ...@@ -1584,16 +1884,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "82437719dab1e6bdd28726af14cb345c2ec816d0" "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/82437719dab1e6bdd28726af14cb345c2ec816d0", "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201",
"reference": "82437719dab1e6bdd28726af14cb345c2ec816d0", "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1656,11 +1956,11 @@ ...@@ -1656,11 +1956,11 @@
], ],
"description": "Symfony Console Component", "description": "Symfony Console Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-17T10:32:23+00:00" "time": "2019-12-01T10:06:17+00:00"
}, },
{ {
"name": "symfony/css-selector", "name": "symfony/css-selector",
"version": "v5.0.2", "version": "v5.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/css-selector.git", "url": "https://github.com/symfony/css-selector.git",
...@@ -1713,16 +2013,16 @@ ...@@ -1713,16 +2013,16 @@
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug.git", "url": "https://github.com/symfony/debug.git",
"reference": "5c4c1db977dc70bb3250e1308d3e8c6341aa38f5" "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/5c4c1db977dc70bb3250e1308d3e8c6341aa38f5", "url": "https://api.github.com/repos/symfony/debug/zipball/b8600a1d7d20b0e80906398bb1f50612fa074a8e",
"reference": "5c4c1db977dc70bb3250e1308d3e8c6341aa38f5", "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1765,20 +2065,20 @@ ...@@ -1765,20 +2065,20 @@
], ],
"description": "Symfony Debug Component", "description": "Symfony Debug Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-16T14:46:54+00:00" "time": "2019-11-28T13:33:56+00:00"
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/error-handler.git", "url": "https://github.com/symfony/error-handler.git",
"reference": "6d7d7712a6ff5215ec26215672293b154f1db8c1" "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/6d7d7712a6ff5215ec26215672293b154f1db8c1", "url": "https://api.github.com/repos/symfony/error-handler/zipball/a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b",
"reference": "6d7d7712a6ff5215ec26215672293b154f1db8c1", "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1821,11 +2121,11 @@ ...@@ -1821,11 +2121,11 @@
], ],
"description": "Symfony ErrorHandler Component", "description": "Symfony ErrorHandler Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-16T14:46:54+00:00" "time": "2019-12-01T08:46:01+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher.git", "url": "https://github.com/symfony/event-dispatcher.git",
...@@ -1953,7 +2253,7 @@ ...@@ -1953,7 +2253,7 @@
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
...@@ -2002,16 +2302,16 @@ ...@@ -2002,16 +2302,16 @@
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "fcae1cff5b57b2a9c3aabefeb1527678705ddb62" "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/fcae1cff5b57b2a9c3aabefeb1527678705ddb62", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8bccc59e61b41963d14c3dbdb23181e5c932a1d5",
"reference": "fcae1cff5b57b2a9c3aabefeb1527678705ddb62", "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2053,20 +2353,20 @@ ...@@ -2053,20 +2353,20 @@
], ],
"description": "Symfony HttpFoundation Component", "description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-19T15:57:49+00:00" "time": "2019-11-28T13:33:56+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "fe310d2e95cd4c356836c8ecb0895a46d97fede2" "reference": "e4187780ed26129ee86d5234afbebf085e144f88"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/fe310d2e95cd4c356836c8ecb0895a46d97fede2", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e4187780ed26129ee86d5234afbebf085e144f88",
"reference": "fe310d2e95cd4c356836c8ecb0895a46d97fede2", "reference": "e4187780ed26129ee86d5234afbebf085e144f88",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2143,11 +2443,11 @@ ...@@ -2143,11 +2443,11 @@
], ],
"description": "Symfony HttpKernel Component", "description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-19T16:23:40+00:00" "time": "2019-12-01T14:06:38+00:00"
}, },
{ {
"name": "symfony/mime", "name": "symfony/mime",
"version": "v5.0.2", "version": "v5.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/mime.git", "url": "https://github.com/symfony/mime.git",
...@@ -2560,16 +2860,16 @@ ...@@ -2560,16 +2860,16 @@
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/process.git", "url": "https://github.com/symfony/process.git",
"reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b" "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/b84501ad50adb72a94fb460a5b5c91f693e99c9b", "url": "https://api.github.com/repos/symfony/process/zipball/51c0135ef3f44c5803b33dc60e96bf4f77752726",
"reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b", "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2605,20 +2905,20 @@ ...@@ -2605,20 +2905,20 @@
], ],
"description": "Symfony Process Component", "description": "Symfony Process Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-06T10:06:46+00:00" "time": "2019-11-28T13:33:56+00:00"
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "628bcafae1b2043969378dcfbf9c196539a38722" "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/628bcafae1b2043969378dcfbf9c196539a38722", "url": "https://api.github.com/repos/symfony/routing/zipball/51f3f20ad29329a0bdf5c0e2f722d3764b065273",
"reference": "628bcafae1b2043969378dcfbf9c196539a38722", "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2681,7 +2981,7 @@ ...@@ -2681,7 +2981,7 @@
"uri", "uri",
"url" "url"
], ],
"time": "2019-12-12T12:53:52+00:00" "time": "2019-12-01T08:39:58+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
...@@ -2743,16 +3043,16 @@ ...@@ -2743,16 +3043,16 @@
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "f7669f48a9633bf8139bc026c755e894b7206677" "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/f7669f48a9633bf8139bc026c755e894b7206677", "url": "https://api.github.com/repos/symfony/translation/zipball/897fb68ee7933372517b551d6f08c6d4bb0b8c40",
"reference": "f7669f48a9633bf8139bc026c755e894b7206677", "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2815,7 +3115,7 @@ ...@@ -2815,7 +3115,7 @@
], ],
"description": "Symfony Translation Component", "description": "Symfony Translation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2019-12-12T12:53:52+00:00" "time": "2019-11-12T17:18:47+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
...@@ -2876,16 +3176,16 @@ ...@@ -2876,16 +3176,16 @@
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v4.4.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99" "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/be330f919bdb395d1e0c3f2bfb8948512d6bdd99", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0a89a1dbbedd9fb2cfb2336556dec8305273c19a",
"reference": "be330f919bdb395d1e0c3f2bfb8948512d6bdd99", "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2948,7 +3248,7 @@ ...@@ -2948,7 +3248,7 @@
"debug", "debug",
"dump" "dump"
], ],
"time": "2019-12-18T13:41:29+00:00" "time": "2019-11-28T13:33:56+00:00"
}, },
{ {
"name": "tijsverkoyen/css-to-inline-styles", "name": "tijsverkoyen/css-to-inline-styles",
...@@ -3116,16 +3416,16 @@ ...@@ -3116,16 +3416,16 @@
}, },
{ {
"name": "facade/flare-client-php", "name": "facade/flare-client-php",
"version": "1.3.1", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/facade/flare-client-php.git", "url": "https://github.com/facade/flare-client-php.git",
"reference": "24444ea0e1556f0a4b5fc8e61802caf72ae9a408" "reference": "0fd0c0a5c75a5acf04578311a08a7832e06a981c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/facade/flare-client-php/zipball/24444ea0e1556f0a4b5fc8e61802caf72ae9a408", "url": "https://api.github.com/repos/facade/flare-client-php/zipball/0fd0c0a5c75a5acf04578311a08a7832e06a981c",
"reference": "24444ea0e1556f0a4b5fc8e61802caf72ae9a408", "reference": "0fd0c0a5c75a5acf04578311a08a7832e06a981c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3133,7 +3433,7 @@ ...@@ -3133,7 +3433,7 @@
"illuminate/pipeline": "~5.5|~5.6|~5.7|~5.8|^6.0", "illuminate/pipeline": "~5.5|~5.6|~5.7|~5.8|^6.0",
"php": "^7.1", "php": "^7.1",
"symfony/http-foundation": "~3.3|~4.1", "symfony/http-foundation": "~3.3|~4.1",
"symfony/var-dumper": "^3.4|^4.0|^5.0" "symfony/var-dumper": "^3.4|^4.0"
}, },
"require-dev": { "require-dev": {
"larapack/dd": "^1.1", "larapack/dd": "^1.1",
...@@ -3166,20 +3466,20 @@ ...@@ -3166,20 +3466,20 @@
"flare", "flare",
"reporting" "reporting"
], ],
"time": "2019-12-15T18:28:38+00:00" "time": "2019-11-27T10:09:46+00:00"
}, },
{ {
"name": "facade/ignition", "name": "facade/ignition",
"version": "1.14.0", "version": "1.13.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/facade/ignition.git", "url": "https://github.com/facade/ignition.git",
"reference": "c6d36683b40e005cd395ddff1bbfbf0aa0fcd3c5" "reference": "1d2103aefecc9c4e6975bcc77fc5eceb330adb33"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/facade/ignition/zipball/c6d36683b40e005cd395ddff1bbfbf0aa0fcd3c5", "url": "https://api.github.com/repos/facade/ignition/zipball/1d2103aefecc9c4e6975bcc77fc5eceb330adb33",
"reference": "c6d36683b40e005cd395ddff1bbfbf0aa0fcd3c5", "reference": "1d2103aefecc9c4e6975bcc77fc5eceb330adb33",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3237,7 +3537,7 @@ ...@@ -3237,7 +3537,7 @@
"laravel", "laravel",
"page" "page"
], ],
"time": "2020-01-06T09:32:42+00:00" "time": "2019-11-27T11:17:18+00:00"
}, },
{ {
"name": "facade/ignition-contracts", "name": "facade/ignition-contracts",
...@@ -3285,16 +3585,16 @@ ...@@ -3285,16 +3585,16 @@
}, },
{ {
"name": "filp/whoops", "name": "filp/whoops",
"version": "2.7.1", "version": "2.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filp/whoops.git", "url": "https://github.com/filp/whoops.git",
"reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130" "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96",
"reference": "fff6f1e4f36be0e0d0b84d66b413d9dcb0c49130", "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3303,8 +3603,8 @@ ...@@ -3303,8 +3603,8 @@
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^0.9 || ^1.0", "mockery/mockery": "^0.9 || ^1.0",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0", "phpunit/phpunit": "^4.8.35 || ^5.7",
"symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0"
}, },
"suggest": { "suggest": {
"symfony/var-dumper": "Pretty print complex values better with var-dumper available", "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
...@@ -3313,7 +3613,7 @@ ...@@ -3313,7 +3613,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.6-dev" "dev-master": "2.2-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3328,8 +3628,8 @@ ...@@ -3328,8 +3628,8 @@
"authors": [ "authors": [
{ {
"name": "Filipe Dobreira", "name": "Filipe Dobreira",
"homepage": "https://github.com/filp", "role": "Developer",
"role": "Developer" "homepage": "https://github.com/filp"
} }
], ],
"description": "php error handling for cool kids", "description": "php error handling for cool kids",
...@@ -3342,20 +3642,20 @@ ...@@ -3342,20 +3642,20 @@
"throwable", "throwable",
"whoops" "whoops"
], ],
"time": "2020-01-15T10:00:00+00:00" "time": "2019-08-07T09:00:00+00:00"
}, },
{ {
"name": "fzaninotto/faker", "name": "fzaninotto/faker",
"version": "v1.9.1", "version": "v1.9.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/fzaninotto/Faker.git", "url": "https://github.com/fzaninotto/Faker.git",
"reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" "reference": "27a216cbe72327b2d6369fab721a5843be71e57d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/27a216cbe72327b2d6369fab721a5843be71e57d",
"reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", "reference": "27a216cbe72327b2d6369fab721a5843be71e57d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3368,9 +3668,7 @@ ...@@ -3368,9 +3668,7 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": []
"dev-master": "1.9-dev"
}
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
...@@ -3392,7 +3690,7 @@ ...@@ -3392,7 +3690,7 @@
"faker", "faker",
"fixtures" "fixtures"
], ],
"time": "2019-12-12T13:22:17+00:00" "time": "2019-11-14T13:13:06+00:00"
}, },
{ {
"name": "hamcrest/hamcrest-php", "name": "hamcrest/hamcrest-php",
...@@ -3444,22 +3742,23 @@ ...@@ -3444,22 +3742,23 @@
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
"version": "1.3.1", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mockery/mockery.git", "url": "https://github.com/mockery/mockery.git",
"reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be" "reference": "5571962a4f733fbb57bede39778f71647fae8e66"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/mockery/mockery/zipball/f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", "url": "https://api.github.com/repos/mockery/mockery/zipball/5571962a4f733fbb57bede39778f71647fae8e66",
"reference": "f69bbde7d7a75d6b2862d9ca8fab1cd28014b4be", "reference": "5571962a4f733fbb57bede39778f71647fae8e66",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"hamcrest/hamcrest-php": "~2.0", "hamcrest/hamcrest-php": "~2.0",
"lib-pcre": ">=7.0", "lib-pcre": ">=7.0",
"php": ">=5.6.0" "php": ">=5.6.0",
"sebastian/comparator": "^1.2.4|^3.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0"
...@@ -3467,7 +3766,7 @@ ...@@ -3467,7 +3766,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3505,20 +3804,20 @@ ...@@ -3505,20 +3804,20 @@
"test double", "test double",
"testing" "testing"
], ],
"time": "2019-12-26T09:49:15+00:00" "time": "2019-11-24T07:54:50+00:00"
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.9.4", "version": "1.9.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/myclabs/DeepCopy.git",
"reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7" "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/579bb7356d91f9456ccd505f24ca8b667966a0a7", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea",
"reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7", "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3553,7 +3852,7 @@ ...@@ -3553,7 +3852,7 @@
"object", "object",
"object graph" "object graph"
], ],
"time": "2019-12-15T19:12:40+00:00" "time": "2019-08-09T12:45:53+00:00"
}, },
{ {
"name": "nunomaduro/collision", "name": "nunomaduro/collision",
...@@ -3657,18 +3956,18 @@ ...@@ -3657,18 +3956,18 @@
"authors": [ "authors": [
{ {
"name": "Arne Blankerts", "name": "Arne Blankerts",
"email": "arne@blankerts.de", "role": "Developer",
"role": "Developer" "email": "arne@blankerts.de"
}, },
{ {
"name": "Sebastian Heuer", "name": "Sebastian Heuer",
"email": "sebastian@phpeople.de", "role": "Developer",
"role": "Developer" "email": "sebastian@phpeople.de"
}, },
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de", "role": "Developer",
"role": "Developer" "email": "sebastian@phpunit.de"
} }
], ],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
...@@ -3775,16 +4074,16 @@ ...@@ -3775,16 +4074,16 @@
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "4.3.4", "version": "4.3.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3796,7 +4095,6 @@ ...@@ -3796,7 +4095,6 @@
"require-dev": { "require-dev": {
"doctrine/instantiator": "^1.0.5", "doctrine/instantiator": "^1.0.5",
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"phpdocumentor/type-resolver": "0.4.*",
"phpunit/phpunit": "^6.4" "phpunit/phpunit": "^6.4"
}, },
"type": "library", "type": "library",
...@@ -3823,7 +4121,7 @@ ...@@ -3823,7 +4121,7 @@
} }
], ],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2019-12-28T18:55:12+00:00" "time": "2019-09-12T14:27:41+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
...@@ -3874,33 +4172,33 @@ ...@@ -3874,33 +4172,33 @@
}, },
{ {
"name": "phpspec/prophecy", "name": "phpspec/prophecy",
"version": "1.10.1", "version": "1.9.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpspec/prophecy.git", "url": "https://github.com/phpspec/prophecy.git",
"reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc" "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/cbe1df668b3fe136bcc909126a0f529a78d4cbbc", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203",
"reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc", "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/instantiator": "^1.0.2", "doctrine/instantiator": "^1.0.2",
"php": "^5.3|^7.0", "php": "^5.3|^7.0",
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
"sebastian/comparator": "^1.2.3|^2.0|^3.0", "sebastian/comparator": "^1.1|^2.0|^3.0",
"sebastian/recursion-context": "^1.0|^2.0|^3.0" "sebastian/recursion-context": "^1.0|^2.0|^3.0"
}, },
"require-dev": { "require-dev": {
"phpspec/phpspec": "^2.5 || ^3.2", "phpspec/phpspec": "^2.5|^3.2",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.10.x-dev" "dev-master": "1.8.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3933,7 +4231,7 @@ ...@@ -3933,7 +4231,7 @@
"spy", "spy",
"stub" "stub"
], ],
"time": "2019-12-22T21:05:45+00:00" "time": "2019-10-03T11:07:50+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
...@@ -4189,16 +4487,16 @@ ...@@ -4189,16 +4487,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "8.5.2", "version": "8.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0" "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3ee1c1fd6fc264480c25b6fb8285edefe1702dab",
"reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0", "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -4268,20 +4566,20 @@ ...@@ -4268,20 +4566,20 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2020-01-08T08:49:49+00:00" "time": "2019-12-06T05:41:38+00:00"
}, },
{ {
"name": "scrivo/highlight.php", "name": "scrivo/highlight.php",
"version": "v9.17.1.0", "version": "v9.15.10.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/scrivo/highlight.php.git", "url": "https://github.com/scrivo/highlight.php.git",
"reference": "5451a9ad6d638559cf2a092880f935c39776134e" "reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/scrivo/highlight.php/zipball/5451a9ad6d638559cf2a092880f935c39776134e", "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/9ad3adb4456dc91196327498dbbce6aa1ba1239e",
"reference": "5451a9ad6d638559cf2a092880f935c39776134e", "reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -4291,8 +4589,7 @@ ...@@ -4291,8 +4589,7 @@
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8|^5.7", "phpunit/phpunit": "^4.8|^5.7",
"symfony/finder": "^3.4", "symfony/finder": "^2.8"
"symfony/var-dumper": "^3.4"
}, },
"suggest": { "suggest": {
"ext-dom": "Needed to make use of the features in the utilities namespace" "ext-dom": "Needed to make use of the features in the utilities namespace"
...@@ -4314,18 +4611,18 @@ ...@@ -4314,18 +4611,18 @@
"authors": [ "authors": [
{ {
"name": "Geert Bergman", "name": "Geert Bergman",
"homepage": "http://www.scrivo.org/", "role": "Project Author",
"role": "Project Author" "homepage": "http://www.scrivo.org/"
}, },
{ {
"name": "Vladimir Jimenez", "name": "Vladimir Jimenez",
"homepage": "https://allejo.io", "role": "Contributor",
"role": "Maintainer" "homepage": "https://allejo.io"
}, },
{ {
"name": "Martin Folkers", "name": "Martin Folkers",
"homepage": "https://twobrain.io", "role": "Contributor",
"role": "Contributor" "homepage": "https://twobrain.io"
} }
], ],
"description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js",
...@@ -4336,7 +4633,7 @@ ...@@ -4336,7 +4633,7 @@
"highlight.php", "highlight.php",
"syntax" "syntax"
], ],
"time": "2019-12-13T21:54:06+00:00" "time": "2019-08-27T04:27:48+00:00"
}, },
{ {
"name": "sebastian/code-unit-reverse-lookup", "name": "sebastian/code-unit-reverse-lookup",
...@@ -4986,8 +5283,8 @@ ...@@ -4986,8 +5283,8 @@
"authors": [ "authors": [
{ {
"name": "Arne Blankerts", "name": "Arne Blankerts",
"email": "arne@blankerts.de", "role": "Developer",
"role": "Developer" "email": "arne@blankerts.de"
} }
], ],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
...@@ -5044,7 +5341,9 @@ ...@@ -5044,7 +5341,9 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "dev", "minimum-stability": "dev",
"stability-flags": [], "stability-flags": {
"league/oauth2-client": 20
},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
......
...@@ -97,21 +97,7 @@ return [ ...@@ -97,21 +97,7 @@ return [
'provider' => 'users', 'provider' => 'users',
'table' => 'password_resets', 'table' => 'password_resets',
'expire' => 60, 'expire' => 60,
'throttle' => 60,
], ],
], ],
/*
|--------------------------------------------------------------------------
| Password Confirmation Timeout
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
| times out and the user is prompted to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
'password_timeout' => 10800,
]; ];
<?php <?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler; use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler; use Monolog\Handler\SyslogUdpHandler;
...@@ -37,7 +36,7 @@ return [ ...@@ -37,7 +36,7 @@ return [
'channels' => [ 'channels' => [
'stack' => [ 'stack' => [
'driver' => 'stack', 'driver' => 'stack',
'channels' => ['single'], 'channels' => ['daily'],
'ignore_exceptions' => false, 'ignore_exceptions' => false,
], ],
...@@ -90,11 +89,6 @@ return [ ...@@ -90,11 +89,6 @@ return [
'driver' => 'errorlog', 'driver' => 'errorlog',
'level' => 'debug', 'level' => 'debug',
], ],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
], ],
]; ];
...@@ -18,7 +18,7 @@ return [ ...@@ -18,7 +18,7 @@ return [
| |
*/ */
'driver' => env('SESSION_DRIVER', 'cookie'), 'driver' => env('SESSION_DRIVER', 'file'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
...@@ -190,7 +190,7 @@ return [ ...@@ -190,7 +190,7 @@ return [
| take place, and can be used to mitigate CSRF attacks. By default, we | take place, and can be used to mitigate CSRF attacks. By default, we
| do not enable this as other CSRF protection services are in place. | do not enable this as other CSRF protection services are in place.
| |
| Supported: "lax", "strict", "none" | Supported: "lax", "strict"
| |
*/ */
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
/** @var \Illuminate\Database\Eloquent\Factory $factory */ /** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\User; use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Faker\Generator as Faker;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
......
<?php <?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration class CreateUsersTable extends Migration
{ {
......
<?php <?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePasswordResetsTable extends Migration class CreatePasswordResetsTable extends Migration
{ {
......
<?php <?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateFailedJobsTable extends Migration class CreateFailedJobsTable extends Migration
{ {
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <phpunit backupGlobals="false"
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
backupGlobals="false"
backupStaticAttributes="false" backupStaticAttributes="false"
bootstrap="vendor/autoload.php" bootstrap="tests/bootstrap.php"
colors="true" colors="true"
convertErrorsToExceptions="true" convertErrorsToExceptions="true"
convertNoticesToExceptions="true" convertNoticesToExceptions="true"
...@@ -28,10 +26,13 @@ ...@@ -28,10 +26,13 @@
<server name="APP_ENV" value="testing"/> <server name="APP_ENV" value="testing"/>
<server name="BCRYPT_ROUNDS" value="4"/> <server name="BCRYPT_ROUNDS" value="4"/>
<server name="CACHE_DRIVER" value="array"/> <server name="CACHE_DRIVER" value="array"/>
<server name="DB_CONNECTION" value="sqlite"/>
<server name="DB_DATABASE" value=":memory:"/>
<server name="MAIL_DRIVER" value="array"/> <server name="MAIL_DRIVER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/> <server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/> <server name="SESSION_DRIVER" value="array"/>
<server name="APP_CONFIG_CACHE" value="bootstrap/cache/config.phpunit.php"/>
<server name="APP_SERVICES_CACHE" value="bootstrap/cache/services.phpunit.php"/>
<server name="APP_PACKAGES_CACHE" value="bootstrap/cache/packages.phpunit.php"/>
<server name="APP_ROUTES_CACHE" value="bootstrap/cache/routes.phpunit.php"/>
<server name="APP_EVENTS_CACHE" value="bootstrap/cache/events.phpunit.php"/>
</php> </php>
</phpunit> </phpunit>
body {
padding-top: 4.5rem;
}
.alert-pre {
word-wrap: break-word;
word-break: break-all;
white-space: pre-wrap;
}
\ No newline at end of file
<!--
Rewrites requires Microsoft URL Rewrite Module for IIS
Download: https://www.microsoft.com/en-us/download/details.aspx?id=47337
Debug Help: https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules
-->
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
...@@ -24,5 +24,5 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; ...@@ -24,5 +24,5 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// broadcaster: 'pusher', // broadcaster: 'pusher',
// key: process.env.MIX_PUSHER_APP_KEY, // key: process.env.MIX_PUSHER_APP_KEY,
// cluster: process.env.MIX_PUSHER_APP_CLUSTER, // cluster: process.env.MIX_PUSHER_APP_CLUSTER,
// forceTLS: true // encrypted: true
// }); // });
...@@ -15,7 +15,6 @@ return [ ...@@ -15,7 +15,6 @@ return [
'reset' => 'Your password has been reset!', 'reset' => 'Your password has been reset!',
'sent' => 'We have e-mailed your password reset link!', 'sent' => 'We have e-mailed your password reset link!',
'throttled' => 'Please wait before retrying.',
'token' => 'This password reset token is invalid.', 'token' => 'This password reset token is invalid.',
'user' => "We can't find a user with that e-mail address.", 'user' => "We can't find a user with that e-mail address.",
......
...@@ -93,7 +93,6 @@ return [ ...@@ -93,7 +93,6 @@ return [
'not_in' => 'The selected :attribute is invalid.', 'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute format is invalid.', 'not_regex' => 'The :attribute format is invalid.',
'numeric' => 'The :attribute must be a number.', 'numeric' => 'The :attribute must be a number.',
'password' => 'The password is incorrect.',
'present' => 'The :attribute field must be present.', 'present' => 'The :attribute field must be present.',
'regex' => 'The :attribute format is invalid.', 'regex' => 'The :attribute format is invalid.',
'required' => 'The :attribute field is required.', 'required' => 'The :attribute field is required.',
......
@extends('layout')
@section('content')
<h1>Calendar</h1>
<table class="table">
<thead>
<tr>
<th scope="col">Organizer</th>
<th scope="col">Subject</th>
<th scope="col">Start</th>
<th scope="col">End</th>
</tr>
</thead>
<tbody>
@isset($events)
@foreach($events as $event)
<tr>
<td>{{ $event->getOrganizer()->getEmailAddress()->getName() }}</td>
<td>{{ $event->getSubject() }}</td>
<td>{{ \Carbon\Carbon::parse($event->getStart()->getDateTime())->format('n/j/y g:i A') }}</td>
<td>{{ \Carbon\Carbon::parse($event->getEnd()->getDateTime())->format('n/j/y g:i A') }}</td>
</tr>
@endforeach
@endif
</tbody>
</table>
@endsection
\ No newline at end of file
@extends('layout')
@section('head')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.8.0/css/bulma.min.css">
@endsection
@section('content')
<br />
<h1> Create User </h1>
<br />
{{-- <form action="{{ route('test902.samplepost', $post->id) }}" method="post">--}}
{{-- <form action="{{ route('test902.samplepost') }}" method="post">--}}
<form action="{{ route('store.new.office365.user') }}" method="post">
@csrf
<div style="width: 500px;">
Name:
<input
class="input @error('displayName') is-danger @enderror"
type="text"
name="displayName"
id=""
value="{{ old('displayName') }}"/>
@error('displayName')
<p class="help is-danger">{{ $errors->first('displayName') }}</p>
@enderror
</div>
<br/>
<div style="width: 500px;">
Email:
<input
class="input @error('userPrincipalName') is-danger @enderror"
type="text"
name="userPrincipalName"
id=""
value="{{ old('userPrincipalName') }}">
@error('userPrincipalName')
<p class="help is-danger">{{ $errors->first('userPrincipalName') }}</p>
@enderror
</div>
<br/>
<div>
<input type="submit" value="Create">
</div>
</form>
@endsection
@extends('layout')
@section('content')
<h1>Groups</h1>
<table class="table">
<thead>
<tr>
<th scope="col">Group Name</th>
<th scope="col">Mail</th>
</tr>
</thead>
<tbody>
@isset($groups)
@foreach($groups as $group)
<tr>
<td>{{ $group->getDisplayName() }}</td>
<td>{{ $group->getMail() }}</td>
</tr>
@endforeach
@endif
</tbody>
</table>
@endsection
<!DOCTYPE html>
<html>
<head>
<title>Office 365 Api</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css"
integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
<link rel="stylesheet" href="{{ asset('/css/app.css') }}">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"
integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
@yield('head')
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<div class="container">
<a href="/" class="navbar-brand">Office 365 Api</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a href="/" class="nav-link {{$_SERVER['REQUEST_URI'] == '/' ? ' active' : ''}}">Home</a>
</li>
@if(isset($userName))
{{-- <li class="nav-item" data-turbolinks="false">--}}
{{-- <a href="/calendar" class="nav-link{{$_SERVER['REQUEST_URI'] == '/calendar' ? ' active' : ''}}">Calendar</a>--}}
{{-- </li>--}}
<li class="nav-item" data-turbolinks="false">
<a href="/users" class="nav-link{{$_SERVER['REQUEST_URI'] == '/users' ? ' active' : ''}}">Users</a>
</li>
<li class="nav-item" data-turbolinks="false">
<a href="/groups" class="nav-link{{$_SERVER['REQUEST_URI'] == '/groups' ? ' active' : ''}}">Groups</a>
</li>
@endif
</ul>
<ul class="navbar-nav justify-content-end">
<li class="nav-item">
<a class="nav-link" href="https://developer.microsoft.com/graph/docs/concepts/overview" target="_blank">
<i class="fas fa-external-link-alt mr-1"></i>Docs
</a>
</li>
@if(isset($userName))
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button"
aria-haspopup="true" aria-expanded="false">
@if(isset($user_avatar))
<img src="{{ $user_avatar }}" class="rounded-circle align-self-center mr-2" style="width: 32px;">
@else
<i class="far fa-user-circle fa-lg rounded-circle align-self-center mr-2" style="width: 32px;"></i>
@endif
</a>
<div class="dropdown-menu dropdown-menu-right">
<h5 class="dropdown-item-text mb-0">{{ $userName }}</h5>
<p class="dropdown-item-text text-muted mb-0">{{ $userEmail }}</p>
<div class="dropdown-divider"></div>
<a href="/signout" class="dropdown-item">Sign Out</a>
</div>
</li>
@else
<li class="nav-item">
<a href="/signin" class="nav-link">Sign In</a>
</li>
@endif
</ul>
</div>
</div>
</nav>
<main role="main" class="container">
@if(session('error'))
<div class="alert alert-danger" role="alert">
<p class="mb-3">{{ session('error') }}</p>
@if(session('errorDetail'))
<pre class="alert-pre border bg-light p-2"><code>{{ session('errorDetail') }}</code></pre>
@endif
</div>
@endif
@yield('content')
</main>
</body>
</html>
@extends('layout')
@section('content')
<h1>Users</h1>
<a href="/createuser">Create</a>
<table class="table">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Name</th>
<th scope="col">User Name</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@isset($users)
@foreach($users as $user)
<tr>
<td>{{ $user->getId() }}</td>
<td>{{ $user->getDisplayName() }}</td>
<td>{{ $user->getUserPrincipalName() }}</td>
@if($user->getId() !== '862e94ed-156b-47c0-854c-e4ddd7218152')
<td><a href="/deleteuser/{{ $user->getId() }}">Delete</a></td>
<td><a href="/assignlicense/{{ $user->getUserPrincipalName() }}">Assign License</a></td>
@else
<td>Delete</td>
<td>Assign License</td>
@endif
</tr>
@endforeach
@endif
</tbody>
</table>
@endsection
<!DOCTYPE html> @extends('layout')
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head> @section('content')
<meta charset="utf-8"> <div class="jumbotron">
<meta name="viewport" content="width=device-width, initial-scale=1"> <h1>Office 365 Api</h1>
{{-- <p class="lead">This sample app shows how to use the Microsoft Graph API to access Outlook and OneDrive data from PHP</p>--}}
<title>Laravel</title> @if(isset($userName))
<h4>Welcome {{ $userName }}!</h4>
<!-- Fonts --> <p>Use the navigation bar at the top of the page to get started.</p>
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else @else
<a href="{{ route('login') }}">Login</a> <a href="/signin" class="btn btn-primary btn-large">Click here to sign in</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif @endif
@endauth </div>
</div> @endsection
@endif
<div class="content">
<div class="title m-b-md">
Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">Docs</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://blog.laravel.com">Blog</a>
<a href="https://nova.laravel.com">Nova</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://vapor.laravel.com">Vapor</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
</div>
</body>
</html>
<?php <?php
/* Route::get('/', 'HomeController@welcome');
|-------------------------------------------------------------------------- Route::get('/signin', 'AuthController@signin');
| Web Routes Route::get('/callback', 'AuthController@callback');
|-------------------------------------------------------------------------- Route::get('/signout', 'AuthController@signout');
| Route::get('/calendar', 'CalendarController@calendar');
| Here is where you can register web routes for your application. These Route::get('/users', 'Office365ApiController@getAllOffice365Users');
| routes are loaded by the RouteServiceProvider within a group which Route::get('/groups', 'Office365ApiController@getAllOffice365Groups');
| contains the "web" middleware group. Now create something great! Route::get('/createuser', 'Office365ApiController@createNewOffice365User');
| Route::post('/storeuser', 'Office365ApiController@storeNewOffice365User')->name('store.new.office365.user');
*/ Route::get('/deleteuser/{id}', 'Office365ApiController@deleteOffice365User')->name('delete.office365.user');
Route::get('/assignlicense/{id}', 'Office365ApiController@assignOffice365LicenseToUser')->name('assignlicense.office365.user');
Route::get('/', function () {
return view('welcome');
});
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
namespace Tests\Feature; namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase; use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase class ExampleTest extends TestCase
{ {
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
namespace Tests\Unit; namespace Tests\Unit;
use PHPUnit\Framework\TestCase; use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase class ExampleTest extends TestCase
{ {
......
<?php
use Illuminate\Contracts\Console\Kernel;
require_once __DIR__.'/../vendor/autoload.php';
/*
|--------------------------------------------------------------------------
| Bootstrap The Test Environment
|--------------------------------------------------------------------------
|
| You may specify console commands that execute once before your test is
| run. You are free to add your own additional commands or logic into
| this file as needed in order to help your test suite run quicker.
|
*/
$commands = [
'config:cache',
'event:cache',
];
$app = require __DIR__.'/../bootstrap/app.php';
$console = tap($app->make(Kernel::class))->bootstrap();
foreach ($commands as $command) {
$console->call($command);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment