This application is meant to be used with storage plans.
So you want to improve this app? That's wonderful!
Well, you just need to make sure the new attachment handler implements the gen_attachment
behaviour so they must have two callbacks:
-
put_attachment/6
- Settings::gen_attachment:settings(): Storage connection settings.
- DbName::gen_attachment:db_name(): Database name where the attachment's parent document is stored.
- DocId::gen_attachment:doc_id(): ID of the document to which the attachment will belong to.
- AName::gen_attachment:att_name(): Attachment's file name.
- Contents::gen_attachment:contents(): Attachment's content.
- Options::gen_attachment:options(): Can be use to send metadata and/or attachment's description.
-
fetch_attachment/4
- HandlerProps::gen_attachment:handler_props(): Attachment information like
id
and/orpath
(location) within the storage service. - DbName::gen_attachment:db_name(): Same as for put_attachment
- DocId::gen_attachment:doc_id(): Same as for put_attachment
- AName::gen_attachment:att_name(): Same as for put_attachment
- HandlerProps::gen_attachment:handler_props(): Attachment information like
Anyway, if you found yourself in trouble when implementing it, check the existing attachment handlers code and you should get a clue about how to do it yourself too.