routeGetOne method
WebRoute
routeGetOne(
- String path, {
- required WebRequest rq,
- List<
String> methods = const [RequestMethods.GET], - Future<
ApiDoc> ? apiDoc()?, - WaAuthController? auth,
- List<
String> extraPath = const [], - List<
String> excludePaths = const [], - List<
String> hosts = const ['*'], - Map<
String, Object?> params = const {}, - List<
String> permissions = const [], - List<
int> ports = const [],
Implementation
WebRoute routeGetOne(
String path, {
required WebRequest rq,
List<String> methods = const [RequestMethods.GET],
Future<ApiDoc>? Function()? apiDoc,
WaAuthController<dynamic>? auth,
List<String> extraPath = const [],
List<String> excludePaths = const [],
List<String> hosts = const ['*'],
Map<String, Object?> params = const {},
List<String> permissions = const [],
List<int> ports = const [],
}) {
final index = () async {
var id = rq.getParam('id', def: '').toString();
if (id.isEmpty) {
return rq.renderData(
data: {
'success': false,
'message': 'id is required',
},
status: 502,
);
}
var data = await getById(id);
if (data == null) {
return rq.renderData(
data: {
'success': false,
'message': 'id not found',
},
status: 404,
);
}
return rq.renderData(data: {
'success': true,
'data': data,
'message': 'ok',
});
};
return WebRoute(
path: path,
methods: methods,
rq: rq,
apiDoc: apiDoc,
auth: auth,
excludePaths: excludePaths,
extraPath: extraPath,
hosts: hosts,
params: params,
permissions: permissions,
ports: ports,
index: index,
);
}