kemproApiV2DevicesIdSignaturesPostFixed method

Future<Response> kemproApiV2DevicesIdSignaturesPostFixed({
  1. required int? id,
  2. FileReference? file,
  3. required String email,
  4. required HomeownerConsentActionV2 action,
  5. String? firstName,
  6. String? lastName,
})

Upload a homeowner's signature and associate it with the given device.

Unlike kemproApiV2DevicesIdSignaturesPost, this method correctly includes the required content type and filename with the signature file upload, for proper parsing on the backend.

Implementation

Future<Response<dynamic>> kemproApiV2DevicesIdSignaturesPostFixed({
  required int? id,
  FileReference? file,
  required String email,
  required HomeownerConsentActionV2 action,
  String? firstName,
  String? lastName,
}) {
  final Uri $url = Uri.parse('/kempro/api/v2/devices/$id/signatures');
  final List<PartValue> $parts = <PartValue>[
    PartValue<String>(
      'email',
      email,
    ),
    PartValue<String>(
      'action',
      action.name,
    ),
    PartValue<String?>(
      'firstName',
      firstName,
    ),
    PartValue<String?>(
      'lastName',
      lastName,
    ),
    PartValue<MultipartFile?>(
      'file',
      file != null
          ? MultipartFile.fromBytes(
              'file',
              file.value,
              filename: file.filename,
              contentType: MediaType.parse(file.contentType),
            )
          : null,
    ),
  ];
  final Request $request = Request(
    'POST',
    $url,
    client.baseUrl,
    parts: $parts,
    multipart: true,
  );
  return client.send<dynamic, dynamic>($request);
}