User(otx *sql.Tx, gid GroupID, uid UserID) error {  if gid <= 0 || uid <= 0 {   return errors.New("group ID and user ID must be positive integers")  }   var tx *sql.Tx  var err error  if otx == nil {   tx, err = db.Begin()   if err != nil {    return err   }   defer tx.Rollback()  } else {   tx = otx  }   var gtype string  row := tx.QueryRow("SELECT group_type FROM wf_groups_master WHERE id = ?", gid)  err = row.Scan(&gtype)  if err != nil {   return err  }  if gtype == "S" {   return errors.New("cannot 