Interface AssetsAPI

  • All Known Implementing Classes:
    AssetsImpl

    public interface AssetsAPI
    Exposes the Public API related with Assets
    • Method Detail

      • create

        DDO create​(AssetMetadata metadata,
                   ProviderConfig providerConfig,
                   AuthConfig authConfig)
            throws DDOException
        Creates a new DDO, registering it on-chain through DidRegistry contract and off-chain in Metadata
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        authConfig - Auth configuration
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • create

        DDO create​(AssetMetadata metadata,
                   ProviderConfig providerConfig)
            throws DDOException
        Creates a new DDO, registering it on-chain through DidRegistry contract and off-chain in Metadata
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • createComputeService

        DDO createComputeService​(AssetMetadata metadata,
                                 ProviderConfig providerConfig)
                          throws DDOException
        Creates a new ComputingService DDO, registering it on-chain through DidRegistry contract and off-chain in Metadata
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • createComputeService

        DDO createComputeService​(AssetMetadata metadata,
                                 ProviderConfig providerConfig,
                                 ComputingService.Provider computingProvider)
                          throws DDOException
        Creates a new ComputingService DDO, registering it on-chain through DidRegistry contract and off-chain in Metadata
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        computingProvider - the computing provider configuration
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • getMetadataFiles

        List<AssetMetadata.File> getMetadataFiles​(DID did)
                                           throws DDOException
        Gets the list of the files that belongs to a DDO
        Parameters:
        did - the DID to resolve
        Returns:
        a list of the Files
        Throws:
        DDOException - EncryptionException
      • search

        SearchResult search​(String text)
                     throws DDOException
        Gets all the DDO that match the search criteria
        Parameters:
        text - the criteria
        Returns:
        a List with all the DDOs found
        Throws:
        DDOException - DDOException
      • search

        SearchResult search​(String text,
                            int offset,
                            int page)
                     throws DDOException
        Gets all the DDOs that match the search criteria
        Parameters:
        text - the criteria
        offset - parameter to paginate
        page - parameter to paginate
        Returns:
        a List with all the DDOs found
        Throws:
        DDOException - DDOException
      • query

        SearchResult query​(Map<String,​Object> params,
                           int offset,
                           int page,
                           int sort)
                    throws DDOException
        Gets all the DDOs that match the parameters of the query
        Parameters:
        params - the criteria
        offset - parameter to paginate
        page - parameter to paginate
        sort - parameter to sort
        Returns:
        a List with all the DDOs found
        Throws:
        DDOException - DDOException
      • consume

        Boolean consume​(String serviceAgreementId,
                        DID did,
                        int serviceDefinitionId,
                        String basePath)
                 throws ConsumeServiceException
        Downloads an Asset previously ordered through a Service Agreement
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        basePath - the path where the asset will be downloaded
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consume

        Boolean consume​(String serviceAgreementId,
                        DID did,
                        int serviceDefinitionId,
                        int fileIndex,
                        String basePath)
                 throws ConsumeServiceException
        Downloads an Asset previously ordered through a Service Agreement
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        fileIndex - index id of the file to consume
        basePath - the path where the asset will be downloaded
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        InputStream consumeBinary​(String serviceAgreementId,
                                  DID did,
                                  int serviceDefinitionId)
                           throws ConsumeServiceException
        Gets the input stream of one file of the asset
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        Returns:
        the input stream wit the binary content of the file
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        InputStream consumeBinary​(String serviceAgreementId,
                                  DID did,
                                  int serviceDefinitionId,
                                  int fileIndex)
                           throws ConsumeServiceException
        Gets the input stream of one file of the asset
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        fileIndex - the index of the file
        Returns:
        the input stream wit the binary content of the file
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        InputStream consumeBinary​(String serviceAgreementId,
                                  DID did,
                                  int serviceDefinitionId,
                                  int fileIndex,
                                  int rangeStart,
                                  int rangeEnd)
                           throws ConsumeServiceException
        Gets a range of bytes of the input stream of one file of the asset
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        fileIndex - the index of the file
        rangeStart - the start of the bytes range
        rangeEnd - the end of the bytes range
        Returns:
        the input stream wit the binary content of the specified range
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • order

        io.reactivex.Flowable<OrderResult> order​(DID did,
                                                 int serviceDefinitionId)
                                          throws OrderException
        Purchases an Asset represented by a DID. It implies to initialize a Service Agreement between publisher and consumer
        Parameters:
        did - the did of the DDO
        serviceDefinitionId - the service definition id
        Returns:
        a Flowable instance over an OrderResult to get the result of the flow in an asynchronous fashion
        Throws:
        OrderException - OrderException
      • ownerDownload

        Boolean ownerDownload​(DID did,
                              int serviceIndex,
                              String basePath)
                       throws ServiceException,
                              ConsumeServiceException
        Purchases an Asset represented by a DID. It implies to initialize a Service Agreement between publisher and consumer
        Parameters:
        did - the did of the DDO
        serviceIndex - the service definition id
        basePath - the path where the asset will be downloaded
        Returns:
        true if asset was downloaded correctly
        Throws:
        ServiceException - ServiceException
        ConsumeServiceException - ConsumeServiceException
      • execute

        GatewayService.ServiceExecutionResult execute​(String agreementId,
                                                      DID did,
                                                      int index,
                                                      DID workflowDID)
                                               throws ServiceException
        Executes a remote service associated with an asset and serviceAgreementId
        Parameters:
        agreementId - the agreement id
        did - the did
        index - the index of the service
        workflowDID - the workflow did
        Returns:
        an execution id
        Throws:
        ServiceException - ServiceException
      • owner

        String owner​(DID did)
              throws Exception
        Return the owner of the asset.
        Parameters:
        did - the did
        Returns:
        the ethereum address of the owner/publisher of given asset did
        Throws:
        Exception - Exception
      • ownerAssets

        List<DID> ownerAssets​(String ownerAddress)
                       throws ServiceException
        List of Asset objects published by ownerAddress
        Parameters:
        ownerAddress - ethereum address of owner/publisher
        Returns:
        list of dids
        Throws:
        ServiceException - ServiceException
      • consumerAssets

        List<DID> consumerAssets​(String consumerAddress)
                          throws ServiceException
        List of Asset objects purchased by consumerAddress
        Parameters:
        consumerAddress - ethereum address of consumer
        Returns:
        list of dids
        Throws:
        ServiceException - ServiceException
      • retire

        Boolean retire​(DID did)
                throws DDOException
        Retire this did of Metadata
        Parameters:
        did - the did
        Returns:
        a flag that indicates if the action was executed correctly
        Throws:
        DDOException - DDOException
      • validate

        Boolean validate​(AssetMetadata metadata)
                  throws DDOException
        Validate the asset metadata.
        Parameters:
        metadata - the metadata of the DDO
        Returns:
        a flag that indicates if the metadata is valid
        Throws:
        DDOException - DDOException
      • transferOwnership

        Boolean transferOwnership​(DID did,
                                  String newOwnerAddress)
                           throws DDOException
        Given a DID, transfer the ownership to a new owner. This function only will work if is called by the DID owner.
        Parameters:
        did - the did
        newOwnerAddress - the address of the new ownership
        Returns:
        a flag that indicates if the action was executed correctly
        Throws:
        DDOException - DDOException
      • delegatePermissions

        Boolean delegatePermissions​(DID did,
                                    String subjectAddress)
                             throws DDOException
        For a existing asset, the owner of the asset delegate to a subject read or access permiss
        Parameters:
        did - the did
        subjectAddress - the address we want to delegate to
        Returns:
        a flag that indicates if the action was executed correctly
        Throws:
        DDOException - DDOException
      • revokePermissions

        Boolean revokePermissions​(DID did,
                                  String subjectAddress)
                           throws DDOException
        For a existing asset, the owner of the asset revoke the access grants of a subject.
        Parameters:
        did - the did
        subjectAddress - the address we want to revoke to
        Returns:
        a flag that indicates if the action was executed correctly
        Throws:
        DDOException - DDOException
      • getPermissions

        Boolean getPermissions​(DID did,
                               String subjectAddress)
                        throws DDOException
        Check if an user has permissions in a specific DID
        Parameters:
        did - the did
        subjectAddress - the address
        Returns:
        a flag that indicates if the subject address has permissions
        Throws:
        DDOException - DDOException
      • getComputeLogs

        List<ComputeLogs> getComputeLogs​(String serviceAgreementId,
                                         String executionId,
                                         String consumerAddress,
                                         ProviderConfig providerConfig)
                                  throws ServiceException
        Get the logs for the compute job with executionId and serviceAgreementId
        Parameters:
        serviceAgreementId - The service agreement id for the compute service
        executionId - The execution id of the compute job
        consumerAddress - The address of the consumer that executed the compute job
        Returns:
        a list of compute logs
        Throws:
        ServiceException - ServiceException
      • getComputeStatus

        ComputeStatus getComputeStatus​(String serviceAgreementId,
                                       String executionId,
                                       String consumerAddress,
                                       ProviderConfig providerConfig)
                                throws ServiceException
        Get the status for the compute job with executionId and serviceAgreementId
        Parameters:
        serviceAgreementId - The service agreement id for the compute service
        executionId - The execution id of the compute job
        consumerAddress - The address of the consumer that executed the compute job
        Returns:
        The current status of the compute job
        Throws:
        ServiceException - ServiceException