-------------------------------------------------------------------------------- DB API -------------------------------------------------------------------------------- The DB API defines the following methods. These methods are grouped according to which tables they access. A method followed by a list of "=>"-prefixed methods depends on the listed methods. password listPasswords() newPassword($Password) getPassword($userID) putPassword($Password) deletePassword($userID) permission listPermissionLevels() newPermissionLevel($PermissionLevel) getPermissionLevel($userID) putPermissionLevel($PermissionLevel) deletePermissionLevel($userID) key listKeys() newKey($Key) getKey($userID) putKey($Key) deleteKey($userID) user listUsers() newUser($User) getUser($userID) putUser($User) deleteUser($userID) => deletePassword($userID) => deletePermissionLevel($userID) => deleteKey($userID) => deleteUserSet($userID, *) set listGlobalSets() newGlobalSet($GlobalSet) getGlobalSet($setID) putGlobalSet($GlobalSet) deleteGlobalSet($setID) => deleteGlobalProblem($setID, *) => deleteUserSet(*, $setID) set_user listSetUsers($setID) listUserSets($userID) newUserSet($UserSet) getUserSet($userID, $setID) putUserSet($UserSet) deleteUserSet($userID, $setID) => deleteUserProblem($userID, $setID, *) problem listGlobalProblems($setID) newGlobalProblem($GlobalProblem) getGlobalProblem($setID, $problemID) putGlobalProblem($GlobalProblem) deleteGlobalProblem($setID, $problemID) => deleteUserProblem(*, $setID, $problemID) problem_user listProblemUsers($setID, $problemID) listUserProblems($userID, $setID) newUserProblem($UserProblem) getUserProblem($userID, $setID, $problemID) putUserProblem($UserProblem) deleteUserProblem($userID, $setID, $problemID) set+set_user getGlobalUserSet($userID, $setID) => getGlobalSet($setID) => getUserSet($userID, $setID) problem+problem_user getGlobalUserProblem($userID, $setID, $problemID) => getGlobalProblem($setID, $problemID) => getUserProblem($userID, $setID, $problemID)