Skip to content

Releases: jamessimone/apex-rollup

Chain of Responsibility / Further flow improvements

02 Jan 23:41
5d7cce2
Compare
Choose a tag to compare
  • Fixed the test associated with a previously fixed bug to actually prove the bug had been fixed - previously, if records fed into the Invocable action included formula fields with null values, Rollup would try to initialize the potentially pre-existing DB version of that record by writing to that formula field on the chance they were involved in the rollup calculation. Now, in addition to only re-querying for fields specific to the rollup operation, we also ensure if the field is null on the DB version of the record, it is only written to if the field is writeable.
  • Removed the duplicate switch statements in StringRollupCalculator / DecimalRollupCalculator. In addition to making the indenting hellish, it was also slower. Used Chain of Responsibility at the parent class level to make it easy for each RollupCalculator to opt into actual behavior for rollup operations, which also sped things up.

Invocable and CMDT-based overrides

01 Jan 22:02
9835ec2
Compare
Choose a tag to compare
  • Fixed invocable logic - no longer assumes all passed in records are of the same SObjectType / set of fields
  • Added overrides to both CMDT and Invocable that allow for default values to be set for number-based and string-based rollup fields (including Datetime, Date, and Time-based fields)
  • Added tests to ensure that override were working both from CMDT and invocable-based routes
  • Added support for "UPSERT" being supplied as a rollup context for invocable action