2770a53d1e8e0e5773020965d19c2499439481ca
chmalee
  Tue Feb 7 13:33:08 2023 -0800
Make hubApi return data from multiple tracks at once. Get trackDb tableBrowser setting working correctly in the api

diff --git src/hg/hubApi/dataApi.h src/hg/hubApi/dataApi.h
index 27bb057..1dea88f 100644
--- src/hg/hubApi/dataApi.h
+++ src/hg/hubApi/dataApi.h
@@ -19,30 +19,31 @@
 #include "hgConfig.h"
 #include "hCommon.h"
 #include "hPrint.h"
 #include "bigWig.h"
 #include "hubConnect.h"
 #include "obscure.h"
 #include "errCatch.h"
 #include "vcf.h"
 #include "bedTabix.h"
 #include "bamFile.h"
 #include "jsonParse.h"
 #include "jsonWrite.h"
 #include "chromInfo.h"
 #include "wiggle.h"
 #include "hubPublic.h"
+#include "cartTrackDb.h"
 
 #ifdef USE_HAL
 #include "halBlockViz.h"
 #endif
 
 /* reference for these error codes:
  * https://www.restapitutorial.com/httpstatuscodes.html
  */
 /* error return codes */
 #define err206	206
 #define err206Msg	"Partial Content"
 #define err301	301
 #define err301Msg	"Moved Permanently"
 #define err400	400
 #define err400Msg	"Bad Request"
@@ -211,31 +212,31 @@
 	    struct asColumn *columnEl);
 /* print out the SQL schema for this trackDb */
 
 void bigColumnTypes(struct jsonWrite *jw, struct sqlFieldType *fiList,
     struct asObject *as);
 /* show the column types from a big file autoSql definitions */
 
 boolean trackHasData(struct trackDb *tdb);
 /* check if this is actually a data track:
  *	TRUE when has data, FALSE if has no data
  * When NO trackDb, can't tell at this point, will check that later
  */
 
 #define trackHasNoData(tdb) (!trackHasData(tdb))
 
-boolean protectedTrack(struct trackDb *tdb, char *trackName);
+boolean protectedTrack(char *db, struct trackDb *tdb, char *trackName);
 /* determine if track is off-limits protected data */
 
 boolean isWiggleDataTable(char *type);
 /* is this a wiggle data track table */
 
 /* ######################################################################### */
 /*  functions in getData.c */
 
 void apiGetData(char *words[MAX_PATH_INFO]);
 /* 'getData' function, words[1] is the subCommand */
 
 /* ######################################################################### */
 /*  functions in list.c */
 
 void apiList(char *words[MAX_PATH_INFO]);