Docker compose setup (#513)
* fix password reset bug * self hosted mode middleware changes on pages * fix lint * wip: self hosted changes * wip: self hosted frontend changes * wip self hosted mode changes * typo correction * remove commented logic * fix env variable names * fix lint issues * fix minor updates * #445 Switched from single monolithic docker image to a docker-compose orchestrated network of services * Automatically configures shared secret * Working through some issues * Use local file storage * Moved the dockerfiles * Fixed some issues when building from clean * Corrected workflow * Hopefully schedules everything correctly now * Prep storage for worker process as well * .env files are required * Pinned dependency versions * Disable self hosted in the client as well * Removed double defaulting logic * Using regexs is more succinct * Added FRONT_URL environment variable * Merge 236e4-self-hosted-mode-changes * Improve inital user setup * Finalized the new docker-compose setup * Fix back-end formatting issues --------- Co-authored-by: Frank <csskfaves@gmail.com> Co-authored-by: Don Benjamin <don@webhammer.co.uk>
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Workspace;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class ProfileController extends Controller
|
||||
{
|
||||
@@ -18,7 +20,7 @@ class ProfileController extends Controller
|
||||
|
||||
$this->validate($request, [
|
||||
'name' => 'required',
|
||||
'email' => 'required|email|unique:users,email,'.$user->id,
|
||||
'email' => 'required|email|unique:users,email,' . $user->id,
|
||||
]);
|
||||
|
||||
return tap($user)->update([
|
||||
@@ -26,4 +28,43 @@ class ProfileController extends Controller
|
||||
'email' => strtolower($request->email),
|
||||
]);
|
||||
}
|
||||
|
||||
// For self-hosted mode, only admin can update their credentials
|
||||
public function updateAdminCredentials(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'email' => 'required|email|not_in:admin@opnform.com',
|
||||
'password' => 'required|min:6|confirmed|not_in:password',
|
||||
], [
|
||||
'email.not_in' => "Please provide email address other than 'admin@opnform.com'",
|
||||
'password.not_in' => "Please another password other than 'password'."
|
||||
]);
|
||||
|
||||
ray('in', $request->password);
|
||||
$user = $request->user();
|
||||
$user->update([
|
||||
'email' => $request->email,
|
||||
'password' => bcrypt($request->password),
|
||||
]);
|
||||
ray($user);
|
||||
|
||||
Cache::forget('initial_user_setup_complete');
|
||||
Cache::forget('max_user_id');
|
||||
|
||||
$workspace = Workspace::create([
|
||||
'name' => 'My Workspace',
|
||||
'icon' => '🧪',
|
||||
]);
|
||||
|
||||
$user->workspaces()->sync([
|
||||
$workspace->id => [
|
||||
'role' => 'admin',
|
||||
],
|
||||
], false);
|
||||
|
||||
return $this->success([
|
||||
'message' => 'Congratulations, your account credentials have been updated successfully.',
|
||||
'user' => $user,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user