CardClientProtocol

@objc(VSSCardClientProtocol)
public protocol CardClientProtocol

Protocol for CardClient

See: CardClient for default implementation

  • Returns GetCardResponse with RawSignedModel of card from the Virgil Cards Service with given ID, if exists

    Throws

    Depends on implementation

    Declaration

    Swift

    @objc
    func getCard(withId cardId: String) throws -> GetCardResponse

    Parameters

    cardId

    String with unique Virgil Card identifier

    Return Value

    GetCardResponse if card found

  • Creates Virgil Card instance on the Virgil Cards Service Also makes the Card accessible for search/get queries from other users RawSignedModel should contain appropriate signatures

    Throws

    Depends on implementation

    Declaration

    Swift

    @objc
    func publishCard(model: RawSignedModel) throws -> RawSignedModel

    Parameters

    model

    Return Value

    RawSignedModel of created card

  • Performs search of Virgil Cards using given identities on the Virgil Cards Service

    Throws

    Depends on implementation

    Declaration

    Swift

    @objc
    func searchCards(identities: [String]) throws -> [RawSignedModel]

    Parameters

    identities

    Identities of cards to search

    Return Value

    Array with RawSignedModels of matched Virgil Cards

  • Returns list of cards that were replaced with newer ones

    Throws

    Depends on implementation

    Declaration

    Swift

    @objc
    func getOutdated(cardIds: [String]) throws -> [String]

    Parameters

    cardIds

    card ids to check

    Return Value

    List of old card ids

  • Revokes card. Revoked card gets isOutdated flag to be set to true. Also, such cards could be obtained using get query, but will be absent in search query result.

    Throws

    Depends on implementation

    Declaration

    Swift

    @objc
    func revokeCard(withId cardId: String) throws

    Parameters

    cardId

    identifier of card to revoke