File count on storage page

This commit is contained in:
Magnus Åhall 2026-06-28 11:17:04 +02:00
parent 6df2be7944
commit 65f8cd14a7
8 changed files with 319 additions and 16 deletions

View file

@ -98,7 +98,7 @@ export class NodeStore {
this.sendQueue = new SimpleNodeStore(this.db, 'send_queue')
this.nodesHistory = new NodeHistoryStore(this.db, 'nodes_history')
this.files = new SimpleNodeStore(this.db, 'files')
this.filesMetadata = new SimpleNodeStore(this.db, 'files_metadata')
this.filesMetadata = new FilesMetadataStore(this.db, 'files_metadata')
this.filesNodelink = new FileNodesLinkStore(this.db, 'files_nodelink')
resolve()
}
@ -581,6 +581,20 @@ class NodeHistoryStore extends SimpleNodeStore {
}// }}}
}
class FilesMetadataStore extends SimpleNodeStore {
countToUpload() {// {{{
const store = this.db
.transaction(this.storeName, 'readonly')
.objectStore(this.storeName)
.index('byUploaded')
return new Promise((resolve, reject) => {
const request = store.count('only_on_device')
request.onsuccess = (event) => resolve(event.target.result)
request.onerror = (event) => reject(event.target.error)
})
}// }}}
}
class FileNodesLinkStore extends SimpleNodeStore {
async removeFileUUIDs(nodeUUID, fileUUIDs) {// {{{
for (const fileUUID of fileUUIDs) {
@ -597,7 +611,7 @@ class FileNodesLinkStore extends SimpleNodeStore {
// Maintains an index to quickly find orphaned files.
nodelink.NodeCount = nodelink.Nodes.length
await this.add({data: nodelink})
await this.add({ data: nodelink })
}
}// }}}
async addFileUUIDs(nodeUUID, fileUUIDs) {// {{{
@ -619,7 +633,7 @@ class FileNodesLinkStore extends SimpleNodeStore {
// Maintains an index to quickly find orphaned files.
nodelink.NodeCount = nodelink.Nodes.length
await this.add({data: nodelink})
await this.add({ data: nodelink })
}
}// }}}
}