use id of session just created for session id of song_practiced

practiced_songs
Matt Huntington 6 months ago
parent 8cc7fb638e
commit 9b565f21ec

@ -34,10 +34,10 @@ int main()
connect();
crow::json::wvalue status;
auto request_body = crow::json::load(req.body);
int new_session_id;
if(request_body.has("comments")){
prep_stmt = con->prepareStatement("INSERT INTO practice_sessions (description, seconds, comments, practice_category_id) VALUES (?, ?, ?, ?)");
prep_stmt = con->prepareStatement("INSERT INTO practice_sessions (description, seconds, comments, practice_category_id) VALUES (?, ?, ?, ?) RETURNING id");
string description = request_body["description"].s();
int seconds = request_body["seconds"].i();
@ -48,11 +48,13 @@ int main()
prep_stmt->setInt(2, seconds);
prep_stmt->setString(3, comments);
prep_stmt->setInt(4, practice_category_id);
prep_stmt->execute();
ResultSet *res = prep_stmt->executeQuery();
res->next();
new_session_id = res->getInt("id");
} else {
prep_stmt = con->prepareStatement("INSERT INTO practice_sessions (description, seconds, practice_category_id) VALUES (?, ?, ?)");
prep_stmt = con->prepareStatement("INSERT INTO practice_sessions (description, seconds, practice_category_id) VALUES (?, ?, ?) RETURNING id");
string description = request_body["description"].s();
int seconds = request_body["seconds"].i();
@ -61,14 +63,16 @@ int main()
prep_stmt->setString(1, description);
prep_stmt->setInt(2, seconds);
prep_stmt->setInt(3, practice_category_id);
prep_stmt->execute();
ResultSet *res = prep_stmt->executeQuery();
res->next();
new_session_id = res->getInt("id");
}
if(request_body.has("songs")){
for(const auto& song : request_body["songs"]){
prep_stmt = con->prepareStatement("INSERT INTO songs_practiced (practice_session_id, song_id) VALUES (?, ?)");
prep_stmt->setInt(1, 5377);
prep_stmt->setInt(1, new_session_id);
prep_stmt->setInt(2, int(song["id"]));
prep_stmt->execute();
}

Loading…
Cancel
Save