예제 #1
0
                 throw new RuntimeException("Organization does not exist", 404);
             }
             $organization = new Organization($id, $requestObject->orgAddress1, $requestObject->orgAddress2, $requestObject->orgCity, $requestObject->orgDescription, $requestObject->orgHours, $requestObject->orgName, $requestObject->orgPhone, $requestObject->orgState, $requestObject->orgType, $requestObject->orgZip);
             $organization->update($pdo);
             $reply->message = "Organization updated OK";
         } else {
             if ($method === "POST") {
                 $organization = new Organization(null, $requestObject->orgAddress1, $requestObject->orgAddress2, $requestObject->orgCity, $requestObject->orgDescription, $requestObject->orgHours, $requestObject->orgName, $requestObject->orgPhone, $requestObject->orgState, $requestObject->orgType, $requestObject->orgZip);
                 $organization->insert($pdo);
                 $reply->message = "Organization created OK";
             }
         }
     } else {
         if ($method === "DELETE") {
             //verifyXsrf();
             $organization = Organization::getOrganizationByOrgId($pdo, $id);
             if ($organization === null) {
                 throw new RuntimeException("Organization does not exist", 404);
             }
             $organization->delete($pdo);
             $deletedObject = new stdClass();
             $deletedObject->organizationId = $id;
             $reply->message = "Organization deleted OK";
         }
     }
 } else {
     //if not an admin, and attempting a method other than get, throw an exception
     if (empty($method) === false && $method !== "GET") {
         throw new RuntimeException("Only administrators are allowed to modify entries", 401);
     }
 }
예제 #2
0
     //get the listing based on the given field TODO I think this needs fixing. TF
     if (empty($id) === false) {
         $reply->data = Listing::getListingByListingId($pdo, $id);
     } elseif (empty($orgId) === false) {
         $reply->data = Listing::getListingByOrgId($pdo, $orgId)->toArray();
     } elseif (empty($postTime) === false) {
         $reply->data = Listing::getListingByListingPostTime($pdo, $listingPostTime)->toArray();
     } elseif (empty($parentId) === false) {
         $reply->data = Listing::getListingByParentId($pdo, $listingParentId)->toArray();
     } elseif (empty($typeId) === false) {
         $reply->data = Listing::getListingByTypeId($pdo, $listingTypeId)->toArray();
     } else {
         //sets up if block to determine if the current organization is a giver ('G') or a receiver ('R')
         //if organization is 'G' then show only the listings pertaining to that organization
         //if organization is 'R' then show all listings
         $currentOrgType = Organization::getOrganizationByOrgId($pdo, $_SESSION["volunteer"]->getOrgId());
         if ($currentOrgType !== null && $currentOrgType->getOrgType() === 'G') {
             $reply->data = Listing::getListingByOrgId($pdo, $_SESSION["volunteer"]->getOrgId())->toArray();
         } elseif ($currentOrgType !== null && $currentOrgType->getOrgType() === 'R') {
             $reply->data = Listing::getAllListings($pdo)->toArray();
         }
     }
 }
 //verify admin and verify object not empty
 //if the session belongs to an admin, allow post, put, and delete methods
 if (empty($_SESSION["volunteer"]) === false && $_SESSION["volunteer"]->getVolIsAdmin() === true) {
     if ($method === "PUT" || $method === "POST") {
         //verifyXsrf();
         $requestContent = file_get_contents("php://input");
         $requestObject = json_decode($requestContent);
         //make sure all fields are present, in order to prevent database issues
예제 #3
0
 /**
  * test getting an organization that does not exist
  */
 public function testGetInvalidOrganizationByOrgId()
 {
     //grab an id that exceeds the maximum allowable value
     $organization = Organization::getOrganizationByOrgId($this->getPDO(), BreadBasketTest::INVALID_KEY);
     $this->assertNull($organization);
 }
예제 #4
0
 /**
  * test putting a valid organization into the API
  */
 public function testValidPut()
 {
     //create a new organization, and insert into the database
     $organization = new Organization(null, $this->VALID_ADDRESS1, $this->VALID_ADDRESS2, $this->VALID_CITY, $this->VALID_DESCRIPTION, $this->VALID_HOURS, $this->VALID_NAME, $this->VALID_PHONE, $this->VALID_STATE, $this->VALID_TYPE, $this->VALID_ZIP);
     $organization->insert($this->getPDO());
     //update the organization
     $organization->setOrgName($this->VALID_NAME_ALT);
     //send the info to update to the API
     $response = $this->guzzle->put('https://bootcamp-coders.cnm.edu/~bbrown52/bread-basket/public_html/php/api/organization/' . $organization->getOrgId(), ['allow-redirects' => ['strict' => true], 'json' => $organization, 'headers' => ['X-XSRF-TOKEN' => $this->token]]);
     //ensure the response was sent, and the api returned a positive status
     $this->assertSame($response->getStatusCode(), 200);
     $body = $response->getBody();
     $retrievedOrg = json_decode($body);
     $this->assertSame(200, $retrievedOrg->status);
     //pull the value from the DB, and make sure it was properly updated
     $neworg = Organization::getOrganizationByOrgId($this->getPDO(), $organization->getOrgId());
     $this->assertSame($neworg->getOrgName(), $this->VALID_NAME_ALT);
 }