···257 deadpool_diesel::Manager<SqliteConnection>,
258 deadpool_diesel::sqlite::Object,
259 >,
0000260) -> Result<()> {
0261 use crate::schema::pds::email_token::dsl as EmailTokenSchema;
262 use crate::schema::pds::refresh_token::dsl as RefreshTokenSchema;
263- use crate::schema::pds::repo_root::dsl as RepoRootSchema;
26400000000000265 let did = did.to_owned();
266 _ = db
267 .get()
268 .await?
269 .interact(move |conn| {
270- _ = delete(RepoRootSchema::repo_root)
271- .filter(RepoRootSchema::did.eq(&did))
272- .execute(conn)?;
273 _ = delete(EmailTokenSchema::email_token)
274 .filter(EmailTokenSchema::did.eq(&did))
275 .execute(conn)?;
···257 deadpool_diesel::Manager<SqliteConnection>,
258 deadpool_diesel::sqlite::Object,
259 >,
260+ actor_db: &deadpool_diesel::Pool<
261+ deadpool_diesel::Manager<SqliteConnection>,
262+ deadpool_diesel::sqlite::Object,
263+ >,
264) -> Result<()> {
265+ use crate::schema::actor_store::repo_root::dsl as RepoRootSchema;
266 use crate::schema::pds::email_token::dsl as EmailTokenSchema;
267 use crate::schema::pds::refresh_token::dsl as RefreshTokenSchema;
0268269+ let did_clone = did.to_owned();
270+ _ = actor_db
271+ .get()
272+ .await?
273+ .interact(move |conn| {
274+ delete(RepoRootSchema::repo_root)
275+ .filter(RepoRootSchema::did.eq(&did_clone))
276+ .execute(conn)
277+ })
278+ .await
279+ .expect("Failed to delete actor")?;
280 let did = did.to_owned();
281 _ = db
282 .get()
283 .await?
284 .interact(move |conn| {
000285 _ = delete(EmailTokenSchema::email_token)
286 .filter(EmailTokenSchema::did.eq(&did))
287 .execute(conn)?;
+3-5
src/account_manager/helpers/repo.rs
···4//! Modified for SQLite backend
5use anyhow::Result;
6use cidv10::Cid;
07use diesel::*;
89pub async fn update_root(
10 did: String,
11 cid: Cid,
12 rev: String,
13- db: &deadpool_diesel::Pool<
14- deadpool_diesel::Manager<SqliteConnection>,
15- deadpool_diesel::sqlite::Object,
16- >,
17) -> Result<()> {
18 // @TODO balance risk of a race in the case of a long retry
19- use crate::schema::pds::repo_root::dsl as RepoRootSchema;
2021 let now = rsky_common::now();
22
···4//! Modified for SQLite backend
5use anyhow::Result;
6use cidv10::Cid;
7+use deadpool_diesel::{Manager, Pool, sqlite::Object};
8use diesel::*;
910pub async fn update_root(
11 did: String,
12 cid: Cid,
13 rev: String,
14+ db: &Pool<Manager<SqliteConnection>, Object>,
00015) -> Result<()> {
16 // @TODO balance risk of a race in the case of a long retry
17+ use crate::schema::actor_store::repo_root::dsl as RepoRootSchema;
1819 let now = rsky_common::now();
20
···4//!
5//! Modified for SQLite backend
67-use crate::models::pds as models;
8use anyhow::{Result, bail};
9use cidv10::Cid;
10use diesel::dsl::{count_distinct, exists, not};
···6768 /// Get metadata for a blob by CID
69 pub async fn get_blob_metadata(&self, cid: Cid) -> Result<GetBlobMetadataOutput> {
70- use crate::schema::pds::blob::dsl as BlobSchema;
7172 let did = self.did.clone();
73 let found = self
···112113 /// Get all records that reference a specific blob
114 pub async fn get_records_for_blob(&self, cid: Cid) -> Result<Vec<String>> {
115- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
116117 let did = self.did.clone();
118 let res = self
···169170 /// Track a blob that hasn't been associated with any records yet
171 pub async fn track_untethered_blob(&self, metadata: BlobMetadata) -> Result<BlobRef> {
172- use crate::schema::pds::blob::dsl as BlobSchema;
173174 let did = self.did.clone();
175 self.db.get().await?.interact(move |conn| {
···254255 /// Delete blobs that are no longer referenced by any records
256 pub async fn delete_dereferenced_blobs(&self, writes: Vec<PreparedWrite>) -> Result<()> {
257- use crate::schema::pds::blob::dsl as BlobSchema;
258- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
259260 // Extract URIs
261 let uris: Vec<String> = writes
···386387 /// Verify a blob and make it permanent
388 pub async fn verify_blob_and_make_permanent(&self, blob: PreparedBlobRef) -> Result<()> {
389- use crate::schema::pds::blob::dsl as BlobSchema;
390391 let found = self
392 .db
···433434 /// Associate a blob with a record
435 pub async fn associate_blob(&self, blob: PreparedBlobRef, record_uri: String) -> Result<()> {
436- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
437438 let cid = blob.cid.to_string();
439 let did = self.did.clone();
···460461 /// Count all blobs for this actor
462 pub async fn blob_count(&self) -> Result<i64> {
463- use crate::schema::pds::blob::dsl as BlobSchema;
464465 let did = self.did.clone();
466 self.db
···479480 /// Count blobs associated with records
481 pub async fn record_blob_count(&self) -> Result<i64> {
482- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
483484 let did = self.did.clone();
485 self.db
···501 &self,
502 opts: ListMissingBlobsOpts,
503 ) -> Result<Vec<ListMissingBlobsRefRecordBlob>> {
504- use crate::schema::pds::blob::dsl as BlobSchema;
505- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
506507 let did = self.did.clone();
508 self.db
···563564 /// List all blobs with optional filtering
565 pub async fn list_blobs(&self, opts: ListBlobsOpts) -> Result<Vec<String>> {
566- use crate::schema::pds::record::dsl as RecordSchema;
567- use crate::schema::pds::record_blob::dsl as RecordBlobSchema;
568569 let ListBlobsOpts {
570 since,
···617618 /// Get the takedown status of a blob
619 pub async fn get_blob_takedown_status(&self, cid: Cid) -> Result<Option<StatusAttr>> {
620- use crate::schema::pds::blob::dsl as BlobSchema;
621622 self.db
623 .get()
···653654 /// Update the takedown status of a blob
655 pub async fn update_blob_takedown_status(&self, blob: Cid, takedown: StatusAttr) -> Result<()> {
656- use crate::schema::pds::blob::dsl as BlobSchema;
657658 let takedown_ref: Option<String> = match takedown.applied {
659 true => takedown.r#ref.map_or_else(|| Some(now()), Some),
···4//!
5//! Modified for SQLite backend
67+use crate::models::actor_store as models;
8use anyhow::{Result, bail};
9use cidv10::Cid;
10use diesel::dsl::{count_distinct, exists, not};
···6768 /// Get metadata for a blob by CID
69 pub async fn get_blob_metadata(&self, cid: Cid) -> Result<GetBlobMetadataOutput> {
70+ use crate::schema::actor_store::blob::dsl as BlobSchema;
7172 let did = self.did.clone();
73 let found = self
···112113 /// Get all records that reference a specific blob
114 pub async fn get_records_for_blob(&self, cid: Cid) -> Result<Vec<String>> {
115+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
116117 let did = self.did.clone();
118 let res = self
···169170 /// Track a blob that hasn't been associated with any records yet
171 pub async fn track_untethered_blob(&self, metadata: BlobMetadata) -> Result<BlobRef> {
172+ use crate::schema::actor_store::blob::dsl as BlobSchema;
173174 let did = self.did.clone();
175 self.db.get().await?.interact(move |conn| {
···254255 /// Delete blobs that are no longer referenced by any records
256 pub async fn delete_dereferenced_blobs(&self, writes: Vec<PreparedWrite>) -> Result<()> {
257+ use crate::schema::actor_store::blob::dsl as BlobSchema;
258+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
259260 // Extract URIs
261 let uris: Vec<String> = writes
···386387 /// Verify a blob and make it permanent
388 pub async fn verify_blob_and_make_permanent(&self, blob: PreparedBlobRef) -> Result<()> {
389+ use crate::schema::actor_store::blob::dsl as BlobSchema;
390391 let found = self
392 .db
···433434 /// Associate a blob with a record
435 pub async fn associate_blob(&self, blob: PreparedBlobRef, record_uri: String) -> Result<()> {
436+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
437438 let cid = blob.cid.to_string();
439 let did = self.did.clone();
···460461 /// Count all blobs for this actor
462 pub async fn blob_count(&self) -> Result<i64> {
463+ use crate::schema::actor_store::blob::dsl as BlobSchema;
464465 let did = self.did.clone();
466 self.db
···479480 /// Count blobs associated with records
481 pub async fn record_blob_count(&self) -> Result<i64> {
482+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
483484 let did = self.did.clone();
485 self.db
···501 &self,
502 opts: ListMissingBlobsOpts,
503 ) -> Result<Vec<ListMissingBlobsRefRecordBlob>> {
504+ use crate::schema::actor_store::blob::dsl as BlobSchema;
505+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
506507 let did = self.did.clone();
508 self.db
···563564 /// List all blobs with optional filtering
565 pub async fn list_blobs(&self, opts: ListBlobsOpts) -> Result<Vec<String>> {
566+ use crate::schema::actor_store::record::dsl as RecordSchema;
567+ use crate::schema::actor_store::record_blob::dsl as RecordBlobSchema;
568569 let ListBlobsOpts {
570 since,
···617618 /// Get the takedown status of a blob
619 pub async fn get_blob_takedown_status(&self, cid: Cid) -> Result<Option<StatusAttr>> {
620+ use crate::schema::actor_store::blob::dsl as BlobSchema;
621622 self.db
623 .get()
···653654 /// Update the takedown status of a blob
655 pub async fn update_blob_takedown_status(&self, blob: Cid, takedown: StatusAttr) -> Result<()> {
656+ use crate::schema::actor_store::blob::dsl as BlobSchema;
657658 let takedown_ref: Option<String> = match takedown.applied {
659 true => takedown.r#ref.map_or_else(|| Some(now()), Some),
+2-2
src/actor_store/mod.rs
···481482 pub async fn destroy(&mut self) -> Result<()> {
483 let did: String = self.did.clone();
484- use crate::schema::pds::blob::dsl as BlobSchema;
485486 let blob_rows: Vec<String> = self
487 .storage
···520 return Ok(vec![]);
521 }
522 let did: String = self.did.clone();
523- use crate::schema::pds::record::dsl as RecordSchema;
524525 let cid_strs: Vec<String> = cids.into_iter().map(|c| c.to_string()).collect();
526 let touched_uri_strs: Vec<String> = touched_uris.iter().map(|t| t.to_string()).collect();
···481482 pub async fn destroy(&mut self) -> Result<()> {
483 let did: String = self.did.clone();
484+ use crate::schema::actor_store::blob::dsl as BlobSchema;
485486 let blob_rows: Vec<String> = self
487 .storage
···520 return Ok(vec![]);
521 }
522 let did: String = self.did.clone();
523+ use crate::schema::actor_store::record::dsl as RecordSchema;
524525 let cid_strs: Vec<String> = cids.into_iter().map(|c| c.to_string()).collect();
526 let touched_uri_strs: Vec<String> = touched_uris.iter().map(|t| t.to_string()).collect();
+3-3
src/actor_store/preference.rs
···4//!
5//! Modified for SQLite backend
67-use crate::models::pds::AccountPref;
8use anyhow::{Result, bail};
9use diesel::*;
10use rsky_lexicon::app::bsky::actor::RefPreferences;
···36 namespace: Option<String>,
37 scope: AuthScope,
38 ) -> Result<Vec<RefPreferences>> {
39- use crate::schema::pds::account_pref::dsl as AccountPrefSchema;
4041 let did = self.did.clone();
42 self.db
···99 bail!("Do not have authorization to set preferences.");
100 }
101 // get all current prefs for user and prep new pref rows
102- use crate::schema::pds::account_pref::dsl as AccountPrefSchema;
103 let all_prefs = AccountPrefSchema::account_pref
104 .filter(AccountPrefSchema::did.eq(&did))
105 .select(AccountPref::as_select())
···4//!
5//! Modified for SQLite backend
67+use crate::models::actor_store::AccountPref;
8use anyhow::{Result, bail};
9use diesel::*;
10use rsky_lexicon::app::bsky::actor::RefPreferences;
···36 namespace: Option<String>,
37 scope: AuthScope,
38 ) -> Result<Vec<RefPreferences>> {
39+ use crate::schema::actor_store::account_pref::dsl as AccountPrefSchema;
4041 let did = self.did.clone();
42 self.db
···99 bail!("Do not have authorization to set preferences.");
100 }
101 // get all current prefs for user and prep new pref rows
102+ use crate::schema::actor_store::account_pref::dsl as AccountPrefSchema;
103 let all_prefs = AccountPrefSchema::account_pref
104 .filter(AccountPrefSchema::did.eq(&did))
105 .select(AccountPref::as_select())
+18-18
src/actor_store/record.rs
···4//!
5//! Modified for SQLite backend
67-use crate::models::pds::{Backlink, Record, RepoBlock};
8use anyhow::{Result, bail};
9use cidv10::Cid;
10use diesel::result::Error;
···9091 /// Count the total number of records.
92 pub(crate) async fn record_count(&mut self) -> Result<i64> {
93- use crate::schema::pds::record::dsl::*;
9495 let other_did = self.did.clone();
96 self.db
···106107 /// List all collections in the repository.
108 pub(crate) async fn list_collections(&self) -> Result<Vec<String>> {
109- use crate::schema::pds::record::dsl::*;
110111 let other_did = self.did.clone();
112 self.db
···137 rkey_end: Option<String>,
138 include_soft_deleted: Option<bool>,
139 ) -> Result<Vec<RecordsForCollection>> {
140- use crate::schema::pds::record::dsl as RecordSchema;
141- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
142143 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
144 let mut builder = RecordSchema::record
···196 cid: Option<String>,
197 include_soft_deleted: Option<bool>,
198 ) -> Result<Option<GetRecord>> {
199- use crate::schema::pds::record::dsl as RecordSchema;
200- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
201202 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
203 let mut builder = RecordSchema::record
···238 cid: Option<String>,
239 include_soft_deleted: Option<bool>,
240 ) -> Result<bool> {
241- use crate::schema::pds::record::dsl as RecordSchema;
242243 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
244 let mut builder = RecordSchema::record
···266 &self,
267 uri: String,
268 ) -> Result<Option<StatusAttr>> {
269- use crate::schema::pds::record::dsl as RecordSchema;
270271 let res = self
272 .db
···304305 /// Get the current CID for a record URI.
306 pub(crate) async fn get_current_record_cid(&self, uri: String) -> Result<Option<Cid>> {
307- use crate::schema::pds::record::dsl as RecordSchema;
308309 let res = self
310 .db
···333 path: String,
334 link_to: String,
335 ) -> Result<Vec<Record>> {
336- use crate::schema::pds::backlink::dsl as BacklinkSchema;
337- use crate::schema::pds::record::dsl as RecordSchema;
338339 let res = self
340 .db
···432 bail!("Expected indexed URI to contain a record key")
433 }
434435- use crate::schema::pds::record::dsl as RecordSchema;
436437 // Track current version of record
438 let (record, uri) = self
···473 #[tracing::instrument(skip_all)]
474 pub(crate) async fn delete_record(&self, uri: &AtUri) -> Result<()> {
475 tracing::debug!("@LOG DEBUG RecordReader::delete_record, deleting indexed record {uri}");
476- use crate::schema::pds::backlink::dsl as BacklinkSchema;
477- use crate::schema::pds::record::dsl as RecordSchema;
478 let uri = uri.to_string();
479 self.db
480 .get()
···497498 /// Remove backlinks for a URI.
499 pub(crate) async fn remove_backlinks_by_uri(&self, uri: &AtUri) -> Result<()> {
500- use crate::schema::pds::backlink::dsl as BacklinkSchema;
501 let uri = uri.to_string();
502 self.db
503 .get()
···517 if backlinks.is_empty() {
518 Ok(())
519 } else {
520- use crate::schema::pds::backlink::dsl as BacklinkSchema;
521 self.db
522 .get()
523 .await?
···538 uri: &AtUri,
539 takedown: StatusAttr,
540 ) -> Result<()> {
541- use crate::schema::pds::record::dsl as RecordSchema;
542543 let takedown_ref: Option<String> = match takedown.applied {
544 true => takedown
···4//!
5//! Modified for SQLite backend
67+use crate::models::actor_store::{Backlink, Record, RepoBlock};
8use anyhow::{Result, bail};
9use cidv10::Cid;
10use diesel::result::Error;
···9091 /// Count the total number of records.
92 pub(crate) async fn record_count(&mut self) -> Result<i64> {
93+ use crate::schema::actor_store::record::dsl::*;
9495 let other_did = self.did.clone();
96 self.db
···106107 /// List all collections in the repository.
108 pub(crate) async fn list_collections(&self) -> Result<Vec<String>> {
109+ use crate::schema::actor_store::record::dsl::*;
110111 let other_did = self.did.clone();
112 self.db
···137 rkey_end: Option<String>,
138 include_soft_deleted: Option<bool>,
139 ) -> Result<Vec<RecordsForCollection>> {
140+ use crate::schema::actor_store::record::dsl as RecordSchema;
141+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
142143 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
144 let mut builder = RecordSchema::record
···196 cid: Option<String>,
197 include_soft_deleted: Option<bool>,
198 ) -> Result<Option<GetRecord>> {
199+ use crate::schema::actor_store::record::dsl as RecordSchema;
200+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
201202 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
203 let mut builder = RecordSchema::record
···238 cid: Option<String>,
239 include_soft_deleted: Option<bool>,
240 ) -> Result<bool> {
241+ use crate::schema::actor_store::record::dsl as RecordSchema;
242243 let include_soft_deleted: bool = include_soft_deleted.unwrap_or(false);
244 let mut builder = RecordSchema::record
···266 &self,
267 uri: String,
268 ) -> Result<Option<StatusAttr>> {
269+ use crate::schema::actor_store::record::dsl as RecordSchema;
270271 let res = self
272 .db
···304305 /// Get the current CID for a record URI.
306 pub(crate) async fn get_current_record_cid(&self, uri: String) -> Result<Option<Cid>> {
307+ use crate::schema::actor_store::record::dsl as RecordSchema;
308309 let res = self
310 .db
···333 path: String,
334 link_to: String,
335 ) -> Result<Vec<Record>> {
336+ use crate::schema::actor_store::backlink::dsl as BacklinkSchema;
337+ use crate::schema::actor_store::record::dsl as RecordSchema;
338339 let res = self
340 .db
···432 bail!("Expected indexed URI to contain a record key")
433 }
434435+ use crate::schema::actor_store::record::dsl as RecordSchema;
436437 // Track current version of record
438 let (record, uri) = self
···473 #[tracing::instrument(skip_all)]
474 pub(crate) async fn delete_record(&self, uri: &AtUri) -> Result<()> {
475 tracing::debug!("@LOG DEBUG RecordReader::delete_record, deleting indexed record {uri}");
476+ use crate::schema::actor_store::backlink::dsl as BacklinkSchema;
477+ use crate::schema::actor_store::record::dsl as RecordSchema;
478 let uri = uri.to_string();
479 self.db
480 .get()
···497498 /// Remove backlinks for a URI.
499 pub(crate) async fn remove_backlinks_by_uri(&self, uri: &AtUri) -> Result<()> {
500+ use crate::schema::actor_store::backlink::dsl as BacklinkSchema;
501 let uri = uri.to_string();
502 self.db
503 .get()
···517 if backlinks.is_empty() {
518 Ok(())
519 } else {
520+ use crate::schema::actor_store::backlink::dsl as BacklinkSchema;
521 self.db
522 .get()
523 .await?
···538 uri: &AtUri,
539 takedown: StatusAttr,
540 ) -> Result<()> {
541+ use crate::schema::actor_store::record::dsl as RecordSchema;
542543 let takedown_ref: Option<String> = match takedown.applied {
544 true => takedown
+12-12
src/actor_store/sql_repo.rs
···3//!
4//! Modified for SQLite backend
56-use crate::models::pds as models;
7-use crate::models::pds::RepoBlock;
8use anyhow::Result;
9use cidv10::Cid;
10use diesel::dsl::sql;
···53 let cid = *cid;
5455 Box::pin(async move {
56- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
57 let cached = {
58 let cache_guard = self.cache.read().await;
59 cache_guard.get(cid).cloned()
···104 let did: String = self.did.clone();
105106 Box::pin(async move {
107- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
108 let cached = {
109 let mut cache_guard = self.cache.write().await;
110 cache_guard.get_many(cids)?
···202 let did: String = self.did.clone();
203 let bytes_cloned = bytes.clone();
204 Box::pin(async move {
205- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
206207 _ = self
208 .db
···235 let did: String = self.did.clone();
236237 Box::pin(async move {
238- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
239240 let blocks: Vec<RepoBlock> = to_put
241 .map
···277 let now: String = self.now.clone();
278279 Box::pin(async move {
280- use crate::schema::pds::repo_root::dsl as RepoRootSchema;
281282 let is_create = is_create.unwrap_or(false);
283 if is_create {
···381 let did: String = self.did.clone();
382 let since = since.clone();
383 let cursor = cursor.clone();
384- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
385386 Ok(self
387 .db
···418419 pub async fn count_blocks(&self) -> Result<i64> {
420 let did: String = self.did.clone();
421- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
422423 let res = self
424 .db
···439 /// Proactively cache all blocks from a particular commit (to prevent multiple roundtrips)
440 pub async fn cache_rev(&mut self, rev: String) -> Result<()> {
441 let did: String = self.did.clone();
442- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
443444 let result: Vec<(String, Vec<u8>)> = self
445 .db
···465 return Ok(());
466 }
467 let did: String = self.did.clone();
468- use crate::schema::pds::repo_block::dsl as RepoBlockSchema;
469470 let cid_strings: Vec<String> = cids.into_iter().map(|c| c.to_string()).collect();
471 _ = self
···483484 pub async fn get_root_detailed(&self) -> Result<CidAndRev> {
485 let did: String = self.did.clone();
486- use crate::schema::pds::repo_root::dsl as RepoRootSchema;
487488 let res = self
489 .db
···3//!
4//! Modified for SQLite backend
56+use crate::models::actor_store as models;
7+use crate::models::actor_store::RepoBlock;
8use anyhow::Result;
9use cidv10::Cid;
10use diesel::dsl::sql;
···53 let cid = *cid;
5455 Box::pin(async move {
56+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
57 let cached = {
58 let cache_guard = self.cache.read().await;
59 cache_guard.get(cid).cloned()
···104 let did: String = self.did.clone();
105106 Box::pin(async move {
107+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
108 let cached = {
109 let mut cache_guard = self.cache.write().await;
110 cache_guard.get_many(cids)?
···202 let did: String = self.did.clone();
203 let bytes_cloned = bytes.clone();
204 Box::pin(async move {
205+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
206207 _ = self
208 .db
···235 let did: String = self.did.clone();
236237 Box::pin(async move {
238+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
239240 let blocks: Vec<RepoBlock> = to_put
241 .map
···277 let now: String = self.now.clone();
278279 Box::pin(async move {
280+ use crate::schema::actor_store::repo_root::dsl as RepoRootSchema;
281282 let is_create = is_create.unwrap_or(false);
283 if is_create {
···381 let did: String = self.did.clone();
382 let since = since.clone();
383 let cursor = cursor.clone();
384+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
385386 Ok(self
387 .db
···418419 pub async fn count_blocks(&self) -> Result<i64> {
420 let did: String = self.did.clone();
421+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
422423 let res = self
424 .db
···439 /// Proactively cache all blocks from a particular commit (to prevent multiple roundtrips)
440 pub async fn cache_rev(&mut self, rev: String) -> Result<()> {
441 let did: String = self.did.clone();
442+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
443444 let result: Vec<(String, Vec<u8>)> = self
445 .db
···465 return Ok(());
466 }
467 let did: String = self.did.clone();
468+ use crate::schema::actor_store::repo_block::dsl as RepoBlockSchema;
469470 let cid_strings: Vec<String> = cids.into_iter().map(|c| c.to_string()).collect();
471 _ = self
···483484 pub async fn get_root_detailed(&self) -> Result<CidAndRev> {
485 let did: String = self.did.clone();
486+ use crate::schema::actor_store::repo_root::dsl as RepoRootSchema;
487488 let res = self
489 .db