2022-02-15 21:27:00 +08:00
|
|
|
class {{ event_class }} {
|
|
|
|
|
{%- if has_input %}
|
|
|
|
|
{{ input_deserializer }} request;
|
|
|
|
|
{{ event_class }}(this.request);
|
|
|
|
|
{%- else %}
|
|
|
|
|
{{ event_class }}();
|
|
|
|
|
{%- endif %}
|
|
|
|
|
|
2024-02-24 20:54:10 +07:00
|
|
|
Future<FlowyResult<{{ output_deserializer }}, {{ error_deserializer }}>> send() {
|
2022-02-15 21:27:00 +08:00
|
|
|
|
|
|
|
|
{%- if has_input %}
|
|
|
|
|
final request = FFIRequest.create()
|
|
|
|
|
..event = {{ event }}.toString()
|
|
|
|
|
..payload = requestToBytes(this.request);
|
|
|
|
|
|
|
|
|
|
return Dispatch.asyncRequest(request)
|
|
|
|
|
.then((bytesResult) => bytesResult.fold(
|
|
|
|
|
|
|
|
|
|
{%- if has_output %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(okBytes) => FlowySuccess({{ output_deserializer }}.fromBuffer(okBytes)),
|
2022-02-15 21:27:00 +08:00
|
|
|
{%- else %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(bytes) => FlowySuccess(null),
|
2022-02-15 21:27:00 +08:00
|
|
|
{%- endif %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(errBytes) => FlowyFailure({{ error_deserializer }}.fromBuffer(errBytes)),
|
2022-02-15 21:27:00 +08:00
|
|
|
));
|
|
|
|
|
|
|
|
|
|
{%- else %}
|
|
|
|
|
final request = FFIRequest.create()
|
|
|
|
|
..event = {{ event }}.toString();
|
|
|
|
|
{%- if has_input %}
|
|
|
|
|
..payload = bytes;
|
|
|
|
|
{%- endif %}
|
|
|
|
|
|
|
|
|
|
return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold(
|
|
|
|
|
{%- if has_output %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(okBytes) => FlowySuccess({{ output_deserializer }}.fromBuffer(okBytes)),
|
2022-02-15 21:27:00 +08:00
|
|
|
{%- else %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(bytes) => FlowySuccess(null),
|
2022-02-15 21:27:00 +08:00
|
|
|
{%- endif %}
|
2024-02-24 20:54:10 +07:00
|
|
|
(errBytes) => FlowyFailure({{ error_deserializer }}.fromBuffer(errBytes)),
|
2022-02-15 21:27:00 +08:00
|
|
|
));
|
|
|
|
|
{%- endif %}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|