R/FamilyFunctions.R

Defines functions deleteTempFamilyGuardian createTempFamilyGuardian modifyTempFamilyGuardian getTempFamilyGuardian getAllTempFamilyGuardians deleteStudentGuardianRestrictedAccess createStudentGuardianRestrictedAccess modifyStudentGuardianRestrictedAccess getStudentGuardianRestrictedAccess getAllStudentGuardianRestrictedAccesses deleteStudentGuardian createStudentGuardian modifyStudentGuardian getStudentGuardian getAllStudentGuardians deleteStudentFamily createStudentFamily modifyStudentFamily getStudentFamily getAllStudentFamilies deleteFamilyGuardian createFamilyGuardian modifyFamilyGuardian getFamilyGuardian getAllFamilyGuardians deleteFamily createFamily modifyFamily getFamily getAllFamilies deleteCOPPAConsentObjectMA createCOPPAConsentObjectMA modifyCOPPAConsentObjectMA getCOPPAConsentObjectMA getAllCOPPAConsentObjectMAs deleteConfigSystemFamily createConfigSystemFamily modifyConfigSystemFamily getConfigSystemFamily getAllConfigSystemsFamily deleteConfigEntityGroupYearFamily createConfigEntityGroupYearFamily modifyConfigEntityGroupYearFamily getConfigEntityGroupYearFamily getAllConfigEntityGroupYearsFamily deleteConfigDistrictYearContact createConfigDistrictYearContact modifyConfigDistrictYearContact getConfigDistrictYearContact getAllConfigDistrictYearContacts deleteConfigDistrictYearFamily createConfigDistrictYearFamily modifyConfigDistrictYearFamily getConfigDistrictYearFamily getAllConfigDistrictYearsFamily deleteChangeRequestDetailApproval createChangeRequestDetailApproval modifyChangeRequestDetailApproval getChangeRequestDetailApproval getAllChangeRequestDetailApprovals deleteChangeRequestDetail createChangeRequestDetail modifyChangeRequestDetail getChangeRequestDetail getAllChangeRequestDetails deleteChangeRequest createChangeRequest modifyChangeRequest getChangeRequest getAllChangeRequests

Documented in createChangeRequest createChangeRequestDetail createChangeRequestDetailApproval createConfigDistrictYearContact createConfigDistrictYearFamily createConfigEntityGroupYearFamily createConfigSystemFamily createCOPPAConsentObjectMA createFamily createFamilyGuardian createStudentFamily createStudentGuardian createStudentGuardianRestrictedAccess createTempFamilyGuardian deleteChangeRequest deleteChangeRequestDetail deleteChangeRequestDetailApproval deleteConfigDistrictYearContact deleteConfigDistrictYearFamily deleteConfigEntityGroupYearFamily deleteConfigSystemFamily deleteCOPPAConsentObjectMA deleteFamily deleteFamilyGuardian deleteStudentFamily deleteStudentGuardian deleteStudentGuardianRestrictedAccess deleteTempFamilyGuardian getAllChangeRequestDetailApprovals getAllChangeRequestDetails getAllChangeRequests getAllConfigDistrictYearContacts getAllConfigDistrictYearsFamily getAllConfigEntityGroupYearsFamily getAllConfigSystemsFamily getAllCOPPAConsentObjectMAs getAllFamilies getAllFamilyGuardians getAllStudentFamilies getAllStudentGuardianRestrictedAccesses getAllStudentGuardians getAllTempFamilyGuardians getChangeRequest getChangeRequestDetail getChangeRequestDetailApproval getConfigDistrictYearContact getConfigDistrictYearFamily getConfigEntityGroupYearFamily getConfigSystemFamily getCOPPAConsentObjectMA

#' Get all ChangeRequests.
#'
#' This function returns a dataframe of all ChangeRequests 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 Family
#' @return All ChangeRequests in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllChangeRequests <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnChangeRequestID = F, returnArea = F, returnAreaCode = F, returnCreatedTime = F, returnEntityID = F, returnModifiedTime = F, returnNameID = F, returnSchoolYearID = 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("Family", "ChangeRequest", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ChangeRequest
#'
#' This function returns fields for a ChangeRequest.
#'
#' @param ChangeRequestID The id of the ChangeRequest.\cr Run \code{\link{getAllChangeRequests}} for a list of ChangeRequests.
#' @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 Family
#' @return Details for the ChangeRequest.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getChangeRequest <- function(ChangeRequestID, EntityID = 1, returnChangeRequestID = F, returnArea = F, returnAreaCode = F, returnCreatedTime = F, returnEntityID = F, returnModifiedTime = F, returnNameID = F, returnSchoolYearID = 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("Family",  "ChangeRequest", ChangeRequestID, searchFields, EntityID)

	}


#' Modify a specific ChangeRequest
#'
#' This function modifies fields for a ChangeRequest.
#'
#' @param ChangeRequestID The id of the ChangeRequest to be modified.\cr Run \code{\link{getAllChangeRequests}} for a list of ChangeRequests.
#' @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 Family
#' @return Details of the modified ChangeRequest.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyChangeRequest <- function(ChangeRequestID, EntityID = 1, setArea = NULL, setAreaCode = NULL, setEntityID = NULL, setNameID = NULL, setSchoolYearID = 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("Family",  "ChangeRequest", ChangeRequestID, names(functionParams), functionParams, EntityID)

	}


#' Create new ChangeRequest.
#'
#' This function creates a new ChangeRequest.
#'
#' @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 Family
#' @return The fields used to define the newly created ChangeRequest.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createChangeRequest <- function(EntityID = 1, setArea = NULL, setAreaCode = NULL, setEntityID = NULL, setNameID = NULL, setSchoolYearID = 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("Family",  "ChangeRequest", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ChangeRequest", ChangeRequestID, EntityID)

	}


#' Get all ChangeRequestDetails.
#'
#' This function returns a dataframe of all ChangeRequestDetails 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 Family
#' @return All ChangeRequestDetails in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllChangeRequestDetails <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnChangeRequestDetailID = F, returnChangeRequestID = F, returnCreatedTime = F, returnFieldName = F, returnFieldNameCode = F, returnModifiedTime = F, returnOriginalValue = F, returnRequestedTime = F, returnRequestedValue = F, returnSourceID = F, returnStatus = F, returnStatusCode = F, returnUserIDApprover = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDRequestedBy = 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("Family", "ChangeRequestDetail", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ChangeRequestDetail
#'
#' This function returns fields for a ChangeRequestDetail.
#'
#' @param ChangeRequestDetailID The id of the ChangeRequestDetail.\cr Run \code{\link{getAllChangeRequestDetails}} for a list of ChangeRequestDetails.
#' @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 Family
#' @return Details for the ChangeRequestDetail.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getChangeRequestDetail <- function(ChangeRequestDetailID, EntityID = 1, returnChangeRequestDetailID = F, returnChangeRequestID = F, returnCreatedTime = F, returnFieldName = F, returnFieldNameCode = F, returnModifiedTime = F, returnOriginalValue = F, returnRequestedTime = F, returnRequestedValue = F, returnSourceID = F, returnStatus = F, returnStatusCode = F, returnUserIDApprover = F, returnUserIDCreatedBy = F, returnUserIDModifiedBy = F, returnUserIDRequestedBy = 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("Family",  "ChangeRequestDetail", ChangeRequestDetailID, searchFields, EntityID)

	}


