# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, validator  # noqa: F401
from acapy_wrapper.models.attach_decorator_data1_jws import AttachDecoratorData1JWS
from acapy_wrapper.models.attach_decorator_data_jws_header import (
    AttachDecoratorDataJWSHeader,
)


class AttachDecoratorDataJWS(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    AttachDecoratorDataJWS - a model defined in OpenAPI

        header: The header of this AttachDecoratorDataJWS [Optional].
        protected: The protected of this AttachDecoratorDataJWS [Optional].
        signature: The signature of this AttachDecoratorDataJWS [Optional].
        signatures: The signatures of this AttachDecoratorDataJWS [Optional].
    """

    header: Optional[AttachDecoratorDataJWSHeader] = None
    protected: Optional[str] = None
    signature: Optional[str] = None
    signatures: Optional[List[AttachDecoratorData1JWS]] = None

    @validator("protected")
    def protected_pattern(cls, value):
        assert value is not None and re.match(r"^[-_a-zA-Z0-9]*$", value)
        return value

    @validator("signature")
    def signature_pattern(cls, value):
        assert value is not None and re.match(r"^[-_a-zA-Z0-9]*$", value)
        return value


AttachDecoratorDataJWS.update_forward_refs()

# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, validator  # noqa: F401
from acapy_wrapper.models.attach_decorator_data1_jws import AttachDecoratorData1JWS
from acapy_wrapper.models.attach_decorator_data_jws_header import (
    AttachDecoratorDataJWSHeader,
)


class AttachDecoratorDataJWS(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    AttachDecoratorDataJWS - a model defined in OpenAPI

        header: The header of this AttachDecoratorDataJWS [Optional].
        protected: The protected of this AttachDecoratorDataJWS [Optional].
        signature: The signature of this AttachDecoratorDataJWS [Optional].
        signatures: The signatures of this AttachDecoratorDataJWS [Optional].
    """

    header: Optional[AttachDecoratorDataJWSHeader] = None
    protected: Optional[str] = None
    signature: Optional[str] = None
    signatures: Optional[List[AttachDecoratorData1JWS]] = None

    @validator("protected")
    def protected_pattern(cls, value):
        assert value is not None and re.match(r"^[-_a-zA-Z0-9]*$", value)
        return value

    @validator("signature")
    def signature_pattern(cls, value):
        assert value is not None and re.match(r"^[-_a-zA-Z0-9]*$", value)
        return value


AttachDecoratorDataJWS.update_forward_refs()

# coding: utf-8 # noqa: F401 # noqa: F401 # noqa: F401 # noqa: F401 NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).      Do not edit the class manually.      AttachDecoratorDataJWS - a model defined in OpenAPI          header: The header of this AttachDecoratorDataJWS [Optional].         protected: The protected of this AttachDecoratorDataJWS [Optional].         signature: The signature of this AttachDecoratorDataJWS [Optional].         signatures: The signatures of this AttachDecoratorDataJWS [Optional].