fix(web): archived and deleted counts on encryption panel (#1423)
* fix(web): archived and deleted counts on encryption panel * fix(snjs): yarn build snjs before e2e test suite docker builds
This commit is contained in:
40
packages/services/src/Domain/Item/ItemCounter.ts
Normal file
40
packages/services/src/Domain/Item/ItemCounter.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { ContentType } from '@standardnotes/common'
|
||||
import { SNNote, SNTag, ItemCounts } from '@standardnotes/models'
|
||||
|
||||
import { ItemCounterInterface } from './ItemCounterInterface'
|
||||
|
||||
export class ItemCounter implements ItemCounterInterface {
|
||||
countNotesAndTags(items: Array<SNNote | SNTag>): ItemCounts {
|
||||
const counts: ItemCounts = {
|
||||
notes: 0,
|
||||
archived: 0,
|
||||
deleted: 0,
|
||||
tags: 0,
|
||||
}
|
||||
|
||||
for (const item of items) {
|
||||
if (item.archived) {
|
||||
counts.archived++
|
||||
|
||||
continue
|
||||
}
|
||||
if (item.trashed) {
|
||||
counts.deleted++
|
||||
|
||||
continue
|
||||
}
|
||||
if (item.content_type === ContentType.Note) {
|
||||
counts.notes++
|
||||
|
||||
continue
|
||||
}
|
||||
if (item.content_type === ContentType.Tag) {
|
||||
counts.tags++
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
return counts
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user