# generated by datamodel-codegen:
#   filename:  openapi.json
#   timestamp: 2022-10-16T17:59:39+00:00

from __future__ import annotations

from typing import List, Optional, Union
from uuid import UUID

from pydantic import BaseModel, Extra, Field

from .model import Addresses, VBaseModel


class AddressesResponse(VBaseModel):

    result: List[Addresses] = Field(
        ..., description="Array of project Streams"
    )
    cursor: Optional[str] = Field(
        None, description="Cursor for fetching next page"
    )
    total: float = Field(
        ..., description="Total count of streams on the project"
    )


class AddressResponse(VBaseModel):

    streamId: str = Field(..., description="The streamId")
    address: Union[str, List[str]] = Field(..., description="Address")


class AddressesAdd(VBaseModel):

    address: Union[str, List[str]] = Field(
        ...,
        description="The address or a list of addresses to be added to the Stream.",
    )


class DeleteAddressResponse(VBaseModel):

    streamId: str = Field(..., description="The streamId")
    address: str = Field(..., description="Address")


class AddressesRemove(VBaseModel):

    address: str = Field(
        ..., description="The address to be removed from the Stream."
    )