#' Modify a specific ChangeRequestDetail
#'
#' This function modifies fields for a ChangeRequestDetail.
#'
#' @param ChangeRequestDetailID The id of the ChangeRequestDetail to be modified.\cr Run \code{\link{getAllChangeRequestDetails}} for a list of ChangeRequestDetails.
#' @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 Family
#' @return Details of the modified ChangeRequestDetail.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyChangeRequestDetail <- function(ChangeRequestDetailID, EntityID = 1, setChangeRequestID = NULL, setFieldName = NULL, setFieldNameCode = NULL, setOriginalValue = NULL, setRequestedTime = NULL, setRequestedValue = NULL, setSourceID = NULL, setStatus = NULL, setStatusCode = NULL, setUserIDApprover = NULL, setUserIDRequestedBy = 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("Family",  "ChangeRequestDetail", ChangeRequestDetailID, names(functionParams), functionParams, EntityID)

	}


#' Create new ChangeRequestDetail.
#'
#' This function creates a new ChangeRequestDetail.
#'
#' @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 Family
#' @return The fields used to define the newly created ChangeRequestDetail.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createChangeRequestDetail <- function(EntityID = 1, setChangeRequestID = NULL, setFieldName = NULL, setFieldNameCode = NULL, setOriginalValue = NULL, setRequestedTime = NULL, setRequestedValue = NULL, setSourceID = NULL, setStatus = NULL, setStatusCode = NULL, setUserIDApprover = NULL, setUserIDRequestedBy = 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("Family",  "ChangeRequestDetail", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ChangeRequestDetail", ChangeRequestDetailID, EntityID)

	}


#' Get all ChangeRequestDetailApprovals.
#'
#' This function returns a dataframe of all ChangeRequestDetailApprovals 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 Family
#' @return All ChangeRequestDetailApprovals in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllChangeRequestDetailApprovals <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnChangeRequestDetailApprovalID = F, returnChangeRequestDetailID = F, returnComment = F, returnCreatedTime = F, returnModifiedTime = F, returnStatus = F, returnStatusCode = F, returnUserIDApprover = 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("Family", "ChangeRequestDetailApproval", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ChangeRequestDetailApproval
#'
#' This function returns fields for a ChangeRequestDetailApproval.
#'
#' @param ChangeRequestDetailApprovalID The id of the ChangeRequestDetailApproval.\cr Run \code{\link{getAllChangeRequestDetailApprovals}} for a list of ChangeRequestDetailApprovals.
#' @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 Family
#' @return Details for the ChangeRequestDetailApproval.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getChangeRequestDetailApproval <- function(ChangeRequestDetailApprovalID, EntityID = 1, returnChangeRequestDetailApprovalID = F, returnChangeRequestDetailID = F, returnComment = F, returnCreatedTime = F, returnModifiedTime = F, returnStatus = F, returnStatusCode = F, returnUserIDApprover = 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("Family",  "ChangeRequestDetailApproval", ChangeRequestDetailApprovalID, searchFields, EntityID)

	}


#' Modify a specific ChangeRequestDetailApproval
#'
#' This function modifies fields for a ChangeRequestDetailApproval.
#'
#' @param ChangeRequestDetailApprovalID The id of the ChangeRequestDetailApproval to be modified.\cr Run \code{\link{getAllChangeRequestDetailApprovals}} for a list of ChangeRequestDetailApprovals.
#' @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 Family
#' @return Details of the modified ChangeRequestDetailApproval.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyChangeRequestDetailApproval <- function(ChangeRequestDetailApprovalID, EntityID = 1, setChangeRequestDetailID = NULL, setComment = NULL, setStatus = NULL, setStatusCode = NULL, setUserIDApprover = 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("Family",  "ChangeRequestDetailApproval", ChangeRequestDetailApprovalID, names(functionParams), functionParams, EntityID)

	}


#' Create new ChangeRequestDetailApproval.
#'
#' This function creates a new ChangeRequestDetailApproval.
#'
#' @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 Family
#' @return The fields used to define the newly created ChangeRequestDetailApproval.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createChangeRequestDetailApproval <- function(EntityID = 1, setChangeRequestDetailID = NULL, setComment = NULL, setStatus = NULL, setStatusCode = NULL, setUserIDApprover = 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("Family",  "ChangeRequestDetailApproval", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ChangeRequestDetailApproval", ChangeRequestDetailApprovalID, EntityID)

	}


#' Get all ConfigDistrictYears.
#'
#' This function returns a dataframe of all ConfigDistrictYears 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 Family
#' @return All ConfigDistrictYears in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllConfigDistrictYearsFamily <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnConfigDistrictYearID = F, returnCreatedTime = F, returnDisplayDefaultContact = F, returnDisplayModuleContact = F, returnDistrictID = F, returnModifiedTime = F, returnSchoolYearID = 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("Family", "ConfigDistrictYear", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ConfigDistrictYear
#'
#' This function returns fields for a ConfigDistrictYear.
#'
#' @param ConfigDistrictYearID The id of the ConfigDistrictYear.\cr Run \code{\link{getAllConfigDistrictYears}} for a list of ConfigDistrictYears.
#' @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 Family
#' @return Details for the ConfigDistrictYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getConfigDistrictYearFamily <- function(ConfigDistrictYearID, EntityID = 1, returnConfigDistrictYearID = F, returnCreatedTime = F, returnDisplayDefaultContact = F, returnDisplayModuleContact = F, returnDistrictID = F, returnModifiedTime = F, returnSchoolYearID = 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("Family",  "ConfigDistrictYear", ConfigDistrictYearID, searchFields, EntityID)

	}


#' Modify a specific ConfigDistrictYear
#'
#' This function modifies fields for a ConfigDistrictYear.
#'
#' @param ConfigDistrictYearID The id of the ConfigDistrictYear to be modified.\cr Run \code{\link{getAllConfigDistrictYears}} for a list of ConfigDistrictYears.
#' @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 Family
#' @return Details of the modified ConfigDistrictYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyConfigDistrictYearFamily <- function(ConfigDistrictYearID, EntityID = 1, setDistrictID = NULL, setSchoolYearID = 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("Family",  "ConfigDistrictYear", ConfigDistrictYearID, names(functionParams), functionParams, EntityID)

	}


