Ejemplo n.º 1
0
    $response->getBody()->write(parseToJSONArray($contacts));
    return $response;
});
$app->post('/venues/{id}/contacts', function ($request, $response, $args) {
    $venueid = $request->getAttribute('id');
    $parsedBody = $request->getParsedBody();
    if ($parsedBody == null) {
        return err_general_error($response, "Provide a body to assign a contact to this venues");
    }
    $contact = new Contact();
    $contact->fromArray($parsedBody);
    $contact = ContactQuery::create()->findPK($contact->getId());
    if ($contact == null) {
        return err_general_error($response, "Venue Id " . $id . " not found");
    }
    $con = Propel::getWriteConnection('productionSource');
    $sql = "INSERT INTO ContactAssignmentToVenue(VenueId, ContactId) VALUES(:venueid, :contactid)";
    $stmt = $con->prepare($sql);
    $stmt->execute(array(':venueid' => $venueid, ':contactid' => $contact->getId()));
    return success($response, "Contact assigned to venue");
});
$app->delete('/venues/{venueid}/contacts/{contactid}', function ($request, $response, $args) {
    $venueid = $request->getAttribute('venueid');
    $contactid = $request->getAttribute('contactid');
    $assignment = ContactAssignmentToVenueQuery::create()->filterByContactId($contactid)->filterByVenueId($venueid);
    if ($assignment == null) {
        return err_general_error($response, "No assignment with Venue Id {$id} and Contact Id {$contactid} found.");
    }
    $assignment->delete();
    return success($response, "Assignment deleted");
});
Ejemplo n.º 2
0
    $gigid = $request->getAttribute('gigid');
    $assignment = ContactAssigmentToGigQuery::query()->filterByGigId($gigid)->filterByContactId($contactid);
    if ($assignment == null) {
        return err_general_error($response, "ContactAssignment with  ContactId {$contactid} and GigId {$gigid} not found");
    }
    $assignment->delete();
    return success($response, "ContactAssignmentToGig deleted");
});
$app->get('/contacts/{id}/venues', function ($request, $response, $args) {
    $id = $request->getAttribute('id');
    $con = Propel::getWriteConnection('productionSource');
    $sql = "SELECT * FROM Venue WHERE id IN " . "(SELECT ContactAssignmentToVenue.VenueId FROM ContactAssignmentToVenue" . " WHERE ContactAssignmentToVenue.ContactId = :contactid)";
    $stmt = $con->prepare($sql);
    $stmt->execute(array('contactid' => $id));
    $formatter = new ObjectFormatter();
    $formatter->setClass('\\Venue');
    //full qualified class name
    $venues = $formatter->format($con->getDataFetcher($stmt));
    $response->getBody()->write(parseToJSONArray($venues));
    return $response;
});
$app->delete('/contacts/{contactid}/venues/{venuesid}', function ($request, $response, $args) {
    $contactid = $request->getAttribute('contactid');
    $venueid = $request->getAttribute('venueid');
    $assignment = ContactAssigmentToVenueQuery::query()->filterByVenueId($venueid)->filterByContactId($contactid);
    if ($assignment == null) {
        return err_general_error($response, "ContactAssignment with  ContactId {$contactid} and VenueId {$venueid} not found");
    }
    $assignment->delete();
    return success($response, "ContactAssignmentToVenue deleted");
});
Ejemplo n.º 3
0
    $id = $request->getAttribute('id');
    $account = AccountQuery::create()->findPK($id);
    if ($account == null) {
        return err_general_error($response, "Account Id {$id} not found");
    }
    /* Hide password and salt */
    $account->setPassword("hidden");
    $account->setSalt("hidden");
    $response->getBody()->write($account->toJSON());
    return $response;
});
$app->put('/account/{id}', function ($request, $response, $args) {
    $id = $request->getAttribute('id');
    $parsedBody = $request->getParsedBody();
    if ($parsedBody == null) {
        return err_general_error($response, "Provide a body to update your account");
    }
    $account = AccountQuery::create()->findPK($id);
    if ($account == null) {
        return err_general_error($response, "Account Id " . $id . " not found");
    }
    $account->fromArray($parsedBody);
    if ($account->validate()) {
        $account->save();
    } else {
        return err_general_error($response, "Validation failed");
    }
    /* response with the saves account */
    $response->getBody()->write($account->toJSON());
    return $response;
});