R/ReportingFunctions.R

Defines functions deleteUserSetting createUserSetting modifyUserSetting getUserSetting getAllUserSettings deleteUserReportPrompt createUserReportPrompt modifyUserReportPrompt getUserReportPrompt getAllUserReportPrompts deleteUploadReportLog createUploadReportLog modifyUploadReportLog getUploadReportLog getAllUploadReportLogs deleteTopic createTopic modifyTopic getTopic getAllTopics deleteTempUploadDataMiningReportLog createTempUploadDataMiningReportLog modifyTempUploadDataMiningReportLog getTempUploadDataMiningReportLog getAllTempUploadDataMiningReportLogs deleteTempSubtopicRelationshipOption createTempSubtopicRelationshipOption modifyTempSubtopicRelationshipOption getTempSubtopicRelationshipOption getAllTempSubtopicRelationshipOptions deleteSummaryReportSectionColumn createSummaryReportSectionColumn modifySummaryReportSectionColumn getSummaryReportSectionColumn getAllSummaryReportSectionColumns deleteSummaryReportSection createSummaryReportSection modifySummaryReportSection getSummaryReportSection getAllSummaryReportSections deleteSummaryReportPrompt createSummaryReportPrompt modifySummaryReportPrompt getSummaryReportPrompt getAllSummaryReportPrompts deleteSummaryReportParameter createSummaryReportParameter modifySummaryReportParameter getSummaryReportParameter getAllSummaryReportParameters deleteSubtopicStandardFilter createSubtopicStandardFilter modifySubtopicStandardFilter getSubtopicStandardFilter getAllSubtopicStandardFilters deleteSubtopicField createSubtopicField modifySubtopicField getSubtopicField getAllSubtopicFields deleteSubtopic createSubtopic modifySubtopic getSubtopic getAllSubtopics deleteSubjectSecurityLocation createSubjectSecurityLocation modifySubjectSecurityLocation getAllReportQueueBurstActions deleteReportQueue createReportQueue modifyReportQueue getReportQueue getAllReportQueues deleteReportMenuModule createReportMenuModule modifyReportMenuModule getReportMenuModule getAllReportMenuModules deleteReportError createReportError modifyReportError getReportError getAllReportErrors deleteReport createReport modifyReport getReport getAllReports deletePromptTemplate createPromptTemplate modifyPromptTemplate getPromptTemplate getAllPromptTemplates deletePageBurst createPageBurst modifyPageBurst getPageBurst getAllPageBursts deletePage createPage modifyPage getPage getAllPages deleteDataMiningReportSubtopicStandardFilter createDataMiningReportSubtopicStandardFilter modifyDataMiningReportSubtopicStandardFilter getDataMiningReportSubtopicStandardFilter getAllDataMiningReportSubtopicStandardFilters deleteDataMiningReportSubtopic createDataMiningReportSubtopic modifyDataMiningReportSubtopic getSubjectSecurityLocation getAllSubjectSecurityLocations deleteSubjectReporting createSubjectReporting modifySubjectReporting getSubjectReporting getAllSubjectsReporting deleteSortGroup createSortGroup modifySortGroup getSortGroup getAllSortGroups deleteSortBreak createSortBreak modifySortBreak getSortBreak getAllSortBreaks deleteSort createSort modifySort getSort getAllSorts deleteSecurityLocationReportSetReportRunInfo createSecurityLocationReportSetReportRunInfo modifySecurityLocationReportSetReportRunInfo getSecurityLocationReportSetReportRunInfo getAllSecurityLocationReportSetReportRunInfos deleteSecurityLocationReportSet createSecurityLocationReportSet modifySecurityLocationReportSet getSecurityLocationReportSet getAllSecurityLocationReportSets deleteScheduledReport createScheduledReport modifyScheduledReport getScheduledReport getAllScheduledReports deleteReportStyle createReportStyle modifyReportStyle getReportStyle getAllReportStyles deleteReportRunInfo createReportRunInfo modifyReportRunInfo getReportRunInfo getAllReportRunInfos deleteReportRole createReportRole modifyReportRole getReportRole getAllReportRoles deleteReportQueueSQL createReportQueueSQL modifyReportQueueSQL getReportQueueSQL getAllReportQueueSQLs deleteReportQueueBurstAction createReportQueueBurstAction modifyReportQueueBurstAction getReportQueueBurstAction getDataMiningReportSubtopic getAllDataMiningReportSubtopics deleteDataMiningReportSortBreak createDataMiningReportSortBreak modifyDataMiningReportSortBreak getDataMiningReportSortBreak getAllDataMiningReportSortBreaks deleteDataMiningReportFieldSort createDataMiningReportFieldSort modifyDataMiningReportFieldSort getDataMiningReportFieldSort getAllDataMiningReportFieldSorts deleteDataMiningReportFieldParameter createDataMiningReportFieldParameter modifyDataMiningReportFieldParameter getDataMiningReportFieldParameter getAllDataMiningReportFieldParameters deleteDataMiningReportFieldFilter createDataMiningReportFieldFilter modifyDataMiningReportFieldFilter getDataMiningReportFieldFilter getAllDataMiningReportFieldFilters deleteDataMiningReportField createDataMiningReportField modifyDataMiningReportField getDataMiningReportField getAllDataMiningReportFields deleteDataMiningReport createDataMiningReport modifyDataMiningReport getDataMiningReport getAllDataMiningReports deleteConfigSystemReporting createConfigSystemReporting modifyConfigSystemReporting getConfigSystemReporting getAllConfigSystemsReporting deleteBurstAction createBurstAction modifyBurstAction getBurstAction getAllBurstActions

Documented in createBurstAction createConfigSystemReporting createDataMiningReport createDataMiningReportField createDataMiningReportFieldFilter createDataMiningReportFieldParameter createDataMiningReportFieldSort createDataMiningReportSortBreak createDataMiningReportSubtopic createDataMiningReportSubtopicStandardFilter createPage createPageBurst createPromptTemplate createReport createReportError createReportMenuModule createReportQueue createReportQueueBurstAction createReportQueueSQL createReportRole createReportRunInfo createReportStyle createScheduledReport createSecurityLocationReportSet createSecurityLocationReportSetReportRunInfo createSort createSortBreak createSortGroup createSubjectReporting createSubjectSecurityLocation createSubtopic createSubtopicField createSubtopicStandardFilter createSummaryReportParameter createSummaryReportPrompt createSummaryReportSection createSummaryReportSectionColumn createTempSubtopicRelationshipOption createTempUploadDataMiningReportLog createTopic createUploadReportLog createUserReportPrompt createUserSetting deleteBurstAction deleteConfigSystemReporting deleteDataMiningReport deleteDataMiningReportField deleteDataMiningReportFieldFilter deleteDataMiningReportFieldParameter deleteDataMiningReportFieldSort deleteDataMiningReportSortBreak deleteDataMiningReportSubtopic deleteDataMiningReportSubtopicStandardFilter deletePage deletePageBurst deletePromptTemplate deleteReport deleteReportError deleteReportMenuModule deleteReportQueue deleteReportQueueBurstAction deleteReportQueueSQL deleteReportRole deleteReportRunInfo deleteReportStyle deleteScheduledReport deleteSecurityLocationReportSet deleteSecurityLocationReportSetReportRunInfo deleteSort deleteSortBreak deleteSortGroup deleteSubjectReporting deleteSubjectSecurityLocation deleteSubtopic deleteSubtopicField deleteSubtopicStandardFilter deleteSummaryReportParameter deleteSummaryReportPrompt deleteSummaryReportSection deleteSummaryReportSectionColumn deleteTempSubtopicRelationshipOption deleteTempUploadDataMiningReportLog deleteTopic deleteUploadReportLog deleteUserReportPrompt deleteUserSetting getAllBurstActions getAllConfigSystemsReporting getAllDataMiningReportFieldFilters getAllDataMiningReportFieldParameters getAllDataMiningReportFields getAllDataMiningReportFieldSorts getAllDataMiningReports getAllDataMiningReportSortBreaks getAllDataMiningReportSubtopics getAllDataMiningReportSubtopicStandardFilters getAllPageBursts getAllPages getAllPromptTemplates getAllReportErrors getAllReportMenuModules getAllReportQueueBurstActions getAllReportQueues getAllReportQueueSQLs getAllReportRoles getAllReportRunInfos getAllReports getAllReportStyles getAllScheduledReports getAllSecurityLocationReportSetReportRunInfos getAllSecurityLocationReportSets getAllSortBreaks getAllSortGroups getAllSorts getAllSubjectSecurityLocations getAllSubjectsReporting getAllSubtopicFields getAllSubtopics getAllSubtopicStandardFilters getAllSummaryReportParameters getAllSummaryReportPrompts getAllSummaryReportSectionColumns getAllSummaryReportSections getAllTempSubtopicRelationshipOptions getAllTempUploadDataMiningReportLogs getAllTopics getAllUploadReportLogs getAllUserReportPrompts getAllUserSettings getBurstAction getConfigSystemReporting getDataMiningReport getDataMiningReportField getDataMiningReportFieldFilter getDataMiningReportFieldParameter getDataMiningReportFieldSort getDataMiningReportSortBreak getDataMiningReportSubtopic getDataMiningReportSubtopicStandardFilter

#' Get all BurstActions.
#'
#' This function returns a dataframe of all BurstActions in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All BurstActions in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllBurstActions <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnBurstActionID = F, returnActionHandler = F, returnActionHandlerXML = F, returnCanBeReverted = F, returnCreatedTime = F, returnIsPrintAction = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnParameterSxlPath = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "BurstAction", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific BurstAction
#'
#' This function returns fields for a BurstAction.
#'
#' @param BurstActionID The id of the BurstAction.\cr Run \code{\link{getAllBurstActions}} for a list of BurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the BurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getBurstAction <- function(BurstActionID, EntityID = 1, returnBurstActionID = F, returnActionHandler = F, returnActionHandlerXML = F, returnCanBeReverted = F, returnCreatedTime = F, returnIsPrintAction = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnParameterSxlPath = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "BurstAction", BurstActionID, searchFields, EntityID)

	}


#' Modify a specific BurstAction
#'
#' This function modifies fields for a BurstAction.
#'
#' @param BurstActionID The id of the BurstAction to be modified.\cr Run \code{\link{getAllBurstActions}} for a list of BurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified BurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyBurstAction <- function(BurstActionID, EntityID = 1, setActionHandlerXML = NULL, setCanBeReverted = NULL, setIsPrintAction = NULL, setName = NULL, setObjectID = NULL, setParameterSxlPath = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "BurstAction", BurstActionID, names(functionParams), functionParams, EntityID)

	}


#' Create new BurstAction.
#'
#' This function creates a new BurstAction.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created BurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createBurstAction <- function(EntityID = 1, setActionHandlerXML = NULL, setCanBeReverted = NULL, setIsPrintAction = NULL, setName = NULL, setObjectID = NULL, setParameterSxlPath = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "BurstAction", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific BurstAction
#'
#' This function deletes a BurstAction.
#'
#' @param BurstActionID The id of the BurstAction.\cr Run \code{\link{getAllBurstActions}} for a list of BurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted BurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteBurstAction <- function(BurstActionID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "BurstAction", BurstActionID, EntityID)

	}


#' Get all ConfigSystems.
#'
#' This function returns a dataframe of all ConfigSystems in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ConfigSystems in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllConfigSystemsReporting <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnConfigSystemID = F, returnCreatedTime = F, returnDaysToSaveReportResults = F, returnModifiedTime = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ConfigSystem", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ConfigSystem
#'
#' This function returns fields for a ConfigSystem.
#'
#' @param ConfigSystemID The id of the ConfigSystem.\cr Run \code{\link{getAllConfigSystems}} for a list of ConfigSystems.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getConfigSystemReporting <- function(ConfigSystemID, EntityID = 1, returnConfigSystemID = F, returnCreatedTime = F, returnDaysToSaveReportResults = F, returnModifiedTime = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ConfigSystem", ConfigSystemID, searchFields, EntityID)

	}


#' Modify a specific ConfigSystem
#'
#' This function modifies fields for a ConfigSystem.
#'
#' @param ConfigSystemID The id of the ConfigSystem to be modified.\cr Run \code{\link{getAllConfigSystems}} for a list of ConfigSystems.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyConfigSystemReporting <- function(ConfigSystemID, EntityID = 1, setDaysToSaveReportResults = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ConfigSystem", ConfigSystemID, names(functionParams), functionParams, EntityID)

	}


#' Create new ConfigSystem.
#'
#' This function creates a new ConfigSystem.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createConfigSystemReporting <- function(EntityID = 1, setDaysToSaveReportResults = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ConfigSystem", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ConfigSystem
#'
#' This function deletes a ConfigSystem.
#'
#' @param ConfigSystemID The id of the ConfigSystem.\cr Run \code{\link{getAllConfigSystems}} for a list of ConfigSystems.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteConfigSystemReporting <- function(ConfigSystemID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ConfigSystem", ConfigSystemID, EntityID)

	}


#' Get all DataMiningReports.
#'
#' This function returns a dataframe of all DataMiningReports in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReports in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReports <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportID = F, returnCreatedTime = F, returnCurrentUserCanEdit = F, returnCurrentUserCanRead = F, returnCurrentUserCanRun = F, returnDelimiter = F, returnDelimiterCode = F, returnHasFieldsThatCanBeTotaled = F, returnIncludeSectionHeaders = F, returnIsFixedWidth = F, returnModifiedTime = F, returnName = F, returnReportID = F, returnReportSchemaObject = F, returnSubjectID = F, returnTextQualifier = F, returnTextQualifierCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReport", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReport
#'
#' This function returns fields for a DataMiningReport.
#'
#' @param DataMiningReportID The id of the DataMiningReport.\cr Run \code{\link{getAllDataMiningReports}} for a list of DataMiningReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReport <- function(DataMiningReportID, EntityID = 1, returnDataMiningReportID = F, returnCreatedTime = F, returnCurrentUserCanEdit = F, returnCurrentUserCanRead = F, returnCurrentUserCanRun = F, returnDelimiter = F, returnDelimiterCode = F, returnHasFieldsThatCanBeTotaled = F, returnIncludeSectionHeaders = F, returnIsFixedWidth = F, returnModifiedTime = F, returnName = F, returnReportID = F, returnReportSchemaObject = F, returnSubjectID = F, returnTextQualifier = F, returnTextQualifierCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReport", DataMiningReportID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReport
#'
#' This function modifies fields for a DataMiningReport.
#'
#' @param DataMiningReportID The id of the DataMiningReport to be modified.\cr Run \code{\link{getAllDataMiningReports}} for a list of DataMiningReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReport <- function(DataMiningReportID, EntityID = 1, setDelimiter = NULL, setDelimiterCode = NULL, setHasFieldsThatCanBeTotaled = NULL, setIncludeSectionHeaders = NULL, setIsFixedWidth = NULL, setReportID = NULL, setSubjectID = NULL, setTextQualifier = NULL, setTextQualifierCode = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReport", DataMiningReportID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReport.
#'
#' This function creates a new DataMiningReport.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReport <- function(EntityID = 1, setDelimiter = NULL, setDelimiterCode = NULL, setHasFieldsThatCanBeTotaled = NULL, setIncludeSectionHeaders = NULL, setIsFixedWidth = NULL, setReportID = NULL, setSubjectID = NULL, setTextQualifier = NULL, setTextQualifierCode = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReport", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReport
#'
#' This function deletes a DataMiningReport.
#'
#' @param DataMiningReportID The id of the DataMiningReport.\cr Run \code{\link{getAllDataMiningReports}} for a list of DataMiningReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReport <- function(DataMiningReportID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReport", DataMiningReportID, EntityID)

	}


