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.id.isNotEmpty) {
final reference = _source(source).doc(data.id);
return await reference.get().then((value) async {
if (!value.exists) {
await reference.set(data.source, SetOptions(merge: true));
return response.copy(data: data);
} else {
return response.copy(
snapshot: value,
message: 'Already inserted!',
);
}
});
} else {
return response.copy(error: "Id isn't valid!");
}
}