DUPLICATE_TRACK_IDS
FIRSTLISTEN_BY_USER
MONTHLYCOUNTS_BY_SOURCE_BY_DAY
MONTHLYCOUNTS_BY_SOURCE_BY_MONTH
MONTHLY_USER_COUNTS
STREAMCOUNTS_BY_SOURCE_USER_TRACK


{
srcOther("Looker") %>% sourceSupportFns

tbls.spotify <- c("DUPLICATE_TRACK_IDS"
, "FIRSTLISTEN_BY_USER"
, "MONTHLYCOUNTS_BY_SOURCE_BY_DAY"
, "MONTHLYCOUNTS_BY_SOURCE_BY_MONTH"
, "MONTHLY_USER_COUNTS"
, "STREAMCOUNTS_BY_SOURCE_USER_TRACK"
)

wh <- "LOOKER_WH_LARGE"
schema <- "spotify"
dbname <- "prod"

file_name.model <- "spotify_low_level.model.lookml"

setSnowflake(wh=wh, dbname=dbname, start=TRUE)

tbls.spotify <- schema %>% sfShowTables(schema=., justnames=TRUE) %>% tolower
files.out_spot <- tbls.spotify %>% gsub("DT\\.", "", .) %>% sapply(create_lookml_from_tbl, schema=schema, preface_file=schema, TEST_RUN=TRUE)

model.file <- as.path(dirname(files.out_spot[[1]]), file_name.model)


model_header <- 
"- connection: snowflake_prod_via_lookerappadmin
- persist_for: 24 hours

- include: \"*.view.lookml\"       # include all the views
- include: \"*.dashboard.lookml\"  # include all the dashboards
# - include: \"01_all_drilldown_sets.view.lookml\" #pre-made drilldown groups
- scoping: true
"

## OUTPUT TO FILE
tbls.spotify %>% 
  {sprintf("- explore: %s\n  label: %s\n\n", tolower(.), topropper_keywords(.))} %>% 
  pasteC() %>%
  sprintf("%s\n\n%s", model_header, .) %>% 
  catn(file=model.file, sep="", append=FALSE)


print(dirname(model.file) %>% path.unexpand())
}