#' Get all DataMiningReportFields.
#'
#' This function returns a dataframe of all DataMiningReportFields in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportFields in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportFields <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportFieldID = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnDisplayOrder = F, returnEndPosition = F, returnIsNumeric = F, returnLabel = F, returnModifiedTime = F, returnShowTotal = F, returnStartPosition = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnWidth = F, returnWidthInPixels = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportField", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportField
#'
#' This function returns fields for a DataMiningReportField.
#'
#' @param DataMiningReportFieldID The id of the DataMiningReportField.\cr Run \code{\link{getAllDataMiningReportFields}} for a list of DataMiningReportFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportField <- function(DataMiningReportFieldID, EntityID = 1, returnDataMiningReportFieldID = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnDisplayOrder = F, returnEndPosition = F, returnIsNumeric = F, returnLabel = F, returnModifiedTime = F, returnShowTotal = F, returnStartPosition = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnWidth = F, returnWidthInPixels = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportField", DataMiningReportFieldID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportField
#'
#' This function modifies fields for a DataMiningReportField.
#'
#' @param DataMiningReportFieldID The id of the DataMiningReportField to be modified.\cr Run \code{\link{getAllDataMiningReportFields}} for a list of DataMiningReportFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportField <- function(DataMiningReportFieldID, EntityID = 1, setDataMiningReportID = NULL, setDisplayOrder = NULL, setLabel = NULL, setShowTotal = NULL, setStartPosition = NULL, setSubtopicFieldID = NULL, setWidth = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportField", DataMiningReportFieldID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportField.
#'
#' This function creates a new DataMiningReportField.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportField <- function(EntityID = 1, setDataMiningReportID = NULL, setDisplayOrder = NULL, setLabel = NULL, setShowTotal = NULL, setStartPosition = NULL, setSubtopicFieldID = NULL, setWidth = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportField", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportField
#'
#' This function deletes a DataMiningReportField.
#'
#' @param DataMiningReportFieldID The id of the DataMiningReportField.\cr Run \code{\link{getAllDataMiningReportFields}} for a list of DataMiningReportFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportField <- function(DataMiningReportFieldID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportField", DataMiningReportFieldID, EntityID)

	}


#' Get all DataMiningReportFieldFilters.
#'
#' This function returns a dataframe of all DataMiningReportFieldFilters in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportFieldFilters in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportFieldFilters <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportFieldFilterID = F, returnComparisonType = F, returnComparisonTypeCode = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnDistinctMultiSelectFieldPath = F, returnDistinctMultiSelectModule = F, returnDistinctMultiSelectObject = F, returnDistinctMultiSelectSchemaObject = F, returnFilterType = F, returnFilterTypeCode = F, returnFilterValue = F, returnFormatedDisplayValue = F, returnHigh = F, returnIsPrompt = F, returnList = F, returnListAsJsonDictionaryString = F, returnListAsJsonListString = F, returnListBackingData = F, returnListDisplayValue = F, returnLow = F, returnModifiedTime = F, returnPromptIsRequired = F, returnPromptLabel = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportFieldFilter", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportFieldFilter
#'
#' This function returns fields for a DataMiningReportFieldFilter.
#'
#' @param DataMiningReportFieldFilterID The id of the DataMiningReportFieldFilter.\cr Run \code{\link{getAllDataMiningReportFieldFilters}} for a list of DataMiningReportFieldFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportFieldFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportFieldFilter <- function(DataMiningReportFieldFilterID, EntityID = 1, returnDataMiningReportFieldFilterID = F, returnComparisonType = F, returnComparisonTypeCode = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnDistinctMultiSelectFieldPath = F, returnDistinctMultiSelectModule = F, returnDistinctMultiSelectObject = F, returnDistinctMultiSelectSchemaObject = F, returnFilterType = F, returnFilterTypeCode = F, returnFilterValue = F, returnFormatedDisplayValue = F, returnHigh = F, returnIsPrompt = F, returnList = F, returnListAsJsonDictionaryString = F, returnListAsJsonListString = F, returnListBackingData = F, returnListDisplayValue = F, returnLow = F, returnModifiedTime = F, returnPromptIsRequired = F, returnPromptLabel = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportFieldFilter", DataMiningReportFieldFilterID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportFieldFilter
#'
#' This function modifies fields for a DataMiningReportFieldFilter.
#'
#' @param DataMiningReportFieldFilterID The id of the DataMiningReportFieldFilter to be modified.\cr Run \code{\link{getAllDataMiningReportFieldFilters}} for a list of DataMiningReportFieldFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportFieldFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportFieldFilter <- function(DataMiningReportFieldFilterID, EntityID = 1, setComparisonType = NULL, setComparisonTypeCode = NULL, setDataMiningReportID = NULL, setFilterType = NULL, setFilterTypeCode = NULL, setHigh = NULL, setIsPrompt = NULL, setList = NULL, setListAsJsonDictionaryString = NULL, setListAsJsonListString = NULL, setListBackingData = NULL, setLow = NULL, setPromptIsRequired = NULL, setPromptLabel = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportFieldFilter", DataMiningReportFieldFilterID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportFieldFilter.
#'
#' This function creates a new DataMiningReportFieldFilter.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportFieldFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportFieldFilter <- function(EntityID = 1, setComparisonType = NULL, setComparisonTypeCode = NULL, setDataMiningReportID = NULL, setFilterType = NULL, setFilterTypeCode = NULL, setHigh = NULL, setIsPrompt = NULL, setList = NULL, setListAsJsonDictionaryString = NULL, setListAsJsonListString = NULL, setListBackingData = NULL, setLow = NULL, setPromptIsRequired = NULL, setPromptLabel = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportFieldFilter", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportFieldFilter
#'
#' This function deletes a DataMiningReportFieldFilter.
#'
#' @param DataMiningReportFieldFilterID The id of the DataMiningReportFieldFilter.\cr Run \code{\link{getAllDataMiningReportFieldFilters}} for a list of DataMiningReportFieldFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportFieldFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportFieldFilter <- function(DataMiningReportFieldFilterID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportFieldFilter", DataMiningReportFieldFilterID, EntityID)

	}


#' Get all DataMiningReportFieldParameters.
#'
#' This function returns a dataframe of all DataMiningReportFieldParameters in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportFieldParameters in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportFieldParameters <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportFieldParameterID = F, returnCreatedTime = F, returnDataMiningReportID = F, returnDataType = F, returnDataTypeString = F, returnIsPrompt = F, returnModifiedTime = F, returnParameterName = F, returnPromptLabel = F, returnPromptLabelOrParameterName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F, returnValueString = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportFieldParameter", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportFieldParameter
#'
#' This function returns fields for a DataMiningReportFieldParameter.
#'
#' @param DataMiningReportFieldParameterID The id of the DataMiningReportFieldParameter.\cr Run \code{\link{getAllDataMiningReportFieldParameters}} for a list of DataMiningReportFieldParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportFieldParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportFieldParameter <- function(DataMiningReportFieldParameterID, EntityID = 1, returnDataMiningReportFieldParameterID = F, returnCreatedTime = F, returnDataMiningReportID = F, returnDataType = F, returnDataTypeString = F, returnIsPrompt = F, returnModifiedTime = F, returnParameterName = F, returnPromptLabel = F, returnPromptLabelOrParameterName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F, returnValueString = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportFieldParameter", DataMiningReportFieldParameterID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportFieldParameter
#'
#' This function modifies fields for a DataMiningReportFieldParameter.
#'
#' @param DataMiningReportFieldParameterID The id of the DataMiningReportFieldParameter to be modified.\cr Run \code{\link{getAllDataMiningReportFieldParameters}} for a list of DataMiningReportFieldParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportFieldParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportFieldParameter <- function(DataMiningReportFieldParameterID, EntityID = 1, setDataMiningReportID = NULL, setDataType = NULL, setDataTypeString = NULL, setIsPrompt = NULL, setParameterName = NULL, setPromptLabel = NULL, setValue = NULL, setValueString = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportFieldParameter", DataMiningReportFieldParameterID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportFieldParameter.
#'
#' This function creates a new DataMiningReportFieldParameter.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportFieldParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportFieldParameter <- function(EntityID = 1, setDataMiningReportID = NULL, setDataType = NULL, setDataTypeString = NULL, setIsPrompt = NULL, setParameterName = NULL, setPromptLabel = NULL, setValue = NULL, setValueString = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportFieldParameter", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportFieldParameter
#'
#' This function deletes a DataMiningReportFieldParameter.
#'
#' @param DataMiningReportFieldParameterID The id of the DataMiningReportFieldParameter.\cr Run \code{\link{getAllDataMiningReportFieldParameters}} for a list of DataMiningReportFieldParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportFieldParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportFieldParameter <- function(DataMiningReportFieldParameterID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportFieldParameter", DataMiningReportFieldParameterID, EntityID)

	}


#' Get all DataMiningReportFieldSorts.
#'
#' This function returns a dataframe of all DataMiningReportFieldSorts in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportFieldSorts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportFieldSorts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportFieldSortID = F, returnBreakType = F, returnBreakTypeCode = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnLength = F, returnModifiedTime = F, returnShowCount = F, returnShowSubtotals = F, returnSortDirection = F, returnSortDirectionCode = F, returnSortOrder = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportFieldSort", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportFieldSort
#'
#' This function returns fields for a DataMiningReportFieldSort.
#'
#' @param DataMiningReportFieldSortID The id of the DataMiningReportFieldSort.\cr Run \code{\link{getAllDataMiningReportFieldSorts}} for a list of DataMiningReportFieldSorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportFieldSort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportFieldSort <- function(DataMiningReportFieldSortID, EntityID = 1, returnDataMiningReportFieldSortID = F, returnBreakType = F, returnBreakTypeCode = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnLength = F, returnModifiedTime = F, returnShowCount = F, returnShowSubtotals = F, returnSortDirection = F, returnSortDirectionCode = F, returnSortOrder = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportFieldSort", DataMiningReportFieldSortID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportFieldSort
#'
#' This function modifies fields for a DataMiningReportFieldSort.
#'
#' @param DataMiningReportFieldSortID The id of the DataMiningReportFieldSort to be modified.\cr Run \code{\link{getAllDataMiningReportFieldSorts}} for a list of DataMiningReportFieldSorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportFieldSort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportFieldSort <- function(DataMiningReportFieldSortID, EntityID = 1, setBreakType = NULL, setBreakTypeCode = NULL, setDataMiningReportID = NULL, setLength = NULL, setShowCount = NULL, setShowSubtotals = NULL, setSortDirection = NULL, setSortDirectionCode = NULL, setSortOrder = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportFieldSort", DataMiningReportFieldSortID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportFieldSort.
#'
#' This function creates a new DataMiningReportFieldSort.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportFieldSort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportFieldSort <- function(EntityID = 1, setBreakType = NULL, setBreakTypeCode = NULL, setDataMiningReportID = NULL, setLength = NULL, setShowCount = NULL, setShowSubtotals = NULL, setSortDirection = NULL, setSortDirectionCode = NULL, setSortOrder = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportFieldSort", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportFieldSort
#'
#' This function deletes a DataMiningReportFieldSort.
#'
#' @param DataMiningReportFieldSortID The id of the DataMiningReportFieldSort.\cr Run \code{\link{getAllDataMiningReportFieldSorts}} for a list of DataMiningReportFieldSorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportFieldSort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportFieldSort <- function(DataMiningReportFieldSortID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportFieldSort", DataMiningReportFieldSortID, EntityID)

	}


#' Get all DataMiningReportSortBreaks.
#'
#' This function returns a dataframe of all DataMiningReportSortBreaks in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportSortBreaks in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportSortBreaks <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportSortBreakID = F, returnBreakType = F, returnBreakTypeCode = F, returnCreatedTime = F, returnDataMiningReportFieldSortID = F, returnHasDoubleUnderline = F, returnHasSeparator = F, returnModifiedTime = F, returnSortBreakID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportSortBreak", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportSortBreak
#'
#' This function returns fields for a DataMiningReportSortBreak.
#'
#' @param DataMiningReportSortBreakID The id of the DataMiningReportSortBreak.\cr Run \code{\link{getAllDataMiningReportSortBreaks}} for a list of DataMiningReportSortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportSortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportSortBreak <- function(DataMiningReportSortBreakID, EntityID = 1, returnDataMiningReportSortBreakID = F, returnBreakType = F, returnBreakTypeCode = F, returnCreatedTime = F, returnDataMiningReportFieldSortID = F, returnHasDoubleUnderline = F, returnHasSeparator = F, returnModifiedTime = F, returnSortBreakID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportSortBreak", DataMiningReportSortBreakID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportSortBreak
#'
#' This function modifies fields for a DataMiningReportSortBreak.
#'
#' @param DataMiningReportSortBreakID The id of the DataMiningReportSortBreak to be modified.\cr Run \code{\link{getAllDataMiningReportSortBreaks}} for a list of DataMiningReportSortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportSortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportSortBreak <- function(DataMiningReportSortBreakID, EntityID = 1, setBreakType = NULL, setBreakTypeCode = NULL, setDataMiningReportFieldSortID = NULL, setHasDoubleUnderline = NULL, setHasSeparator = NULL, setSortBreakID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportSortBreak", DataMiningReportSortBreakID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportSortBreak.
#'
#' This function creates a new DataMiningReportSortBreak.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportSortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportSortBreak <- function(EntityID = 1, setBreakType = NULL, setBreakTypeCode = NULL, setDataMiningReportFieldSortID = NULL, setHasDoubleUnderline = NULL, setHasSeparator = NULL, setSortBreakID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportSortBreak", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportSortBreak
#'
#' This function deletes a DataMiningReportSortBreak.
#'
#' @param DataMiningReportSortBreakID The id of the DataMiningReportSortBreak.\cr Run \code{\link{getAllDataMiningReportSortBreaks}} for a list of DataMiningReportSortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportSortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportSortBreak <- function(DataMiningReportSortBreakID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportSortBreak", DataMiningReportSortBreakID, EntityID)

	}


#' Get all DataMiningReportSubtopics.
#'
#' This function returns a dataframe of all DataMiningReportSubtopics in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportSubtopics in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportSubtopics <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportSubtopicID = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnHasRecord = F, returnHasRecordCode = F, returnHasRecordIsEditable = F, returnModifiedTime = F, returnOnlyShowTotals = F, returnShowCount = F, returnShowSubtotals = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportSubtopic", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportSubtopic
#'
#' This function returns fields for a DataMiningReportSubtopic.
#'
#' @param DataMiningReportSubtopicID The id of the DataMiningReportSubtopic.\cr Run \code{\link{getAllDataMiningReportSubtopics}} for a list of DataMiningReportSubtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportSubtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportSubtopic <- function(DataMiningReportSubtopicID, EntityID = 1, returnDataMiningReportSubtopicID = F, returnCreatedTime = F, returnCurrentUserCanRead = F, returnDataMiningReportID = F, returnHasRecord = F, returnHasRecordCode = F, returnHasRecordIsEditable = F, returnModifiedTime = F, returnOnlyShowTotals = F, returnShowCount = F, returnShowSubtotals = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportSubtopic", DataMiningReportSubtopicID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportSubtopic
#'
#' This function modifies fields for a DataMiningReportSubtopic.
#'
#' @param DataMiningReportSubtopicID The id of the DataMiningReportSubtopic to be modified.\cr Run \code{\link{getAllDataMiningReportSubtopics}} for a list of DataMiningReportSubtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportSubtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportSubtopic <- function(DataMiningReportSubtopicID, EntityID = 1, setDataMiningReportID = NULL, setHasRecord = NULL, setHasRecordCode = NULL, setOnlyShowTotals = NULL, setShowCount = NULL, setShowSubtotals = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportSubtopic", DataMiningReportSubtopicID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportSubtopic.
#'
#' This function creates a new DataMiningReportSubtopic.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportSubtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportSubtopic <- function(EntityID = 1, setDataMiningReportID = NULL, setHasRecord = NULL, setHasRecordCode = NULL, setOnlyShowTotals = NULL, setShowCount = NULL, setShowSubtotals = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportSubtopic", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportSubtopic
#'
#' This function deletes a DataMiningReportSubtopic.
#'
#' @param DataMiningReportSubtopicID The id of the DataMiningReportSubtopic.\cr Run \code{\link{getAllDataMiningReportSubtopics}} for a list of DataMiningReportSubtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportSubtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportSubtopic <- function(DataMiningReportSubtopicID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportSubtopic", DataMiningReportSubtopicID, EntityID)

	}


#' Get all DataMiningReportSubtopicStandardFilters.
#'
#' This function returns a dataframe of all DataMiningReportSubtopicStandardFilters in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All DataMiningReportSubtopicStandardFilters in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllDataMiningReportSubtopicStandardFilters <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnDataMiningReportSubtopicStandardFilterID = F, returnCreatedTime = F, returnDataMiningReportID = F, returnIsEnabled = F, returnModifiedTime = F, returnSubtopicStandardFilterID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "DataMiningReportSubtopicStandardFilter", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific DataMiningReportSubtopicStandardFilter
#'
#' This function returns fields for a DataMiningReportSubtopicStandardFilter.
#'
#' @param DataMiningReportSubtopicStandardFilterID The id of the DataMiningReportSubtopicStandardFilter.\cr Run \code{\link{getAllDataMiningReportSubtopicStandardFilters}} for a list of DataMiningReportSubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the DataMiningReportSubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getDataMiningReportSubtopicStandardFilter <- function(DataMiningReportSubtopicStandardFilterID, EntityID = 1, returnDataMiningReportSubtopicStandardFilterID = F, returnCreatedTime = F, returnDataMiningReportID = F, returnIsEnabled = F, returnModifiedTime = F, returnSubtopicStandardFilterID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "DataMiningReportSubtopicStandardFilter", DataMiningReportSubtopicStandardFilterID, searchFields, EntityID)

	}


#' Modify a specific DataMiningReportSubtopicStandardFilter
#'
#' This function modifies fields for a DataMiningReportSubtopicStandardFilter.
#'
#' @param DataMiningReportSubtopicStandardFilterID The id of the DataMiningReportSubtopicStandardFilter to be modified.\cr Run \code{\link{getAllDataMiningReportSubtopicStandardFilters}} for a list of DataMiningReportSubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified DataMiningReportSubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyDataMiningReportSubtopicStandardFilter <- function(DataMiningReportSubtopicStandardFilterID, EntityID = 1, setDataMiningReportID = NULL, setIsEnabled = NULL, setSubtopicStandardFilterID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "DataMiningReportSubtopicStandardFilter", DataMiningReportSubtopicStandardFilterID, names(functionParams), functionParams, EntityID)

	}


#' Create new DataMiningReportSubtopicStandardFilter.
#'
#' This function creates a new DataMiningReportSubtopicStandardFilter.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created DataMiningReportSubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createDataMiningReportSubtopicStandardFilter <- function(EntityID = 1, setDataMiningReportID = NULL, setIsEnabled = NULL, setSubtopicStandardFilterID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "DataMiningReportSubtopicStandardFilter", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific DataMiningReportSubtopicStandardFilter
#'
#' This function deletes a DataMiningReportSubtopicStandardFilter.
#'
#' @param DataMiningReportSubtopicStandardFilterID The id of the DataMiningReportSubtopicStandardFilter.\cr Run \code{\link{getAllDataMiningReportSubtopicStandardFilters}} for a list of DataMiningReportSubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted DataMiningReportSubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteDataMiningReportSubtopicStandardFilter <- function(DataMiningReportSubtopicStandardFilterID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "DataMiningReportSubtopicStandardFilter", DataMiningReportSubtopicStandardFilterID, EntityID)

	}


#' Get all Pages.
#'
#' This function returns a dataframe of all Pages in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Pages in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllPages <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnPageID = F, returnCreatedTime = F, returnModifiedTime = F, returnPageNumber = F, returnReportQueueID = F, returnTables = F, returnTotalHeightInPoints = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Page", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Page
#'
#' This function returns fields for a Page.
#'
#' @param PageID The id of the Page.\cr Run \code{\link{getAllPages}} for a list of Pages.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Page.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getPage <- function(PageID, EntityID = 1, returnPageID = F, returnCreatedTime = F, returnModifiedTime = F, returnPageNumber = F, returnReportQueueID = F, returnTables = F, returnTotalHeightInPoints = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Page", PageID, searchFields, EntityID)

	}


#' Modify a specific Page
#'
#' This function modifies fields for a Page.
#'
#' @param PageID The id of the Page to be modified.\cr Run \code{\link{getAllPages}} for a list of Pages.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Page.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyPage <- function(PageID, EntityID = 1, setPageNumber = NULL, setReportQueueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Page", PageID, names(functionParams), functionParams, EntityID)

	}


#' Create new Page.
#'
#' This function creates a new Page.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Page.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createPage <- function(EntityID = 1, setPageNumber = NULL, setReportQueueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Page", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Page
#'
#' This function deletes a Page.
#'
#' @param PageID The id of the Page.\cr Run \code{\link{getAllPages}} for a list of Pages.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Page.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deletePage <- function(PageID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Page", PageID, EntityID)

	}


#' Get all PageBursts.
#'
#' This function returns a dataframe of all PageBursts in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All PageBursts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllPageBursts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnPageBurstID = F, returnCreatedTime = F, returnModifiedTime = F, returnObjectID = F, returnObjectPrimaryKey = F, returnPageID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "PageBurst", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific PageBurst
#'
#' This function returns fields for a PageBurst.
#'
#' @param PageBurstID The id of the PageBurst.\cr Run \code{\link{getAllPageBursts}} for a list of PageBursts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the PageBurst.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getPageBurst <- function(PageBurstID, EntityID = 1, returnPageBurstID = F, returnCreatedTime = F, returnModifiedTime = F, returnObjectID = F, returnObjectPrimaryKey = F, returnPageID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "PageBurst", PageBurstID, searchFields, EntityID)

	}


#' Modify a specific PageBurst
#'
#' This function modifies fields for a PageBurst.
#'
#' @param PageBurstID The id of the PageBurst to be modified.\cr Run \code{\link{getAllPageBursts}} for a list of PageBursts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified PageBurst.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyPageBurst <- function(PageBurstID, EntityID = 1, setObjectID = NULL, setObjectPrimaryKey = NULL, setPageID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "PageBurst", PageBurstID, names(functionParams), functionParams, EntityID)

	}


#' Create new PageBurst.
#'
#' This function creates a new PageBurst.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created PageBurst.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createPageBurst <- function(EntityID = 1, setObjectID = NULL, setObjectPrimaryKey = NULL, setPageID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "PageBurst", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific PageBurst
#'
#' This function deletes a PageBurst.
#'
#' @param PageBurstID The id of the PageBurst.\cr Run \code{\link{getAllPageBursts}} for a list of PageBursts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted PageBurst.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deletePageBurst <- function(PageBurstID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "PageBurst", PageBurstID, EntityID)

	}


#' Get all PromptTemplates.
#'
#' This function returns a dataframe of all PromptTemplates in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All PromptTemplates in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllPromptTemplates <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnPromptTemplateID = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserHasAccess = F, returnCurrentUserIsOwnerOrCreator = F, returnCurrentUserIsOwnerOrCreatorNonOperation = F, returnDescription = F, returnEntityID = F, returnModifiedDate = F, returnModifiedTime = F, returnName = F, returnPromptValues = F, returnPromptValuesJson = F, returnPromptXML = F, returnPublished = F, returnReportDefinition = F, returnReportDefinitionXml = F, returnReportID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "PromptTemplate", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific PromptTemplate
#'
#' This function returns fields for a PromptTemplate.
#'
#' @param PromptTemplateID The id of the PromptTemplate.\cr Run \code{\link{getAllPromptTemplates}} for a list of PromptTemplates.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the PromptTemplate.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getPromptTemplate <- function(PromptTemplateID, EntityID = 1, returnPromptTemplateID = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserHasAccess = F, returnCurrentUserIsOwnerOrCreator = F, returnCurrentUserIsOwnerOrCreatorNonOperation = F, returnDescription = F, returnEntityID = F, returnModifiedDate = F, returnModifiedTime = F, returnName = F, returnPromptValues = F, returnPromptValuesJson = F, returnPromptXML = F, returnPublished = F, returnReportDefinition = F, returnReportDefinitionXml = F, returnReportID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "PromptTemplate", PromptTemplateID, searchFields, EntityID)

	}


#' Modify a specific PromptTemplate
#'
#' This function modifies fields for a PromptTemplate.
#'
#' @param PromptTemplateID The id of the PromptTemplate to be modified.\cr Run \code{\link{getAllPromptTemplates}} for a list of PromptTemplates.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified PromptTemplate.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyPromptTemplate <- function(PromptTemplateID, EntityID = 1, setDescription = NULL, setEntityID = NULL, setName = NULL, setPromptValuesJson = NULL, setPublished = NULL, setReportID = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "PromptTemplate", PromptTemplateID, names(functionParams), functionParams, EntityID)

	}


#' Create new PromptTemplate.
#'
#' This function creates a new PromptTemplate.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created PromptTemplate.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createPromptTemplate <- function(EntityID = 1, setDescription = NULL, setEntityID = NULL, setName = NULL, setPromptValuesJson = NULL, setPublished = NULL, setReportID = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "PromptTemplate", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific PromptTemplate
#'
#' This function deletes a PromptTemplate.
#'
#' @param PromptTemplateID The id of the PromptTemplate.\cr Run \code{\link{getAllPromptTemplates}} for a list of PromptTemplates.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted PromptTemplate.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deletePromptTemplate <- function(PromptTemplateID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "PromptTemplate", PromptTemplateID, EntityID)

	}


#' Get all Reports.
#'
#' This function returns a dataframe of all Reports in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Reports in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReports <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportID = F, returnAllowOthersToClone = F, returnBottomMargin = F, returnBurstActionIDPrintAction = F, returnCanBeAddedToScreens = F, returnCanBePublished = F, returnCanBeScheduled = F, returnCanRevert = F, returnContainsStateSpecificFields = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserCanClone = F, returnCurrentUserCanDelete = F, returnCurrentUserCanRead = F, returnCurrentUserCanSetStateID = F, returnCurrentUserCanUpdate = F, returnCurrentUserCanUpdateOverrideFields = F, returnCurrentUserIsEffectiveOwner = F, returnDefinitionWasModified = F, returnDescription = F, returnDescriptionOverride = F, returnDisplayInMainMenuAndListScreens = F, returnDisplayInMainMenuAndListScreensOverride = F, returnEffectiveDescription = F, returnEffectiveDisplayInMainMenuAndListScreens = F, returnEffectiveFileExtensionOverride = F, returnEncodingType = F, returnEncodingTypeCode = F, returnFileExtensionNewOverride = F, returnFileExtensionOverride = F, returnHasErrors = F, returnHasNoUnpublishedChanges = F, returnHasUnpublishedChanges = F, returnIsCrystalReport = F, returnIsEligibleForPrintAction = F, returnIsSkywardMaintained = F, returnIsSkywardReport = F, returnIsSummaryReport = F, returnJsonData = F, returnKeepDataSources = F, returnLastRunTime = F, returnLeftMargin = F, returnMediaIDCrystalRPT = F, returnModifiedTime = F, returnModuleIDBase = F, returnModulePath = F, returnModules = F, returnName = F, returnNotPublished = F, returnObjectIDBase = F, returnObjectName = F, returnOriginReportSkywardID = F, returnOverrideDescription = F, returnOverrideDisplayInMainMenuAndListScreens = F, returnOverrideFileExtensionOverride = F, returnPageHeight = F, returnPageOrientation = F, returnPageOrientationCode = F, returnPageSize = F, returnPageSizeCode = F, returnPageWidth = F, returnPortal = F, returnPortalCode = F, returnPromptForFiscalYear = F, returnPromptList = F, returnPublished = F, returnPublishedCalculatedInCSharp = F, returnPublishedDefinitionText = F, returnPublishedReportDefinition = F, returnPublishedTime = F, returnReportType = F, returnReportTypeCode = F, returnRightMargin = F, returnRunCount = F, returnSaveUntil = F, returnSkywardHash = F, returnSkywardID = F, returnSkywardReportSystemVersion = F, returnStateID = F, returnStateSpecificFields = F, returnStateSpecificFieldsDisplay = F, returnTopMargin = F, returnUpdatesMadeToMasterReport = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F, returnWorkingDefinitionText = F, returnWorkingReportDefinition = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Report", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Report
#'
#' This function returns fields for a Report.
#'
#' @param ReportID The id of the Report.\cr Run \code{\link{getAllReports}} for a list of Reports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Report.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReport <- function(ReportID, EntityID = 1, returnReportID = F, returnAllowOthersToClone = F, returnBottomMargin = F, returnBurstActionIDPrintAction = F, returnCanBeAddedToScreens = F, returnCanBePublished = F, returnCanBeScheduled = F, returnCanRevert = F, returnContainsStateSpecificFields = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserCanClone = F, returnCurrentUserCanDelete = F, returnCurrentUserCanRead = F, returnCurrentUserCanSetStateID = F, returnCurrentUserCanUpdate = F, returnCurrentUserCanUpdateOverrideFields = F, returnCurrentUserIsEffectiveOwner = F, returnDefinitionWasModified = F, returnDescription = F, returnDescriptionOverride = F, returnDisplayInMainMenuAndListScreens = F, returnDisplayInMainMenuAndListScreensOverride = F, returnEffectiveDescription = F, returnEffectiveDisplayInMainMenuAndListScreens = F, returnEffectiveFileExtensionOverride = F, returnEncodingType = F, returnEncodingTypeCode = F, returnFileExtensionNewOverride = F, returnFileExtensionOverride = F, returnHasErrors = F, returnHasNoUnpublishedChanges = F, returnHasUnpublishedChanges = F, returnIsCrystalReport = F, returnIsEligibleForPrintAction = F, returnIsSkywardMaintained = F, returnIsSkywardReport = F, returnIsSummaryReport = F, returnJsonData = F, returnKeepDataSources = F, returnLastRunTime = F, returnLeftMargin = F, returnMediaIDCrystalRPT = F, returnModifiedTime = F, returnModuleIDBase = F, returnModulePath = F, returnModules = F, returnName = F, returnNotPublished = F, returnObjectIDBase = F, returnObjectName = F, returnOriginReportSkywardID = F, returnOverrideDescription = F, returnOverrideDisplayInMainMenuAndListScreens = F, returnOverrideFileExtensionOverride = F, returnPageHeight = F, returnPageOrientation = F, returnPageOrientationCode = F, returnPageSize = F, returnPageSizeCode = F, returnPageWidth = F, returnPortal = F, returnPortalCode = F, returnPromptForFiscalYear = F, returnPromptList = F, returnPublished = F, returnPublishedCalculatedInCSharp = F, returnPublishedDefinitionText = F, returnPublishedReportDefinition = F, returnPublishedTime = F, returnReportType = F, returnReportTypeCode = F, returnRightMargin = F, returnRunCount = F, returnSaveUntil = F, returnSkywardHash = F, returnSkywardID = F, returnSkywardReportSystemVersion = F, returnStateID = F, returnStateSpecificFields = F, returnStateSpecificFieldsDisplay = F, returnTopMargin = F, returnUpdatesMadeToMasterReport = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F, returnWorkingDefinitionText = F, returnWorkingReportDefinition = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Report", ReportID, searchFields, EntityID)

	}


#' Modify a specific Report
#'
#' This function modifies fields for a Report.
#'
#' @param ReportID The id of the Report to be modified.\cr Run \code{\link{getAllReports}} for a list of Reports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Report.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReport <- function(ReportID, EntityID = 1, setAllowOthersToClone = NULL, setBottomMargin = NULL, setBurstActionIDPrintAction = NULL, setCrystalParameterData = NULL, setDescription = NULL, setDescriptionOverride = NULL, setDisplayInMainMenuAndListScreens = NULL, setDisplayInMainMenuAndListScreensOverride = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setFileExtensionNewOverride = NULL, setFileExtensionOverride = NULL, setIsSkywardMaintained = NULL, setJsonData = NULL, setKeepDataSources = NULL, setLeftMargin = NULL, setMediaIDCrystalRPT = NULL, setModuleIDBase = NULL, setName = NULL, setObjectIDBase = NULL, setOriginReportSkywardID = NULL, setOverrideDisplayInMainMenuAndListScreens = NULL, setPageHeight = NULL, setPageOrientationCode = NULL, setPageSizeCode = NULL, setPageWidth = NULL, setPortal = NULL, setPortalCode = NULL, setPromptForFiscalYear = NULL, setPublishedTime = NULL, setReportType = NULL, setReportTypeCode = NULL, setRightMargin = NULL, setSaveUntil = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSkywardReportSystemVersion = NULL, setStateID = NULL, setTopMargin = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Report", ReportID, names(functionParams), functionParams, EntityID)

	}


#' Create new Report.
#'
#' This function creates a new Report.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Report.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReport <- function(EntityID = 1, setAllowOthersToClone = NULL, setBottomMargin = NULL, setBurstActionIDPrintAction = NULL, setCrystalParameterData = NULL, setDescription = NULL, setDescriptionOverride = NULL, setDisplayInMainMenuAndListScreens = NULL, setDisplayInMainMenuAndListScreensOverride = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setFileExtensionNewOverride = NULL, setFileExtensionOverride = NULL, setIsSkywardMaintained = NULL, setJsonData = NULL, setKeepDataSources = NULL, setLeftMargin = NULL, setMediaIDCrystalRPT = NULL, setModuleIDBase = NULL, setName = NULL, setObjectIDBase = NULL, setOriginReportSkywardID = NULL, setOverrideDisplayInMainMenuAndListScreens = NULL, setPageHeight = NULL, setPageOrientationCode = NULL, setPageSizeCode = NULL, setPageWidth = NULL, setPortal = NULL, setPortalCode = NULL, setPromptForFiscalYear = NULL, setPublishedTime = NULL, setReportType = NULL, setReportTypeCode = NULL, setRightMargin = NULL, setSaveUntil = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSkywardReportSystemVersion = NULL, setStateID = NULL, setTopMargin = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Report", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Report
#'
#' This function deletes a Report.
#'
#' @param ReportID The id of the Report.\cr Run \code{\link{getAllReports}} for a list of Reports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Report.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReport <- function(ReportID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Report", ReportID, EntityID)

	}


#' Get all ReportErrors.
#'
#' This function returns a dataframe of all ReportErrors in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportErrors in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportErrors <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportErrorID = F, returnCreatedTime = F, returnErrorMessage = F, returnModifiedTime = F, returnReportID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportError", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportError
#'
#' This function returns fields for a ReportError.
#'
#' @param ReportErrorID The id of the ReportError.\cr Run \code{\link{getAllReportErrors}} for a list of ReportErrors.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportError.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportError <- function(ReportErrorID, EntityID = 1, returnReportErrorID = F, returnCreatedTime = F, returnErrorMessage = F, returnModifiedTime = F, returnReportID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportError", ReportErrorID, searchFields, EntityID)

	}


#' Modify a specific ReportError
#'
#' This function modifies fields for a ReportError.
#'
#' @param ReportErrorID The id of the ReportError to be modified.\cr Run \code{\link{getAllReportErrors}} for a list of ReportErrors.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportError.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportError <- function(ReportErrorID, EntityID = 1, setErrorMessage = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportError", ReportErrorID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportError.
#'
#' This function creates a new ReportError.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportError.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportError <- function(EntityID = 1, setErrorMessage = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportError", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportError
#'
#' This function deletes a ReportError.
#'
#' @param ReportErrorID The id of the ReportError.\cr Run \code{\link{getAllReportErrors}} for a list of ReportErrors.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportError.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportError <- function(ReportErrorID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportError", ReportErrorID, EntityID)

	}


#' Get all ReportMenuModules.
#'
#' This function returns a dataframe of all ReportMenuModules in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportMenuModules in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportMenuModules <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportMenuModuleID = F, returnCreatedTime = F, returnEffectiveIsPrimary = F, returnIsPrimary = F, returnIsPrimaryOverride = F, returnIsSkywardReportMenuModule = F, returnMenuModuleID = F, returnModifiedTime = F, returnReportID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportMenuModule", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportMenuModule
#'
#' This function returns fields for a ReportMenuModule.
#'
#' @param ReportMenuModuleID The id of the ReportMenuModule.\cr Run \code{\link{getAllReportMenuModules}} for a list of ReportMenuModules.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportMenuModule.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportMenuModule <- function(ReportMenuModuleID, EntityID = 1, returnReportMenuModuleID = F, returnCreatedTime = F, returnEffectiveIsPrimary = F, returnIsPrimary = F, returnIsPrimaryOverride = F, returnIsSkywardReportMenuModule = F, returnMenuModuleID = F, returnModifiedTime = F, returnReportID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportMenuModule", ReportMenuModuleID, searchFields, EntityID)

	}


#' Modify a specific ReportMenuModule
#'
#' This function modifies fields for a ReportMenuModule.
#'
#' @param ReportMenuModuleID The id of the ReportMenuModule to be modified.\cr Run \code{\link{getAllReportMenuModules}} for a list of ReportMenuModules.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportMenuModule.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportMenuModule <- function(ReportMenuModuleID, EntityID = 1, setIsPrimary = NULL, setIsPrimaryOverride = NULL, setMenuModuleID = NULL, setReportID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportMenuModule", ReportMenuModuleID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportMenuModule.
#'
#' This function creates a new ReportMenuModule.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportMenuModule.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportMenuModule <- function(EntityID = 1, setIsPrimary = NULL, setIsPrimaryOverride = NULL, setMenuModuleID = NULL, setReportID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportMenuModule", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportMenuModule
#'
#' This function deletes a ReportMenuModule.
#'
#' @param ReportMenuModuleID The id of the ReportMenuModule.\cr Run \code{\link{getAllReportMenuModules}} for a list of ReportMenuModules.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportMenuModule.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportMenuModule <- function(ReportMenuModuleID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportMenuModule", ReportMenuModuleID, EntityID)

	}


#' Get all ReportQueues.
#'
#' This function returns a dataframe of all ReportQueues in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportQueues in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportQueues <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportQueueID = F, returnApplication = F, returnBurstObjectIDs = F, returnCachedEntity = F, returnCachedFiscalYear = F, returnCachedFiscalYearSelectedOrCurrent = F, returnCachedSchoolYear = F, returnCachedSchoolYearSelectedOrCurrent = F, returnCanCancel = F, returnConcatenatedPromptValues = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserCanView = F, returnDataSource = F, returnDataSourceCode = F, returnEncoding = F, returnEncodingType = F, returnEncodingTypeCode = F, returnEndTime = F, returnEntityID = F, returnEntityIDList = F, returnFiscalYearID = F, returnFiscalYearIDSelectedOrCurrent = F, returnFTPResultID = F, returnHasContent = F, returnHasContentDownloadable = F, returnHasContentViewable = F, returnHasPrintAction = F, returnHideFiscalYear = F, returnHideSchoolYear = F, returnHostname = F, returnIsCrystalReport = F, returnIsEligibleForNonPrintBurstAction = F, returnIsFromPublishedVersion = F, returnIsViewableReport = F, returnLastActivity = F, returnLogID = F, returnMediaID = F, returnMediaIDCsv = F, returnMediaIDDownload = F, returnMediaIDPrint = F, returnModifiedTime = F, returnPageCount = F, returnPageCountWhenCompleted = F, returnProcessID = F, returnPromptTemplateID = F, returnPromptValues = F, returnQueryDuration = F, returnQueryStartTime = F, returnQueue = F, returnQueueCode = F, returnQueuedDuration = F, returnReferrerPath = F, returnRenderingDuration = F, returnRenderingStartTime = F, returnReportDefinition = F, returnReportFileExtensionOverride = F, returnReportID = F, returnReportName = F, returnReportQueueIDSummaryReport = F, returnReportQueueIDSummaryReportSource = F, returnReportType = F, returnReportTypeCode = F, returnSaveUntil = F, returnScheduledReportID = F, returnSchoolYearID = F, returnSchoolYearIDSelectedOrCurrent = F, returnSchoolYearNumericYearOrCurrent = F, returnSectionID = F, returnSkywardReportSystemVersion = F, returnStatus = F, returnStatusAction = F, returnStatusActionXML = F, returnStatusCode = F, returnThreadName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportQueue", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportQueue
#'
#' This function returns fields for a ReportQueue.
#'
#' @param ReportQueueID The id of the ReportQueue.\cr Run \code{\link{getAllReportQueues}} for a list of ReportQueues.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportQueue.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportQueue <- function(ReportQueueID, EntityID = 1, returnReportQueueID = F, returnApplication = F, returnBurstObjectIDs = F, returnCachedEntity = F, returnCachedFiscalYear = F, returnCachedFiscalYearSelectedOrCurrent = F, returnCachedSchoolYear = F, returnCachedSchoolYearSelectedOrCurrent = F, returnCanCancel = F, returnConcatenatedPromptValues = F, returnCreatedTime = F, returnCrystalParameterData = F, returnCurrentUserCanView = F, returnDataSource = F, returnDataSourceCode = F, returnEncoding = F, returnEncodingType = F, returnEncodingTypeCode = F, returnEndTime = F, returnEntityID = F, returnEntityIDList = F, returnFiscalYearID = F, returnFiscalYearIDSelectedOrCurrent = F, returnFTPResultID = F, returnHasContent = F, returnHasContentDownloadable = F, returnHasContentViewable = F, returnHasPrintAction = F, returnHideFiscalYear = F, returnHideSchoolYear = F, returnHostname = F, returnIsCrystalReport = F, returnIsEligibleForNonPrintBurstAction = F, returnIsFromPublishedVersion = F, returnIsViewableReport = F, returnLastActivity = F, returnLogID = F, returnMediaID = F, returnMediaIDCsv = F, returnMediaIDDownload = F, returnMediaIDPrint = F, returnModifiedTime = F, returnPageCount = F, returnPageCountWhenCompleted = F, returnProcessID = F, returnPromptTemplateID = F, returnPromptValues = F, returnQueryDuration = F, returnQueryStartTime = F, returnQueue = F, returnQueueCode = F, returnQueuedDuration = F, returnReferrerPath = F, returnRenderingDuration = F, returnRenderingStartTime = F, returnReportDefinition = F, returnReportFileExtensionOverride = F, returnReportID = F, returnReportName = F, returnReportQueueIDSummaryReport = F, returnReportQueueIDSummaryReportSource = F, returnReportType = F, returnReportTypeCode = F, returnSaveUntil = F, returnScheduledReportID = F, returnSchoolYearID = F, returnSchoolYearIDSelectedOrCurrent = F, returnSchoolYearNumericYearOrCurrent = F, returnSectionID = F, returnSkywardReportSystemVersion = F, returnStatus = F, returnStatusAction = F, returnStatusActionXML = F, returnStatusCode = F, returnThreadName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportQueue", ReportQueueID, searchFields, EntityID)

	}


#' Modify a specific ReportQueue
#'
#' This function modifies fields for a ReportQueue.
#'
#' @param ReportQueueID The id of the ReportQueue to be modified.\cr Run \code{\link{getAllReportQueues}} for a list of ReportQueues.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportQueue.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportQueue <- function(ReportQueueID, EntityID = 1, setApplication = NULL, setCrystalParameterData = NULL, setDataSource = NULL, setDataSourceCode = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setEndTime = NULL, setEntityID = NULL, setFiscalYearID = NULL, setFiscalYearIDSelectedOrCurrent = NULL, setFTPResultID = NULL, setHostname = NULL, setIsFromPublishedVersion = NULL, setLastActivity = NULL, setLogID = NULL, setMediaID = NULL, setMediaIDCsv = NULL, setMediaIDDownload = NULL, setMediaIDPrint = NULL, setPageCountWhenCompleted = NULL, setProcessID = NULL, setPromptTemplateID = NULL, setQueryStartTime = NULL, setQueue = NULL, setReferrerPath = NULL, setRenderingStartTime = NULL, setReportFileExtensionOverride = NULL, setReportID = NULL, setReportName = NULL, setReportQueueIDSummaryReportSource = NULL, setReportType = NULL, setReportTypeCode = NULL, setSaveUntil = NULL, setScheduledReportID = NULL, setSchoolYearID = NULL, setSchoolYearIDSelectedOrCurrent = NULL, setSchoolYearNumericYearOrCurrent = NULL, setSectionID = NULL, setSkywardReportSystemVersion = NULL, setStatus = NULL, setStatusActionXML = NULL, setThreadName = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportQueue", ReportQueueID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportQueue.
#'
#' This function creates a new ReportQueue.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportQueue.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportQueue <- function(EntityID = 1, setApplication = NULL, setCrystalParameterData = NULL, setDataSource = NULL, setDataSourceCode = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setEndTime = NULL, setEntityID = NULL, setFiscalYearID = NULL, setFiscalYearIDSelectedOrCurrent = NULL, setFTPResultID = NULL, setHostname = NULL, setIsFromPublishedVersion = NULL, setLastActivity = NULL, setLogID = NULL, setMediaID = NULL, setMediaIDCsv = NULL, setMediaIDDownload = NULL, setMediaIDPrint = NULL, setPageCountWhenCompleted = NULL, setProcessID = NULL, setPromptTemplateID = NULL, setQueryStartTime = NULL, setQueue = NULL, setReferrerPath = NULL, setRenderingStartTime = NULL, setReportFileExtensionOverride = NULL, setReportID = NULL, setReportName = NULL, setReportQueueIDSummaryReportSource = NULL, setReportType = NULL, setReportTypeCode = NULL, setSaveUntil = NULL, setScheduledReportID = NULL, setSchoolYearID = NULL, setSchoolYearIDSelectedOrCurrent = NULL, setSchoolYearNumericYearOrCurrent = NULL, setSectionID = NULL, setSkywardReportSystemVersion = NULL, setStatus = NULL, setStatusActionXML = NULL, setThreadName = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportQueue", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportQueue
#'
#' This function deletes a ReportQueue.
#'
#' @param ReportQueueID The id of the ReportQueue.\cr Run \code{\link{getAllReportQueues}} for a list of ReportQueues.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportQueue.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportQueue <- function(ReportQueueID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportQueue", ReportQueueID, EntityID)

	}


#' Get all ReportQueueBurstActions.
#'
#' This function returns a dataframe of all ReportQueueBurstActions in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportQueueBurstActions in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportQueueBurstActions <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportQueueBurstActionID = F, returnBurstActionID = F, returnChangesetXML = F, returnCreatedTime = F, returnLogID = F, returnModifiedTime = F, returnParameters = F, returnParametersXML = F, returnReportQueueID = F, returnStatus = F, returnStatusCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportQueueBurstAction", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportQueueBurstAction
#'
#' This function returns fields for a ReportQueueBurstAction.
#'
#' @param ReportQueueBurstActionID The id of the ReportQueueBurstAction.\cr Run \code{\link{getAllReportQueueBurstActions}} for a list of ReportQueueBurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportQueueBurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportQueueBurstAction <- function(ReportQueueBurstActionID, EntityID = 1, returnReportQueueBurstActionID = F, returnBurstActionID = F, returnChangesetXML = F, returnCreatedTime = F, returnLogID = F, returnModifiedTime = F, returnParameters = F, returnParametersXML = F, returnReportQueueID = F, returnStatus = F, returnStatusCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportQueueBurstAction", ReportQueueBurstActionID, searchFields, EntityID)

	}


#' Modify a specific ReportQueueBurstAction
#'
#' This function modifies fields for a ReportQueueBurstAction.
#'
#' @param ReportQueueBurstActionID The id of the ReportQueueBurstAction to be modified.\cr Run \code{\link{getAllReportQueueBurstActions}} for a list of ReportQueueBurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportQueueBurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportQueueBurstAction <- function(ReportQueueBurstActionID, EntityID = 1, setBurstActionID = NULL, setChangesetXML = NULL, setLogID = NULL, setParametersXML = NULL, setReportQueueID = NULL, setStatus = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportQueueBurstAction", ReportQueueBurstActionID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportQueueBurstAction.
#'
#' This function creates a new ReportQueueBurstAction.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportQueueBurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportQueueBurstAction <- function(EntityID = 1, setBurstActionID = NULL, setChangesetXML = NULL, setLogID = NULL, setParametersXML = NULL, setReportQueueID = NULL, setStatus = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportQueueBurstAction", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportQueueBurstAction
#'
#' This function deletes a ReportQueueBurstAction.
#'
#' @param ReportQueueBurstActionID The id of the ReportQueueBurstAction.\cr Run \code{\link{getAllReportQueueBurstActions}} for a list of ReportQueueBurstActions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportQueueBurstAction.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportQueueBurstAction <- function(ReportQueueBurstActionID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportQueueBurstAction", ReportQueueBurstActionID, EntityID)

	}


#' Get all ReportQueueSQLs.
#'
#' This function returns a dataframe of all ReportQueueSQLs in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportQueueSQLs in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportQueueSQLs <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportQueueSQLID = F, returnCreatedTime = F, returnExecutedQuery = F, returnModifiedTime = F, returnReportQueueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportQueueSQL", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportQueueSQL
#'
#' This function returns fields for a ReportQueueSQL.
#'
#' @param ReportQueueSQLID The id of the ReportQueueSQL.\cr Run \code{\link{getAllReportQueueSQLs}} for a list of ReportQueueSQLs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportQueueSQL.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportQueueSQL <- function(ReportQueueSQLID, EntityID = 1, returnReportQueueSQLID = F, returnCreatedTime = F, returnExecutedQuery = F, returnModifiedTime = F, returnReportQueueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportQueueSQL", ReportQueueSQLID, searchFields, EntityID)

	}


#' Modify a specific ReportQueueSQL
#'
#' This function modifies fields for a ReportQueueSQL.
#'
#' @param ReportQueueSQLID The id of the ReportQueueSQL to be modified.\cr Run \code{\link{getAllReportQueueSQLs}} for a list of ReportQueueSQLs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportQueueSQL.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportQueueSQL <- function(ReportQueueSQLID, EntityID = 1, setExecutedQuery = NULL, setReportQueueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportQueueSQL", ReportQueueSQLID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportQueueSQL.
#'
#' This function creates a new ReportQueueSQL.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportQueueSQL.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportQueueSQL <- function(EntityID = 1, setExecutedQuery = NULL, setReportQueueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportQueueSQL", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportQueueSQL
#'
#' This function deletes a ReportQueueSQL.
#'
#' @param ReportQueueSQLID The id of the ReportQueueSQL.\cr Run \code{\link{getAllReportQueueSQLs}} for a list of ReportQueueSQLs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportQueueSQL.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportQueueSQL <- function(ReportQueueSQLID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportQueueSQL", ReportQueueSQLID, EntityID)

	}


#' Get all ReportRoles.
#'
#' This function returns a dataframe of all ReportRoles in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportRoles in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportRoles <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportRoleID = F, returnCreatedTime = F, returnModifiedTime = F, returnReportID = F, returnRoleID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportRole", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportRole
#'
#' This function returns fields for a ReportRole.
#'
#' @param ReportRoleID The id of the ReportRole.\cr Run \code{\link{getAllReportRoles}} for a list of ReportRoles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportRole.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportRole <- function(ReportRoleID, EntityID = 1, returnReportRoleID = F, returnCreatedTime = F, returnModifiedTime = F, returnReportID = F, returnRoleID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportRole", ReportRoleID, searchFields, EntityID)

	}


#' Modify a specific ReportRole
#'
#' This function modifies fields for a ReportRole.
#'
#' @param ReportRoleID The id of the ReportRole to be modified.\cr Run \code{\link{getAllReportRoles}} for a list of ReportRoles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportRole.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportRole <- function(ReportRoleID, EntityID = 1, setReportID = NULL, setRoleID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportRole", ReportRoleID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportRole.
#'
#' This function creates a new ReportRole.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportRole.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportRole <- function(EntityID = 1, setReportID = NULL, setRoleID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportRole", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportRole
#'
#' This function deletes a ReportRole.
#'
#' @param ReportRoleID The id of the ReportRole.\cr Run \code{\link{getAllReportRoles}} for a list of ReportRoles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportRole.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportRole <- function(ReportRoleID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportRole", ReportRoleID, EntityID)

	}


#' Get all ReportRunInfos.
#'
#' This function returns a dataframe of all ReportRunInfos in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportRunInfos in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportRunInfos <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportRunInfoID = F, returnCreatedTime = F, returnModifiedTime = F, returnObjectID = F, returnObjectSkywardID = F, returnPromptDataSources = F, returnPromptDataSourcesJson = F, returnPromptDataSourcesXml = F, returnReportID = F, returnSecurityLocationReportSetSkywardID = F, returnSourceSchemaObject = F, returnSourceTypeName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportRunInfo", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportRunInfo
#'
#' This function returns fields for a ReportRunInfo.
#'
#' @param ReportRunInfoID The id of the ReportRunInfo.\cr Run \code{\link{getAllReportRunInfos}} for a list of ReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportRunInfo <- function(ReportRunInfoID, EntityID = 1, returnReportRunInfoID = F, returnCreatedTime = F, returnModifiedTime = F, returnObjectID = F, returnObjectSkywardID = F, returnPromptDataSources = F, returnPromptDataSourcesJson = F, returnPromptDataSourcesXml = F, returnReportID = F, returnSecurityLocationReportSetSkywardID = F, returnSourceSchemaObject = F, returnSourceTypeName = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportRunInfo", ReportRunInfoID, searchFields, EntityID)

	}


#' Modify a specific ReportRunInfo
#'
#' This function modifies fields for a ReportRunInfo.
#'
#' @param ReportRunInfoID The id of the ReportRunInfo to be modified.\cr Run \code{\link{getAllReportRunInfos}} for a list of ReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportRunInfo <- function(ReportRunInfoID, EntityID = 1, setObjectID = NULL, setPromptDataSourcesJson = NULL, setPromptDataSourcesXml = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportRunInfo", ReportRunInfoID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportRunInfo.
#'
#' This function creates a new ReportRunInfo.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportRunInfo <- function(EntityID = 1, setObjectID = NULL, setPromptDataSourcesJson = NULL, setPromptDataSourcesXml = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportRunInfo", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportRunInfo
#'
#' This function deletes a ReportRunInfo.
#'
#' @param ReportRunInfoID The id of the ReportRunInfo.\cr Run \code{\link{getAllReportRunInfos}} for a list of ReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportRunInfo <- function(ReportRunInfoID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportRunInfo", ReportRunInfoID, EntityID)

	}


#' Get all ReportStyles.
#'
#' This function returns a dataframe of all ReportStyles in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ReportStyles in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllReportStyles <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnReportStyleID = F, returnCreatedTime = F, returnCurrentUserCanDelete = F, returnCurrentUserCanMakeNotPublic = F, returnCurrentUserCanMakePublic = F, returnIsNotSkywardReportStyle = F, returnIsPublic = F, returnIsSkywardReportStyle = F, returnModifiedTime = F, returnName = F, returnReportDefinition = F, returnReportDefinitionXML = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ReportStyle", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ReportStyle
#'
#' This function returns fields for a ReportStyle.
#'
#' @param ReportStyleID The id of the ReportStyle.\cr Run \code{\link{getAllReportStyles}} for a list of ReportStyles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ReportStyle.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getReportStyle <- function(ReportStyleID, EntityID = 1, returnReportStyleID = F, returnCreatedTime = F, returnCurrentUserCanDelete = F, returnCurrentUserCanMakeNotPublic = F, returnCurrentUserCanMakePublic = F, returnIsNotSkywardReportStyle = F, returnIsPublic = F, returnIsSkywardReportStyle = F, returnModifiedTime = F, returnName = F, returnReportDefinition = F, returnReportDefinitionXML = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ReportStyle", ReportStyleID, searchFields, EntityID)

	}


#' Modify a specific ReportStyle
#'
#' This function modifies fields for a ReportStyle.
#'
#' @param ReportStyleID The id of the ReportStyle to be modified.\cr Run \code{\link{getAllReportStyles}} for a list of ReportStyles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ReportStyle.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyReportStyle <- function(ReportStyleID, EntityID = 1, setIsPublic = NULL, setName = NULL, setReportDefinitionXML = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ReportStyle", ReportStyleID, names(functionParams), functionParams, EntityID)

	}


#' Create new ReportStyle.
#'
#' This function creates a new ReportStyle.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ReportStyle.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createReportStyle <- function(EntityID = 1, setIsPublic = NULL, setName = NULL, setReportDefinitionXML = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ReportStyle", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ReportStyle
#'
#' This function deletes a ReportStyle.
#'
#' @param ReportStyleID The id of the ReportStyle.\cr Run \code{\link{getAllReportStyles}} for a list of ReportStyles.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ReportStyle.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteReportStyle <- function(ReportStyleID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ReportStyle", ReportStyleID, EntityID)

	}


#' Get all ScheduledReports.
#'
#' This function returns a dataframe of all ScheduledReports in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All ScheduledReports in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllScheduledReports <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnScheduledReportID = F, returnAutomateFileName = F, returnAutoUpdate = F, returnCachedEntity = F, returnCachedFiscalYear = F, returnCachedSchoolYear = F, returnCreatedTime = F, returnCrystalParameterData = F, returnDaysToSaveReport = F, returnDefinitionUpdatedTime = F, returnEncodingType = F, returnEncodingTypeCode = F, returnEntityID = F, returnEntityIDList = F, returnExportFileName = F, returnFiscalYearID = F, returnFTPConnectionID = F, returnIsCrystalReport = F, returnMediaIDCrystalRPT = F, returnMessageMasterID = F, returnModifiedTime = F, returnName = F, returnNetworkLocation = F, returnNotifyByEmail = F, returnNotifyByMessageCenter = F, returnOverwriteExistingFile = F, returnPromptValues = F, returnPromptXML = F, returnReportDefinition = F, returnReportDefinitionXML = F, returnReportFileExtensionOverride = F, returnReportID = F, returnReportIsCurrent = F, returnReportName = F, returnReportType = F, returnReportTypeCode = F, returnRunCount = F, returnSaveToFtp = F, returnSaveToNetworkLocation = F, returnScheduledTaskID = F, returnSchoolYearID = F, returnSchoolYearNumericYearOrCurrent = F, returnSectionID = F, returnSkywardReportSystemVersion = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "ScheduledReport", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ScheduledReport
#'
#' This function returns fields for a ScheduledReport.
#'
#' @param ScheduledReportID The id of the ScheduledReport.\cr Run \code{\link{getAllScheduledReports}} for a list of ScheduledReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the ScheduledReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getScheduledReport <- function(ScheduledReportID, EntityID = 1, returnScheduledReportID = F, returnAutomateFileName = F, returnAutoUpdate = F, returnCachedEntity = F, returnCachedFiscalYear = F, returnCachedSchoolYear = F, returnCreatedTime = F, returnCrystalParameterData = F, returnDaysToSaveReport = F, returnDefinitionUpdatedTime = F, returnEncodingType = F, returnEncodingTypeCode = F, returnEntityID = F, returnEntityIDList = F, returnExportFileName = F, returnFiscalYearID = F, returnFTPConnectionID = F, returnIsCrystalReport = F, returnMediaIDCrystalRPT = F, returnMessageMasterID = F, returnModifiedTime = F, returnName = F, returnNetworkLocation = F, returnNotifyByEmail = F, returnNotifyByMessageCenter = F, returnOverwriteExistingFile = F, returnPromptValues = F, returnPromptXML = F, returnReportDefinition = F, returnReportDefinitionXML = F, returnReportFileExtensionOverride = F, returnReportID = F, returnReportIsCurrent = F, returnReportName = F, returnReportType = F, returnReportTypeCode = F, returnRunCount = F, returnSaveToFtp = F, returnSaveToNetworkLocation = F, returnScheduledTaskID = F, returnSchoolYearID = F, returnSchoolYearNumericYearOrCurrent = F, returnSectionID = F, returnSkywardReportSystemVersion = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDOwner = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "ScheduledReport", ScheduledReportID, searchFields, EntityID)

	}


#' Modify a specific ScheduledReport
#'
#' This function modifies fields for a ScheduledReport.
#'
#' @param ScheduledReportID The id of the ScheduledReport to be modified.\cr Run \code{\link{getAllScheduledReports}} for a list of ScheduledReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified ScheduledReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyScheduledReport <- function(ScheduledReportID, EntityID = 1, setAutomateFileName = NULL, setAutoUpdate = NULL, setDaysToSaveReport = NULL, setDefinitionUpdatedTime = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setEntityID = NULL, setExportFileName = NULL, setFTPConnectionID = NULL, setMediaIDCrystalRPT = NULL, setMessageMasterID = NULL, setName = NULL, setNetworkLocation = NULL, setNotifyByEmail = NULL, setNotifyByMessageCenter = NULL, setOverwriteExistingFile = NULL, setReportDefinitionXML = NULL, setReportFileExtensionOverride = NULL, setReportID = NULL, setReportName = NULL, setReportType = NULL, setReportTypeCode = NULL, setScheduledTaskID = NULL, setSectionID = NULL, setSkywardReportSystemVersion = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "ScheduledReport", ScheduledReportID, names(functionParams), functionParams, EntityID)

	}


#' Create new ScheduledReport.
#'
#' This function creates a new ScheduledReport.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created ScheduledReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createScheduledReport <- function(EntityID = 1, setAutomateFileName = NULL, setAutoUpdate = NULL, setDaysToSaveReport = NULL, setDefinitionUpdatedTime = NULL, setEncodingType = NULL, setEncodingTypeCode = NULL, setEntityID = NULL, setExportFileName = NULL, setFTPConnectionID = NULL, setMediaIDCrystalRPT = NULL, setMessageMasterID = NULL, setName = NULL, setNetworkLocation = NULL, setNotifyByEmail = NULL, setNotifyByMessageCenter = NULL, setOverwriteExistingFile = NULL, setReportDefinitionXML = NULL, setReportFileExtensionOverride = NULL, setReportID = NULL, setReportName = NULL, setReportType = NULL, setReportTypeCode = NULL, setScheduledTaskID = NULL, setSectionID = NULL, setSkywardReportSystemVersion = NULL, setUserIDOwner = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "ScheduledReport", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific ScheduledReport
#'
#' This function deletes a ScheduledReport.
#'
#' @param ScheduledReportID The id of the ScheduledReport.\cr Run \code{\link{getAllScheduledReports}} for a list of ScheduledReports.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted ScheduledReport.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteScheduledReport <- function(ScheduledReportID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "ScheduledReport", ScheduledReportID, EntityID)

	}


#' Get all SecurityLocationReportSets.
#'
#' This function returns a dataframe of all SecurityLocationReportSets in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SecurityLocationReportSets in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSecurityLocationReportSets <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSecurityLocationReportSetID = F, returnAcceptsDataObject = F, returnCreatedTime = F, returnDataObjectID = F, returnFullLocation = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnModule = F, returnName = F, returnObject = F, returnPrimaryKeySource = F, returnScreen = F, returnSecurityLocationID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SecurityLocationReportSet", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SecurityLocationReportSet
#'
#' This function returns fields for a SecurityLocationReportSet.
#'
#' @param SecurityLocationReportSetID The id of the SecurityLocationReportSet.\cr Run \code{\link{getAllSecurityLocationReportSets}} for a list of SecurityLocationReportSets.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SecurityLocationReportSet.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSecurityLocationReportSet <- function(SecurityLocationReportSetID, EntityID = 1, returnSecurityLocationReportSetID = F, returnAcceptsDataObject = F, returnCreatedTime = F, returnDataObjectID = F, returnFullLocation = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnModule = F, returnName = F, returnObject = F, returnPrimaryKeySource = F, returnScreen = F, returnSecurityLocationID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SecurityLocationReportSet", SecurityLocationReportSetID, searchFields, EntityID)

	}


#' Modify a specific SecurityLocationReportSet
#'
#' This function modifies fields for a SecurityLocationReportSet.
#'
#' @param SecurityLocationReportSetID The id of the SecurityLocationReportSet to be modified.\cr Run \code{\link{getAllSecurityLocationReportSets}} for a list of SecurityLocationReportSets.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SecurityLocationReportSet.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySecurityLocationReportSet <- function(SecurityLocationReportSetID, EntityID = 1, setDataObjectID = NULL, setIsSkywardLoaded = NULL, setName = NULL, setPrimaryKeySource = NULL, setSecurityLocationID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SecurityLocationReportSet", SecurityLocationReportSetID, names(functionParams), functionParams, EntityID)

	}


#' Create new SecurityLocationReportSet.
#'
#' This function creates a new SecurityLocationReportSet.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SecurityLocationReportSet.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSecurityLocationReportSet <- function(EntityID = 1, setDataObjectID = NULL, setIsSkywardLoaded = NULL, setName = NULL, setPrimaryKeySource = NULL, setSecurityLocationID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SecurityLocationReportSet", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SecurityLocationReportSet
#'
#' This function deletes a SecurityLocationReportSet.
#'
#' @param SecurityLocationReportSetID The id of the SecurityLocationReportSet.\cr Run \code{\link{getAllSecurityLocationReportSets}} for a list of SecurityLocationReportSets.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SecurityLocationReportSet.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSecurityLocationReportSet <- function(SecurityLocationReportSetID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SecurityLocationReportSet", SecurityLocationReportSetID, EntityID)

	}


#' Get all SecurityLocationReportSetReportRunInfos.
#'
#' This function returns a dataframe of all SecurityLocationReportSetReportRunInfos in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SecurityLocationReportSetReportRunInfos in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSecurityLocationReportSetReportRunInfos <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSecurityLocationReportSetReportRunInfoID = F, returnCreatedTime = F, returnInUse = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnReportRunInfoID = F, returnSecurityLocationReportSetID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SecurityLocationReportSetReportRunInfo", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SecurityLocationReportSetReportRunInfo
#'
#' This function returns fields for a SecurityLocationReportSetReportRunInfo.
#'
#' @param SecurityLocationReportSetReportRunInfoID The id of the SecurityLocationReportSetReportRunInfo.\cr Run \code{\link{getAllSecurityLocationReportSetReportRunInfos}} for a list of SecurityLocationReportSetReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SecurityLocationReportSetReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSecurityLocationReportSetReportRunInfo <- function(SecurityLocationReportSetReportRunInfoID, EntityID = 1, returnSecurityLocationReportSetReportRunInfoID = F, returnCreatedTime = F, returnInUse = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnReportRunInfoID = F, returnSecurityLocationReportSetID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SecurityLocationReportSetReportRunInfo", SecurityLocationReportSetReportRunInfoID, searchFields, EntityID)

	}


#' Modify a specific SecurityLocationReportSetReportRunInfo
#'
#' This function modifies fields for a SecurityLocationReportSetReportRunInfo.
#'
#' @param SecurityLocationReportSetReportRunInfoID The id of the SecurityLocationReportSetReportRunInfo to be modified.\cr Run \code{\link{getAllSecurityLocationReportSetReportRunInfos}} for a list of SecurityLocationReportSetReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SecurityLocationReportSetReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySecurityLocationReportSetReportRunInfo <- function(SecurityLocationReportSetReportRunInfoID, EntityID = 1, setIsSkywardLoaded = NULL, setReportRunInfoID = NULL, setSecurityLocationReportSetID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SecurityLocationReportSetReportRunInfo", SecurityLocationReportSetReportRunInfoID, names(functionParams), functionParams, EntityID)

	}


#' Create new SecurityLocationReportSetReportRunInfo.
#'
#' This function creates a new SecurityLocationReportSetReportRunInfo.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SecurityLocationReportSetReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSecurityLocationReportSetReportRunInfo <- function(EntityID = 1, setIsSkywardLoaded = NULL, setReportRunInfoID = NULL, setSecurityLocationReportSetID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SecurityLocationReportSetReportRunInfo", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SecurityLocationReportSetReportRunInfo
#'
#' This function deletes a SecurityLocationReportSetReportRunInfo.
#'
#' @param SecurityLocationReportSetReportRunInfoID The id of the SecurityLocationReportSetReportRunInfo.\cr Run \code{\link{getAllSecurityLocationReportSetReportRunInfos}} for a list of SecurityLocationReportSetReportRunInfos.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SecurityLocationReportSetReportRunInfo.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSecurityLocationReportSetReportRunInfo <- function(SecurityLocationReportSetReportRunInfoID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SecurityLocationReportSetReportRunInfo", SecurityLocationReportSetReportRunInfoID, EntityID)

	}


#' Get all Sorts.
#'
#' This function returns a dataframe of all Sorts in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Sorts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSorts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSortID = F, returnCreatedTime = F, returnModifiedTime = F, returnSkywardHash = F, returnSkywardID = F, returnSortDirection = F, returnSortDirectionCode = F, returnSortGroupID = F, returnSortOrder = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Sort", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Sort
#'
#' This function returns fields for a Sort.
#'
#' @param SortID The id of the Sort.\cr Run \code{\link{getAllSorts}} for a list of Sorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Sort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSort <- function(SortID, EntityID = 1, returnSortID = F, returnCreatedTime = F, returnModifiedTime = F, returnSkywardHash = F, returnSkywardID = F, returnSortDirection = F, returnSortDirectionCode = F, returnSortGroupID = F, returnSortOrder = F, returnSubtopicFieldID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Sort", SortID, searchFields, EntityID)

	}


#' Modify a specific Sort
#'
#' This function modifies fields for a Sort.
#'
#' @param SortID The id of the Sort to be modified.\cr Run \code{\link{getAllSorts}} for a list of Sorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Sort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySort <- function(SortID, EntityID = 1, setSkywardHash = NULL, setSkywardID = NULL, setSortDirection = NULL, setSortDirectionCode = NULL, setSortGroupID = NULL, setSortOrder = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Sort", SortID, names(functionParams), functionParams, EntityID)

	}


#' Create new Sort.
#'
#' This function creates a new Sort.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Sort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSort <- function(EntityID = 1, setSkywardHash = NULL, setSkywardID = NULL, setSortDirection = NULL, setSortDirectionCode = NULL, setSortGroupID = NULL, setSortOrder = NULL, setSubtopicFieldID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Sort", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Sort
#'
#' This function deletes a Sort.
#'
#' @param SortID The id of the Sort.\cr Run \code{\link{getAllSorts}} for a list of Sorts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Sort.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSort <- function(SortID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Sort", SortID, EntityID)

	}


#' Get all SortBreaks.
#'
#' This function returns a dataframe of all SortBreaks in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SortBreaks in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSortBreaks <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSortBreakID = F, returnCharacterPosition = F, returnCreatedTime = F, returnDataObjectFieldPathID = F, returnModifiedTime = F, returnSkywardHash = F, returnSkywardID = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SortBreak", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SortBreak
#'
#' This function returns fields for a SortBreak.
#'
#' @param SortBreakID The id of the SortBreak.\cr Run \code{\link{getAllSortBreaks}} for a list of SortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSortBreak <- function(SortBreakID, EntityID = 1, returnSortBreakID = F, returnCharacterPosition = F, returnCreatedTime = F, returnDataObjectFieldPathID = F, returnModifiedTime = F, returnSkywardHash = F, returnSkywardID = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SortBreak", SortBreakID, searchFields, EntityID)

	}


#' Modify a specific SortBreak
#'
#' This function modifies fields for a SortBreak.
#'
#' @param SortBreakID The id of the SortBreak to be modified.\cr Run \code{\link{getAllSortBreaks}} for a list of SortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySortBreak <- function(SortBreakID, EntityID = 1, setCharacterPosition = NULL, setDataObjectFieldPathID = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SortBreak", SortBreakID, names(functionParams), functionParams, EntityID)

	}


#' Create new SortBreak.
#'
#' This function creates a new SortBreak.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSortBreak <- function(EntityID = 1, setCharacterPosition = NULL, setDataObjectFieldPathID = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SortBreak", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SortBreak
#'
#' This function deletes a SortBreak.
#'
#' @param SortBreakID The id of the SortBreak.\cr Run \code{\link{getAllSortBreaks}} for a list of SortBreaks.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SortBreak.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSortBreak <- function(SortBreakID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SortBreak", SortBreakID, EntityID)

	}


#' Get all SortGroups.
#'
#' This function returns a dataframe of all SortGroups in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SortGroups in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSortGroups <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSortGroupID = F, returnCreatedTime = F, returnIsDefault = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SortGroup", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SortGroup
#'
#' This function returns fields for a SortGroup.
#'
#' @param SortGroupID The id of the SortGroup.\cr Run \code{\link{getAllSortGroups}} for a list of SortGroups.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SortGroup.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSortGroup <- function(SortGroupID, EntityID = 1, returnSortGroupID = F, returnCreatedTime = F, returnIsDefault = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SortGroup", SortGroupID, searchFields, EntityID)

	}


#' Modify a specific SortGroup
#'
#' This function modifies fields for a SortGroup.
#'
#' @param SortGroupID The id of the SortGroup to be modified.\cr Run \code{\link{getAllSortGroups}} for a list of SortGroups.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SortGroup.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySortGroup <- function(SortGroupID, EntityID = 1, setIsDefault = NULL, setName = NULL, setObjectID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SortGroup", SortGroupID, names(functionParams), functionParams, EntityID)

	}


#' Create new SortGroup.
#'
#' This function creates a new SortGroup.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SortGroup.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSortGroup <- function(EntityID = 1, setIsDefault = NULL, setName = NULL, setObjectID = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SortGroup", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SortGroup
#'
#' This function deletes a SortGroup.
#'
#' @param SortGroupID The id of the SortGroup.\cr Run \code{\link{getAllSortGroups}} for a list of SortGroups.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SortGroup.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSortGroup <- function(SortGroupID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SortGroup", SortGroupID, EntityID)

	}


#' Get all Subjects.
#'
#' This function returns a dataframe of all Subjects in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Subjects in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSubjectsReporting <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSubjectID = F, returnAllowAccountBreaks = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnPromptForFiscalYear = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Subject", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Subject
#'
#' This function returns fields for a Subject.
#'
#' @param SubjectID The id of the Subject.\cr Run \code{\link{getAllSubjects}} for a list of Subjects.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Subject.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSubjectReporting <- function(SubjectID, EntityID = 1, returnSubjectID = F, returnAllowAccountBreaks = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnPromptForFiscalYear = F, returnSkywardHash = F, returnSkywardID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Subject", SubjectID, searchFields, EntityID)

	}


#' Modify a specific Subject
#'
#' This function modifies fields for a Subject.
#'
#' @param SubjectID The id of the Subject to be modified.\cr Run \code{\link{getAllSubjects}} for a list of Subjects.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Subject.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySubjectReporting <- function(SubjectID, EntityID = 1, setName = NULL, setObjectID = NULL, setPromptForFiscalYear = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Subject", SubjectID, names(functionParams), functionParams, EntityID)

	}


#' Create new Subject.
#'
#' This function creates a new Subject.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Subject.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSubjectReporting <- function(EntityID = 1, setName = NULL, setObjectID = NULL, setPromptForFiscalYear = NULL, setSkywardHash = NULL, setSkywardID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Subject", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Subject
#'
#' This function deletes a Subject.
#'
#' @param SubjectID The id of the Subject.\cr Run \code{\link{getAllSubjects}} for a list of Subjects.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Subject.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSubjectReporting <- function(SubjectID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Subject", SubjectID, EntityID)

	}


#' Get all SubjectSecurityLocations.
#'
#' This function returns a dataframe of all SubjectSecurityLocations in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SubjectSecurityLocations in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSubjectSecurityLocations <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSubjectSecurityLocationID = F, returnCreatedTime = F, returnModifiedTime = F, returnSecurityLocationID = F, returnSkywardHash = F, returnSkywardID = F, returnSubjectID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SubjectSecurityLocation", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SubjectSecurityLocation
#'
#' This function returns fields for a SubjectSecurityLocation.
#'
#' @param SubjectSecurityLocationID The id of the SubjectSecurityLocation.\cr Run \code{\link{getAllSubjectSecurityLocations}} for a list of SubjectSecurityLocations.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SubjectSecurityLocation.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSubjectSecurityLocation <- function(SubjectSecurityLocationID, EntityID = 1, returnSubjectSecurityLocationID = F, returnCreatedTime = F, returnModifiedTime = F, returnSecurityLocationID = F, returnSkywardHash = F, returnSkywardID = F, returnSubjectID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SubjectSecurityLocation", SubjectSecurityLocationID, searchFields, EntityID)

	}


#' Modify a specific SubjectSecurityLocation
#'
#' This function modifies fields for a SubjectSecurityLocation.
#'
#' @param SubjectSecurityLocationID The id of the SubjectSecurityLocation to be modified.\cr Run \code{\link{getAllSubjectSecurityLocations}} for a list of SubjectSecurityLocations.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SubjectSecurityLocation.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySubjectSecurityLocation <- function(SubjectSecurityLocationID, EntityID = 1, setSecurityLocationID = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubjectID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SubjectSecurityLocation", SubjectSecurityLocationID, names(functionParams), functionParams, EntityID)

	}


#' Create new SubjectSecurityLocation.
#'
#' This function creates a new SubjectSecurityLocation.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SubjectSecurityLocation.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSubjectSecurityLocation <- function(EntityID = 1, setSecurityLocationID = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubjectID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SubjectSecurityLocation", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SubjectSecurityLocation
#'
#' This function deletes a SubjectSecurityLocation.
#'
#' @param SubjectSecurityLocationID The id of the SubjectSecurityLocation.\cr Run \code{\link{getAllSubjectSecurityLocations}} for a list of SubjectSecurityLocations.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SubjectSecurityLocation.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSubjectSecurityLocation <- function(SubjectSecurityLocationID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SubjectSecurityLocation", SubjectSecurityLocationID, EntityID)

	}


#' Get all Subtopics.
#'
#' This function returns a dataframe of all Subtopics in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Subtopics in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSubtopics <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSubtopicID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnCustomizationID = F, returnDataObjectFieldPathIDDefaultSort = F, returnDefaultSortDirection = F, returnDefaultSortDirectionCode = F, returnDisplayOrder = F, returnFieldAreaPath = F, returnFieldPrefix = F, returnIsOneToMany = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnOneToManyRelationshipPath = F, returnRelationshipPath = F, returnSkywardHash = F, returnSkywardID = F, returnTopicID = F, returnUniqueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Subtopic", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Subtopic
#'
#' This function returns fields for a Subtopic.
#'
#' @param SubtopicID The id of the Subtopic.\cr Run \code{\link{getAllSubtopics}} for a list of Subtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Subtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSubtopic <- function(SubtopicID, EntityID = 1, returnSubtopicID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnCustomizationID = F, returnDataObjectFieldPathIDDefaultSort = F, returnDefaultSortDirection = F, returnDefaultSortDirectionCode = F, returnDisplayOrder = F, returnFieldAreaPath = F, returnFieldPrefix = F, returnIsOneToMany = F, returnIsSkywardLoaded = F, returnModifiedTime = F, returnName = F, returnObjectID = F, returnOneToManyRelationshipPath = F, returnRelationshipPath = F, returnSkywardHash = F, returnSkywardID = F, returnTopicID = F, returnUniqueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Subtopic", SubtopicID, searchFields, EntityID)

	}


#' Modify a specific Subtopic
#'
#' This function modifies fields for a Subtopic.
#'
#' @param SubtopicID The id of the Subtopic to be modified.\cr Run \code{\link{getAllSubtopics}} for a list of Subtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Subtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySubtopic <- function(SubtopicID, EntityID = 1, setCustomizationID = NULL, setDataObjectFieldPathIDDefaultSort = NULL, setDefaultSortDirection = NULL, setDefaultSortDirectionCode = NULL, setDisplayOrder = NULL, setFieldAreaPath = NULL, setFieldPrefix = NULL, setIsOneToMany = NULL, setIsSkywardLoaded = NULL, setName = NULL, setObjectID = NULL, setOneToManyRelationshipPath = NULL, setRelationshipPath = NULL, setSkywardHash = NULL, setSkywardID = NULL, setTopicID = NULL, setUniqueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Subtopic", SubtopicID, names(functionParams), functionParams, EntityID)

	}


#' Create new Subtopic.
#'
#' This function creates a new Subtopic.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Subtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSubtopic <- function(EntityID = 1, setCustomizationID = NULL, setDataObjectFieldPathIDDefaultSort = NULL, setDefaultSortDirection = NULL, setDefaultSortDirectionCode = NULL, setDisplayOrder = NULL, setFieldAreaPath = NULL, setFieldPrefix = NULL, setIsOneToMany = NULL, setIsSkywardLoaded = NULL, setName = NULL, setObjectID = NULL, setOneToManyRelationshipPath = NULL, setRelationshipPath = NULL, setSkywardHash = NULL, setSkywardID = NULL, setTopicID = NULL, setUniqueID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Subtopic", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Subtopic
#'
#' This function deletes a Subtopic.
#'
#' @param SubtopicID The id of the Subtopic.\cr Run \code{\link{getAllSubtopics}} for a list of Subtopics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Subtopic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSubtopic <- function(SubtopicID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Subtopic", SubtopicID, EntityID)

	}


#' Get all SubtopicFields.
#'
#' This function returns a dataframe of all SubtopicFields in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SubtopicFields in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSubtopicFields <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSubtopicFieldID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnDataObjectFieldPathID = F, returnFriendlyNameWithPrefix = F, returnFullFieldPath = F, returnIsBoolean = F, returnIsCalculatedInCSharp = F, returnIsDateTime = F, returnIsEnum = F, returnIsFilterable = F, returnIsNotEnumOrBoolean = F, returnIsNumeric = F, returnIsString = F, returnIsTimeSpan = F, returnMaxSortBreakPosition = F, returnModifiedTime = F, returnSubtopicID = F, returnSystemType = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SubtopicField", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SubtopicField
#'
#' This function returns fields for a SubtopicField.
#'
#' @param SubtopicFieldID The id of the SubtopicField.\cr Run \code{\link{getAllSubtopicFields}} for a list of SubtopicFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SubtopicField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSubtopicField <- function(SubtopicFieldID, EntityID = 1, returnSubtopicFieldID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnDataObjectFieldPathID = F, returnFriendlyNameWithPrefix = F, returnFullFieldPath = F, returnIsBoolean = F, returnIsCalculatedInCSharp = F, returnIsDateTime = F, returnIsEnum = F, returnIsFilterable = F, returnIsNotEnumOrBoolean = F, returnIsNumeric = F, returnIsString = F, returnIsTimeSpan = F, returnMaxSortBreakPosition = F, returnModifiedTime = F, returnSubtopicID = F, returnSystemType = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SubtopicField", SubtopicFieldID, searchFields, EntityID)

	}


#' Modify a specific SubtopicField
#'
#' This function modifies fields for a SubtopicField.
#'
#' @param SubtopicFieldID The id of the SubtopicField to be modified.\cr Run \code{\link{getAllSubtopicFields}} for a list of SubtopicFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SubtopicField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySubtopicField <- function(SubtopicFieldID, EntityID = 1, setDataObjectFieldPathID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SubtopicField", SubtopicFieldID, names(functionParams), functionParams, EntityID)

	}


#' Create new SubtopicField.
#'
#' This function creates a new SubtopicField.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SubtopicField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSubtopicField <- function(EntityID = 1, setDataObjectFieldPathID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SubtopicField", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SubtopicField
#'
#' This function deletes a SubtopicField.
#'
#' @param SubtopicFieldID The id of the SubtopicField.\cr Run \code{\link{getAllSubtopicFields}} for a list of SubtopicFields.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SubtopicField.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSubtopicField <- function(SubtopicFieldID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SubtopicField", SubtopicFieldID, EntityID)

	}


#' Get all SubtopicStandardFilters.
#'
#' This function returns a dataframe of all SubtopicStandardFilters in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SubtopicStandardFilters in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSubtopicStandardFilters <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSubtopicStandardFilterID = F, returnCreatedTime = F, returnDisplayOnReport = F, returnIsRequired = F, returnModifiedTime = F, returnPath = F, returnSkywardHash = F, returnSkywardID = F, returnStandardFilterID = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SubtopicStandardFilter", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SubtopicStandardFilter
#'
#' This function returns fields for a SubtopicStandardFilter.
#'
#' @param SubtopicStandardFilterID The id of the SubtopicStandardFilter.\cr Run \code{\link{getAllSubtopicStandardFilters}} for a list of SubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSubtopicStandardFilter <- function(SubtopicStandardFilterID, EntityID = 1, returnSubtopicStandardFilterID = F, returnCreatedTime = F, returnDisplayOnReport = F, returnIsRequired = F, returnModifiedTime = F, returnPath = F, returnSkywardHash = F, returnSkywardID = F, returnStandardFilterID = F, returnSubtopicID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SubtopicStandardFilter", SubtopicStandardFilterID, searchFields, EntityID)

	}


#' Modify a specific SubtopicStandardFilter
#'
#' This function modifies fields for a SubtopicStandardFilter.
#'
#' @param SubtopicStandardFilterID The id of the SubtopicStandardFilter to be modified.\cr Run \code{\link{getAllSubtopicStandardFilters}} for a list of SubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySubtopicStandardFilter <- function(SubtopicStandardFilterID, EntityID = 1, setIsRequired = NULL, setPath = NULL, setSkywardHash = NULL, setSkywardID = NULL, setStandardFilterID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SubtopicStandardFilter", SubtopicStandardFilterID, names(functionParams), functionParams, EntityID)

	}


#' Create new SubtopicStandardFilter.
#'
#' This function creates a new SubtopicStandardFilter.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSubtopicStandardFilter <- function(EntityID = 1, setIsRequired = NULL, setPath = NULL, setSkywardHash = NULL, setSkywardID = NULL, setStandardFilterID = NULL, setSubtopicID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SubtopicStandardFilter", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SubtopicStandardFilter
#'
#' This function deletes a SubtopicStandardFilter.
#'
#' @param SubtopicStandardFilterID The id of the SubtopicStandardFilter.\cr Run \code{\link{getAllSubtopicStandardFilters}} for a list of SubtopicStandardFilters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SubtopicStandardFilter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSubtopicStandardFilter <- function(SubtopicStandardFilterID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SubtopicStandardFilter", SubtopicStandardFilterID, EntityID)

	}


#' Get all SummaryReportParameters.
#'
#' This function returns a dataframe of all SummaryReportParameters in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SummaryReportParameters in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSummaryReportParameters <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSummaryReportParameterID = F, returnCreatedTime = F, returnModifiedTime = F, returnName = F, returnReportQueueID = F, returnUsedBy = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SummaryReportParameter", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SummaryReportParameter
#'
#' This function returns fields for a SummaryReportParameter.
#'
#' @param SummaryReportParameterID The id of the SummaryReportParameter.\cr Run \code{\link{getAllSummaryReportParameters}} for a list of SummaryReportParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SummaryReportParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSummaryReportParameter <- function(SummaryReportParameterID, EntityID = 1, returnSummaryReportParameterID = F, returnCreatedTime = F, returnModifiedTime = F, returnName = F, returnReportQueueID = F, returnUsedBy = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SummaryReportParameter", SummaryReportParameterID, searchFields, EntityID)

	}


#' Modify a specific SummaryReportParameter
#'
#' This function modifies fields for a SummaryReportParameter.
#'
#' @param SummaryReportParameterID The id of the SummaryReportParameter to be modified.\cr Run \code{\link{getAllSummaryReportParameters}} for a list of SummaryReportParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SummaryReportParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySummaryReportParameter <- function(SummaryReportParameterID, EntityID = 1, setName = NULL, setReportQueueID = NULL, setUsedBy = NULL, setValue = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SummaryReportParameter", SummaryReportParameterID, names(functionParams), functionParams, EntityID)

	}


#' Create new SummaryReportParameter.
#'
#' This function creates a new SummaryReportParameter.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SummaryReportParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSummaryReportParameter <- function(EntityID = 1, setName = NULL, setReportQueueID = NULL, setUsedBy = NULL, setValue = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SummaryReportParameter", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SummaryReportParameter
#'
#' This function deletes a SummaryReportParameter.
#'
#' @param SummaryReportParameterID The id of the SummaryReportParameter.\cr Run \code{\link{getAllSummaryReportParameters}} for a list of SummaryReportParameters.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SummaryReportParameter.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSummaryReportParameter <- function(SummaryReportParameterID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SummaryReportParameter", SummaryReportParameterID, EntityID)

	}


#' Get all SummaryReportPrompts.
#'
#' This function returns a dataframe of all SummaryReportPrompts in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SummaryReportPrompts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSummaryReportPrompts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSummaryReportPromptID = F, returnCreatedTime = F, returnLabel = F, returnModifiedTime = F, returnOrder = F, returnReportQueueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SummaryReportPrompt", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SummaryReportPrompt
#'
#' This function returns fields for a SummaryReportPrompt.
#'
#' @param SummaryReportPromptID The id of the SummaryReportPrompt.\cr Run \code{\link{getAllSummaryReportPrompts}} for a list of SummaryReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SummaryReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSummaryReportPrompt <- function(SummaryReportPromptID, EntityID = 1, returnSummaryReportPromptID = F, returnCreatedTime = F, returnLabel = F, returnModifiedTime = F, returnOrder = F, returnReportQueueID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnValue = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SummaryReportPrompt", SummaryReportPromptID, searchFields, EntityID)

	}


#' Modify a specific SummaryReportPrompt
#'
#' This function modifies fields for a SummaryReportPrompt.
#'
#' @param SummaryReportPromptID The id of the SummaryReportPrompt to be modified.\cr Run \code{\link{getAllSummaryReportPrompts}} for a list of SummaryReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SummaryReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySummaryReportPrompt <- function(SummaryReportPromptID, EntityID = 1, setLabel = NULL, setOrder = NULL, setReportQueueID = NULL, setValue = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SummaryReportPrompt", SummaryReportPromptID, names(functionParams), functionParams, EntityID)

	}


#' Create new SummaryReportPrompt.
#'
#' This function creates a new SummaryReportPrompt.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SummaryReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSummaryReportPrompt <- function(EntityID = 1, setLabel = NULL, setOrder = NULL, setReportQueueID = NULL, setValue = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SummaryReportPrompt", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SummaryReportPrompt
#'
#' This function deletes a SummaryReportPrompt.
#'
#' @param SummaryReportPromptID The id of the SummaryReportPrompt.\cr Run \code{\link{getAllSummaryReportPrompts}} for a list of SummaryReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SummaryReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSummaryReportPrompt <- function(SummaryReportPromptID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SummaryReportPrompt", SummaryReportPromptID, EntityID)

	}


#' Get all SummaryReportSections.
#'
#' This function returns a dataframe of all SummaryReportSections in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SummaryReportSections in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSummaryReportSections <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSummaryReportSectionID = F, returnCreatedTime = F, returnDisplayName = F, returnHiddenType = F, returnHiddenTypeCode = F, returnModifiedTime = F, returnOrder = F, returnPath = F, returnReportQueueID = F, returnSummaryReportSectionIDParent = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SummaryReportSection", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SummaryReportSection
#'
#' This function returns fields for a SummaryReportSection.
#'
#' @param SummaryReportSectionID The id of the SummaryReportSection.\cr Run \code{\link{getAllSummaryReportSections}} for a list of SummaryReportSections.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SummaryReportSection.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSummaryReportSection <- function(SummaryReportSectionID, EntityID = 1, returnSummaryReportSectionID = F, returnCreatedTime = F, returnDisplayName = F, returnHiddenType = F, returnHiddenTypeCode = F, returnModifiedTime = F, returnOrder = F, returnPath = F, returnReportQueueID = F, returnSummaryReportSectionIDParent = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SummaryReportSection", SummaryReportSectionID, searchFields, EntityID)

	}


#' Modify a specific SummaryReportSection
#'
#' This function modifies fields for a SummaryReportSection.
#'
#' @param SummaryReportSectionID The id of the SummaryReportSection to be modified.\cr Run \code{\link{getAllSummaryReportSections}} for a list of SummaryReportSections.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SummaryReportSection.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySummaryReportSection <- function(SummaryReportSectionID, EntityID = 1, setDisplayName = NULL, setHiddenType = NULL, setOrder = NULL, setPath = NULL, setReportQueueID = NULL, setSummaryReportSectionIDParent = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SummaryReportSection", SummaryReportSectionID, names(functionParams), functionParams, EntityID)

	}


#' Create new SummaryReportSection.
#'
#' This function creates a new SummaryReportSection.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SummaryReportSection.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSummaryReportSection <- function(EntityID = 1, setDisplayName = NULL, setHiddenType = NULL, setOrder = NULL, setPath = NULL, setReportQueueID = NULL, setSummaryReportSectionIDParent = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SummaryReportSection", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SummaryReportSection
#'
#' This function deletes a SummaryReportSection.
#'
#' @param SummaryReportSectionID The id of the SummaryReportSection.\cr Run \code{\link{getAllSummaryReportSections}} for a list of SummaryReportSections.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SummaryReportSection.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSummaryReportSection <- function(SummaryReportSectionID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SummaryReportSection", SummaryReportSectionID, EntityID)

	}


#' Get all SummaryReportSectionColumns.
#'
#' This function returns a dataframe of all SummaryReportSectionColumns in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All SummaryReportSectionColumns in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllSummaryReportSectionColumns <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnSummaryReportSectionColumnID = F, returnCreatedTime = F, returnDataType = F, returnDisplayName = F, returnFieldName = F, returnHiddenType = F, returnHiddenTypeCode = F, returnModifiedTime = F, returnSummaryReportSectionID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "SummaryReportSectionColumn", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific SummaryReportSectionColumn
#'
#' This function returns fields for a SummaryReportSectionColumn.
#'
#' @param SummaryReportSectionColumnID The id of the SummaryReportSectionColumn.\cr Run \code{\link{getAllSummaryReportSectionColumns}} for a list of SummaryReportSectionColumns.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the SummaryReportSectionColumn.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getSummaryReportSectionColumn <- function(SummaryReportSectionColumnID, EntityID = 1, returnSummaryReportSectionColumnID = F, returnCreatedTime = F, returnDataType = F, returnDisplayName = F, returnFieldName = F, returnHiddenType = F, returnHiddenTypeCode = F, returnModifiedTime = F, returnSummaryReportSectionID = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "SummaryReportSectionColumn", SummaryReportSectionColumnID, searchFields, EntityID)

	}


#' Modify a specific SummaryReportSectionColumn
#'
#' This function modifies fields for a SummaryReportSectionColumn.
#'
#' @param SummaryReportSectionColumnID The id of the SummaryReportSectionColumn to be modified.\cr Run \code{\link{getAllSummaryReportSectionColumns}} for a list of SummaryReportSectionColumns.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified SummaryReportSectionColumn.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifySummaryReportSectionColumn <- function(SummaryReportSectionColumnID, EntityID = 1, setDataType = NULL, setDisplayName = NULL, setFieldName = NULL, setHiddenType = NULL, setSummaryReportSectionID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "SummaryReportSectionColumn", SummaryReportSectionColumnID, names(functionParams), functionParams, EntityID)

	}


#' Create new SummaryReportSectionColumn.
#'
#' This function creates a new SummaryReportSectionColumn.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created SummaryReportSectionColumn.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createSummaryReportSectionColumn <- function(EntityID = 1, setDataType = NULL, setDisplayName = NULL, setFieldName = NULL, setHiddenType = NULL, setSummaryReportSectionID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "SummaryReportSectionColumn", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific SummaryReportSectionColumn
#'
#' This function deletes a SummaryReportSectionColumn.
#'
#' @param SummaryReportSectionColumnID The id of the SummaryReportSectionColumn.\cr Run \code{\link{getAllSummaryReportSectionColumns}} for a list of SummaryReportSectionColumns.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted SummaryReportSectionColumn.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteSummaryReportSectionColumn <- function(SummaryReportSectionColumnID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "SummaryReportSectionColumn", SummaryReportSectionColumnID, EntityID)

	}


#' Get all TempSubtopicRelationshipOptions.
#'
#' This function returns a dataframe of all TempSubtopicRelationshipOptions in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All TempSubtopicRelationshipOptions in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllTempSubtopicRelationshipOptions <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnTempSubtopicRelationshipOptionID = F, returnCreatedTime = F, returnModifiedTime = F, returnRelationshipPath = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "TempSubtopicRelationshipOption", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific TempSubtopicRelationshipOption
#'
#' This function returns fields for a TempSubtopicRelationshipOption.
#'
#' @param TempSubtopicRelationshipOptionID The id of the TempSubtopicRelationshipOption.\cr Run \code{\link{getAllTempSubtopicRelationshipOptions}} for a list of TempSubtopicRelationshipOptions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the TempSubtopicRelationshipOption.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getTempSubtopicRelationshipOption <- function(TempSubtopicRelationshipOptionID, EntityID = 1, returnTempSubtopicRelationshipOptionID = F, returnCreatedTime = F, returnModifiedTime = F, returnRelationshipPath = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "TempSubtopicRelationshipOption", TempSubtopicRelationshipOptionID, searchFields, EntityID)

	}


#' Modify a specific TempSubtopicRelationshipOption
#'
#' This function modifies fields for a TempSubtopicRelationshipOption.
#'
#' @param TempSubtopicRelationshipOptionID The id of the TempSubtopicRelationshipOption to be modified.\cr Run \code{\link{getAllTempSubtopicRelationshipOptions}} for a list of TempSubtopicRelationshipOptions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified TempSubtopicRelationshipOption.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyTempSubtopicRelationshipOption <- function(TempSubtopicRelationshipOptionID, EntityID = 1, setRelationshipPath = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "TempSubtopicRelationshipOption", TempSubtopicRelationshipOptionID, names(functionParams), functionParams, EntityID)

	}


#' Create new TempSubtopicRelationshipOption.
#'
#' This function creates a new TempSubtopicRelationshipOption.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created TempSubtopicRelationshipOption.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createTempSubtopicRelationshipOption <- function(EntityID = 1, setRelationshipPath = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "TempSubtopicRelationshipOption", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific TempSubtopicRelationshipOption
#'
#' This function deletes a TempSubtopicRelationshipOption.
#'
#' @param TempSubtopicRelationshipOptionID The id of the TempSubtopicRelationshipOption.\cr Run \code{\link{getAllTempSubtopicRelationshipOptions}} for a list of TempSubtopicRelationshipOptions.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted TempSubtopicRelationshipOption.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteTempSubtopicRelationshipOption <- function(TempSubtopicRelationshipOptionID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "TempSubtopicRelationshipOption", TempSubtopicRelationshipOptionID, EntityID)

	}


#' Get all TempUploadDataMiningReportLogs.
#'
#' This function returns a dataframe of all TempUploadDataMiningReportLogs in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All TempUploadDataMiningReportLogs in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllTempUploadDataMiningReportLogs <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnTempUploadDataMiningReportLogID = F, returnCreatedTime = F, returnFileName = F, returnLogID = F, returnMessage = F, returnModifiedTime = F, returnResult = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "TempUploadDataMiningReportLog", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific TempUploadDataMiningReportLog
#'
#' This function returns fields for a TempUploadDataMiningReportLog.
#'
#' @param TempUploadDataMiningReportLogID The id of the TempUploadDataMiningReportLog.\cr Run \code{\link{getAllTempUploadDataMiningReportLogs}} for a list of TempUploadDataMiningReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the TempUploadDataMiningReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getTempUploadDataMiningReportLog <- function(TempUploadDataMiningReportLogID, EntityID = 1, returnTempUploadDataMiningReportLogID = F, returnCreatedTime = F, returnFileName = F, returnLogID = F, returnMessage = F, returnModifiedTime = F, returnResult = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "TempUploadDataMiningReportLog", TempUploadDataMiningReportLogID, searchFields, EntityID)

	}


#' Modify a specific TempUploadDataMiningReportLog
#'
#' This function modifies fields for a TempUploadDataMiningReportLog.
#'
#' @param TempUploadDataMiningReportLogID The id of the TempUploadDataMiningReportLog to be modified.\cr Run \code{\link{getAllTempUploadDataMiningReportLogs}} for a list of TempUploadDataMiningReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified TempUploadDataMiningReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyTempUploadDataMiningReportLog <- function(TempUploadDataMiningReportLogID, EntityID = 1, setFileName = NULL, setLogID = NULL, setMessage = NULL, setResult = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "TempUploadDataMiningReportLog", TempUploadDataMiningReportLogID, names(functionParams), functionParams, EntityID)

	}


#' Create new TempUploadDataMiningReportLog.
#'
#' This function creates a new TempUploadDataMiningReportLog.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created TempUploadDataMiningReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createTempUploadDataMiningReportLog <- function(EntityID = 1, setFileName = NULL, setLogID = NULL, setMessage = NULL, setResult = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "TempUploadDataMiningReportLog", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific TempUploadDataMiningReportLog
#'
#' This function deletes a TempUploadDataMiningReportLog.
#'
#' @param TempUploadDataMiningReportLogID The id of the TempUploadDataMiningReportLog.\cr Run \code{\link{getAllTempUploadDataMiningReportLogs}} for a list of TempUploadDataMiningReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted TempUploadDataMiningReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteTempUploadDataMiningReportLog <- function(TempUploadDataMiningReportLogID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "TempUploadDataMiningReportLog", TempUploadDataMiningReportLogID, EntityID)

	}


#' Get all Topics.
#'
#' This function returns a dataframe of all Topics in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All Topics in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllTopics <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnTopicID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnModifiedTime = F, returnName = F, returnNameWithParentTopicName = F, returnSkywardHash = F, returnSkywardID = F, returnSubjectID = F, returnTopicIDParent = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "Topic", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Topic
#'
#' This function returns fields for a Topic.
#'
#' @param TopicID The id of the Topic.\cr Run \code{\link{getAllTopics}} for a list of Topics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the Topic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getTopic <- function(TopicID, EntityID = 1, returnTopicID = F, returnCreatedTime = F, returnCurrentUserHasAccess = F, returnModifiedTime = F, returnName = F, returnNameWithParentTopicName = F, returnSkywardHash = F, returnSkywardID = F, returnSubjectID = F, returnTopicIDParent = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "Topic", TopicID, searchFields, EntityID)

	}


#' Modify a specific Topic
#'
#' This function modifies fields for a Topic.
#'
#' @param TopicID The id of the Topic to be modified.\cr Run \code{\link{getAllTopics}} for a list of Topics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified Topic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyTopic <- function(TopicID, EntityID = 1, setName = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubjectID = NULL, setTopicIDParent = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "Topic", TopicID, names(functionParams), functionParams, EntityID)

	}


#' Create new Topic.
#'
#' This function creates a new Topic.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created Topic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createTopic <- function(EntityID = 1, setName = NULL, setSkywardHash = NULL, setSkywardID = NULL, setSubjectID = NULL, setTopicIDParent = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "Topic", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific Topic
#'
#' This function deletes a Topic.
#'
#' @param TopicID The id of the Topic.\cr Run \code{\link{getAllTopics}} for a list of Topics.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted Topic.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteTopic <- function(TopicID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "Topic", TopicID, EntityID)

	}


#' Get all UploadReportLogs.
#'
#' This function returns a dataframe of all UploadReportLogs in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All UploadReportLogs in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllUploadReportLogs <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnUploadReportLogID = F, returnCreatedTime = F, returnFileName = F, returnLogID = F, returnMessage = F, returnModifiedTime = F, returnReportID = F, returnResult = F, returnResultCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnWorkflowInstanceID = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "UploadReportLog", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific UploadReportLog
#'
#' This function returns fields for an UploadReportLog.
#'
#' @param UploadReportLogID The id of the UploadReportLog.\cr Run \code{\link{getAllUploadReportLogs}} for a list of UploadReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the UploadReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getUploadReportLog <- function(UploadReportLogID, EntityID = 1, returnUploadReportLogID = F, returnCreatedTime = F, returnFileName = F, returnLogID = F, returnMessage = F, returnModifiedTime = F, returnReportID = F, returnResult = F, returnResultCode = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnWorkflowInstanceID = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "UploadReportLog", UploadReportLogID, searchFields, EntityID)

	}


#' Modify a specific UploadReportLog
#'
#' This function modifies fields for an UploadReportLog.
#'
#' @param UploadReportLogID The id of the UploadReportLog to be modified.\cr Run \code{\link{getAllUploadReportLogs}} for a list of UploadReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified UploadReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyUploadReportLog <- function(UploadReportLogID, EntityID = 1, setFileName = NULL, setLogID = NULL, setMessage = NULL, setReportID = NULL, setResult = NULL, setResultCode = NULL, setWorkflowInstanceID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "UploadReportLog", UploadReportLogID, names(functionParams), functionParams, EntityID)

	}


#' Create new UploadReportLog.
#'
#' This function creates a new UploadReportLog.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created UploadReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createUploadReportLog <- function(EntityID = 1, setFileName = NULL, setLogID = NULL, setMessage = NULL, setReportID = NULL, setResult = NULL, setResultCode = NULL, setWorkflowInstanceID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "UploadReportLog", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific UploadReportLog
#'
#' This function deletes an UploadReportLog.
#'
#' @param UploadReportLogID The id of the UploadReportLog.\cr Run \code{\link{getAllUploadReportLogs}} for a list of UploadReportLogs.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted UploadReportLog.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteUploadReportLog <- function(UploadReportLogID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "UploadReportLog", UploadReportLogID, EntityID)

	}


#' Get all UserReportPrompts.
#'
#' This function returns a dataframe of all UserReportPrompts in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All UserReportPrompts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllUserReportPrompts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnUserReportPromptID = F, returnCreatedTime = F, returnCrystalPromptValues = F, returnCrystalPromptXML = F, returnEntityID = F, returnModifiedTime = F, returnPromptTemplateID = F, returnReportID = F, returnSkywardPromptValues = F, returnSkywardPromptXML = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "UserReportPrompt", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific UserReportPrompt
#'
#' This function returns fields for an UserReportPrompt.
#'
#' @param UserReportPromptID The id of the UserReportPrompt.\cr Run \code{\link{getAllUserReportPrompts}} for a list of UserReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the UserReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getUserReportPrompt <- function(UserReportPromptID, EntityID = 1, returnUserReportPromptID = F, returnCreatedTime = F, returnCrystalPromptValues = F, returnCrystalPromptXML = F, returnEntityID = F, returnModifiedTime = F, returnPromptTemplateID = F, returnReportID = F, returnSkywardPromptValues = F, returnSkywardPromptXML = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "UserReportPrompt", UserReportPromptID, searchFields, EntityID)

	}


#' Modify a specific UserReportPrompt
#'
#' This function modifies fields for an UserReportPrompt.
#'
#' @param UserReportPromptID The id of the UserReportPrompt to be modified.\cr Run \code{\link{getAllUserReportPrompts}} for a list of UserReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified UserReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyUserReportPrompt <- function(UserReportPromptID, EntityID = 1, setCrystalPromptXML = NULL, setEntityID = NULL, setPromptTemplateID = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "UserReportPrompt", UserReportPromptID, names(functionParams), functionParams, EntityID)

	}


#' Create new UserReportPrompt.
#'
#' This function creates a new UserReportPrompt.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created UserReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createUserReportPrompt <- function(EntityID = 1, setCrystalPromptXML = NULL, setEntityID = NULL, setPromptTemplateID = NULL, setReportID = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "UserReportPrompt", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific UserReportPrompt
#'
#' This function deletes an UserReportPrompt.
#'
#' @param UserReportPromptID The id of the UserReportPrompt.\cr Run \code{\link{getAllUserReportPrompts}} for a list of UserReportPrompts.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted UserReportPrompt.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteUserReportPrompt <- function(UserReportPromptID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "UserReportPrompt", UserReportPromptID, EntityID)

	}


#' Get all UserSettings.
#'
#' This function returns a dataframe of all UserSettings in the database.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param searchConditionsList A list of search conditions to filter results which are joined by the searchConditionsGroupType. Of the form {FieldName} {ConditionType} {SearchCondition}. For example, c('StudentID LessEqual 500', 'LastName Like Ander\%'). Run \code{\link{getAllSearchConditionTypes}} for a list of ConditionTypes. Defaults to NULL (unfiltered).
#' @param searchConditionsGroupType The conjunction which joins multiple searchConditions in the searchConditionsList. Either 'Or' or 'And'. Defaults to 'And'.
#' @param searchSortFieldNamesList The list of fields sort results by. Defaults to NULL (unsorted).
#' @param searchSortFieldNamesDescendingList A list of T/F values corresponding to whether to sort each field in searchSortFieldNamesList in descending order. Defaults to F for each FieldName in searchSortFieldNamesList.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return All UserSettings in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllUserSettings <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnUserSettingID = F, returnCreatedTime = F, returnDataMiningLeftFieldSelectionPanelWidth = F, returnDataMiningMiddleFieldSelectionPanelWidth = F, returnDataMiningShowLeftFieldSelectionPanel = F, returnModifiedTime = F, returnShowSideBar = F, returnSideBarWidth = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getAllDataObjectsForObject("Reporting", "UserSetting", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific UserSetting
#'
#' This function returns fields for an UserSetting.
#'
#' @param UserSettingID The id of the UserSetting.\cr Run \code{\link{getAllUserSettings}} for a list of UserSettings.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param return{FieldName} A TRUE or FALSE value determining whether or not to return {FieldName} for the given object. Defaults to FALSE for all return fields which for convenience returns all fields for the object.
#' @concept Reporting
#' @return Details for the UserSetting.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getUserSetting <- function(UserSettingID, EntityID = 1, returnUserSettingID = F, returnCreatedTime = F, returnDataMiningLeftFieldSelectionPanelWidth = F, returnDataMiningMiddleFieldSelectionPanelWidth = F, returnDataMiningShowLeftFieldSelectionPanel = F, returnModifiedTime = F, returnShowSideBar = F, returnSideBarWidth = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		searchFields <- names(functionParams)[(unlist(lapply(functionParams, function(x) ifelse(length(x) == 1, x == T, F)))) & (names(functionParams) %>% stringr::str_detect("^return"))]

		if(length(searchFields) == 0) searchFields <- names(functionParams)[names(functionParams) %>% stringr::str_detect("^return")]

		searchFields <- searchFields %>% stringr::str_replace("return", "")

		getDataObject("Reporting",  "UserSetting", UserSettingID, searchFields, EntityID)

	}


#' Modify a specific UserSetting
#'
#' This function modifies fields for an UserSetting.
#'
#' @param UserSettingID The id of the UserSetting to be modified.\cr Run \code{\link{getAllUserSettings}} for a list of UserSettings.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return Details of the modified UserSetting.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyUserSetting <- function(UserSettingID, EntityID = 1, setDataMiningLeftFieldSelectionPanelWidth = NULL, setDataMiningMiddleFieldSelectionPanelWidth = NULL, setDataMiningShowLeftFieldSelectionPanel = NULL, setShowSideBar = NULL, setSideBarWidth = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-(1:2)]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		modifyDataObject("Reporting",  "UserSetting", UserSettingID, names(functionParams), functionParams, EntityID)

	}


#' Create new UserSetting.
#'
#' This function creates a new UserSetting.
#'
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @param set{FieldName} Values to set {FieldName} to for the given object. Defaults to NULL for all set fields which does not set the field's value.
#' @concept Reporting
#' @return The fields used to define the newly created UserSetting.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createUserSetting <- function(EntityID = 1, setDataMiningLeftFieldSelectionPanelWidth = NULL, setDataMiningMiddleFieldSelectionPanelWidth = NULL, setDataMiningShowLeftFieldSelectionPanel = NULL, setShowSideBar = NULL, setSideBarWidth = NULL){

		suppressMessages(suppressWarnings(require(dplyr)))

		functionParams <- as.list(environment())[-1]

		functionParams <- functionParams[which(unlist(lapply(functionParams, function(x) length(x) > 0)))]

		names(functionParams) <- names(functionParams) %>% stringr::str_replace("set", "")

		createDataObject("Reporting",  "UserSetting", names(functionParams), functionParams, EntityID)

	}


#' Delete a specific UserSetting
#'
#' This function deletes an UserSetting.
#'
#' @param UserSettingID The id of the UserSetting.\cr Run \code{\link{getAllUserSettings}} for a list of UserSettings.
#' @param EntityID The id of the entity. Run \code{\link{getAllEntities}} for a list of entities.
#' @concept Reporting
#' @return The id of the deleted UserSetting.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteUserSetting <- function(UserSettingID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Reporting",  "UserSetting", UserSettingID, EntityID)

	}
samterfa/SkywardSDK documentation built on Oct. 13, 2020, 6:53 a.m.