#' Create new ConfigDistrictYear.
#'
#' This function creates a new ConfigDistrictYear.
#'
#' @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 Family
#' @return The fields used to define the newly created ConfigDistrictYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createConfigDistrictYearFamily <- function(EntityID = 1, setDistrictID = NULL, setSchoolYearID = 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("Family",  "ConfigDistrictYear", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ConfigDistrictYear", ConfigDistrictYearID, EntityID)

	}


#' Get all ConfigDistrictYearContacts.
#'
#' This function returns a dataframe of all ConfigDistrictYearContacts 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 Family
#' @return All ConfigDistrictYearContacts in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllConfigDistrictYearContacts <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnConfigDistrictYearContactID = F, returnCanDisplayEmail = F, returnCanDisplayPhone = F, returnConfigDistrictYearID = F, returnCreatedTime = F, returnDisplayEmail = F, returnDisplayPhone = F, returnModifiedTime = F, returnModule = F, returnModuleCode = F, returnModuleDisplay = F, returnNameID = 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("Family", "ConfigDistrictYearContact", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ConfigDistrictYearContact
#'
#' This function returns fields for a ConfigDistrictYearContact.
#'
#' @param ConfigDistrictYearContactID The id of the ConfigDistrictYearContact.\cr Run \code{\link{getAllConfigDistrictYearContacts}} for a list of ConfigDistrictYearContacts.
#' @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 Family
#' @return Details for the ConfigDistrictYearContact.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getConfigDistrictYearContact <- function(ConfigDistrictYearContactID, EntityID = 1, returnConfigDistrictYearContactID = F, returnCanDisplayEmail = F, returnCanDisplayPhone = F, returnConfigDistrictYearID = F, returnCreatedTime = F, returnDisplayEmail = F, returnDisplayPhone = F, returnModifiedTime = F, returnModule = F, returnModuleCode = F, returnModuleDisplay = F, returnNameID = 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("Family",  "ConfigDistrictYearContact", ConfigDistrictYearContactID, searchFields, EntityID)

	}


#' Modify a specific ConfigDistrictYearContact
#'
#' This function modifies fields for a ConfigDistrictYearContact.
#'
#' @param ConfigDistrictYearContactID The id of the ConfigDistrictYearContact to be modified.\cr Run \code{\link{getAllConfigDistrictYearContacts}} for a list of ConfigDistrictYearContacts.
#' @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 Family
#' @return Details of the modified ConfigDistrictYearContact.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyConfigDistrictYearContact <- function(ConfigDistrictYearContactID, EntityID = 1, setConfigDistrictYearID = NULL, setDisplayEmail = NULL, setDisplayPhone = NULL, setModule = NULL, setModuleCode = NULL, setNameID = 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("Family",  "ConfigDistrictYearContact", ConfigDistrictYearContactID, names(functionParams), functionParams, EntityID)

	}


#' Create new ConfigDistrictYearContact.
#'
#' This function creates a new ConfigDistrictYearContact.
#'
#' @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 Family
#' @return The fields used to define the newly created ConfigDistrictYearContact.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createConfigDistrictYearContact <- function(EntityID = 1, setConfigDistrictYearID = NULL, setDisplayEmail = NULL, setDisplayPhone = NULL, setModule = NULL, setModuleCode = NULL, setNameID = 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("Family",  "ConfigDistrictYearContact", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ConfigDistrictYearContact", ConfigDistrictYearContactID, EntityID)

	}


#' Get all ConfigEntityGroupYears.
#'
#' This function returns a dataframe of all ConfigEntityGroupYears 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 Family
#' @return All ConfigEntityGroupYears in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllConfigEntityGroupYearsFamily <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnConfigEntityGroupYearID = F, returnChangeRequestFamilyEmail = F, returnChangeRequestFamilyEmailCode = F, returnChangeRequestFamilyPhone = F, returnChangeRequestFamilyPhoneCode = F, returnChangeRequestStudentEmail = F, returnChangeRequestStudentEmailCode = F, returnConfigEntityGroupYearIDClonedFrom = F, returnCreatedTime = F, returnDefaultFeeManagementOnlinePaymentAccess = F, returnDefaultFeeManagementOnlinePaymentAccessCode = F, returnDefaultFoodServiceOnlinePaymentAccess = F, returnDefaultFoodServiceOnlinePaymentAccessCode = F, returnDisplayAssignments = F, returnDisplayCalendarEvents = F, returnDisplayDistrictActivityEvents = F, returnDisplayStudentActivityEvents = F, returnEmailTypeIDToDisplayFamilyStudentAccess = F, returnEndorsementSignatureOption = F, returnEndorsementSignatureOptionCode = F, returnEndorsementSignatureStatement = F, returnEntityGroupKey = F, returnEntityID = F, returnFamilyAccessAccountInfoEmailBody = F, returnFamilyAccessAccountInfoEmailIncludeResetPasswordText = F, returnFamilyAccessAccountInfoEmailSubject = F, returnFamilyAccessCareerPlanDisplayShowDroppedCourses = F, returnFamilyAccessDisplayCommentCodes = F, returnFamilyAccessDisplayFreeFormComments = F, returnFamilyAccessDisplayGradeBucketsAfterEndDate = F, returnFamilyAccessDisplayHonorRoll = F, returnFamilyAccessDisplayLockerCombination = F, returnFamilyAccessDisplayLockerNumber = F, returnFamilyAccessDisplayOnlyCurrentAndCompleteGrades = F, returnFamilyAccessDisplayOnlyCurrentMissingAssignments = F, returnFamilyAccessDisplayShowActualEarnedCredits = F, returnFamilyAccessDisplayShowAttendance = F, returnFamilyAccessDisplayShowDroppedCourses = F, returnFamilyAccessDisplayShowEndedAttendanceTerms = F, returnFamilyAccessDisplayShowPossibleEarnedCredits = F, returnFamilyAccessDisplayStudentAddress = F, returnFamilyAccessDisplayStudentRank = F, returnFamilyAccessDisplayUseReportCardGradeBucketSettings = F, returnFamilyAccessLinkStudentSectionsOnReportCard = F, returnFamilyStudentAccessDisplayTeacherEmail = F, returnFamilyStudentAccessDisplayTeacherPhoneNumber = F, returnHideScheduleMessage = F, returnHideSchedulePriorToCalendarDays = F, returnIsFamilyInformationApprovalWorkflowUpdated = F, returnIsStudentInformationApprovalWorkflowUpdated = F, returnModifiedTime = F, returnPhoneTypeIDToDisplayFamilyStudentAccess = F, returnRankMethodIDFamilyAccessReportCardGrading = F, returnRankMethodIDFamilyAccessReportCardStudent = F, returnReportCardGPADisplay = F, returnReportCardGPADisplayCode = F, returnReportCardHeaderAddressType = F, returnReportCardHeaderAddressTypeCode = F, returnReportCardStudentRankDisplay = F, returnReportCardStudentRankDisplayCode = F, returnSchoolYearID = F, returnStaffNameDisplayType = F, returnStaffNameDisplayTypeCode = 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("Family", "ConfigEntityGroupYear", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific ConfigEntityGroupYear
#'
#' This function returns fields for a ConfigEntityGroupYear.
#'
#' @param ConfigEntityGroupYearID The id of the ConfigEntityGroupYear.\cr Run \code{\link{getAllConfigEntityGroupYears}} for a list of ConfigEntityGroupYears.
#' @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 Family
#' @return Details for the ConfigEntityGroupYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getConfigEntityGroupYearFamily <- function(ConfigEntityGroupYearID, EntityID = 1, returnConfigEntityGroupYearID = F, returnChangeRequestFamilyEmail = F, returnChangeRequestFamilyEmailCode = F, returnChangeRequestFamilyPhone = F, returnChangeRequestFamilyPhoneCode = F, returnChangeRequestStudentEmail = F, returnChangeRequestStudentEmailCode = F, returnConfigEntityGroupYearIDClonedFrom = F, returnCreatedTime = F, returnDefaultFeeManagementOnlinePaymentAccess = F, returnDefaultFeeManagementOnlinePaymentAccessCode = F, returnDefaultFoodServiceOnlinePaymentAccess = F, returnDefaultFoodServiceOnlinePaymentAccessCode = F, returnDisplayAssignments = F, returnDisplayCalendarEvents = F, returnDisplayDistrictActivityEvents = F, returnDisplayStudentActivityEvents = F, returnEmailTypeIDToDisplayFamilyStudentAccess = F, returnEndorsementSignatureOption = F, returnEndorsementSignatureOptionCode = F, returnEndorsementSignatureStatement = F, returnEntityGroupKey = F, returnEntityID = F, returnFamilyAccessAccountInfoEmailBody = F, returnFamilyAccessAccountInfoEmailIncludeResetPasswordText = F, returnFamilyAccessAccountInfoEmailSubject = F, returnFamilyAccessCareerPlanDisplayShowDroppedCourses = F, returnFamilyAccessDisplayCommentCodes = F, returnFamilyAccessDisplayFreeFormComments = F, returnFamilyAccessDisplayGradeBucketsAfterEndDate = F, returnFamilyAccessDisplayHonorRoll = F, returnFamilyAccessDisplayLockerCombination = F, returnFamilyAccessDisplayLockerNumber = F, returnFamilyAccessDisplayOnlyCurrentAndCompleteGrades = F, returnFamilyAccessDisplayOnlyCurrentMissingAssignments = F, returnFamilyAccessDisplayShowActualEarnedCredits = F, returnFamilyAccessDisplayShowAttendance = F, returnFamilyAccessDisplayShowDroppedCourses = F, returnFamilyAccessDisplayShowEndedAttendanceTerms = F, returnFamilyAccessDisplayShowPossibleEarnedCredits = F, returnFamilyAccessDisplayStudentAddress = F, returnFamilyAccessDisplayStudentRank = F, returnFamilyAccessDisplayUseReportCardGradeBucketSettings = F, returnFamilyAccessLinkStudentSectionsOnReportCard = F, returnFamilyStudentAccessDisplayTeacherEmail = F, returnFamilyStudentAccessDisplayTeacherPhoneNumber = F, returnHideScheduleMessage = F, returnHideSchedulePriorToCalendarDays = F, returnIsFamilyInformationApprovalWorkflowUpdated = F, returnIsStudentInformationApprovalWorkflowUpdated = F, returnModifiedTime = F, returnPhoneTypeIDToDisplayFamilyStudentAccess = F, returnRankMethodIDFamilyAccessReportCardGrading = F, returnRankMethodIDFamilyAccessReportCardStudent = F, returnReportCardGPADisplay = F, returnReportCardGPADisplayCode = F, returnReportCardHeaderAddressType = F, returnReportCardHeaderAddressTypeCode = F, returnReportCardStudentRankDisplay = F, returnReportCardStudentRankDisplayCode = F, returnSchoolYearID = F, returnStaffNameDisplayType = F, returnStaffNameDisplayTypeCode = 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("Family",  "ConfigEntityGroupYear", ConfigEntityGroupYearID, searchFields, EntityID)

	}


