mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
feat(core): new worker workspace engine (#9257)
This commit is contained in:
6
packages/frontend/native/index.d.ts
vendored
6
packages/frontend/native/index.d.ts
vendored
@@ -20,13 +20,13 @@ export declare class DocStoragePool {
|
||||
releaseBlobs(universalId: string): Promise<void>
|
||||
listBlobs(universalId: string): Promise<Array<ListedBlob>>
|
||||
getPeerRemoteClocks(universalId: string, peer: string): Promise<Array<DocClock>>
|
||||
getPeerRemoteClock(universalId: string, peer: string, docId: string): Promise<DocClock>
|
||||
getPeerRemoteClock(universalId: string, peer: string, docId: string): Promise<DocClock | null>
|
||||
setPeerRemoteClock(universalId: string, peer: string, docId: string, clock: Date): Promise<void>
|
||||
getPeerPulledRemoteClocks(universalId: string, peer: string): Promise<Array<DocClock>>
|
||||
getPeerPulledRemoteClock(universalId: string, peer: string, docId: string): Promise<DocClock>
|
||||
getPeerPulledRemoteClock(universalId: string, peer: string, docId: string): Promise<DocClock | null>
|
||||
setPeerPulledRemoteClock(universalId: string, peer: string, docId: string, clock: Date): Promise<void>
|
||||
getPeerPushedClocks(universalId: string, peer: string): Promise<Array<DocClock>>
|
||||
getPeerPushedClock(universalId: string, peer: string, docId: string): Promise<DocClock>
|
||||
getPeerPushedClock(universalId: string, peer: string, docId: string): Promise<DocClock | null>
|
||||
setPeerPushedClock(universalId: string, peer: string, docId: string, clock: Date): Promise<void>
|
||||
clearClocks(universalId: string): Promise<void>
|
||||
}
|
||||
|
||||
@@ -324,6 +324,7 @@ mod tests {
|
||||
let clocks = storage
|
||||
.get_peer_pulled_remote_clock("remote".to_string(), "new_id".to_string())
|
||||
.await
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(clocks.doc_id, "new_id");
|
||||
|
||||
@@ -300,7 +300,7 @@ impl DocStoragePool {
|
||||
universal_id: String,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<DocClock> {
|
||||
) -> Result<Option<DocClock>> {
|
||||
Ok(
|
||||
self
|
||||
.pool
|
||||
@@ -347,7 +347,7 @@ impl DocStoragePool {
|
||||
universal_id: String,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<DocClock> {
|
||||
) -> Result<Option<DocClock>> {
|
||||
Ok(
|
||||
self
|
||||
.pool
|
||||
@@ -394,7 +394,7 @@ impl DocStoragePool {
|
||||
universal_id: String,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<DocClock> {
|
||||
) -> Result<Option<DocClock>> {
|
||||
Ok(
|
||||
self
|
||||
.pool
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use chrono::NaiveDateTime;
|
||||
|
||||
use super::DocClock;
|
||||
use super::{error::Result, storage::SqliteDocStorage};
|
||||
use super::{error::Result, storage::SqliteDocStorage, DocClock};
|
||||
|
||||
impl SqliteDocStorage {
|
||||
pub async fn get_peer_remote_clocks(&self, peer: String) -> Result<Vec<DocClock>> {
|
||||
@@ -16,14 +15,18 @@ impl SqliteDocStorage {
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
pub async fn get_peer_remote_clock(&self, peer: String, doc_id: String) -> Result<DocClock> {
|
||||
pub async fn get_peer_remote_clock(
|
||||
&self,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<Option<DocClock>> {
|
||||
let result = sqlx::query_as!(
|
||||
DocClock,
|
||||
"SELECT doc_id, remote_clock as timestamp FROM peer_clocks WHERE peer = ? AND doc_id = ?",
|
||||
peer,
|
||||
doc_id
|
||||
)
|
||||
.fetch_one(&self.pool)
|
||||
.fetch_optional(&self.pool)
|
||||
.await?;
|
||||
|
||||
Ok(result)
|
||||
@@ -67,14 +70,14 @@ impl SqliteDocStorage {
|
||||
&self,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<DocClock> {
|
||||
) -> Result<Option<DocClock>> {
|
||||
let result = sqlx::query_as!(
|
||||
DocClock,
|
||||
"SELECT doc_id, pulled_remote_clock as timestamp FROM peer_clocks WHERE peer = ? AND doc_id = ?",
|
||||
r#"SELECT doc_id, pulled_remote_clock as timestamp FROM peer_clocks WHERE peer = ? AND doc_id = ?"#,
|
||||
peer,
|
||||
doc_id
|
||||
)
|
||||
.fetch_one(&self.pool)
|
||||
.fetch_optional(&self.pool)
|
||||
.await?;
|
||||
|
||||
Ok(result)
|
||||
@@ -114,14 +117,18 @@ impl SqliteDocStorage {
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
pub async fn get_peer_pushed_clock(&self, peer: String, doc_id: String) -> Result<DocClock> {
|
||||
pub async fn get_peer_pushed_clock(
|
||||
&self,
|
||||
peer: String,
|
||||
doc_id: String,
|
||||
) -> Result<Option<DocClock>> {
|
||||
let result = sqlx::query_as!(
|
||||
DocClock,
|
||||
"SELECT doc_id, pushed_clock as timestamp FROM peer_clocks WHERE peer = ? AND doc_id = ?",
|
||||
peer,
|
||||
doc_id
|
||||
)
|
||||
.fetch_one(&self.pool)
|
||||
.fetch_optional(&self.pool)
|
||||
.await?;
|
||||
|
||||
Ok(result)
|
||||
|
||||
Reference in New Issue
Block a user