diff --git a/.gitignore b/.gitignore index 095342e0..3f19b048 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ public/* /storage/app/public public /storage/framework/laravel-excel +.vapor/ +.env.production +.env.staging diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..5e8b63c1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,18 @@ +image: dillonngo/docker-based-image:poc + +stages: + - build + +Build: + stage: build + services: + - docker:dind + script: + - docker info + # - npm install + # - gulp build + - composer install --no-dev + - vendor/bin/vapor deploy production --message="$CI_COMMIT_MESSAGE" + only: + - test + diff --git a/app/Classes/General/Eloquent/AbstractGetRecord.php b/app/Classes/General/Eloquent/AbstractGetRecord.php index f927d818..ea544953 100644 --- a/app/Classes/General/Eloquent/AbstractGetRecord.php +++ b/app/Classes/General/Eloquent/AbstractGetRecord.php @@ -30,11 +30,25 @@ abstract class AbstractGetRecord return $this->filters->only(self::DECORATION_FILTERS); } + // /** + // * @param null|string $json + // * @return array + // */ + // public function deserializeFilters(?string $json): array { + // return $json !== null ? collect(json_decode($json))->toArray() : []; + // } + /** - * @param null|string $json + * @param null|string $param * @return array */ - public function deserializeFilters(?string $json): array { + public function deserializeFilters($param): array { + if(gettype($param) == "array"){ + $json = implode(',', $param); + } + else{ + $json = $param; + } return $json !== null ? collect(json_decode($json))->toArray() : []; } @@ -67,4 +81,4 @@ abstract class AbstractGetRecord */ abstract function getResults(Builder $query); -} \ No newline at end of file +} diff --git a/composer.json b/composer.json index 349234b1..5fb197c8 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,9 @@ "staudenmeir/eloquent-has-many-deep": "^1.7", "timehunter/laravel-google-recaptcha-v3": "~2.5", "tymon/jwt-auth": "^1.0", - "webklex/laravel-pdfmerger": "^1.3" + "webklex/laravel-pdfmerger": "^1.3", + "laravel/vapor-cli": "^1.55", + "laravel/vapor-core": "^2.30" }, "require-dev": { "facade/ignition": "^2.3.6", diff --git a/production.Dockerfile b/production.Dockerfile new file mode 100644 index 00000000..53dee762 --- /dev/null +++ b/production.Dockerfile @@ -0,0 +1,3 @@ +FROM laravelphp/vapor:php74 + +COPY . /var/task diff --git a/resources/assets/images/—Pngtree—2019 chinese new year lantern_951828.jpg b/resources/assets/images/—Pngtree—2019 chinese new year lantern_951828.jpg deleted file mode 100644 index dd7ceda3..00000000 Binary files a/resources/assets/images/—Pngtree—2019 chinese new year lantern_951828.jpg and /dev/null differ diff --git a/resources/assets/vue/vuex/modules/crudRequest.js b/resources/assets/vue/vuex/modules/crudRequest.js index 67df100e..022d3526 100644 --- a/resources/assets/vue/vuex/modules/crudRequest.js +++ b/resources/assets/vue/vuex/modules/crudRequest.js @@ -2,7 +2,14 @@ export default { actions: { crudRequest({getters, dispatch}, {endpoint, method, parameters}){ return dispatch('ensureReCaptchaIsSet').then(function () { - return fetch(endpoint, { + const queryDomain = endpoint.split('?')[0]; + const queryParams = encodeURIComponent(endpoint.split('?')[1]); + let encodedParams = queryParams.toString(); + let filteredEncodedParams = encodedParams.replace(/%3D/g,'='); + filteredEncodedParams = filteredEncodedParams.replace(/%26/g,'&'); + console.log('filteredEncodedParams: ', filteredEncodedParams); + console.log('queryDomain: ', queryDomain); + return fetch(queryDomain + '?' + filteredEncodedParams, { method: method, responseType: 'json', body: parameters ? JSON.stringify(parameters):null, @@ -23,4 +30,4 @@ export default { }); } } -} \ No newline at end of file +} diff --git a/resources/views/pages/accounts/login.blade.php b/resources/views/pages/accounts/login.blade.php index 990eb4cc..a5633fe1 100644 --- a/resources/views/pages/accounts/login.blade.php +++ b/resources/views/pages/accounts/login.blade.php @@ -105,4 +105,4 @@ -@endsection \ No newline at end of file +@endsection diff --git a/staging.Dockerfile b/staging.Dockerfile new file mode 100644 index 00000000..53dee762 --- /dev/null +++ b/staging.Dockerfile @@ -0,0 +1,3 @@ +FROM laravelphp/vapor:php74 + +COPY . /var/task diff --git a/vapor.yml b/vapor.yml new file mode 100644 index 00000000..b3150f04 --- /dev/null +++ b/vapor.yml @@ -0,0 +1,18 @@ +id: 46771 +name: vapor-laravel-poc +separate-vendor: true +environments: + production: + memory: 1024 + cli-memory: 512 + database: vapor-laravel-poc-db + runtime: 'docker' + timeout: 600 + build: + - 'composer update' + - 'npm install' + - 'npm run dev' + - 'gulp build' + # - 'rm -rf node_modules' + deploy: + - 'php artisan migrate --force'