#' Modify a specific ConfigEntityGroupYear
#'
#' This function modifies fields for a ConfigEntityGroupYear.
#'
#' @param ConfigEntityGroupYearID The id of the ConfigEntityGroupYear to be modified.\cr Run \code{\link{getAllConfigEntityGroupYears}} for a list of ConfigEntityGroupYears.
#' @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 Family
#' @return Details of the modified ConfigEntityGroupYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyConfigEntityGroupYearFamily <- function(ConfigEntityGroupYearID, EntityID = 1, setChangeRequestFamilyEmail = NULL, setChangeRequestFamilyEmailCode = NULL, setChangeRequestFamilyPhone = NULL, setChangeRequestFamilyPhoneCode = NULL, setChangeRequestStudentEmail = NULL, setChangeRequestStudentEmailCode = NULL, setConfigEntityGroupYearIDClonedFrom = NULL, setDefaultFeeManagementOnlinePaymentAccess = NULL, setDefaultFeeManagementOnlinePaymentAccessCode = NULL, setDefaultFoodServiceOnlinePaymentAccess = NULL, setDefaultFoodServiceOnlinePaymentAccessCode = NULL, setDisplayAssignments = NULL, setDisplayCalendarEvents = NULL, setDisplayDistrictActivityEvents = NULL, setDisplayStudentActivityEvents = NULL, setEmailTypeIDToDisplayFamilyStudentAccess = NULL, setEndorsementSignatureOption = NULL, setEndorsementSignatureOptionCode = NULL, setEndorsementSignatureStatement = NULL, setEntityGroupKey = NULL, setEntityID = NULL, setFamilyAccessAccountInfoEmailBody = NULL, setFamilyAccessAccountInfoEmailIncludeResetPasswordText = NULL, setFamilyAccessAccountInfoEmailSubject = NULL, setFamilyAccessCareerPlanDisplayShowDroppedCourses = NULL, setFamilyAccessDisplayCommentCodes = NULL, setFamilyAccessDisplayFreeFormComments = NULL, setFamilyAccessDisplayGradeBucketsAfterEndDate = NULL, setFamilyAccessDisplayHonorRoll = NULL, setFamilyAccessDisplayLockerCombination = NULL, setFamilyAccessDisplayLockerNumber = NULL, setFamilyAccessDisplayOnlyCurrentAndCompleteGrades = NULL, setFamilyAccessDisplayOnlyCurrentMissingAssignments = NULL, setFamilyAccessDisplayShowActualEarnedCredits = NULL, setFamilyAccessDisplayShowAttendance = NULL, setFamilyAccessDisplayShowDroppedCourses = NULL, setFamilyAccessDisplayShowEndedAttendanceTerms = NULL, setFamilyAccessDisplayShowPossibleEarnedCredits = NULL, setFamilyAccessDisplayStudentAddress = NULL, setFamilyAccessDisplayStudentRank = NULL, setFamilyAccessDisplayUseReportCardGradeBucketSettings = NULL, setFamilyAccessLinkStudentSectionsOnReportCard = NULL, setFamilyStudentAccessDisplayTeacherEmail = NULL, setFamilyStudentAccessDisplayTeacherPhoneNumber = NULL, setHideScheduleMessage = NULL, setHideSchedulePriorToCalendarDays = NULL, setIsFamilyInformationApprovalWorkflowUpdated = NULL, setIsStudentInformationApprovalWorkflowUpdated = NULL, setPhoneTypeIDToDisplayFamilyStudentAccess = NULL, setRankMethodIDFamilyAccessReportCardGrading = NULL, setRankMethodIDFamilyAccessReportCardStudent = NULL, setReportCardGPADisplay = NULL, setReportCardGPADisplayCode = NULL, setReportCardHeaderAddressType = NULL, setReportCardHeaderAddressTypeCode = NULL, setReportCardStudentRankDisplay = NULL, setReportCardStudentRankDisplayCode = NULL, setSchoolYearID = NULL, setStaffNameDisplayType = NULL, setStaffNameDisplayTypeCode = 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("Family",  "ConfigEntityGroupYear", ConfigEntityGroupYearID, names(functionParams), functionParams, EntityID)

	}


#' Create new ConfigEntityGroupYear.
#'
#' This function creates a new ConfigEntityGroupYear.
#'
#' @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 Family
#' @return The fields used to define the newly created ConfigEntityGroupYear.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createConfigEntityGroupYearFamily <- function(EntityID = 1, setChangeRequestFamilyEmail = NULL, setChangeRequestFamilyEmailCode = NULL, setChangeRequestFamilyPhone = NULL, setChangeRequestFamilyPhoneCode = NULL, setChangeRequestStudentEmail = NULL, setChangeRequestStudentEmailCode = NULL, setConfigEntityGroupYearIDClonedFrom = NULL, setDefaultFeeManagementOnlinePaymentAccess = NULL, setDefaultFeeManagementOnlinePaymentAccessCode = NULL, setDefaultFoodServiceOnlinePaymentAccess = NULL, setDefaultFoodServiceOnlinePaymentAccessCode = NULL, setDisplayAssignments = NULL, setDisplayCalendarEvents = NULL, setDisplayDistrictActivityEvents = NULL, setDisplayStudentActivityEvents = NULL, setEmailTypeIDToDisplayFamilyStudentAccess = NULL, setEndorsementSignatureOption = NULL, setEndorsementSignatureOptionCode = NULL, setEndorsementSignatureStatement = NULL, setEntityGroupKey = NULL, setEntityID = NULL, setFamilyAccessAccountInfoEmailBody = NULL, setFamilyAccessAccountInfoEmailIncludeResetPasswordText = NULL, setFamilyAccessAccountInfoEmailSubject = NULL, setFamilyAccessCareerPlanDisplayShowDroppedCourses = NULL, setFamilyAccessDisplayCommentCodes = NULL, setFamilyAccessDisplayFreeFormComments = NULL, setFamilyAccessDisplayGradeBucketsAfterEndDate = NULL, setFamilyAccessDisplayHonorRoll = NULL, setFamilyAccessDisplayLockerCombination = NULL, setFamilyAccessDisplayLockerNumber = NULL, setFamilyAccessDisplayOnlyCurrentAndCompleteGrades = NULL, setFamilyAccessDisplayOnlyCurrentMissingAssignments = NULL, setFamilyAccessDisplayShowActualEarnedCredits = NULL, setFamilyAccessDisplayShowAttendance = NULL, setFamilyAccessDisplayShowDroppedCourses = NULL, setFamilyAccessDisplayShowEndedAttendanceTerms = NULL, setFamilyAccessDisplayShowPossibleEarnedCredits = NULL, setFamilyAccessDisplayStudentAddress = NULL, setFamilyAccessDisplayStudentRank = NULL, setFamilyAccessDisplayUseReportCardGradeBucketSettings = NULL, setFamilyAccessLinkStudentSectionsOnReportCard = NULL, setFamilyStudentAccessDisplayTeacherEmail = NULL, setFamilyStudentAccessDisplayTeacherPhoneNumber = NULL, setHideScheduleMessage = NULL, setHideSchedulePriorToCalendarDays = NULL, setIsFamilyInformationApprovalWorkflowUpdated = NULL, setIsStudentInformationApprovalWorkflowUpdated = NULL, setPhoneTypeIDToDisplayFamilyStudentAccess = NULL, setRankMethodIDFamilyAccessReportCardGrading = NULL, setRankMethodIDFamilyAccessReportCardStudent = NULL, setReportCardGPADisplay = NULL, setReportCardGPADisplayCode = NULL, setReportCardHeaderAddressType = NULL, setReportCardHeaderAddressTypeCode = NULL, setReportCardStudentRankDisplay = NULL, setReportCardStudentRankDisplayCode = NULL, setSchoolYearID = NULL, setStaffNameDisplayType = NULL, setStaffNameDisplayTypeCode = 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("Family",  "ConfigEntityGroupYear", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "ConfigEntityGroupYear", ConfigEntityGroupYearID, 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 Family
#' @return All ConfigSystems in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllConfigSystemsFamily <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnConfigSystemID = F, returnAddressValidationMessage = F, returnAllowFamilyAccessDefault = F, returnAllowOutOfRangeAddressesToSubmit = F, returnAutoGenerateSecurityUser = F, returnAutoGenerateSecurityUserCode = F, returnCreatedTime = F, returnEnableAddressValidation = F, returnEnableNewStudentEnrollment = 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("Family", "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 Family
#' @return Details for the ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getConfigSystemFamily <- function(ConfigSystemID, EntityID = 1, returnConfigSystemID = F, returnAddressValidationMessage = F, returnAllowFamilyAccessDefault = F, returnAllowOutOfRangeAddressesToSubmit = F, returnAutoGenerateSecurityUser = F, returnAutoGenerateSecurityUserCode = F, returnCreatedTime = F, returnEnableAddressValidation = F, returnEnableNewStudentEnrollment = 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("Family",  "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 Family
#' @return Details of the modified ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyConfigSystemFamily <- function(ConfigSystemID, EntityID = 1, setAddressValidationMessage = NULL, setAllowFamilyAccessDefault = NULL, setAllowOutOfRangeAddressesToSubmit = NULL, setAutoGenerateSecurityUser = NULL, setAutoGenerateSecurityUserCode = NULL, setEnableAddressValidation = NULL, setEnableNewStudentEnrollment = 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("Family",  "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 Family
#' @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
	createConfigSystemFamily <- function(EntityID = 1, setAddressValidationMessage = NULL, setAllowFamilyAccessDefault = NULL, setAllowOutOfRangeAddressesToSubmit = NULL, setAutoGenerateSecurityUser = NULL, setAutoGenerateSecurityUserCode = NULL, setEnableAddressValidation = NULL, setEnableNewStudentEnrollment = 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("Family",  "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 Family
#' @return The id of the deleted ConfigSystem.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	deleteConfigSystemFamily <- function(ConfigSystemID, EntityID = 1){

		suppressMessages(suppressWarnings(require(dplyr)))

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

	}


#' Get all COPPAConsentObjectMAs.
#'
#' This function returns a dataframe of all COPPAConsentObjectMAs 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 Family
#' @return All COPPAConsentObjectMAs in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllCOPPAConsentObjectMAs <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnCOPPAConsentObjectMAID = F, returnCOPPAConsent = F, returnCreatedTime = F, returnFamilyGuardianID = 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("Family", "COPPAConsentObjectMA", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific COPPAConsentObjectMA
#'
#' This function returns fields for a COPPAConsentObjectMA.
#'
#' @param COPPAConsentObjectMAID The id of the COPPAConsentObjectMA.\cr Run \code{\link{getAllCOPPAConsentObjectMAs}} for a list of COPPAConsentObjectMAs.
#' @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 Family
#' @return Details for the COPPAConsentObjectMA.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getCOPPAConsentObjectMA <- function(COPPAConsentObjectMAID, EntityID = 1, returnCOPPAConsentObjectMAID = F, returnCOPPAConsent = F, returnCreatedTime = F, returnFamilyGuardianID = 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("Family",  "COPPAConsentObjectMA", COPPAConsentObjectMAID, searchFields, EntityID)

	}


#' Modify a specific COPPAConsentObjectMA
#'
#' This function modifies fields for a COPPAConsentObjectMA.
#'
#' @param COPPAConsentObjectMAID The id of the COPPAConsentObjectMA to be modified.\cr Run \code{\link{getAllCOPPAConsentObjectMAs}} for a list of COPPAConsentObjectMAs.
#' @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 Family
#' @return Details of the modified COPPAConsentObjectMA.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyCOPPAConsentObjectMA <- function(COPPAConsentObjectMAID, EntityID = 1, setCOPPAConsent = NULL, setFamilyGuardianID = 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("Family",  "COPPAConsentObjectMA", COPPAConsentObjectMAID, names(functionParams), functionParams, EntityID)

	}


#' Create new COPPAConsentObjectMA.
#'
#' This function creates a new COPPAConsentObjectMA.
#'
#' @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 Family
#' @return The fields used to define the newly created COPPAConsentObjectMA.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createCOPPAConsentObjectMA <- function(EntityID = 1, setCOPPAConsent = NULL, setFamilyGuardianID = 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("Family",  "COPPAConsentObjectMA", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "COPPAConsentObjectMA", COPPAConsentObjectMAID, EntityID)

	}


#' Get all Families.
#'
#' This function returns a dataframe of all Families 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 Family
#' @return All Families in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllFamilies <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnFamilyID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnHasStudentInSpecificDistrict = F, returnLanguageIDHome = 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("Family", "Family", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific Family
#'
#' This function returns fields for a Family.
#'
#' @param FamilyID The id of the Family.\cr Run \code{\link{getAllFamilies}} for a list of Families.
#' @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 Family
#' @return Details for the Family.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getFamily <- function(FamilyID, EntityID = 1, returnFamilyID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnHasStudentInSpecificDistrict = F, returnLanguageIDHome = 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("Family",  "Family", FamilyID, searchFields, EntityID)

	}


#' Modify a specific Family
#'
#' This function modifies fields for a Family.
#'
#' @param FamilyID The id of the Family to be modified.\cr Run \code{\link{getAllFamilies}} for a list of Familys.
#' @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 Family
#' @return Details of the modified Family.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyFamily <- function(FamilyID, EntityID = 1, setLanguageIDHome = 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("Family",  "Family", FamilyID, names(functionParams), functionParams, EntityID)

	}


#' Create new Family.
#'
#' This function creates a new Family.
#'
#' @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 Family
#' @return The fields used to define the newly created Family.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createFamily <- function(EntityID = 1, setLanguageIDHome = 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("Family",  "Family", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "Family", FamilyID, EntityID)

	}


#' Get all FamilyGuardians.
#'
#' This function returns a dataframe of all FamilyGuardians 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 Family
#' @return All FamilyGuardians in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllFamilyGuardians <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnFamilyGuardianID = F, returnCreatedTime = F, returnFamilyID = F, returnHasActiveStudentGuardianRestrictedAccess = F, returnModifiedTime = F, returnNameID = F, returnRank = 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("Family", "FamilyGuardian", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific FamilyGuardian
#'
#' This function returns fields for a FamilyGuardian.
#'
#' @param FamilyGuardianID The id of the FamilyGuardian.\cr Run \code{\link{getAllFamilyGuardians}} for a list of FamilyGuardians.
#' @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 Family
#' @return Details for the FamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getFamilyGuardian <- function(FamilyGuardianID, EntityID = 1, returnFamilyGuardianID = F, returnCreatedTime = F, returnFamilyID = F, returnHasActiveStudentGuardianRestrictedAccess = F, returnModifiedTime = F, returnNameID = F, returnRank = 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("Family",  "FamilyGuardian", FamilyGuardianID, searchFields, EntityID)

	}


#' Modify a specific FamilyGuardian
#'
#' This function modifies fields for a FamilyGuardian.
#'
#' @param FamilyGuardianID The id of the FamilyGuardian to be modified.\cr Run \code{\link{getAllFamilyGuardians}} for a list of FamilyGuardians.
#' @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 Family
#' @return Details of the modified FamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyFamilyGuardian <- function(FamilyGuardianID, EntityID = 1, setFamilyID = NULL, setNameID = NULL, setRank = 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("Family",  "FamilyGuardian", FamilyGuardianID, names(functionParams), functionParams, EntityID)

	}


#' Create new FamilyGuardian.
#'
#' This function creates a new FamilyGuardian.
#'
#' @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 Family
#' @return The fields used to define the newly created FamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createFamilyGuardian <- function(EntityID = 1, setFamilyID = NULL, setNameID = NULL, setRank = 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("Family",  "FamilyGuardian", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "FamilyGuardian", FamilyGuardianID, EntityID)

	}


#' Get all StudentFamilies.
#'
#' This function returns a dataframe of all StudentFamilies 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 Family
#' @return All StudentFamilies in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllStudentFamilies <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnStudentFamilyID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnFamilyID = F, returnHasEmployeeGuardian = F, returnIsEmergencyContact = F, returnIsPrimaryEmergencyContact = F, returnModifiedTime = F, returnRank = F, returnReceivesForms = F, returnStudentID = 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("Family", "StudentFamily", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific StudentFamily
#'
#' This function returns fields for a StudentFamily.
#'
#' @param StudentFamilyID The id of the StudentFamily.\cr Run \code{\link{getAllStudentFamilies}} for a list of StudentFamilies.
#' @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 Family
#' @return Details for the StudentFamily.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getStudentFamily <- function(StudentFamilyID, EntityID = 1, returnStudentFamilyID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnFamilyID = F, returnHasEmployeeGuardian = F, returnIsEmergencyContact = F, returnIsPrimaryEmergencyContact = F, returnModifiedTime = F, returnRank = F, returnReceivesForms = F, returnStudentID = 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("Family",  "StudentFamily", StudentFamilyID, searchFields, EntityID)

	}


#' Modify a specific StudentFamily
#'
#' This function modifies fields for a StudentFamily.
#'
#' @param StudentFamilyID The id of the StudentFamily to be modified.\cr Run \code{\link{getAllStudentFamilies}} for a list of StudentFamilys.
#' @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 Family
#' @return Details of the modified StudentFamily.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyStudentFamily <- function(StudentFamilyID, EntityID = 1, setFamilyID = NULL, setRank = NULL, setReceivesForms = NULL, setStudentID = 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("Family",  "StudentFamily", StudentFamilyID, names(functionParams), functionParams, EntityID)

	}


#' Create new StudentFamily.
#'
#' This function creates a new StudentFamily.
#'
#' @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 Family
#' @return The fields used to define the newly created StudentFamily.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createStudentFamily <- function(EntityID = 1, setFamilyID = NULL, setRank = NULL, setReceivesForms = NULL, setStudentID = 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("Family",  "StudentFamily", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "StudentFamily", StudentFamilyID, EntityID)

	}


#' Get all StudentGuardians.
#'
#' This function returns a dataframe of all StudentGuardians 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 Family
#' @return All StudentGuardians in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllStudentGuardians <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnStudentGuardianID = F, returnAllowFamilyAccess = F, returnAllowStudentPickup = F, returnCreatedTime = F, returnFeeOnlinePaymentOverrideType = F, returnFeeOnlinePaymentOverrideTypeCode = F, returnFoodOnlinePaymentOverrideType = F, returnFoodOnlinePaymentOverrideTypeCode = F, returnGuardianCategory = F, returnGuardianNameIDAndFamilyID = F, returnHasActiveRestrictedAccess = F, returnHasUnrestrictedAccess = F, returnIsCustodialGuardian = F, returnIsEmergencyContact = F, returnModifiedTime = F, returnNameIDGuardian = F, returnNeedsSecurityGroupAudit = F, returnOverrideFeeOnlinePaymentAccess = F, returnOverrideFoodOnlinePaymentAccess = F, returnRank = F, returnRelationshipID = F, returnStudentID = 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("Family", "StudentGuardian", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific StudentGuardian
#'
#' This function returns fields for a StudentGuardian.
#'
#' @param StudentGuardianID The id of the StudentGuardian.\cr Run \code{\link{getAllStudentGuardians}} for a list of StudentGuardians.
#' @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 Family
#' @return Details for the StudentGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getStudentGuardian <- function(StudentGuardianID, EntityID = 1, returnStudentGuardianID = F, returnAllowFamilyAccess = F, returnAllowStudentPickup = F, returnCreatedTime = F, returnFeeOnlinePaymentOverrideType = F, returnFeeOnlinePaymentOverrideTypeCode = F, returnFoodOnlinePaymentOverrideType = F, returnFoodOnlinePaymentOverrideTypeCode = F, returnGuardianCategory = F, returnGuardianNameIDAndFamilyID = F, returnHasActiveRestrictedAccess = F, returnHasUnrestrictedAccess = F, returnIsCustodialGuardian = F, returnIsEmergencyContact = F, returnModifiedTime = F, returnNameIDGuardian = F, returnNeedsSecurityGroupAudit = F, returnOverrideFeeOnlinePaymentAccess = F, returnOverrideFoodOnlinePaymentAccess = F, returnRank = F, returnRelationshipID = F, returnStudentID = 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("Family",  "StudentGuardian", StudentGuardianID, searchFields, EntityID)

	}


#' Modify a specific StudentGuardian
#'
#' This function modifies fields for a StudentGuardian.
#'
#' @param StudentGuardianID The id of the StudentGuardian to be modified.\cr Run \code{\link{getAllStudentGuardians}} for a list of StudentGuardians.
#' @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 Family
#' @return Details of the modified StudentGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyStudentGuardian <- function(StudentGuardianID, EntityID = 1, setAllowFamilyAccess = NULL, setAllowStudentPickup = NULL, setFeeOnlinePaymentOverrideType = NULL, setFeeOnlinePaymentOverrideTypeCode = NULL, setFoodOnlinePaymentOverrideType = NULL, setFoodOnlinePaymentOverrideTypeCode = NULL, setIsCustodialGuardian = NULL, setNameIDGuardian = NULL, setOverrideFeeOnlinePaymentAccess = NULL, setOverrideFoodOnlinePaymentAccess = NULL, setRelationshipID = NULL, setStudentID = 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("Family",  "StudentGuardian", StudentGuardianID, names(functionParams), functionParams, EntityID)

	}


