stampCreateReadWriteSession method

Future<TSignedRequest> stampCreateReadWriteSession({
  1. required TCreateReadWriteSessionBody input,
})

Produce a SignedRequest from TCreateReadWriteSessionBody by using the client's stamp function.

See also: CreateReadWriteSession.

Implementation

Future<TSignedRequest> stampCreateReadWriteSession({
  required TCreateReadWriteSessionBody input,
}) async {
  final fullUrl =
      '${config.baseUrl}/public/v1/submit/create_read_write_session';
  final body = packActivityBody(
    bodyJson: input.toJson(),
    fallbackOrganizationId: input.organizationId ??
        config.organizationId ??
        (throw Exception(
            "Missing organization ID, please pass in a sub-organizationId or instantiate the client with one.")),
    activityType: 'ACTIVITY_TYPE_CREATE_READ_WRITE_SESSION_V2',
  );
  final bodyJson = jsonEncode(body);
  final stamp = await stamper.stamp(bodyJson);

  return TSignedRequest(
    body: bodyJson,
    stamp: stamp,
    url: fullUrl,
  );
}