insert<R> method
Future<Response<T>>
insert<
R>({ - required T data,
- R? source(
- R parent
)?,
})
override
Implementation
@override
Future<Response<T>> insert<R>({
required T data,
R? Function(R parent)? source,
}) async {
final response = Response<T>();
if (data.source.isNotEmpty) {
final url = data.id.isNotEmpty
? currentUrl(data.id, source)
: currentSource(source);
final reference = await database.post(url, data: data.source);
final code = reference.statusCode;
if (code == 200 || code == 201 || code == api.status.created) {
final result = reference.data;
return response.copy(result: result);
} else {
final error = "Data unmodified [${reference.statusCode}]";
return response.copy(snapshot: reference, error: error);
}
} else {
final error = "Undefined data $data";
return response.copy(error: error);
}
}