5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-16 11:41:41 +00:00

permitir cargar archivos con la misma key

podemos tener sitios distintos con la misma llave identificatoria.
ahora permitimos solo una llave por cada sitio distinto.  si subimos un
archivo duplicado en un mismo sitio el error va a seguir siendo el
mismo.
This commit is contained in:
f 2022-07-12 15:39:42 -03:00
parent 0b06bf3541
commit def4402313
2 changed files with 12 additions and 1 deletions

View file

@ -68,7 +68,7 @@ class MetadataFile < MetadataTemplate
when ActionDispatch::Http::UploadedFile
site.static_files.last if site.static_files.attach(value['path'])
when String
if (blob_id = ActiveStorage::Blob.where(key: key_from_path).pluck(:id).first)
if (blob_id = ActiveStorage::Blob.where(key: key_from_path, service_name: site.name).pluck(:id).first)
site.static_files.find_by(blob_id: blob_id)
elsif path? && pathname.exist? && site.static_files.attach(io: pathname.open, filename: pathname.basename)
site.static_files.last.tap do |s|

View file

@ -0,0 +1,11 @@
# frozen_string_literal: true
# Cambia el índice único para incluir el nombre del servicio, de forma
# que podamos tener varias copias del mismo sitio (por ejemplo para
# test) sin que falle la creación de archivos.
class ChangeBlobKeyUniquenessToIncludeServiceName < ActiveRecord::Migration[6.1]
def change
remove_index :active_storage_blobs, %i[key], unique: true
add_index :active_storage_blobs, %i[key service_name], unique: true
end
end