-
Notifications
You must be signed in to change notification settings - Fork 2
Files
There are 3 basic folio file types - that is 3 sql tables which cover most of the required functionality. All of them have a base class and allow (and promote) extending per-project via STI.
Main file type. Folio::Image and Folio::Document STI variants are included in folio core. These file form per-type libraries from which the client can pick images and place them to models having the Folio::HasAttachments concern.
Placement is done via Folio::FilePlacement::Base which also allows STI.
Example use cases:
- article cover image
- author image
- image gallery atom
Similar to Folio::File, but not creating a public library. Unlike Folio::File, they are directly related to a polymorphic attachmentable without using a placement model.
For some cases, you might want to consider overriding the dragonfly_accessor and setting headers: { "x-amz-acl" => "private" } in the storage_options. That can be done per-class thanks to STI.
Example use cases:
- attachment of a message in a private chat
- invoice PDF linked to order
see test/controllers/folio/console/api/private_attachments_controller_test.rb
or use concern Folio::HasPrivateAttachments
Used for frontend public uploads. Private x-amz-acl by default.
Example use cases:
- id card photo/scan of a user trying to register
- artwork photo of a price request submission