aplotor / expanse

selfhosted multi-user web app for externally storing Reddit items (saved, created, upvoted, downvoted, hidden) to bypass Reddit's 1000-item listing limits
GNU Affero General Public License v3.0
376 stars 16 forks source link

[Feature] Plugin system #29

Open QtFuta opened 1 year ago

QtFuta commented 1 year ago

I have an idea to include some sort of plugin system to process the posts that are being saved.

This way expanse can be decoupled of some features users might want to add and focus on only storing data directly retrieved from Reddit's API.

For example, saving images of posts, a plugin could be implemented for whatever image storage service a user might want to use (to disk, imgur, imgbb, any other cloud provider, etc)
Other might be retrieve and save the content of any link.

The plugins could be registered for all post being saved (i.e. inserts to item table), or for users to decide which ones they want to enable for their posts (i.e. inserts to user_item table)