You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Flop was originally written with Ecto in mind, but it can be used with other data sources as well (e.g. lists, HTTP APIs). Especially in combination with Flop.Phoenix, it is convenient to use the same data structures and helpers everywhere. This can already be done today by building a Flop.Meta struct from whatever response you get from a data source, and mapping the Flop struct to whatever parameter format your data source expects to do a query. However, there is no example for this in the documentation at the moment, and it would be great to set the library up for easier extensibility.
Tentative roadmap:
Adapter behaviour
define a Flop.Adapter behaviour
implement Flop.Adapter behaviour for Flop.Ecto
use Flop: add adapter option, compile functions accordingly
Flop functions: accept adapter option
adapter behaviour: field type
update schema field validation to call adapter module
update filter value validation to call adapter module
Flop was originally written with Ecto in mind, but it can be used with other data sources as well (e.g. lists, HTTP APIs). Especially in combination with
Flop.Phoenix
, it is convenient to use the same data structures and helpers everywhere. This can already be done today by building aFlop.Meta
struct from whatever response you get from a data source, and mapping theFlop
struct to whatever parameter format your data source expects to do a query. However, there is no example for this in the documentation at the moment, and it would be great to set the library up for easier extensibility.Tentative roadmap:
Adapter behaviour
Flop.Ecto
Adapter implementations
Flop.Ecto
moduleFlop.List
#376Internals
Flop.Schema.field_type
withfield_info
Flop.Schema.get_field
: use adapterapply_order_by
cursor_dynamic
Configuration
init_backend_opts
callbackWrap up
The text was updated successfully, but these errors were encountered: