* chore: display shared vault file usage * fix: specs * fix: reshape filtering result * fix: resolving invalid server items * fix: get revisions specs * fix: processing issue * fix: tests --------- Co-authored-by: Mo <mo@standardnotes.com>
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { Result } from '@standardnotes/domain-core'
|
|
import {
|
|
EncryptedPayloadInterface,
|
|
DeletedPayloadInterface,
|
|
PayloadSource,
|
|
DeletedPayload,
|
|
EncryptedPayload,
|
|
FilteredServerItem,
|
|
} from '@standardnotes/models'
|
|
|
|
export function CreatePayloadFromRawServerItem(
|
|
rawItem: FilteredServerItem,
|
|
source: PayloadSource,
|
|
): Result<EncryptedPayloadInterface | DeletedPayloadInterface> {
|
|
if (rawItem.deleted) {
|
|
return Result.ok(new DeletedPayload({ ...rawItem, content: undefined, deleted: true }, source))
|
|
} else if (rawItem.content != undefined) {
|
|
try {
|
|
return Result.ok(
|
|
new EncryptedPayload(
|
|
{
|
|
...rawItem,
|
|
items_key_id: rawItem.items_key_id,
|
|
content: rawItem.content,
|
|
deleted: false,
|
|
errorDecrypting: false,
|
|
waitingForKey: false,
|
|
},
|
|
source,
|
|
),
|
|
)
|
|
} catch (error) {
|
|
return Result.fail(JSON.stringify(error))
|
|
}
|
|
}
|
|
return Result.fail('Unhandled case in createPayloadFromRawItem')
|
|
}
|