user(); $user->update([ 'encryption_salt' => $request->validated('salt'), ]); EncryptedMessage::query()->updateOrCreate( ['user_id' => $user->id], [ 'encrypted_content' => $request->validated('encrypted_content'), 'iv' => $request->validated('iv'), ] ); return response()->json([ 'message' => 'Encryption setup completed successfully', ]); } public function getMessage(Request $request): JsonResponse { $user = $request->user(); $message = $user->encryptedMessage; if (! $message) { return response()->json([ 'message' => 'No encrypted message found', ], 404); } return response()->json([ 'encrypted_content' => $message->encrypted_content, 'iv' => $message->iv, 'salt' => $user->encryption_salt, ]); } public function updateMessage(Request $request): JsonResponse { $validated = $request->validate([ 'encrypted_content' => ['required', 'string'], 'iv' => ['required', 'string', 'size:16'], ]); $user = $request->user(); $message = $user->encryptedMessage; if (! $message) { return response()->json([ 'message' => 'No encrypted message found', ], 404); } $message->update($validated); return response()->json([ 'message' => 'Encrypted message updated successfully', ]); } }