# generated by datamodel-codegen:
#   filename:  <stdin>
#   timestamp: 2023-02-17T08:36:10+00:00

from __future__ import annotations

import uuid
from pydantic import BaseModel, Extra, Field, constr


class Meta(BaseModel):
    class Config:
        extra = Extra.allow

    id: uuid.UUID | None = None
    trace: str | None = None
    redirect: constr(regex=r'^[0-9a-zA-Z_-]+$', min_length=1, max_length=200) | None = None
    icon: str | None = None
    tag: list[constr(min_length=2, max_length=20)] | None = None
    tag_by_user: list[constr(min_length=2, max_length=20)] | None = None
    name_by_user: constr(max_length=100) | None = None


class Information(BaseModel):
    company: str | None = None
    street: str | None = None
    post_number: str | None = None
    city: str | None = None
    country: str | None = None
    tax_code: str | None = None
    tax_code_type: str | None = None
    email: str | None = None
    phone: str | None = None


class Seller(BaseModel):
    class Config:
        extra = Extra.forbid

    meta: Meta | None = Field(None, title='meta-2.1')
    name: str | None = None
    archived: bool | None = None
    timestamp_format: str | None = None
    information:  Information | None = None
    bank: str | None = None
    iban: str | None = None
    swift: str | None = None
    regnr: str | None = None
    kontonr: str | None = None
