Docs
  • Welcome to the ipEHR docs
  • Concepts
    • Basics
      • What is EHR?
      • What is ipEHR?
      • ipEHR and the problems it solves
      • How ipEHR works
    • Components
      • Gateway
      • Datastore Node
      • Document Index
      • Users Directory
      • Access Management
      • Data publishing
    • Encryption
  • Guides
    • Install
      • Contracts deployment
      • Gateway
      • Stat
  • Reference
    • APIs
      • Gateway HTTP REST API
      • Stat HTTP REST API
    • Contracts
      • EhrIndexer
      • Users
      • AccessStore
      • DataStore
Powered by GitBook
On this page
  • Functions
  • setAccess
  • getAccess
  • getAccessByIdHash
  • userAccess
  • Models
  • AccessKind
  • AccessLevel
  • AccessAction
  • Access
  1. Reference
  2. Contracts

AccessStore

Functions

setAccess

function setAccess(
    bytes32 accessID,
    Access memory a,
    address signer,
    uint deadline,
    bytes calldata signature
) external returns(AccessAction)

Sets the access level to the object

Parameters

Name
Type
Description

accessID

bytes32

a

signer

address

Address of the signer of the request

deadline

uint

Expiration timestamp of the request

signature

bytes

Cryptographic signature of the request performed by the signer's key

Return Values:

Name
Type
Description

action

getAccess

function getAccess(bytes32 accessID) external view returns(Access[] memory)

Retrieving access level information

Parameters

Name
Type
Description

accessID

bytes32

Return Values:

Name
Type
Description

access

getAccessByIdHash

function getAccessByIdHash(
    bytes32 accessID,
    bytes32 accessIdHash
) public view returns(Access memory)

Retrieving access level information by idHash

Parameters

Name
Type
Description

accessID

bytes32

Subject ID

accessIdHash

bytes32

Object ID hash

Return Values:

Name
Type
Description

access

userAccess

function userAccess(
    bytes32 userIDHash,
    AccessKind kind,
    bytes32 idHash
) external view returns (Access memory)

Retrieving information about a user's access level, taking into account his membership in user groups.

Parameters

Name
Type
Description

userIDHash

bytes32

User ID hash

kind

idHash

bytes32

Object ID hash

Return Values:

Name
Type
Description

access

Models

AccessKind

enum AccessKind { NoKind, Doc, DocGroup, UserGroup }

AccessLevel

enum AccessLevel { NoAccess, Owner, Admin, Read }

AccessAction

enum AccessAction { NoAction, Update, Insert }

Access

struct Access {
    AccessKind   kind;
    bytes32      idHash;
    bytes        idEncr;
    bytes        keyEncr;
    AccessLevel  level;
}

Parameters

Name
Type
Description

kind

idHash

bytes32

idEncr

bytes

id encrypted by access key

keyEncr

bytes

access key encrypted by user private key

level

PreviousUsersNextDataStore

Last updated 1 year ago

Access
AccessAction
Access
Access
AccessKind
Access
AccessKind
AccessLevel