mirror of
https://github.com/elyby/accounts.git
synced 2024-12-02 11:41:05 +05:30
Merge branch 'master' into account_sessions
This commit is contained in:
commit
e18f6a08b0
@ -10,7 +10,7 @@ node_modules
|
|||||||
*/config/*-local.php
|
*/config/*-local.php
|
||||||
|
|
||||||
# Все временные файлы
|
# Все временные файлы
|
||||||
runtime
|
*/runtime
|
||||||
|
|
||||||
# Их по идее и не должно образовываться, но мало ли
|
# Их по идее их не должно образовываться, но мало ли
|
||||||
api/web/assets
|
*/web/assets
|
||||||
|
2
.env
Normal file
2
.env
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
XDEBUG_CONFIG=remote_host=192.168.99.1
|
||||||
|
PHP_IDE_CONFIG=serverName=docker
|
15
Dockerfile
15
Dockerfile
@ -33,14 +33,20 @@ RUN apt-get update \
|
|||||||
# Поставим xdebug отдельно, т.к. потом его потенциально придётся отсюда убирать
|
# Поставим xdebug отдельно, т.к. потом его потенциально придётся отсюда убирать
|
||||||
RUN yes | pecl install xdebug \
|
RUN yes | pecl install xdebug \
|
||||||
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
&& echo "xdebug.default_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
|
&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_mode=req" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.cli_color=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
|
||||||
|
&& echo "xdebug.var_display_max_depth=10" >> /usr/local/etc/php/conf.d/xdebug.ini
|
||||||
|
|
||||||
# Next composer and global composer package, as their versions may change from time to time
|
# Next composer and global composer package, as their versions may change from time to time
|
||||||
RUN curl -sS https://getcomposer.org/installer | php \
|
RUN curl -sS https://getcomposer.org/installer | php \
|
||||||
&& mv composer.phar /usr/local/bin/composer.phar \
|
&& mv composer.phar /usr/local/bin/composer.phar \
|
||||||
&& composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.1.4" \
|
&& composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.1.4" "hirak/prestissimo:~0.2.2"
|
||||||
&& composer.phar global require --no-progress "hirak/prestissimo:~0.2.2"
|
|
||||||
|
|
||||||
COPY ./docker/php/composer.sh /usr/local/bin/composer
|
COPY ./docker/php/composer.sh /usr/local/bin/composer
|
||||||
RUN chmod a+x /usr/local/bin/composer
|
RUN chmod a+x /usr/local/bin/composer
|
||||||
@ -60,5 +66,4 @@ RUN mkdir -p api/runtime api/web/assets console/runtime \
|
|||||||
&& chown www-data:www-data api/runtime api/web/assets console/runtime
|
&& chown www-data:www-data api/runtime api/web/assets console/runtime
|
||||||
|
|
||||||
# Expose everything under /var/www (vendor + html)
|
# Expose everything under /var/www (vendor + html)
|
||||||
# This is only required for the nginx setup
|
|
||||||
VOLUME ["/var/www"]
|
VOLUME ["/var/www"]
|
||||||
|
@ -11,6 +11,7 @@ return [
|
|||||||
'basePath' => dirname(__DIR__),
|
'basePath' => dirname(__DIR__),
|
||||||
'bootstrap' => ['log'],
|
'bootstrap' => ['log'],
|
||||||
'controllerNamespace' => 'api\controllers',
|
'controllerNamespace' => 'api\controllers',
|
||||||
|
'params' => $params,
|
||||||
'components' => [
|
'components' => [
|
||||||
'user' => [
|
'user' => [
|
||||||
'class' => \api\components\User\Component::class,
|
'class' => \api\components\User\Component::class,
|
||||||
@ -28,9 +29,6 @@ return [
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'errorHandler' => [
|
|
||||||
'errorAction' => 'site/error',
|
|
||||||
],
|
|
||||||
'request' => [
|
'request' => [
|
||||||
'baseUrl' => '/api',
|
'baseUrl' => '/api',
|
||||||
],
|
],
|
||||||
@ -40,7 +38,7 @@ return [
|
|||||||
'rules' => require __DIR__ . '/routes.php',
|
'rules' => require __DIR__ . '/routes.php',
|
||||||
],
|
],
|
||||||
'reCaptcha' => [
|
'reCaptcha' => [
|
||||||
'class' => 'api\components\ReCaptcha\Component',
|
'class' => \api\components\ReCaptcha\Component::class,
|
||||||
],
|
],
|
||||||
'response' => [
|
'response' => [
|
||||||
'format' => \yii\web\Response::FORMAT_JSON,
|
'format' => \yii\web\Response::FORMAT_JSON,
|
||||||
@ -50,5 +48,4 @@ return [
|
|||||||
'grantTypes' => ['authorization_code'],
|
'grantTypes' => ['authorization_code'],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'params' => $params,
|
|
||||||
];
|
];
|
||||||
|
@ -1,190 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace api\controllers;
|
|
||||||
|
|
||||||
use api\models\ContactForm;
|
|
||||||
use api\models\PasswordResetRequestForm;
|
|
||||||
use api\models\ResetPasswordForm;
|
|
||||||
use api\models\SignupForm;
|
|
||||||
use Yii;
|
|
||||||
use yii\base\InvalidParamException;
|
|
||||||
use yii\filters\AccessControl;
|
|
||||||
use yii\filters\VerbFilter;
|
|
||||||
use yii\web\BadRequestHttpException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Site controller
|
|
||||||
*/
|
|
||||||
class SiteController extends \yii\web\Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @inheritdoc
|
|
||||||
*/
|
|
||||||
public function behaviors()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'access' => [
|
|
||||||
'class' => AccessControl::className(),
|
|
||||||
'only' => ['logout', 'signup'],
|
|
||||||
'rules' => [
|
|
||||||
[
|
|
||||||
'actions' => ['signup'],
|
|
||||||
'allow' => true,
|
|
||||||
'roles' => ['?'],
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'actions' => ['logout'],
|
|
||||||
'allow' => true,
|
|
||||||
'roles' => ['@'],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'verbs' => [
|
|
||||||
'class' => VerbFilter::className(),
|
|
||||||
'actions' => [
|
|
||||||
'logout' => ['post'],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @inheritdoc
|
|
||||||
*/
|
|
||||||
public function actions()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'error' => [
|
|
||||||
'class' => 'yii\web\ErrorAction',
|
|
||||||
],
|
|
||||||
'captcha' => [
|
|
||||||
'class' => 'yii\captcha\CaptchaAction',
|
|
||||||
'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Displays homepage.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionIndex()
|
|
||||||
{
|
|
||||||
return $this->render('index');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Logs out the current user.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionLogout()
|
|
||||||
{
|
|
||||||
Yii::$app->user->logout();
|
|
||||||
|
|
||||||
return $this->goHome();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Displays contact page.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionContact()
|
|
||||||
{
|
|
||||||
$model = new ContactForm();
|
|
||||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
|
|
||||||
if ($model->sendEmail(Yii::$app->params['adminEmail'])) {
|
|
||||||
Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.');
|
|
||||||
} else {
|
|
||||||
Yii::$app->session->setFlash('error', 'There was an error sending email.');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->refresh();
|
|
||||||
} else {
|
|
||||||
return $this->render('contact', [
|
|
||||||
'model' => $model,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Displays about page.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionAbout()
|
|
||||||
{
|
|
||||||
return $this->render('about');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Signs user up.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionSignup()
|
|
||||||
{
|
|
||||||
$model = new SignupForm();
|
|
||||||
if ($model->load(Yii::$app->request->post())) {
|
|
||||||
if ($user = $model->signup()) {
|
|
||||||
if (Yii::$app->getUser()->login($user)) {
|
|
||||||
return $this->goHome();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->render('signup', [
|
|
||||||
'model' => $model,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Requests password reset.
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function actionRequestPasswordReset()
|
|
||||||
{
|
|
||||||
$model = new PasswordResetRequestForm();
|
|
||||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
|
|
||||||
if ($model->sendEmail()) {
|
|
||||||
Yii::$app->session->setFlash('success', 'Check your email for further instructions.');
|
|
||||||
|
|
||||||
return $this->goHome();
|
|
||||||
} else {
|
|
||||||
Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for email provided.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->render('requestPasswordResetToken', [
|
|
||||||
'model' => $model,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets password.
|
|
||||||
*
|
|
||||||
* @param string $token
|
|
||||||
* @return mixed
|
|
||||||
* @throws BadRequestHttpException
|
|
||||||
*/
|
|
||||||
public function actionResetPassword($token)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
$model = new ResetPasswordForm($token);
|
|
||||||
} catch (InvalidParamException $e) {
|
|
||||||
throw new BadRequestHttpException($e->getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) {
|
|
||||||
Yii::$app->session->setFlash('success', 'New password was saved.');
|
|
||||||
|
|
||||||
return $this->goHome();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->render('resetPassword', [
|
|
||||||
'model' => $model,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +1,18 @@
|
|||||||
version: '2'
|
version: '2'
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
|
build: .
|
||||||
|
expose:
|
||||||
|
- "9000"
|
||||||
links:
|
links:
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
depends_on:
|
depends_on:
|
||||||
- app-console-account-queue
|
- app-console-account-queue
|
||||||
|
volumes:
|
||||||
|
- ./:/var/www/html/
|
||||||
|
env_file: .env
|
||||||
environment:
|
environment:
|
||||||
ENABLE_ENV_FILE: 1
|
ENABLE_ENV_FILE: 1
|
||||||
ENABLE_LOCALCONF: 1
|
ENABLE_LOCALCONF: 1
|
||||||
@ -21,16 +26,6 @@ services:
|
|||||||
volumes_from:
|
volumes_from:
|
||||||
- app
|
- app
|
||||||
|
|
||||||
app:
|
|
||||||
build: .
|
|
||||||
expose:
|
|
||||||
- "9000"
|
|
||||||
volumes:
|
|
||||||
- ./:/var/www/html/
|
|
||||||
environment:
|
|
||||||
ENABLE_ENV_FILE: 1
|
|
||||||
ENABLE_LOCALCONF: 1
|
|
||||||
|
|
||||||
node-dev-server:
|
node-dev-server:
|
||||||
build: ./frontend
|
build: ./frontend
|
||||||
ports:
|
ports:
|
||||||
|
@ -16,14 +16,10 @@ http {
|
|||||||
'$status $body_bytes_sent "$http_referer" '
|
'$status $body_bytes_sent "$http_referer" '
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log main;
|
access_log /var/log/nginx/access.log main;
|
||||||
|
|
||||||
sendfile on;
|
sendfile on;
|
||||||
#tcp_nopush on;
|
keepalive_timeout 10;
|
||||||
|
|
||||||
keepalive_timeout 65;
|
|
||||||
|
|
||||||
#gzip on;
|
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@ -43,13 +39,14 @@ http {
|
|||||||
}
|
}
|
||||||
|
|
||||||
location /api {
|
location /api {
|
||||||
try_files $uri /api/web/index.php?$args;
|
try_files $uri /api/web/index.php?$args;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~* \.php$ {
|
location ~* \.php$ {
|
||||||
fastcgi_pass app:9000;
|
fastcgi_pass app:9000;
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
fastcgi_param SERVER_NAME $host;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Раздача статики для frontend
|
# Раздача статики для frontend
|
||||||
@ -58,10 +55,6 @@ http {
|
|||||||
expires max;
|
expires max;
|
||||||
access_log off;
|
access_log off;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~* \.(htaccess|htpasswd|svn|git) {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
2
environments/docker/.env
Normal file
2
environments/docker/.env
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
XDEBUG_CONFIG=remote_host=192.168.99.1
|
||||||
|
PHP_IDE_CONFIG=serverName=docker
|
Loading…
Reference in New Issue
Block a user