Commit Graph

119 Commits

Author SHA1 Message Date
Jan Jakes
a3198a6a87 Fix passing args to WordPress hook
[MAILPOET-4136]
2022-03-14 09:36:21 +01:00
Jan Jakes
da2621230d Move automation engine code under "Engine" namespace
This is to separate the engine itself from "integrations" that will be
built on top of the engine.

[MAILPOET-4136]
2022-03-14 09:36:21 +01:00
Jan Jakes
ec0f490397 Restrict automation API only for admins
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
4c61236d9a Add readme for automation
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
7153f6f0b5 Register action scheduler in automation
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
58dd80e647 Make strings translatable
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
de3227c6d6 Add endpoint to (re)create and delete automation DB schema
These are just "system" testing endpoints that we'll use in prototyping
phases. We should remove them eventually.

[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
d3e4d2c9d8 Construct method-not-allowed exception using exception factory
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
7c503a3517 Add basic migrator to create/delete automation tables for prototyping
This is a simple service used only for prototyping that will allow us
to simply change and recreate database schemas. Eventually, we'll need
to replace it with database migration logic.

[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
9e8e3a37bb Add basic workflow endpoint with hello world message
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
51d6b541e5 Add check that JSON request body exists when required
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
8c7516eaba Expose 5xx errors in PHP error log
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
b40f344a51 Add API exception handling and error response
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
b2a9053fa8 Add static factory class for easier exception creation
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
79350b4282 Add basic set of exceptions compatible with WP REST API
This means the exception need to have string error code, HTTP status code, and a message,
as the WP REST API errors look as foolows:

{"code":"rest_invalid_json","message":"Invalid JSON body passed.","data":{"status":400,"json_error_code":4,"json_error_message":"Syntax error"}}

[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
99a8ee3a46 Add basic API route handling wrapper for WP REST API
Each endpoint will be a class that can implement get/post/put/delete methods.
The routes are registered to WP REST API automatically based on the existence
of implemented methods. The endpoint classes are handled standard services and
therefore can leverage full powers of the DI container.

[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
ebfddb73bd Add endpoint-class factory based on PSR-11 container interface
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
18d722cd51 Add basic request, response, and endpoint definitions for API
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00
Jan Jakes
ddb04feef4 Add empty automation initializer
[MAILPOET-4135]
2022-02-21 09:56:26 +01:00