chain_of_custody/
custody_transfer.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use chain_of_custody_integrity::*;
use hdk::prelude::*;

#[hdk_extern]
pub fn get_custody_transfer(custody_transfer_hash: EntryHash) -> ExternResult<Option<Record>> {
    get(custody_transfer_hash, GetOptions::default())
}

#[hdk_extern]
pub fn get_custody_transfers_for_resource(resource_hash: ActionHash) -> ExternResult<Vec<Link>> {
    get_links(
        GetLinksInputBuilder::try_new(resource_hash, LinkTypes::ResourceToCustodyTransfers)?
            .build(),
    )
}

#[hdk_extern]
pub fn get_custody_transfers_for_custody_transfer(
    custody_transfer_hash: EntryHash,
) -> ExternResult<Vec<Link>> {
    get_links(
        GetLinksInputBuilder::try_new(
            custody_transfer_hash,
            LinkTypes::CustodyTransferToCustodyTransfers,
        )?
        .build(),
    )
}