packActivityBody method

Map<String, dynamic> packActivityBody({
  1. required Map<String, dynamic> bodyJson,
  2. required String fallbackOrganizationId,
  3. required String activityType,
})

For command/activityDecision bodies generated by codegen:

Implementation

Map<String, dynamic> packActivityBody({
  required Map<String, dynamic> bodyJson,
  required String fallbackOrganizationId,
  required String activityType,
}) {
  final orgId =
      (bodyJson['organizationId'] as String?) ?? fallbackOrganizationId;
  final ts = bodyJson['timestampMs'] as String? ??
      DateTime.now().millisecondsSinceEpoch.toString();

  // Exclude envelope keys (and guard against accidental nesting)
  final params = paramsFromBody(
    bodyJson,
    exclude: const ['organizationId', 'timestampMs'],
  );

  return makeEnvelope(
    type: activityType,
    organizationId: orgId,
    timestampMs: ts,
    parameters: params,
  );
}