diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-24 01:31:44 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-24 15:21:32 -0700 |
commit | 63db335123d8dde1c4e701668c07805094ff88e8 (patch) | |
tree | 83f0387b6568d09c525330d414b8e21c21d43e03 /rust/src/api_helpers.rs | |
parent | eb094c1829d1fc9bb48e687921eeff656b69e2c2 (diff) | |
download | fatcat-63db335123d8dde1c4e701668c07805094ff88e8.tar.gz fatcat-63db335123d8dde1c4e701668c07805094ff88e8.zip |
WIP on API spec improvements
Fixes a bunch of i64/i32/isize stuff
Diffstat (limited to 'rust/src/api_helpers.rs')
-rw-r--r-- | rust/src/api_helpers.rs | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/rust/src/api_helpers.rs b/rust/src/api_helpers.rs index 247eed88..62fc4569 100644 --- a/rust/src/api_helpers.rs +++ b/rust/src/api_helpers.rs @@ -1,9 +1,8 @@ - -use errors::*; -use diesel; -use diesel::prelude::*; use database_models::*; use database_schema::*; +use diesel; +use diesel::prelude::*; +use errors::*; pub fn get_or_create_editgroup(editor_id: i64, conn: &PgConnection) -> Result<i64> { // check for current active @@ -14,11 +13,8 @@ pub fn get_or_create_editgroup(editor_id: i64, conn: &PgConnection) -> Result<i6 // need to insert and update conn.build_transaction().run(|| { - let eg_row: EditgroupRow = diesel::insert_into(editgroup::table) - .values(( - editgroup::editor_id.eq(ed_row.id), - )) + .values((editgroup::editor_id.eq(ed_row.id),)) .get_result(conn)?; diesel::update(editor::table.find(ed_row.id)) .set(editor::active_editgroup_id.eq(eg_row.id)) @@ -29,7 +25,6 @@ pub fn get_or_create_editgroup(editor_id: i64, conn: &PgConnection) -> Result<i6 pub fn accept_editgroup(editgroup_id: i64, conn: &PgConnection) -> Result<ChangelogRow> { conn.build_transaction().run(|| { - // check that we haven't accepted already (in changelog) // NB: could leave this to a UNIQUE constraint let count: i64 = changelog::table @@ -60,8 +55,8 @@ pub fn accept_editgroup(editgroup_id: i64, conn: &PgConnection) -> Result<Change // Sketchy... but fast? Only a few queries per accept. for entity in ["container", "creator", "file", "work", "release"].iter() { - diesel::sql_query( - format!(" + diesel::sql_query(format!( + " UPDATE {entity}_ident SET is_live = true, @@ -71,16 +66,14 @@ pub fn accept_editgroup(editgroup_id: i64, conn: &PgConnection) -> Result<Change WHERE {entity}_ident.id = {entity}_edit.ident_id AND {entity}_edit.editgroup_id = $1", - entity = entity)) - .bind::<diesel::sql_types::BigInt, _>(editgroup_id) + entity = entity + )).bind::<diesel::sql_types::BigInt, _>(editgroup_id) .execute(conn)?; } // append log/changelog row let entry: ChangelogRow = diesel::insert_into(changelog::table) - .values(( - changelog::editgroup_id.eq(editgroup_id), - )) + .values((changelog::editgroup_id.eq(editgroup_id),)) .get_result(conn)?; // update any editor's active editgroup |