4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'app/controllers/cas/api/files_controller.rb', line 4
def create
if ENV.fetch("S3_BUCKET")
service = "s3"
end
metadata = resource_params[:attributes][:metadata]
file = ::Cas::MediaFile.new(
service: service,
size: metadata[:original][:metadata][:size].to_i,
original_name: metadata[:original][:metadata][:filename],
mime_type: metadata[:original][:metadata][:mime_type],
media_type: resource_params[:attributes][:media_type],
file: metadata.to_json,
attachable: attachable_record
)
file.save
Cas::RemoteCallbacks.callbacks[:after_file_upload].call(file)
render json: {
data: {
id: file.id.to_s,
type: "media-files",
attributes: {
url: file.url(version: :original, use_cdn: false).to_s,
"original-name": file.original_name
}
}
}
end
|