user()); return response()->json([ 'name' => $me->name, 'skin' => (int) $me->skin, 'hair' => (int) $me->hair, 'shirt' => (int) $me->shirt, 'face' => (int) $me->face, 'beard' => (int) $me->beard, 'accessory' => (int) $me->accessory, ]); } /** * Persist appearance choices (1-based slots within safe ranges). */ public function update(Request $request): JsonResponse { $me = Character::ensureForUser($request->user()); $data = $request->validate([ 'skin' => ['required', 'integer', 'min:1', 'max:4'], 'hair' => ['required', 'integer', 'min:1', 'max:4'], 'shirt' => ['required', 'integer', 'min:1', 'max:5'], 'face' => ['required', 'integer', 'min:1', 'max:3'], 'beard' => ['required', 'integer', 'min:0', 'max:2'], 'accessory' => ['required', 'integer', 'min:0', 'max:2'], ]); $me->forceFill($data)->save(); return response()->json([ 'message' => __('city.customize_saved'), 'appearance' => $data, ]); } }