Compare commits

..

3 Commits

Author SHA1 Message Date
357ce8f7c3 test 2023-08-24 15:14:05 +02:00
e185e03c6e Add new build 2023-07-28 15:48:14 +02:00
2c688daf2a Fix installer when database not exists 2023-07-28 15:37:33 +02:00
13 changed files with 660 additions and 512 deletions

View File

@ -151,3 +151,58 @@ jobs:
- name: "Run PHPUnit" - name: "Run PHPUnit"
run: "php bin/simple-phpunit -v" run: "php bin/simple-phpunit -v"
phpunit_no_database:
name: "PHP ${{ matrix.php }} using ${{ matrix.database }} without DB created"
runs-on: "ubuntu-20.04"
services:
rabbitmq:
image: rabbitmq:3-alpine
ports:
- 5672:5672
redis:
image: redis:6-alpine
ports:
- 6379:6379
strategy:
fail-fast: true
matrix:
php:
- "8.2"
database:
- "mysql"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
with:
fetch-depth: 2
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php }}"
coverage: none
tools: pecl
extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
ini-values: "date.timezone=Europe/Paris"
- name: "Setup MySQL"
if: "${{ matrix.database == 'mysql' }}"
run: |
sudo systemctl start mysql.service
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v2"
with:
composer-options: "--optimize-autoloader --prefer-dist"
- name: "Install wallabag"
run: "php bin/console wallabag:install --env=test"
- name: "Prepare fixtures"
run: "make fixtures"
- name: "Run PHPUnit"
run: "php bin/simple-phpunit -v"

View File

@ -86,6 +86,7 @@
"kphoen/rulerz": "^0.21", "kphoen/rulerz": "^0.21",
"kphoen/rulerz-bundle": "~0.13", "kphoen/rulerz-bundle": "~0.13",
"laminas/laminas-code": "^4.7", "laminas/laminas-code": "^4.7",
"laminas/laminas-diactoros": "^2.3",
"lcobucci/jwt": "~4.1.5", "lcobucci/jwt": "~4.1.5",
"lexik/form-filter-bundle": "^7.0", "lexik/form-filter-bundle": "^7.0",
"mgargano/simplehtmldom": "~1.5", "mgargano/simplehtmldom": "~1.5",
@ -115,7 +116,7 @@
"scheb/2fa-qr-code": "^5.13", "scheb/2fa-qr-code": "^5.13",
"scheb/2fa-trusted-device": "^5.13", "scheb/2fa-trusted-device": "^5.13",
"sensio/framework-extra-bundle": "^6.2", "sensio/framework-extra-bundle": "^6.2",
"sentry/sentry-symfony": "4.10.0", "sentry/sentry-symfony": "4.9.2",
"stof/doctrine-extensions-bundle": "^1.2", "stof/doctrine-extensions-bundle": "^1.2",
"symfony/dom-crawler": "^4.0", "symfony/dom-crawler": "^4.0",
"symfony/mailer": "^4.0", "symfony/mailer": "^4.0",

172
composer.lock generated
View File

