repositoryTemplate function
dynamic
repositoryTemplate()
Implementation
repositoryTemplate() {
return """
import '../../../helpers/api.dart';
import '../../../models/response_data.dart';
import '../../../helpers/rb_helpers.dart';
import '@filename.dart';
class @classNameRepository {
final api = Api();
getData(
{Map<String, dynamic>? params,
required Function(ResponseData result) onSuccess,
Function(dynamic error)? onError}) {
api.get(
'@api',
params: params,
onError: (e) {
if (onError != null) onError(e);
},
onSuccess: (result) {
try {
final responseData = ResponseData();
responseData.message = result['message'];
var data = [];
if (params != null &&
params.containsKey("paginate") &&
params['paginate'] == 'no') {
data = result['data'];
} else {
data = result['data']['data'];
}
final list = <@modelName>[];
for (var d in data) {
list.add(@modelName.fromMap(d));
}
responseData.listData = list;
onSuccess(responseData);
} catch (e, track) {
if (onError != null) {
onError(trace(e, track));
}
}
},
);
}
getDetail(int id,
{required Function(ResponseData result) onSuccess,
Function(dynamic error)? onError}) {
api.get(
'@api/\$id',
onError: (e) {
if (onError != null) onError(e);
},
onSuccess: (result) {
try {
final responseData = ResponseData();
responseData.message = result['message'];
final data = @modelName.fromMap(result['data']);
responseData.data = data;
onSuccess(responseData);
} catch (e, track) {
if (onError != null) {
onError(trace(e, track));
}
}
},
);
}
save(String url, dynamic params,
{required Function(ResponseData result) onSuccess,
Function(dynamic error)? onError}) {
api.post(
url,
params,
onError: (e) => {if (onError != null) onError(e)},
onSuccess: (result) {
final responseData = ResponseData();
responseData.message = result['message'];
onSuccess(responseData);
},
);
}
delete(int id,
{required Function(ResponseData result) onSuccess,
Function(dynamic error)? onError}) {
api.delete(
'@api/\$id',
onError: (e) => {if (onError != null) onError(e)},
onSuccess: (result) {
final responseData = ResponseData();
responseData.message = result['message'];
onSuccess(responseData);
},
);
}
}
""";
}