Source code for aries_cloudagent.indy.models.cred_def

"""Schema artifacts."""

from marshmallow import Schema, fields

from ...messaging.models.openapi import OpenAPISchema
from ...messaging.valid import (
    INDY_CRED_DEF_ID_EXAMPLE,
    INDY_CRED_DEF_ID_VALIDATE,
    INDY_VERSION_EXAMPLE,
    INDY_VERSION_VALIDATE,
    NUM_STR_WHOLE_EXAMPLE,
    NUM_STR_WHOLE_VALIDATE,
)


[docs]class CredDefValuePrimarySchema(OpenAPISchema): """Cred def value primary schema.""" n = fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE} ) s = fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE} ) r = fields.Nested( Schema.from_dict( { "master_secret": fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE}, ), "number": fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE}, ), "remainder": fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE}, ), } ), metadata={"name": "CredDefValuePrimaryRSchema"}, ) rctxt = fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE} ) z = fields.Str( validate=NUM_STR_WHOLE_VALIDATE, metadata={"example": NUM_STR_WHOLE_EXAMPLE} )
[docs]class CredDefValueRevocationSchema(OpenAPISchema): """Cred def value revocation schema.""" g = fields.Str(metadata={"example": "1 1F14F&ECB578F 2 095E45DDF417D"}) g_dash = fields.Str( metadata={"example": "1 1D64716fCDC00C 1 0C781960FA66E3D3 2 095E45DDF417D"} ) h = fields.Str(metadata={"example": "1 16675DAE54BFAE8 2 095E45DD417D"}) h0 = fields.Str(metadata={"example": "1 21E5EF9476EAF18 2 095E45DDF417D"}) h1 = fields.Str(metadata={"example": "1 236D1D99236090 2 095E45DDF417D"}) h2 = fields.Str(metadata={"example": "1 1C3AE8D1F1E277 2 095E45DDF417D"}) htilde = fields.Str(metadata={"example": "1 1D8549E8C0F8 2 095E45DDF417D"}) h_cap = fields.Str( metadata={"example": "1 1B2A32CF3167 1 2490FEBF6EE55 1 0000000000000000"} ) u = fields.Str( metadata={"example": "1 0C430AAB2B4710 1 1CB3A0932EE7E 1 0000000000000000"} ) pk = fields.Str( metadata={"example": "1 142CD5E5A7DC 1 153885BD903312 2 095E45DDF417D"} ) y = fields.Str( metadata={"example": "1 153558BD903312 2 095E45DDF417D 1 0000000000000000"} )
[docs]class CredDefValueSchema(OpenAPISchema): """Cred def value schema.""" primary = fields.Nested( CredDefValuePrimarySchema(), metadata={"description": "Primary value for credential definition"}, ) revocation = fields.Nested( CredDefValueRevocationSchema(), metadata={"description": "Revocation value for credential definition"}, )
[docs]class CredentialDefinitionSchema(OpenAPISchema): """Marshmallow schema for indy cred def.""" ver = fields.Str( validate=INDY_VERSION_VALIDATE, metadata={ "description": "Node protocol version", "example": INDY_VERSION_EXAMPLE, }, ) ident = fields.Str( data_key="id", validate=INDY_CRED_DEF_ID_VALIDATE, metadata={ "description": "Credential definition identifier", "example": INDY_CRED_DEF_ID_EXAMPLE, }, ) schemaId = fields.Str( metadata={ "description": "Schema identifier within credential definition identifier", "example": ":".join(INDY_CRED_DEF_ID_EXAMPLE.split(":")[3:-1]), } ) typ = fields.Constant( constant="CL", data_key="type", metadata={ "description": "Signature type: CL for Camenisch-Lysyanskaya", "example": "CL", }, ) tag = fields.Str( metadata={ "description": "Tag within credential definition identifier", "example": INDY_CRED_DEF_ID_EXAMPLE.split(":")[-1], } ) value = fields.Nested( CredDefValueSchema(), metadata={"description": "Credential definition primary and revocation values"}, )