request method

  1. @override
Future request(
  1. String url, {
  2. dynamic data,
  3. Session? session,
})
override

Implementation

@override
Future request(String url, {data, Session? session}) async {
  //  obtiene el endpoint
  var point = _getPoint(url);

  //  gestiona la session
  session ??= this.session;

  // if (session == null) {

  // if (server.provider == SqlProvider.postgresql &&
  //     !point.public &&
  //     tr.userId == 0) {
  //   throw 'Acceso denegado';
  // }
  // }

  // valida los parametros
  if (data != null && point.args != null) point.args!.check(data);
  //  envuelve toda la consulta en un transaccion
  return server.session(session).transaction((tr) async {
    //
    //  arma un source que le va a permitir para conectar tablas con la transaccion
    var source = CrossRequest((url, {data, session}) async {
      return await _getPoint(url).fn(data, tr, this);
    });
    //  ejecuta la funcion
    return await point.fn(data, tr, source);
  });
}