ql-events
ql-events copied to clipboard
Backport changes from wp-graphql-tec fork.
After learning from @craigwilcox and @kidunot89 that this plugin is no longer abandoned, it makes sense to backport the functionality implemented in wp-graphql-tec.
Important notes about the fork:
- It adds full query schema support for The Events Calendar, Event Tickets, and Event Calendar Pro. Event Tickets Plus support is in progress.
- It requires a minimum version of
WPGraphQL v1.6.8
(released today) for connections to work. - The fork is basically a complete rewrite, to adopt best practices from the emerging WPGraphQL ecosystem, to the point that the file structure, namespaces, and even naming conventions are different.
- I believe the only feature not supported by the fork that is implemented here is Woocommerce Tickets. Due to the use of interfaces/data models/etc, the method employed by
ql-events
will not work here. Its also likely some GraphQL fields will need to be renamed to preventWooGraphQL
conflicts, since neither plugin is namespacing their fields. - I stopped implementing
WPUnit
tests after talking to @kidunot89 about the backport (it didnt make sense to write them twice). What that means is while the scaffolding for all the fields, connection args, etc are in place, some resolvers will probably need attention.
Here's a list of piecemeal steps that would be required (each would be a separate PR):
- [ ] Change minimum PHP supported version to 7.4.x
- [ ] Restructure file and folder hierarchy to mirror
WPGraphQL
. - [ ] Update tooling (composer deps, and configs for phpstan, phpcs, codeception, etc).
- [ ] Separate functionality into modules that mirror TEC plugins.
- [ ] Implement Data Loaders, Models, and Resolvers.
- [ ] Implement GraphQL interfaces
- [ ] Add new / update existing graphql types and fields.
- [ ] Implement connections and connection args.
Full disclosure: backporting is a lot of work, and my current priority is adding the missing functionality to wp-graphql-tec
that I need for production. Its likely the list of things required to backport will grow.