<?php // List teams route (api/team/) global $dbh; // Auth user $user = Auth::authAPICall($dbh); // Initialize scouting db $sdb = new ScoutingDB($dbh, $user["organization_id"], 1, $user["id"]); // Default team fields $default_fields = array("id", "team_number", "team_name", "team_type", "summary", "strengths", "weaknesses", "use_markdown", "date_added"); $options = array_merge(array("sort_col" => "team_number", "sort_dir" => "up", "page" => 0, "limit" => 100, "fields" => $default_fields, "search" => ""), $get); $safe_fields = $options["fields"] === $default_fields; $options["search"] = urldecode($options["search"]); $where = array(); // Output results $output = array("data" => $sdb->getList("team", $options["sort_col"], $options["sort_dir"], $options["page"], $options["limit"], $options["fields"], $safe_fields, $where, $options["search"]), "numPages" => $sdb->getNumPages("team", $options["limit"], $where, $options["search"], $options["fields"]));
} } if (strlen($username) && strlen($password) && count($organization)) { $users = new Auth($dbh, $organization["id"]); $user = $users->authUsernamePassword($username, $password); if (is_array($user)) { if (isset($user["error"])) { // Inactive user, etc. $errors[] = $user["error"]; } else { $success = true; $token = Token::create($dbh, $user["id"]); $sdb = new ScoutingDB($dbh, $organization["id"], 1, $user["id"]); $organization["team_numbers"] = array_map(function ($team) { return $team["team_number"]; }, $sdb->getList("team", "team_number", "up", 1, 10000, $fields = array("team_number"), 1)); } } else { $errors[] = "Invalid username/password"; } } else { $errors[] = $required_fields_err; } $output = array(); $output["success"] = $success; $output["error"] = $errors; if (strlen($token)) { $output["token"] = $token; $output["data"] = array("user" => $user, "organization" => $organization); } } else {
<?php // List users route (api/user/) global $dbh; // Auth user $user = Auth::authAPICall($dbh); // Initialize scouting db $sdb = new ScoutingDB($dbh, $user["organization_id"], 1, $user["id"]); // Default user fields $default_fields = array("id", "username", "firstname", "lastname", "active", "date_added"); $options = array_merge(array("sort_col" => "id", "sort_dir" => "up", "page" => 0, "limit" => 100, "fields" => $default_fields), $get); $safe_fields = $options["fields"] === $default_fields; // Output results $output = array("data" => $sdb->getList("organization_user", $options["sort_col"], $options["sort_dir"], $options["page"], $options["limit"], $options["fields"], $safe_fields), "numPages" => $sdb->getNumPages("organization_user", $options["limit"]));
<?php // Feed route (api/feed/) global $dbh; // Auth user $user = Auth::authAPICall($dbh); $sdb = new ScoutingDB($dbh, $user["organization_id"], 1, $user["id"]); $default_fields = array("id", "organization_user_id", "name", "url", "entry", "filename", "use_markdown", "date_added"); $options = array_merge(array("sort_col" => "date_added", "sort_dir" => "down", "page" => 1, "limit" => 20, "fields" => $default_fields, "url" => ""), $get); $safe_fields = $options["fields"] === $default_fields; $where = array(); if (strlen($options["url"])) { $where["url"] = $options["url"]; } // Output results $output = array("data" => $sdb->getList("feed_entry", $options["sort_col"], $options["sort_dir"], $options["page"], $options["limit"], $options["fields"], $safe_fields, $where), "numPages" => $sdb->getNumPages("feed_entry", $options["limit"], $where)); foreach ($output["data"] as &$row) { $user = $sdb->getItem("organization_user", array("id" => $row["organization_user_id"]), array("firstname", "lastname")); $row["organization_user"] = $user["firstname"] . " " . $user["lastname"]; }