getCurrentUserId method

Future<int?> getCurrentUserId(
  1. SchemaMetaData smd,
  2. DbTransaction transaction
)

Implementation

Future<int?> getCurrentUserId(
    SchemaMetaData smd, DbTransaction transaction) async {
  if (_currentUserId == null) {
    ConfigurationDao configurationDao =
        ConfigurationDao(smd, transaction, _defaults);
    await configurationDao.init(initTable: true);
    try {
      _currentUserId = await configurationDao.getInteger(
          0, WardenType.USER, ConfigurationNameEnum.USER_ID);
    } on SqlException catch (e) {
      if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND)
        throw SqlException.renew(e,
            cause: "USER-ID is not set in configuration table");
      else if (e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT)
        print("WS $e");
      else
        rethrow;
    }
  }
  return _currentUserId;
}