Files
Kazier/mobile/services/localStorage.ts
T
m 0536fca6c3 feat(mobile): identité user-first — login/password, SecureStore, scoping par compte
- api: DeviceRegistration device-only, login/changePassword/resolveUser, interception 401 (purge) exonérée sur le login ; type User aligné sur le fil (is_admin)
- SecureStore (expo-secure-store v57) : token + profil, jamais en SQLite ; miroir active_user_id
- AuthContext : statut loading/signedOut/signedIn, bootstrap register→restore, signIn/signOut, garde-fou switch de compte
- app/login.tsx + gate de routes dans _layout (Redirect signedOut) ; i18n fr/en
- DB v5 : user_id sur pending_operations + resource_permissions (UNIQUE par user), repos scopés (user_id IS ? OR IS NULL)
- syncOutbox : delta permissions par compte (Map), outbox poussée du compte actif uniquement
- tests: register/login/401/resolve/changePassword, scoping outbox+permissions, migrations v5 ; e2e live revert register→login admin
2026-09-10 21:34:34 +02:00

66 lines
1.1 KiB
TypeScript

export {
getUserPreferences,
getDeviceUserId,
getDeviceAuthToken,
saveDeviceAuthToken,
getActiveUserId,
setActiveUserId,
clearActiveUserId,
getFolders,
getFolderFolders,
getFolder,
getFiles,
getFile,
removeFolder,
removeFile,
saveFile,
saveFolder,
saveDirectory,
saveUserPreferences,
getResourcePermission,
saveResourcePermission,
canAccess,
canWrite,
isOwner,
saveShare,
getShare,
getShares,
removeShare,
removeSharesForResource,
createShareLink,
getShareLinkById,
getShareLinkByToken,
getShareLinks,
incrementLinkDownloads,
revokeShareLink,
removeShareLinksForResource,
saveRecipient,
getRecipients,
setRecipientActive,
enqueuePendingOperation,
getPendingOperations,
getNextQueuedOperation,
markPendingOperation,
transitionSyncStatus,
} from './db';
export type {
AccessLevel,
AccessCheck,
AccessSource,
StoredFile,
StoredFolder,
SyncStatus,
PushStatus,
UserPreferences,
ResourceType,
ResourcePermission,
RecipientType,
Recipient,
Share,
ShareLink,
PendingOperation,
PendingOperationStatus,
SyncEvent,
SyncTransitionResult,
} from './db';