#' Create new StudentGuardian.
#'
#' This function creates a new StudentGuardian.
#'
#' @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 Family
#' @return The fields used to define the newly created StudentGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createStudentGuardian <- function(EntityID = 1, setAllowFamilyAccess = NULL, setAllowStudentPickup = NULL, setFeeOnlinePaymentOverrideType = NULL, setFeeOnlinePaymentOverrideTypeCode = NULL, setFoodOnlinePaymentOverrideType = NULL, setFoodOnlinePaymentOverrideTypeCode = NULL, setIsCustodialGuardian = NULL, setNameIDGuardian = NULL, setOverrideFeeOnlinePaymentAccess = NULL, setOverrideFoodOnlinePaymentAccess = NULL, setRelationshipID = NULL, setStudentID = 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("Family",  "StudentGuardian", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "StudentGuardian", StudentGuardianID, EntityID)

	}


#' Get all StudentGuardianRestrictedAccesses.
#'
#' This function returns a dataframe of all StudentGuardianRestrictedAccesses 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 Family
#' @return All StudentGuardianRestrictedAccesses in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllStudentGuardianRestrictedAccesses <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnStudentGuardianRestrictedAccessID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnEndDate = F, returnModifiedTime = F, returnReason = F, returnStartDate = F, returnStudentGuardianID = 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("Family", "StudentGuardianRestrictedAccess", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific StudentGuardianRestrictedAccess
#'
#' This function returns fields for a StudentGuardianRestrictedAccess.
#'
#' @param StudentGuardianRestrictedAccessID The id of the StudentGuardianRestrictedAccess.\cr Run \code{\link{getAllStudentGuardianRestrictedAccesses}} for a list of StudentGuardianRestrictedAccesses.
#' @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 Family
#' @return Details for the StudentGuardianRestrictedAccess.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getStudentGuardianRestrictedAccess <- function(StudentGuardianRestrictedAccessID, EntityID = 1, returnStudentGuardianRestrictedAccessID = F, returnAttachmentCount = F, returnAttachmentIndicatorColumn = F, returnCreatedTime = F, returnEndDate = F, returnModifiedTime = F, returnReason = F, returnStartDate = F, returnStudentGuardianID = 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("Family",  "StudentGuardianRestrictedAccess", StudentGuardianRestrictedAccessID, searchFields, EntityID)

	}


#' Modify a specific StudentGuardianRestrictedAccess
#'
#' This function modifies fields for a StudentGuardianRestrictedAccess.
#'
#' @param StudentGuardianRestrictedAccessID The id of the StudentGuardianRestrictedAccess to be modified.\cr Run \code{\link{getAllStudentGuardianRestrictedAccesses}} for a list of StudentGuardianRestrictedAccess.
#' @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 Family
#' @return Details of the modified StudentGuardianRestrictedAccess.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyStudentGuardianRestrictedAccess <- function(StudentGuardianRestrictedAccessID, EntityID = 1, setEndDate = NULL, setReason = NULL, setStartDate = NULL, setStudentGuardianID = 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("Family",  "StudentGuardianRestrictedAccess", StudentGuardianRestrictedAccessID, names(functionParams), functionParams, EntityID)

	}


#' Create new StudentGuardianRestrictedAccess.
#'
#' This function creates a new StudentGuardianRestrictedAccess.
#'
#' @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 Family
#' @return The fields used to define the newly created StudentGuardianRestrictedAccess.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createStudentGuardianRestrictedAccess <- function(EntityID = 1, setEndDate = NULL, setReason = NULL, setStartDate = NULL, setStudentGuardianID = 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("Family",  "StudentGuardianRestrictedAccess", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "StudentGuardianRestrictedAccess", StudentGuardianRestrictedAccessID, EntityID)

	}


#' Get all TempFamilyGuardians.
#'
#' This function returns a dataframe of all TempFamilyGuardians 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 Family
#' @return All TempFamilyGuardians in the database.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getAllTempFamilyGuardians <- function(EntityID = 1, searchConditionsList = NULL, searchConditionsGroupType = "And", searchSortFieldNamesList = NULL, searchSortFieldNamesDescendingList = rep(F, length(searchSortFieldNamesList)), page = 1, pageSize = "100000", returnTempFamilyGuardianID = F, returnCreatedTime = F, returnGuardianNameID = F, returnGuardianNameLFM = F, returnIsFamilyAccessUser = 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("Family", "TempFamilyGuardian", searchFields, EntityID, searchConditionsList, searchConditionsGroupType, searchSortFieldNamesList, searchSortFieldNamesDescendingList, page, pageSize)

	}


#' Get a specific TempFamilyGuardian
#'
#' This function returns fields for a TempFamilyGuardian.
#'
#' @param TempFamilyGuardianID The id of the TempFamilyGuardian.\cr Run \code{\link{getAllTempFamilyGuardians}} for a list of TempFamilyGuardians.
#' @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 Family
#' @return Details for the TempFamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	getTempFamilyGuardian <- function(TempFamilyGuardianID, EntityID = 1, returnTempFamilyGuardianID = F, returnCreatedTime = F, returnGuardianNameID = F, returnGuardianNameLFM = F, returnIsFamilyAccessUser = 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("Family",  "TempFamilyGuardian", TempFamilyGuardianID, searchFields, EntityID)

	}


#' Modify a specific TempFamilyGuardian
#'
#' This function modifies fields for a TempFamilyGuardian.
#'
#' @param TempFamilyGuardianID The id of the TempFamilyGuardian to be modified.\cr Run \code{\link{getAllTempFamilyGuardians}} for a list of TempFamilyGuardians.
#' @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 Family
#' @return Details of the modified TempFamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	modifyTempFamilyGuardian <- function(TempFamilyGuardianID, EntityID = 1, setGuardianNameID = NULL, setGuardianNameLFM = NULL, setIsFamilyAccessUser = 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("Family",  "TempFamilyGuardian", TempFamilyGuardianID, names(functionParams), functionParams, EntityID)

	}


#' Create new TempFamilyGuardian.
#'
#' This function creates a new TempFamilyGuardian.
#'
#' @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 Family
#' @return The fields used to define the newly created TempFamilyGuardian.
#' @section References:
#' \{yourApiUrl\}/swagger\cr\cr
#' \href{https://help.skyward.com/}{Skyward's Knowledge Hub}
#' @export
	createTempFamilyGuardian <- function(EntityID = 1, setGuardianNameID = NULL, setGuardianNameLFM = NULL, setIsFamilyAccessUser = 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("Family",  "TempFamilyGuardian", names(functionParams), functionParams, EntityID)

	}


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

		suppressMessages(suppressWarnings(require(dplyr)))

		deleteDataObject("Family",  "TempFamilyGuardian", TempFamilyGuardianID, EntityID)

	}
samterfa/SkywardSDK documentation built on Oct. 13, 2020, 6:53 a.m.