このコミットが含まれているのは:
@@ -70,8 +70,15 @@ class PostImportsController < ApplicationController
|
||||
end
|
||||
raise ArgumentError, '解析結果が大きすぎます.' if rows.sum { Array(_1['values']).sum(&:bytesize) } > PostImportSourceParser::MAX_BYTES
|
||||
|
||||
{ columns: columns.map { |column| column.slice('key', 'label') },
|
||||
rows: rows.map { |row| { source_row: row['source_row'], values: Array(row['values']) } } }
|
||||
parsed_rows = rows.map do |row|
|
||||
source_row = Integer(row['source_row'], exception: false)
|
||||
raise ArgumentError, '元行番号が不正です.' if source_row.nil? || source_row <= 0
|
||||
|
||||
{ source_row:, values: Array(row['values']) }
|
||||
end
|
||||
raise ArgumentError, '元行番号が重複しています.' if parsed_rows.map { _1[:source_row] }.uniq.length != parsed_rows.length
|
||||
|
||||
{ columns: columns.map { |column| column.slice('key', 'label') }, rows: parsed_rows }
|
||||
end
|
||||
|
||||
def validate_rows_params
|
||||
|
||||
新しい課題から参照
ユーザをブロックする