routes method

List<WebRoute> routes(
  1. String path, {
  2. required WebRequest rq,
  3. bool useRouteAll = true,
  4. bool useRouteDelete = true,
  5. bool useRouteInsert = true,
  6. bool useRouteUpdate = true,
  7. bool useRouteGetOne = true,
  8. bool paging = true,
  9. int pageSize = 20,
  10. bool orderReverse = true,
  11. String orderBy = '_id',
  12. Future<ApiDoc>? docAll()?,
  13. Future<ApiDoc>? docDelete()?,
  14. Future<ApiDoc>? docInsert()?,
  15. Future<ApiDoc>? docUpdate()?,
  16. Future<ApiDoc>? docOne()?,
  17. List<WebRoute> children = const [],
})

Generate list of all routes for an API collection.

Implementation

List<WebRoute> routes(
  String path, {
  required WebRequest rq,
  bool useRouteAll = true,
  bool useRouteDelete = true,
  bool useRouteInsert = true,
  bool useRouteUpdate = true,
  bool useRouteGetOne = true,
  bool paging = true,
  int pageSize = 20,
  bool orderReverse = true,
  String orderBy = '_id',
  Future<ApiDoc>? Function()? docAll,
  Future<ApiDoc>? Function()? docDelete,
  Future<ApiDoc>? Function()? docInsert,
  Future<ApiDoc>? Function()? docUpdate,
  Future<ApiDoc>? Function()? docOne,
  List<WebRoute> children = const [],
}) {
  return <WebRoute>[
    if (children.isNotEmpty)
      WebRoute(
        rq: rq,
        path: path,
        children: children,
      ),
    if (useRouteAll)
      routeGetAll(
        '$path',
        rq: rq,
        paging: paging,
        pageSize: pageSize,
        orderReverse: orderReverse,
        orderBy: orderBy,
        apiDoc: docAll,
      ),
    if (useRouteGetOne) routeGetOne('$path/{id}', rq: rq, apiDoc: docOne),
    if (useRouteDelete)
      routeDeleteOne(
        '$path/delete/{id}',
        rq: rq,
        apiDoc: docDelete,
      ),
    if (useRouteInsert) routeInsert('$path', rq: rq, apiDoc: docInsert),
    if (useRouteUpdate) routeUpdate('$path/{id}', rq: rq, apiDoc: docUpdate),
  ];
}