*/ public static function rules(): array { return [ 'attachments' => 'nullable|array|max:' . self::MAX_FILES, 'attachments.*' => self::RULE, ]; } /** * @param array $uploads * @return array */ public static function store(array $uploads, string $directory): array { $totalKb = array_sum(array_map(fn (UploadedFile $file) => $file->getSize() / 1024, $uploads)); abort_if($totalKb > self::MAX_TOTAL_KB, 422, 'Tổng dung lượng tệp đính kèm không được vượt quá 25MB.'); return array_map(fn (UploadedFile $file) => [ 'disk' => self::DISK, 'path' => $file->store($directory, self::DISK), 'name' => $file->getClientOriginalName(), ], $uploads); } }