sqlite local

This commit is contained in:
m
2026-09-09 23:12:15 +02:00
parent e1360c19a2
commit 7dd29239b7
21 changed files with 2284 additions and 101 deletions
+48
View File
@@ -0,0 +1,48 @@
import type { SyncStatus } from './types';
export type SyncEvent =
| 'created_local'
| 'uploaded'
| 'downloaded'
| 'deleted_cloud';
export type SyncTransitionResult = SyncStatus | 'gone';
export function transitionSyncStatus(
from: SyncStatus,
event: SyncEvent,
): SyncTransitionResult {
switch (from) {
case 'local':
switch (event) {
case 'created_local':
return 'local';
case 'uploaded':
return 'cloud';
case 'downloaded':
return 'local-cloud';
case 'deleted_cloud':
return 'gone';
}
case 'cloud':
switch (event) {
case 'created_local':
return 'local-cloud';
case 'uploaded':
return 'cloud';
case 'downloaded':
return 'local-cloud';
case 'deleted_cloud':
return 'gone';
}
case 'local-cloud':
switch (event) {
case 'created_local':
case 'uploaded':
case 'downloaded':
return 'local-cloud';
case 'deleted_cloud':
return 'local';
}
}
}