internal: incomplete vault systems behind feature flag (#2340)

This commit is contained in:
Mo
2023-06-30 09:01:56 -05:00
committed by GitHub
parent d16e401bb9
commit b032eb9c9b
638 changed files with 20321 additions and 4813 deletions

View File

@@ -18,6 +18,8 @@ export function isChunkFullEntry(
export type DatabaseKeysLoadChunkResponse = {
keys: {
itemsKeys: DatabaseKeysLoadChunk
keySystemRootKeys: DatabaseKeysLoadChunk
keySystemItemsKeys: DatabaseKeysLoadChunk
remainingChunks: DatabaseKeysLoadChunk[]
}
remainingChunksItemCount: number
@@ -26,6 +28,8 @@ export type DatabaseKeysLoadChunkResponse = {
export type DatabaseFullEntryLoadChunkResponse = {
fullEntries: {
itemsKeys: DatabaseFullEntryLoadChunk
keySystemRootKeys: DatabaseFullEntryLoadChunk
keySystemItemsKeys: DatabaseFullEntryLoadChunk
remainingChunks: DatabaseFullEntryLoadChunk[]
}
remainingChunksItemCount: number

View File

@@ -83,17 +83,25 @@ export function GetSortedPayloadsByPriority<T extends DatabaseItemMetadata = Dat
options: DatabaseLoadOptions,
): {
itemsKeyPayloads: T[]
keySystemRootKeyPayloads: T[]
keySystemItemsKeyPayloads: T[]
contentTypePriorityPayloads: T[]
remainingPayloads: T[]
} {
const itemsKeyPayloads: T[] = []
const keySystemRootKeyPayloads: T[] = []
const keySystemItemsKeyPayloads: T[] = []
const contentTypePriorityPayloads: T[] = []
const remainingPayloads: T[] = []
for (let index = 0; index < payloads.length; index++) {
const payload = payloads[index]
if (payload.content_type === ContentType.ItemsKey) {
if (payload.content_type === ContentType.KeySystemRootKey) {
keySystemRootKeyPayloads.push(payload)
} else if (payload.content_type === ContentType.KeySystemItemsKey) {
keySystemItemsKeyPayloads.push(payload)
} else if (payload.content_type === ContentType.ItemsKey) {
itemsKeyPayloads.push(payload)
} else if (options.contentTypePriority.includes(payload.content_type)) {
contentTypePriorityPayloads.push(payload)
@@ -104,6 +112,8 @@ export function GetSortedPayloadsByPriority<T extends DatabaseItemMetadata = Dat
return {
itemsKeyPayloads,
keySystemRootKeyPayloads,
keySystemItemsKeyPayloads,
contentTypePriorityPayloads: SortPayloadsByRecentAndContentPriority(
contentTypePriorityPayloads,
options.contentTypePriority,