Commit Graph

385 Commits

Author SHA1 Message Date
9d99872ef7 Implement field value loading logic
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
7d6cfd911e Pass subject payload to field factories
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
7f9faf1d99 Use automation WP helpers
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
ae828b9ac4 Do not load all possible subjects eagerly
With subject transformers the amount of possible subjects will grow,
and preloading even those that won't be used may result in performance
issues, and unnecessary errors (e.g., caused by 3rd party transformers).

[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
54f5addca9 Extract subject loading before automation processing loop
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
70dbfc28b7 Early return when no active automation matches given trigger
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
4ff9306826 Add filter management into automation registry
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
56b551dc16 Implement enum array filter
[MAILPOET-4946]
[MAILPOET-5002]
2023-04-20 16:32:32 +02:00
52be5ca3f9 Add interface for filter definition
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
eaa1a4aa69 Save automation filters to the database
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
014db1e695 Add step filters schema
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
0bf9e75dd0 Automatically register fields exposed from subjects
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
209ede594e Add fields management to automation registry
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
97e40955ab Add fields to subject interface
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
b303111d3d Add Automation to AUTOMATION_STEP_BEFORE_SAVE action
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
9738bd3ecd Introduce general step error
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
328b5b1475 Remove private getSubjectKeysForSingleKey method
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
e2777aebc3 Use plural for array of subject transformers
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
19b5abc171 Use array_keys $all to get the keys
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
d6760cb113 Use array
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
8cf48d2707 Simplify SubjectTransformer
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
68f09b6bd1 Prevent infinite loop when a subject from the trigger is missing
Given the trigger provides two subjects but only one subject was given via parameter and no
transformer was able to generate the second from the first, this method runs into an
infinite loop. This commit prevents this infinite loop.

[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
b5a846327a Remove SubjectTransformerHandler from StepHandler
All subjects are created and persisted during AutomationRun creation. Therefore, the required
subject must exist when searching for it in the StepHandler. This commit reverses the last
changes and updates the test.

[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
d365be2334 Persist all possible subject on run creation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
c968b03ca7 Provide all possible subjects for a trigger to the UI
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
5328213d85 Introduce subject transformation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
fa73c3bc26 Order subjects by automation_run_id and id
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
286cd94135 Remove subject_keys from Step definition and load information from registry
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
2187f4a2d0 Use DISTINCT in count method
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
1ddf69b490 Move delete metas in if clause
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
b5eaf6d115 Rename hash method to getHash
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
6012a139cb Improve name of counting method
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
c68fc1378c Improve name of "run only once" meta
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
a96d2388f4 Use serialize for the hash generation
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
dd3b37aba8 Improve names for all meta methods
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
8d41b5521c Fix typo
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
cf6f4f204d Use array_values for filtered subjects
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
da5f5b0b90 Improve formatting
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
1db97d2301 Simplify getting run ids
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
936de6ec30 Prevent calling toArray() twice
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
1b17c04301 Update templates to run only once
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
fcf6e738c7 Interrupt automation run creation if a run already exists and only_once setting is set
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
7210fad0e1 Add subject_keys to Step definition
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
9e016bfc07 Add hash to Subject
The hash gives us a new column in our table, which we can
use to query a specific combination of args and key more
efficient

[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
2d709b6249 Extend AutomationPutEndpoint to receive meta data
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
0d888ce8e4 Make meta data available in editor
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
48e2c5f945 Add filter to decide whether an automation run should be created
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
8cfb93a3b6 Add meta data to Automation
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
c4faa53386 Store run subjects in extra table
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
6b7ffbc4ad Allow plugins to add their own context data for automation editor
[PREMIUM-215]
2023-01-26 14:12:22 +01:00