@ -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": "380ee6b102e29c7cbb589a66f15fc145", "content-hash": "1f7c20bf034c1595dacf792986d5d42a",
"packages": [ "packages": [
{ {
"name": "babdev/pagerfanta-bundle", "name": "babdev/pagerfanta-bundle",
@ -4959,22 +4959,22 @@
}, },
{ {
"name": "jms/serializer", "name": "jms/serializer",
"version": "3.27.0", "version": "3.26.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/schmittjoh/serializer.git", "url": "https://github.com/schmittjoh/serializer.git",
"reference": "e8c812460d7b47b15bc0ccd78901276bd44ad452" "reference": "926a7d57438fa1ff4ab794551c5ae26e68536853"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/e8c812460d7b47b15bc0ccd78901276bd44ad452", "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/926a7d57438fa1ff4ab794551c5ae26e68536853",
"reference": "e8c812460d7b47b15bc0ccd78901276bd44ad452", "reference": "926a7d57438fa1ff4ab794551c5ae26e68536853",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/annotations": "^1.13 || ^2.0", "doctrine/annotations": "^1.13 || ^2.0",
"doctrine/instantiator": "^1.0.3 || ^2.0", "doctrine/instantiator": "^1.0.3 || ^2.0",
"doctrine/lexer": "^2.0 || ^3.0", "doctrine/lexer": "^2",
"jms/metadata": "^2.6", "jms/metadata": "^2.6",
"php": "^7.2||^8.0", "php": "^7.2||^8.0",
"phpstan/phpdoc-parser": "^0.4 || ^0.5 || ^1.0" "phpstan/phpdoc-parser": "^0.4 || ^0.5 || ^1.0"
@ -5043,7 +5043,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/schmittjoh/serializer/issues", "issues": "https://github.com/schmittjoh/serializer/issues",
"source": "https://github.com/schmittjoh/serializer/tree/3.27.0" "source": "https://github.com/schmittjoh/serializer/tree/3.26.0"
}, },
"funding": [ "funding": [
{ {
@ -5051,7 +5051,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-07-29T22:33:44+00:00" "time": "2023-06-24T19:25:58+00:00"
}, },
{ {
"name": "jms/serializer-bundle", "name": "jms/serializer-bundle",
@ -5459,6 +5459,103 @@
], ],
"time": "2022-11-21T01:32:31+00:00" "time": "2022-11-21T01:32:31+00:00"
}, },
{
"name": "laminas/laminas-diactoros",
"version": "2.17.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-diactoros.git",
"reference": "5b32597aa46b83c8b85bb1cf9a6ed4fe7dd980c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/5b32597aa46b83c8b85bb1cf9a6ed4fe7dd980c5",
"reference": "5b32597aa46b83c8b85bb1cf9a6ed4fe7dd980c5",
"shasum": ""
},
"require": {
"php": "^7.4 || ~8.0.0 || ~8.1.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0"
},
"conflict": {
"zendframework/zend-diactoros": "*"
},
"provide": {
"psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
"ext-gd": "*",
"ext-libxml": "*",
"http-interop/http-factory-tests": "^0.9.0",
"laminas/laminas-coding-standard": "^2.4.0",
"php-http/psr7-integration-tests": "^1.1.1",
"phpunit/phpunit": "^9.5.23",
"psalm/plugin-phpunit": "^0.17.0",
"vimeo/psalm": "^4.24.0"
},
"type": "library",
"extra": {
"laminas": {
"config-provider": "Laminas\\Diactoros\\ConfigProvider",
"module": "Laminas\\Diactoros"
}
},
"autoload": {
"files": [
"src/functions/create_uploaded_file.php",
"src/functions/marshal_headers_from_sapi.php",
"src/functions/marshal_method_from_sapi.php",
"src/functions/marshal_protocol_version_from_sapi.php",
"src/functions/marshal_uri_from_sapi.php",
"src/functions/normalize_server.php",
"src/functions/normalize_uploaded_files.php",
"src/functions/parse_cookie_header.php",
"src/functions/create_uploaded_file.legacy.php",
"src/functions/marshal_headers_from_sapi.legacy.php",
"src/functions/marshal_method_from_sapi.legacy.php",
"src/functions/marshal_protocol_version_from_sapi.legacy.php",
"src/functions/marshal_uri_from_sapi.legacy.php",
"src/functions/normalize_server.legacy.php",
"src/functions/normalize_uploaded_files.legacy.php",
"src/functions/parse_cookie_header.legacy.php"
],
"psr-4": {
"Laminas\\Diactoros\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "PSR HTTP Message implementations",
"homepage": "https://laminas.dev",
"keywords": [
"http",
"laminas",
"psr",
"psr-17",
"psr-7"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-diactoros/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-diactoros/issues",
"rss": "https://github.com/laminas/laminas-diactoros/releases.atom",
"source": "https://github.com/laminas/laminas-diactoros"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2022-08-30T17:01:46+00:00"
},
{ {
"name": "lcobucci/clock", "name": "lcobucci/clock",
"version": "2.0.0", "version": "2.0.0",
@ -8786,16 +8883,16 @@
}, },
{ {
"name": "sentry/sentry", "name": "sentry/sentry",
"version": "3.21.0", "version": "3.19.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/getsentry/sentry-php.git", "url": "https://github.com/getsentry/sentry-php.git",
"reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f" "reference": "dd1057fb37d4484ebb2d1bc9b05fa5969c078436"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/624aafc22b84b089ffa43b71fb01e0096505ec4f", "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/dd1057fb37d4484ebb2d1bc9b05fa5969c078436",
"reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f", "reference": "dd1057fb37d4484ebb2d1bc9b05fa5969c078436",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8839,6 +8936,11 @@
"monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.13.x-dev"
}
},
"autoload": { "autoload": {
"files": [ "files": [
"src/functions.php" "src/functions.php"
@ -8870,7 +8972,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/getsentry/sentry-php/issues", "issues": "https://github.com/getsentry/sentry-php/issues",
"source": "https://github.com/getsentry/sentry-php/tree/3.21.0" "source": "https://github.com/getsentry/sentry-php/tree/3.19.1"
}, },
"funding": [ "funding": [
{ {
@ -8882,20 +8984,20 @@
"type": "custom" "type": "custom"
} }
], ],
"time": "2023-07-31T15:31:24+00:00" "time": "2023-05-25T06:19:09+00:00"
}, },
{ {
"name": "sentry/sentry-symfony", "name": "sentry/sentry-symfony",
"version": "4.10.0", "version": "4.9.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/getsentry/sentry-symfony.git", "url": "https://github.com/getsentry/sentry-symfony.git",
"reference": "be9d93e5aed6a76a98dc980ae9e6fb56a29083b1" "reference": "a4f7ffb30134ff2d12510fbeb2c74787375f0f17"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/be9d93e5aed6a76a98dc980ae9e6fb56a29083b1", "url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/a4f7ffb30134ff2d12510fbeb2c74787375f0f17",
"reference": "be9d93e5aed6a76a98dc980ae9e6fb56a29083b1", "reference": "a4f7ffb30134ff2d12510fbeb2c74787375f0f17",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8903,7 +9005,7 @@
"jean85/pretty-package-versions": "^1.5 || ^2.0", "jean85/pretty-package-versions": "^1.5 || ^2.0",
"php": "^7.2||^8.0", "php": "^7.2||^8.0",
"sentry/sdk": "^3.4", "sentry/sdk": "^3.4",
"sentry/sentry": "^3.20.1", "sentry/sentry": "^3.19",
"symfony/cache-contracts": "^1.1||^2.4||^3.0", "symfony/cache-contracts": "^1.1||^2.4||^3.0",
"symfony/config": "^4.4.20||^5.0.11||^6.0", "symfony/config": "^4.4.20||^5.0.11||^6.0",
"symfony/console": "^4.4.20||^5.0.11||^6.0", "symfony/console": "^4.4.20||^5.0.11||^6.0",
@ -8912,8 +9014,7 @@
"symfony/http-kernel": "^4.4.20||^5.0.11||^6.0", "symfony/http-kernel": "^4.4.20||^5.0.11||^6.0",
"symfony/polyfill-php80": "^1.22", "symfony/polyfill-php80": "^1.22",
"symfony/psr-http-message-bridge": "^1.2||^2.0", "symfony/psr-http-message-bridge": "^1.2||^2.0",
"symfony/security-core": "^4.4.20||^5.0.11||^6.0", "symfony/security-core": "^4.4.20||^5.0.11||^6.0"
"symfony/security-http": "^4.4.20||^5.0.11||^6.0"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.13||^3.0", "doctrine/dbal": "^2.13||^3.0",
@ -8950,6 +9051,7 @@
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.6.x-dev",
"releases/3.2.x": "3.2.x-dev", "releases/3.2.x": "3.2.x-dev",
"releases/2.x": "2.x-dev", "releases/2.x": "2.x-dev",
"releases/1.x": "1.x-dev" "releases/1.x": "1.x-dev"
@ -8987,7 +9089,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/getsentry/sentry-symfony/issues", "issues": "https://github.com/getsentry/sentry-symfony/issues",
"source": "https://github.com/getsentry/sentry-symfony/tree/4.10.0" "source": "https://github.com/getsentry/sentry-symfony/tree/4.9.2"
}, },
"funding": [ "funding": [
{ {
@ -8999,7 +9101,7 @@
"type": "custom" "type": "custom"
} }
], ],
"time": "2023-08-01T13:42:19+00:00" "time": "2023-06-19T12:02:46+00:00"
}, },
{ {
"name": "simplepie/simplepie", "name": "simplepie/simplepie",
@ -10429,16 +10531,16 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v5.4.26", "version": "v5.4.22",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "1181fe9270e373537475e826873b5867b863883c" "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c", "url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"reference": "1181fe9270e373537475e826873b5867b863883c", "reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -10495,7 +10597,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v5.4.26" "source": "https://github.com/symfony/string/tree/v5.4.22"
}, },
"funding": [ "funding": [
{ {
@ -10511,7 +10613,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-06-28T12:46:07+00:00" "time": "2023-03-14T06:11:53+00:00"
}, },
{ {
"name": "symfony/symfony", "name": "symfony/symfony",
@ -13285,16 +13387,16 @@
}, },
{ {
"name": "symfony/phpunit-bridge", "name": "symfony/phpunit-bridge",
"version": "v6.3.2", "version": "v6.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git", "url": "https://github.com/symfony/phpunit-bridge.git",
"reference": "e020e1efbd1b42cb670fcd7d19a25abbddba035d" "reference": "0b0bf59b0d9bd1422145a123a67fb12af546ef0d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e020e1efbd1b42cb670fcd7d19a25abbddba035d", "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/0b0bf59b0d9bd1422145a123a67fb12af546ef0d",
"reference": "e020e1efbd1b42cb670fcd7d19a25abbddba035d", "reference": "0b0bf59b0d9bd1422145a123a67fb12af546ef0d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13346,7 +13448,7 @@
"description": "Provides utilities for PHPUnit, especially user deprecation notices management", "description": "Provides utilities for PHPUnit, especially user deprecation notices management",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/phpunit-bridge/tree/v6.3.2" "source": "https://github.com/symfony/phpunit-bridge/tree/v6.3.1"
}, },
"funding": [ "funding": [
{ {
@ -13362,7 +13464,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-07-12T16:00:22+00:00" "time": "2023-06-23T13:25:16+00:00"
} }
], ],
"aliases": [], "aliases": [],

View File

@ -1,6 +1,6 @@
{ {
"name": "wallabag", "name": "wallabag",
"version": "2.6.0", "version": "2.5.0",
"description": "wallabag is a self hostable application for saving web pages", "description": "wallabag is a self hostable application for saving web pages",
"private": true, "private": true,
"directories": { "directories": {
@ -17,22 +17,17 @@
{ {
"name": "Nicolas Lœuillet", "name": "Nicolas Lœuillet",
"email": "nicolas@loeuillet.org", "email": "nicolas@loeuillet.org",
"homepage": "https://nicolas.loeuillet.org", "homepage": "http://www.cdetc.fr",
"role": "Developer" "role": "Developer"
}, },
{ {
"name": "Thomas Citharel", "name": "Thomas Citharel",
"homepage": "https://tcit.fr", "homepage": "http://tcit.fr",
"role": "Developer" "role": "Developer"
}, },
{ {
"name": "Jérémy Benoist", "name": "Jérémy Benoist",
"homepage": "https://www.j0k3r.net", "homepage": "http://www.j0k3r.net",
"role": "Developer"
},
{
"name": "Kevin Decherf",
"homepage": "https://kdecherf.com/",
"role": "Developer" "role": "Developer"
} }
], ],
@ -47,9 +42,9 @@
"autoprefixer": "^10.4.14", "autoprefixer": "^10.4.14",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"css-loader": "^6.8.1", "css-loader": "^6.8.1",
"eslint": "^8.46.0", "eslint": "^8.45.0",
"eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.28.0", "eslint-plugin-import": "^2.27.5",
"eslint-webpack-plugin": "^4.0.1", "eslint-webpack-plugin": "^4.0.1",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"lato-font": "^3.0.0", "lato-font": "^3.0.0",
@ -84,7 +79,7 @@
"jquery.cookie": "^1.4.1", "jquery.cookie": "^1.4.1",
"jr-qrcode": "^1.0.7", "jr-qrcode": "^1.0.7",
"material-design-icons-iconfont": "^6.7.0", "material-design-icons-iconfont": "^6.7.0",
"materialize-css": "^0.100.2", "materialize-css": "^0.98.1",
"mathjax": "^3.2.2", "mathjax": "^3.2.2",
"mousetrap": "^1.6.0", "mousetrap": "^1.6.0",
"ptsans-npm-webfont": "^0.0.4", "ptsans-npm-webfont": "^0.0.4",

View File

@ -99,9 +99,6 @@ class DeveloperController extends AbstractController
*/ */
public function howtoFirstAppAction() public function howtoFirstAppAction()
{ {
return $this->render('@WallabagCore/Developer/howto_app.html.twig', return $this->render('@WallabagCore/Developer/howto_app.html.twig');
[
'wallabag_url' => $this->getParameter('domain_name'),
]);
} }
} }

View File

@ -372,24 +372,25 @@ class InstallCommand extends Command
private function isDatabasePresent() private function isDatabasePresent()
{ {
$connection = $this->entityManager->getConnection(); $connection = $this->entityManager->getConnection();
$databaseName = $connection->getDatabase();
try { try {
$schemaManager = $connection->getSchemaManager(); $databaseName = $connection->getDatabase();
} catch (\Exception $exception) { } catch (\Exception $exception) {
// mysql & sqlite // mysql & sqlite
if (false !== strpos($exception->getMessage(), sprintf("Unknown database '%s'", $databaseName))) { if (false !== strpos($exception->getMessage(), 'Unknown database')) {
return false; return false;
} }
// pgsql // pgsql
if (false !== strpos($exception->getMessage(), sprintf('database "%s" does not exist', $databaseName))) { if (false !== strpos($exception->getMessage(), 'does not exist')) {
return false; return false;
} }
throw $exception; throw $exception;
} }
$schemaManager = $connection->getSchemaManager();
// custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite // custom verification for sqlite, since `getListDatabasesSQL` doesn't work for sqlite
if ('sqlite' === $schemaManager->getDatabasePlatform()->getName()) { if ('sqlite' === $schemaManager->getDatabasePlatform()->getName()) {
$params = $connection->getParams(); $params = $connection->getParams();

View File

@ -2,6 +2,11 @@
{% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %} {% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %}
{% block css %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism-dark.min.css') }}">
{% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col s12"> <div class="col s12">
@ -13,7 +18,7 @@
<p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p> <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p>
<p>{{ 'developer.howto.description.paragraph_4'|trans }}</p> <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p>
<p> <p>
<pre><code class="language-bash">http POST {{ wallabag_url }}/oauth/v2/token \ <pre><code class="language-bash">http POST https://app.wallabag.it/oauth/v2/token \
grant_type=password \ grant_type=password \
client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \ client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \ client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
@ -42,7 +47,7 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13
</p> </p>
<p>{{ 'developer.howto.description.paragraph_6'|trans }}</p> <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p>
<p> <p>
<pre><code class="language-bash">http GET {{ wallabag_url }}/api/entries.json \ <pre><code class="language-bash">http GET https://app.wallabag.it/api/entries.json \
"Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre> "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre>
</p> </p>
<p>{{ 'developer.howto.description.paragraph_7'|trans }}</p> <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p>
@ -53,4 +58,6 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13
</div> </div>
</div> </div>
</div> </div>
<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js') }}"></script>
<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/components/prism-bash.min.js') }}"></script>
{% endblock %} {% endblock %}

View File

@ -13,6 +13,7 @@ use OpenApi\Annotations as OA;
use Scheb\TwoFactorBundle\Model\BackupCodeInterface; use Scheb\TwoFactorBundle\Model\BackupCodeInterface;
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface as EmailTwoFactorInterface; use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface as EmailTwoFactorInterface;
use Scheb\TwoFactorBundle\Model\Google\TwoFactorInterface as GoogleTwoFactorInterface; use Scheb\TwoFactorBundle\Model\Google\TwoFactorInterface as GoogleTwoFactorInterface;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Wallabag\ApiBundle\Entity\Client; use Wallabag\ApiBundle\Entity\Client;
use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Config;
use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Entry;
@ -25,6 +26,9 @@ use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
* @ORM\Entity(repositoryClass="Wallabag\UserBundle\Repository\UserRepository") * @ORM\Entity(repositoryClass="Wallabag\UserBundle\Repository\UserRepository")
* @ORM\Table(name="`user`") * @ORM\Table(name="`user`")
* @ORM\HasLifecycleCallbacks() * @ORM\HasLifecycleCallbacks()
*
* @UniqueEntity("email")
* @UniqueEntity("username")
*/ */
class User extends BaseUser implements EmailTwoFactorInterface, GoogleTwoFactorInterface, BackupCodeInterface class User extends BaseUser implements EmailTwoFactorInterface, GoogleTwoFactorInterface, BackupCodeInterface
{ {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

878
yarn.lock

File diff suppressed because it is too large Load Diff