예제 #1
0
     if (empty($requestObject->shiftDelete) === true) {
         $requestObject->shiftDelete = null;
     }
     //perform the actual put or post
     if ($method === "PUT") {
         $shift = Shift::getShiftByShiftId($pdo, $id);
         if ($shift === null) {
             throw new RuntimeException("Shift does not exist", 404);
         }
         $shift = new Shift($id, $requestObject->shiftUserId, $requestObject->shiftCrewId, $requestObject->shiftRequestId, $requestObject->shiftStartTime, $requestObject->shiftDuration, $requestObject->shiftDate, $requestObject->shiftDelete);
         $shift->update($pdo);
         $reply->message = "Shift updated OK";
     } else {
         if ($method === "POST") {
             $shift = new Shift(null, $requestObject->shiftUserId, $requestObject->shiftCrewId, $requestObject->shiftRequestId, $requestObject->shiftStartTime, $requestObject->shiftDuration, $requestObject->shiftDate, $requestObject->shiftDelete);
             $shift->insert($pdo);
             $reply->message = "Shift created OK";
         }
     }
 } else {
     if ($method === "DELETE") {
         verifyXsrf();
         $shift = Shift::getShiftByShiftId($pdo, $id);
         if ($shift === null) {
             throw new RuntimeException("Shift does not exist", 404);
         }
         $shift->delete($pdo);
         $deleteObject = new \stdClass();
         $deleteObject->shiftId = $id;
         $reply->message = "Shift deleted OK";
     }
예제 #2
0
 public function testGetShiftByShiftRequestId()
 {
     //count the number of rows and save it for later
     $numRows = $this->getConnection()->getRowCount("shift");
     //create a new Shift and insert to into mySQL
     $shift = new Shift(null, $this->requestor->getUserId(), $this->crew->getCrewId(), $this->request->getRequestId(), $this->VALID_SHIFTSTARTTIME, $this->VALID_SHIFTDURATION, $this->VALID_SHIFTDATE, $this->VALID_SHIFTDELETE);
     $shift->insert($this->getPDO());
     //grab the data from mySQL and enforce the fields match our expectations
     $pdoShift = Shift::getShiftByShiftRequestId($this->getPDO(), $shift->getShiftRequestId());
     $this->assertEquals($numRows + 1, $this->getConnection()->getRowCount("shift"));
     $this->assertEquals($pdoShift->getShiftUserId(), $this->requestor->getUserId());
     $this->assertEquals($pdoShift->getShiftCrewId(), $this->crew->getCrewId());
     $this->assertEquals($pdoShift->getShiftRequestId(), $this->request->getRequestId());
     $this->assertEquals($pdoShift->getShiftStartTime(), $this->VALID_SHIFTSTARTTIME);
     $this->assertEquals($pdoShift->getShiftDuration(), $this->VALID_SHIFTDURATION);
     $this->assertEquals($pdoShift->getShiftDate()->format("Y-m-d"), $this->VALID_SHIFTDATE);
     $this->assertEquals($pdoShift->getShiftDelete(), $this->VALID_SHIFTDELETE);
 }