(&self, sandbox_id: &str)
| 809 | } |
| 810 | |
| 811 | pub async fn get_draft_version(&self, sandbox_id: &str) -> PersistenceResult<i64> { |
| 812 | let rows = sqlx::query( |
| 813 | r" |
| 814 | SELECT payload |
| 815 | FROM objects |
| 816 | WHERE object_type = $1 AND scope = $2 |
| 817 | ", |
| 818 | ) |
| 819 | .bind(DRAFT_CHUNK_OBJECT_TYPE) |
| 820 | .bind(sandbox_id) |
| 821 | .fetch_all(&self.pool) |
| 822 | .await |
| 823 | .map_err(|e| map_db_error(&e))?; |
| 824 | |
| 825 | let mut max_version = 0_i64; |
| 826 | for row in rows { |
| 827 | let payload: Vec<u8> = row.get("payload"); |
| 828 | let wrapper = draft_chunk_record_from_parts( |
| 829 | String::new(), |
| 830 | sandbox_id.to_string(), |
| 831 | String::new(), |
| 832 | 0, |
| 833 | &payload, |
| 834 | 0, |
| 835 | 0, |
| 836 | )?; |
| 837 | max_version = max_version.max(wrapper.draft_version); |
| 838 | } |
| 839 | Ok(max_version) |
| 840 | } |
| 841 | } |
| 842 | |
| 843 | fn row_to_object_record(row: sqlx::postgres::PgRow) -> ObjectRecord { |
nothing calls this directly
no test coverage detected