validate([ 'name' => 'string|required', 'title' => 'string|required', 'avatar' => 'image', 'v1_identifier' => 'string|nullable', 'myket_access_token' => 'string|nullable', 'cafe_config_id' => 'integer|nullable', 'web_app_url' => 'string|nullable', 'tries' => 'integer' ]); if ($packageName = PackageName::where('name', $data['name'])->first()) { return response()->json([ 'message' => 'package exists' ], 400); } if (isset($data['avatar'])) { Storage::disk('public')->put("package-names/{$data['name']}.png", file_get_contents($data['avatar']->path())); $data['image'] = "storage/package-names/{$data['name']}.png"; unset($data['avatar']); } if (isset($data['cafe_config_id']) && !$CafeConfig = CafeConfig::where('id', $data['cafe_config_id'])->first()) { return response()->json([ 'message' => 'cafe config not found' ], 404); } $packageName = PackageName::create($data); return $packageName; } public function update(Request $request, $name) { $data = $request->validate([ 'title' => 'string|required', 'avatar' => 'image', 'v1_identifier' => 'string|nullable', 'myket_access_token' => 'string|nullable', 'cafe_config_id' => 'integer|nullable', 'web_app_url' => 'string|nullable', 'tries' => 'integer' ]); if (isset($data['avatar'])) { Storage::disk('public')->put("package-names/{$name}.png", file_get_contents($data['avatar']->path())); $data['image'] = "storage/package-names/{$name}.png"; unset($data['avatar']); } if (isset($data['cafe_config_id']) && !$CafeConfig = CafeConfig::where('id', $data['cafe_config_id'])->first()) { return response()->json([ 'message' => 'cafe config not found' ], 404); } if (!$packageName = PackageName::where('name', $name)->first()) { return response()->json([ 'message' => 'package name not found' ], 404); } $packageName->update($data); return $packageName; } }