Files
standardnotes-app-web/packages/snjs/lib/Services/Sync/Account/Utilities.ts
Karol Sójko 5bca53736b chore: display shared vault file usage (#2399)
* 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>
2023-08-11 08:59:16 +02:00

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')
}