wip
This commit is contained in:
@@ -14,7 +14,7 @@ class ServiceController extends Controller
|
||||
return inertia('Admin/Services/Index', [
|
||||
'servers' => Server::withCount('sites')->latest()->paginate(5, ['*'], 'servers_per_page'),
|
||||
'sites' => Site::with('server:id,name')->latest()->paginate(5, ['*'], 'sites_per_page'),
|
||||
'providers' => Provider::latest()->paginate(5, ['*'], 'providers_per_page'),
|
||||
'providers' => Provider::query()->withCount('regions', 'plans')->latest()->paginate(5, ['*'], 'providers_per_page'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,33 +28,31 @@ class SynchronizeProviderController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function synchronize()
|
||||
public function synchronize(Request $request, $providerId)
|
||||
{
|
||||
$providers = (new Ploi)->user()->serverProviders()->getData();
|
||||
$ploiProvider = (new Ploi)->user()->serverProviders($providerId)->getData();
|
||||
|
||||
foreach ($providers as $ploiProvider) {
|
||||
$provider = Provider::updateOrCreate([
|
||||
'ploi_id' => $ploiProvider->id,
|
||||
$provider = Provider::updateOrCreate([
|
||||
'ploi_id' => $ploiProvider->id,
|
||||
], [
|
||||
'label' => $ploiProvider->label,
|
||||
'name' => $ploiProvider->name
|
||||
]);
|
||||
|
||||
foreach ($ploiProvider->provider->plans as $plan) {
|
||||
$provider->plans()->updateOrCreate([
|
||||
'plan_id' => $plan->id
|
||||
], [
|
||||
'label' => $ploiProvider->label,
|
||||
'name' => $ploiProvider->name
|
||||
'label' => $plan->name,
|
||||
]);
|
||||
}
|
||||
|
||||
foreach ($ploiProvider->provider->plans as $plan) {
|
||||
$provider->plans()->updateOrCreate([
|
||||
'plan_id' => $plan->id
|
||||
], [
|
||||
'label' => $plan->name,
|
||||
]);
|
||||
}
|
||||
|
||||
foreach ($ploiProvider->provider->regions as $region) {
|
||||
$provider->regions()->updateOrCreate([
|
||||
'region_id' => $region->id
|
||||
], [
|
||||
'label' => $region->name,
|
||||
]);
|
||||
}
|
||||
foreach ($ploiProvider->provider->regions as $region) {
|
||||
$provider->regions()->updateOrCreate([
|
||||
'region_id' => $region->id
|
||||
], [
|
||||
'label' => $region->name,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,14 @@ class User extends Resource
|
||||
return $this->getPloi()->makeAPICall($this->getEndpoint());
|
||||
}
|
||||
|
||||
public function serverProviders()
|
||||
public function serverProviders($id = null)
|
||||
{
|
||||
return $this->getPloi()->makeAPICall($this->getEndpoint() . '/server-providers');
|
||||
$url = $this->getEndpoint() . '/server-providers';
|
||||
|
||||
if ($id) {
|
||||
$url .= '/' . $id;
|
||||
}
|
||||
|
||||
return $this->getPloi()->makeAPICall($url);
|
||||
}
|
||||
}
|
||||
|
||||
58
composer.lock
generated
58
composer.lock
generated
@@ -1137,16 +1137,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/cashier",
|
||||
"version": "v12.4.0",
|
||||
"version": "v12.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/cashier-stripe.git",
|
||||
"reference": "1f5cf6b0068e6edf1d14689b1cd8fdf0b3025102"
|
||||
"reference": "4775da2ddb76c8e04020bb2445930689f2e4ce70"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/cashier-stripe/zipball/1f5cf6b0068e6edf1d14689b1cd8fdf0b3025102",
|
||||
"reference": "1f5cf6b0068e6edf1d14689b1cd8fdf0b3025102",
|
||||
"url": "https://api.github.com/repos/laravel/cashier-stripe/zipball/4775da2ddb76c8e04020bb2445930689f2e4ce70",
|
||||
"reference": "4775da2ddb76c8e04020bb2445930689f2e4ce70",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1207,20 +1207,20 @@
|
||||
"laravel",
|
||||
"stripe"
|
||||
],
|
||||
"time": "2020-09-29T17:15:30+00:00"
|
||||
"time": "2020-10-06T15:16:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v8.8.0",
|
||||
"version": "v8.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "0bdd5c6f12cb7cb6644e484169656245af417735"
|
||||
"reference": "8a6bf870bcfa1597e514a9c7ee6df44db98abb54"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/0bdd5c6f12cb7cb6644e484169656245af417735",
|
||||
"reference": "0bdd5c6f12cb7cb6644e484169656245af417735",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/8a6bf870bcfa1597e514a9c7ee6df44db98abb54",
|
||||
"reference": "8a6bf870bcfa1597e514a9c7ee6df44db98abb54",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1370,20 +1370,20 @@
|
||||
"framework",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2020-10-02T14:33:08+00:00"
|
||||
"time": "2020-10-06T14:22:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"version": "v5.2.0",
|
||||
"version": "v5.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/horizon.git",
|
||||
"reference": "839bf8b142585f7be142090d4d05c341a4595fae"
|
||||
"reference": "8fbe70580d653e0f5c33ed9b151f6eebc16dfbf2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/839bf8b142585f7be142090d4d05c341a4595fae",
|
||||
"reference": "839bf8b142585f7be142090d4d05c341a4595fae",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/8fbe70580d653e0f5c33ed9b151f6eebc16dfbf2",
|
||||
"reference": "8fbe70580d653e0f5c33ed9b151f6eebc16dfbf2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1443,7 +1443,7 @@
|
||||
"laravel",
|
||||
"queue"
|
||||
],
|
||||
"time": "2020-09-29T17:39:48+00:00"
|
||||
"time": "2020-10-06T15:44:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
@@ -2037,16 +2037,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.40.1",
|
||||
"version": "2.41.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "d9a76d8b7eb0f97cf3a82529393245212f40ba3b"
|
||||
"reference": "8690b13ad4da6d54d692afea15aab30b36fee52e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d9a76d8b7eb0f97cf3a82529393245212f40ba3b",
|
||||
"reference": "d9a76d8b7eb0f97cf3a82529393245212f40ba3b",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8690b13ad4da6d54d692afea15aab30b36fee52e",
|
||||
"reference": "8690b13ad4da6d54d692afea15aab30b36fee52e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2122,7 +2122,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-09-23T08:17:37+00:00"
|
||||
"time": "2020-10-04T09:11:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
@@ -3341,12 +3341,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "04c3a31fe8ea94b42c9e2d1acc93d19782133b00"
|
||||
"reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/04c3a31fe8ea94b42c9e2d1acc93d19782133b00",
|
||||
"reference": "04c3a31fe8ea94b42c9e2d1acc93d19782133b00",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
|
||||
"reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5554,16 +5554,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
"version": "v2.2.0",
|
||||
"version": "v2.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation-contracts.git",
|
||||
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d"
|
||||
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/77ce1c3627c9f39643acd9af086631f842c50c4d",
|
||||
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
|
||||
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5575,7 +5575,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.2-dev"
|
||||
"dev-master": "2.3-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
@@ -5625,7 +5625,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-09-07T11:33:47+00:00"
|
||||
"time": "2020-09-28T13:05:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
|
||||
42
public/js/28.js
vendored
42
public/js/28.js
vendored
@@ -154,6 +154,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
|
||||
@@ -829,6 +831,22 @@ var render = function() {
|
||||
_vm._v(
|
||||
_vm._s(_vm.__("Name"))
|
||||
)
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("TableHeader", [
|
||||
_vm._v(
|
||||
_vm._s(
|
||||
_vm.__("Regions")
|
||||
)
|
||||
)
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("TableHeader", [
|
||||
_vm._v(
|
||||
_vm._s(
|
||||
_vm.__("Plans")
|
||||
)
|
||||
)
|
||||
])
|
||||
],
|
||||
1
|
||||
@@ -848,11 +866,25 @@ var render = function() {
|
||||
[
|
||||
_c("TableData", [
|
||||
_vm._v(
|
||||
"\n " +
|
||||
_vm._s(
|
||||
provider.name
|
||||
) +
|
||||
"\n "
|
||||
_vm._s(
|
||||
provider.name
|
||||
)
|
||||
)
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("TableData", [
|
||||
_vm._v(
|
||||
_vm._s(
|
||||
provider.regions_count
|
||||
)
|
||||
)
|
||||
]),
|
||||
_vm._v(" "),
|
||||
_c("TableData", [
|
||||
_vm._v(
|
||||
_vm._s(
|
||||
provider.plans_count
|
||||
)
|
||||
)
|
||||
])
|
||||
],
|
||||
|
||||
6
public/js/29.js
vendored
6
public/js/29.js
vendored
@@ -146,11 +146,11 @@ __webpack_require__.r(__webpack_exports__);
|
||||
methods: {
|
||||
useNotification: _hooks_notification__WEBPACK_IMPORTED_MODULE_16__["useNotification"],
|
||||
syncProvider: function syncProvider(provider) {
|
||||
window.axios.post(this.route('admin.services.providers.sync').url(), provider).then(function () {
|
||||
window.axios.post(this.route('admin.services.providers.sync', provider.id).url()).then(function () {
|
||||
Object(_hooks_notification__WEBPACK_IMPORTED_MODULE_16__["useNotification"])({
|
||||
variant: 'success',
|
||||
title: "Servers",
|
||||
message: "Server ".concat(provider.name, " has been synchronized to this system")
|
||||
title: "Providers",
|
||||
message: "Provider has been synchronized to this system"
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
2
public/js/app.js
vendored
2
public/js/app.js
vendored
@@ -43,7 +43,7 @@
|
||||
/******/
|
||||
/******/ // script path function
|
||||
/******/ function jsonpScriptSrc(chunkId) {
|
||||
/******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js?id=" + {"0":"0dcde053981f92959e59","1":"40f269324eb90e7c5005","2":"d2a49802291d427ca7c8","3":"a0f4c2f49863abbfe7f1","4":"b45cf4f45862750fc0ec","5":"fbfbcf45610d060d921e","6":"73fc0264b5cc06f5bd55","7":"140acb8c38018bb7c822","8":"59e78c3d75a8476bd5c9","9":"0e2b6a5949f3c9112538","10":"e12d43ebc44608e90444","11":"600b259f81e5153b767c","12":"d034cfb412691b7d0e84","13":"e620d0cc7f75645634e5","14":"7786a4d7d85cd912d1bb","15":"fde17a1d596d6578fe61","16":"ec73f93b8d2c978c776b","17":"cf8ec68b59d72505ca3a","18":"eb279f54aaced41cea0d","19":"7dd7a559b3a7db219af9","20":"56c907d75bd74a171a1e","21":"293d9274645861582e83","22":"f86cd3fbd99cae6840a1","23":"69b50c09720c1e425846","24":"6528b4d30e41a6fa0079","25":"c087891e0174c14e6712","26":"2448e94386f76b71cbc5","27":"f64fcf99c66c3ded843a","28":"4a1f6857a38fbe3f583e","29":"3e8de8374ad62ab4b426","30":"8f6b75b1056f77edd7d8","31":"1acf411869a8e096f3f8","32":"30a83cf6d55f048c730b","33":"2d14ca2a6406d307547e","34":"bc0885eef410fbade8fc","35":"e56896a66f867409262b","36":"09ec9d54b8c4acc2c226","37":"75f1b85b9b852e1040f3","38":"90b4d3aa5d92b0e25cb9","39":"d24ee3149eb5f3aa7cfe","40":"78ba68bbf8b3a90c972f","41":"9ea0b8b2d032dc6bba68","42":"daa45de5ab60b7a5ee95","43":"b9aad17d672794fa0ab4","44":"e61a0dab1a168ac685a1","45":"ddb8f7119d99df8d9155","46":"6b716f015210cc25636b","47":"5b6de6cb797c8e70617e","48":"d56b2d68a49228bdf461","49":"c372a063b5ce07504818","50":"10c0b02937ccbb8cf8c2","51":"33e30a051063406a0533","52":"a1901fac2f6d201e6e54","53":"1d320894a69d142318f5","54":"313566e43338ac4d2a63","55":"f3153a9934d4a989fe58","56":"d4e65c5c372d943f7717","57":"e7b7cf89af06fefa4ac6","58":"057bd42c6b735e1adeac","59":"ec4d9d96c5a8c71fed66","60":"80eb3d9df423b601b999","61":"2aaabbb8b5b914f75ab9","62":"005c58450168150eb83e","63":"3aae56858268d64ce6e2","64":"c20b2f73f04cb0886ad3","65":"b63d846341c512b126cd","66":"0e0831135bb035904b97","67":"6def5a8417ea9beb03b3","68":"2cda38c0f15691b0555c","69":"e53226a85f426649d17b","70":"3704a8d7d930c7f967a1","71":"9aac3e5b650105816487","72":"6f27e9aa510a5d3f9787","73":"9d429cf3c5f7c2e5a1f6","74":"8afce2fa290e12dfcc70"}[chunkId] + ""
|
||||
/******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js?id=" + {"0":"0dcde053981f92959e59","1":"40f269324eb90e7c5005","2":"d2a49802291d427ca7c8","3":"a0f4c2f49863abbfe7f1","4":"b45cf4f45862750fc0ec","5":"fbfbcf45610d060d921e","6":"73fc0264b5cc06f5bd55","7":"140acb8c38018bb7c822","8":"59e78c3d75a8476bd5c9","9":"0e2b6a5949f3c9112538","10":"e12d43ebc44608e90444","11":"600b259f81e5153b767c","12":"d034cfb412691b7d0e84","13":"e620d0cc7f75645634e5","14":"7786a4d7d85cd912d1bb","15":"fde17a1d596d6578fe61","16":"ec73f93b8d2c978c776b","17":"cf8ec68b59d72505ca3a","18":"eb279f54aaced41cea0d","19":"7dd7a559b3a7db219af9","20":"56c907d75bd74a171a1e","21":"293d9274645861582e83","22":"f86cd3fbd99cae6840a1","23":"69b50c09720c1e425846","24":"6528b4d30e41a6fa0079","25":"c087891e0174c14e6712","26":"2448e94386f76b71cbc5","27":"f64fcf99c66c3ded843a","28":"40f294172e10b8c06c29","29":"0cc4daf6469c1a75ab08","30":"8f6b75b1056f77edd7d8","31":"1acf411869a8e096f3f8","32":"30a83cf6d55f048c730b","33":"2d14ca2a6406d307547e","34":"bc0885eef410fbade8fc","35":"e56896a66f867409262b","36":"09ec9d54b8c4acc2c226","37":"75f1b85b9b852e1040f3","38":"90b4d3aa5d92b0e25cb9","39":"d24ee3149eb5f3aa7cfe","40":"78ba68bbf8b3a90c972f","41":"9ea0b8b2d032dc6bba68","42":"daa45de5ab60b7a5ee95","43":"b9aad17d672794fa0ab4","44":"e61a0dab1a168ac685a1","45":"ddb8f7119d99df8d9155","46":"6b716f015210cc25636b","47":"5b6de6cb797c8e70617e","48":"d56b2d68a49228bdf461","49":"c372a063b5ce07504818","50":"10c0b02937ccbb8cf8c2","51":"33e30a051063406a0533","52":"a1901fac2f6d201e6e54","53":"1d320894a69d142318f5","54":"313566e43338ac4d2a63","55":"f3153a9934d4a989fe58","56":"d4e65c5c372d943f7717","57":"e7b7cf89af06fefa4ac6","58":"057bd42c6b735e1adeac","59":"ec4d9d96c5a8c71fed66","60":"80eb3d9df423b601b999","61":"2aaabbb8b5b914f75ab9","62":"005c58450168150eb83e","63":"3aae56858268d64ce6e2","64":"c20b2f73f04cb0886ad3","65":"b63d846341c512b126cd","66":"0e0831135bb035904b97","67":"6def5a8417ea9beb03b3","68":"2cda38c0f15691b0555c","69":"e53226a85f426649d17b","70":"3704a8d7d930c7f967a1","71":"9aac3e5b650105816487","72":"6f27e9aa510a5d3f9787","73":"9d429cf3c5f7c2e5a1f6","74":"8afce2fa290e12dfcc70"}[chunkId] + ""
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The require function
|
||||
|
||||
2
public/vendor/horizon/app.js
vendored
2
public/vendor/horizon/app.js
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/horizon/mix-manifest.json
vendored
2
public/vendor/horizon/mix-manifest.json
vendored
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"/app.js": "/app.js?id=3440877abe55084a2931",
|
||||
"/app.js": "/app.js?id=b11bd1f0cc14854a97de",
|
||||
"/app.css": "/app.css?id=9ce01eaaba790566b895",
|
||||
"/app-dark.css": "/app-dark.css?id=821c845f9bf3b7853c33"
|
||||
}
|
||||
|
||||
@@ -96,13 +96,15 @@
|
||||
<TableHead>
|
||||
<TableRow>
|
||||
<TableHeader>{{ __('Name') }}</TableHeader>
|
||||
<TableHeader>{{ __('Regions') }}</TableHeader>
|
||||
<TableHeader>{{ __('Plans') }}</TableHeader>
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
<TableRow v-for="provider in providers.data" :key="provider.id">
|
||||
<TableData>
|
||||
{{ provider.name }}
|
||||
</TableData>
|
||||
<TableData>{{ provider.name }}</TableData>
|
||||
<TableData>{{ provider.regions_count }}</TableData>
|
||||
<TableData>{{ provider.plans_count }}</TableData>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
|
||||
@@ -118,12 +118,12 @@
|
||||
useNotification,
|
||||
|
||||
syncProvider (provider){
|
||||
window.axios.post(this.route('admin.services.providers.sync').url(), provider)
|
||||
window.axios.post(this.route('admin.services.providers.sync', provider.id).url())
|
||||
.then(() => {
|
||||
useNotification({
|
||||
variant: 'success',
|
||||
title: `Servers`,
|
||||
message: `Server ${provider.name} has been synchronized to this system`
|
||||
title: `Providers`,
|
||||
message: `Provider has been synchronized to this system`
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ Route::group(['prefix' => 'services', 'as' => 'services.'], function () {
|
||||
// Provider syncing
|
||||
Route::group(['prefix' => 'providers', 'as' => 'providers.'], function () {
|
||||
Route::get('/', 'SynchronizeProviderController@index')->name('index');
|
||||
Route::post('/', 'SynchronizeProviderController@synchronizeServer')->name('sync');
|
||||
Route::post('{provider}', 'SynchronizeProviderController@synchronize')->name('sync');
|
||||
});
|
||||
|
||||
// Site syncing
|
||||
|
||||
Reference in New Issue
Block a user