added FTP support to storage providers (#58)

* added FTP support to storage providers

* build and code style fix
This commit is contained in:
Saeed Vaziry
2023-09-24 12:50:01 +02:00
committed by GitHub
parent 2c81e324f6
commit 7d98986f52
23 changed files with 409 additions and 27 deletions

View File

@ -21,13 +21,15 @@ public function create(User $user, array $input): void
'user_id' => $user->id,
'provider' => $input['provider'],
'profile' => $input['name'],
'credentials' => [
'token' => $input['token'],
],
]);
$this->validateProvider($input, $storageProvider->provider()->validationRules());
$storageProvider->credentials = $storageProvider->provider()->credentialData($input);
if (! $storageProvider->provider()->connect()) {
throw ValidationException::withMessages([
'token' => __("Couldn't connect to the provider"),
'provider' => __("Couldn't connect to the provider"),
]);
}
$storageProvider->save();
@ -44,9 +46,11 @@ private function validate(User $user, array $input): void
'required',
Rule::unique('storage_providers', 'profile')->where('user_id', $user->id),
],
'token' => [
'required',
],
])->validate();
}
private function validateProvider(array $input, array $rules): void
{
Validator::make($input, $rules)->validate();
}
}