from .models import ServiceType
from enum import Enum


class Service:
    RAMBLER = ServiceType(
        name="Rambler",
        host="imap.rambler.ru",
        folders=["INBOX", "Spam"],
    )
    OUTLOOK = ServiceType(
        name="Outlook",
        host="outlook.office365.com",
        folders=["INBOX"],
    )
    ICLOUD = ServiceType(
        name="iCloud",
        host="imap.mail.me.com",
        folders=["INBOX"],
    )
    GMAIL = ServiceType(
        name="Gmail",
        host="imap.gmail.com",
        folders=["INBOX", "Spam"],
    )
    MAILRU = ServiceType(
        name="Mail.ru",
        host="imap.mail.ru",
        folders=["INBOX", "Spam"],
    )
    FIRSTMAIL = ServiceType(
        name="Firstmail",
        host="imap.firstmail.ltd",
        folders=["INBOX"],
    )


DOMAIN_TO_SERVICE = {
    "@rambler.ru": Service.RAMBLER,
    "@ro.ru": Service.RAMBLER,
    "@myrambler.ru": Service.RAMBLER,
    "@autorambler.ru": Service.RAMBLER,
    "@hotmail.com": Service.OUTLOOK,
    "@outlook.com": Service.OUTLOOK,
    "@icloud.com": Service.ICLOUD,
    "@gmail.com": Service.GMAIL,
    "@mail.ru": Service.MAILRU,
    "@inbox.ru": Service.MAILRU,
    "@bk.ru": Service.MAILRU,
    "@list.ru": Service.MAILRU,
    "@firstmail.ltd": Service.FIRSTMAIL,
    "@firstmail.ru": Service.FIRSTMAIL,
    "@nietamail.com": Service.FIRSTMAIL,
    "@menormail.com": Service.FIRSTMAIL,
    "@senoramail.com": Service.FIRSTMAIL,
    "@historiogramail.com": Service.FIRSTMAIL,
    "@ambismail.com": Service.FIRSTMAIL,
    "@andromomail.com": Service.FIRSTMAIL,
    "@superocomail.com": Service.FIRSTMAIL,
    "@velismail.com": Service.FIRSTMAIL,
    "@veridicalmail.com": Service.FIRSTMAIL,
    "@epidemiosmail.ru": Service.FIRSTMAIL,
    "@encepsmail.ru": Service.FIRSTMAIL,
    "@reevalmail.com": Service.FIRSTMAIL,
    "@decortiomail.ru": Service.FIRSTMAIL,
    "@decomposaomail.ru": Service.FIRSTMAIL,
    "@custoomail.ru": Service.FIRSTMAIL,
    "@curviomail.ru": Service.FIRSTMAIL,
    "@aberdoml.com": Service.FIRSTMAIL,
    "@adjudicaml.com": Service.FIRSTMAIL,
    "@admifml.com": Service.FIRSTMAIL,
    "@anathefml.com": Service.FIRSTMAIL,
    "@angulfml.com": Service.FIRSTMAIL,
    "@anticholineml.com": Service.FIRSTMAIL,
    "@apothegmaml.com": Service.FIRSTMAIL,
    "@archiepiscopaml.com": Service.FIRSTMAIL,
    "@autorotaml.com": Service.FIRSTMAIL,
    "@autotranfml.com": Service.FIRSTMAIL,
    "@bactfml.com": Service.FIRSTMAIL,
    "@barothermohygfml.com": Service.FIRSTMAIL,
    "@bimilleml.com": Service.FIRSTMAIL,
    "@biogeogfml.com": Service.FIRSTMAIL,
    "@biogeograpfml.com": Service.FIRSTMAIL,
    "@capabiml.com": Service.FIRSTMAIL,
    "@centralisaml.com": Service.FIRSTMAIL,
    "@cephafml.com": Service.FIRSTMAIL,
    "@churcfml.com": Service.FIRSTMAIL,
    "@commefml.com": Service.FIRSTMAIL,
    "@compromissoml.com": Service.FIRSTMAIL,
    "@consfml.com": Service.FIRSTMAIL,
    "@convolvufml.com": Service.FIRSTMAIL,
    "@corybantml.com": Service.FIRSTMAIL,
    "@counterrevfml.com": Service.FIRSTMAIL,
    "@deinstitutionalizaml.com": Service.FIRSTMAIL,
    "@depreciml.com": Service.FIRSTMAIL,
    "@deterioraml.com": Service.FIRSTMAIL,
    "@diacetonml.com": Service.FIRSTMAIL,
    "@diagonml.com": Service.FIRSTMAIL,
    "@diplofml.com": Service.FIRSTMAIL,
    "@discontinuml.com": Service.FIRSTMAIL,
    "@disoxygeml.com": Service.FIRSTMAIL,
    "@dissipatml.com": Service.FIRSTMAIL,
    "@documefml.com": Service.FIRSTMAIL,
    "@electrooptml.com": Service.FIRSTMAIL,
    "@epidemiogrml.com": Service.FIRSTMAIL,
    "@epithalaml.com": Service.FIRSTMAIL,
    "@euplexopml.com": Service.FIRSTMAIL,
    "@exentfml.com": Service.FIRSTMAIL,
    "@exheredaml.com": Service.FIRSTMAIL,
    "@expeditioml.com": Service.FIRSTMAIL,
    "@extefml.com": Service.FIRSTMAIL,
    "@factifml.com": Service.FIRSTMAIL,
    "@glacioloml.com": Service.FIRSTMAIL,
    "@hottentoml.com": Service.FIRSTMAIL,
    "@hydrofml.com": Service.FIRSTMAIL,
    "@hypodermicml.com": Service.FIRSTMAIL,
    "@ignoranml.com": Service.FIRSTMAIL,
    "@imagfml.com": Service.FIRSTMAIL,
    "@inanfml.com": Service.FIRSTMAIL,
    "@incunaml.com": Service.FIRSTMAIL,
    "@inexterfml.com": Service.FIRSTMAIL,
    "@inspiraml.com": Service.FIRSTMAIL,
    "@intercondyml.com": Service.FIRSTMAIL,
    "@interfml.com": Service.FIRSTMAIL,
    "@interpafml.com": Service.FIRSTMAIL,
    "@intersfml.com": Service.FIRSTMAIL,
    "@invariml.com": Service.FIRSTMAIL,
    "@irremfml.com": Service.FIRSTMAIL,
    "@kinesioml.com": Service.FIRSTMAIL,
    "@mastigophml.com": Service.FIRSTMAIL,
    "@menfml.com": Service.FIRSTMAIL,
    "@metathml.com": Service.FIRSTMAIL,
    "@methanomml.com": Service.FIRSTMAIL,
    "@mifml.com": Service.FIRSTMAIL,
    "@nectarivoml.com": Service.FIRSTMAIL,
    "@nonassessml.com": Service.FIRSTMAIL,
    "@noncontroverml.com": Service.FIRSTMAIL,
    "@nonefml.com": Service.FIRSTMAIL,
    "@nonrecogniml.com": Service.FIRSTMAIL,
    "@nonsubmfml.com": Service.FIRSTMAIL,
    "@occipitopariml.com": Service.FIRSTMAIL,
    "@opercfml.com": Service.FIRSTMAIL,
    "@opinionatiml.com": Service.FIRSTMAIL,
    "@oraculaml.com": Service.FIRSTMAIL,
    "@organophfml.com": Service.FIRSTMAIL,
    "@overdrafml.com": Service.FIRSTMAIL,
    "@overefml.com": Service.FIRSTMAIL,
    "@overstimulml.com": Service.FIRSTMAIL,
    "@palaeontofml.com": Service.FIRSTMAIL,
    "@paraprocml.com": Service.FIRSTMAIL,
    "@perinfml.com": Service.FIRSTMAIL,
    "@perissfml.com": Service.FIRSTMAIL,
    "@pharyngogloml.com": Service.FIRSTMAIL,
    "@physioloml.com": Service.FIRSTMAIL,
    "@politiciml.com": Service.FIRSTMAIL,
    "@polydactml.com": Service.FIRSTMAIL,
    "@proletarianizaml.com": Service.FIRSTMAIL,
    "@psychosexuaml.com": Service.FIRSTMAIL,
    "@psychosofml.com": Service.FIRSTMAIL,
    "@reprobatiml.com": Service.FIRSTMAIL,
    "@semidfml.com": Service.FIRSTMAIL,
    "@sitifml.com": Service.FIRSTMAIL,
    "@solecistml.com": Service.FIRSTMAIL,
    "@soliloquml.com": Service.FIRSTMAIL,
    "@superelfml.com": Service.FIRSTMAIL,
    "@syllabicaml.com": Service.FIRSTMAIL,
    "@symmetricalml.com": Service.FIRSTMAIL,
    "@tarosorge.com": Service.FIRSTMAIL,
    "@territorialfml.com": Service.FIRSTMAIL,
    "@trichfml.com": Service.FIRSTMAIL,
    "@tuberfml.com": Service.FIRSTMAIL,
    "@ungainfml.com": Service.FIRSTMAIL,
    "@uterogrml.com": Service.FIRSTMAIL,
    "@uterovesml.com": Service.FIRSTMAIL,
    "@vespertfml.com": Service.FIRSTMAIL,
    "@vocationaml.com": Service.FIRSTMAIL,
    "@volumefml.com": Service.FIRSTMAIL,
    "@xerodeml.com": Service.FIRSTMAIL,
}
