# do not import all endpoints into this module because that uses a lot of memory and stack frames
# if you need the ability to import all endpoints from this module, import them with
# from ElasticEmail.apis.path_to_api import path_to_api

import enum


class PathValues(str, enum.Enum):
    CAMPAIGNS = "/campaigns"
    CAMPAIGNS_NAME = "/campaigns/{name}"
    CONTACTS = "/contacts"
    CONTACTS_EMAIL = "/contacts/{email}"
    CONTACTS_DELETE = "/contacts/delete"
    CONTACTS_EXPORT = "/contacts/export"
    CONTACTS_EXPORT_ID_STATUS = "/contacts/export/{id}/status"
    CONTACTS_IMPORT = "/contacts/import"
    EMAILS = "/emails"
    EMAILS_MSGID_VIEW = "/emails/{msgid}/view"
    EMAILS_TRANSACTIONID_STATUS = "/emails/{transactionid}/status"
    EMAILS_MERGEFILE = "/emails/mergefile"
    EMAILS_TRANSACTIONAL = "/emails/transactional"
    EVENTS = "/events"
    EVENTS_TRANSACTIONID = "/events/{transactionid}"
    EVENTS_CHANNELS_NAME = "/events/channels/{name}"
    EVENTS_CHANNELS_NAME_EXPORT = "/events/channels/{name}/export"
    EVENTS_CHANNELS_EXPORT_ID_STATUS = "/events/channels/export/{id}/status"
    EVENTS_EXPORT = "/events/export"
    EVENTS_EXPORT_ID_STATUS = "/events/export/{id}/status"
    FILES = "/files"
    FILES_NAME = "/files/{name}"
    FILES_NAME_INFO = "/files/{name}/info"
    INBOUNDROUTE = "/inboundroute"
    INBOUNDROUTE_ID = "/inboundroute/{id}"
    INBOUNDROUTE_ORDER = "/inboundroute/order"
    LISTS = "/lists"
    LISTS_NAME = "/lists/{name}"
    LISTS_NAME_CONTACTS = "/lists/{name}/contacts"
    LISTS_NAME_CONTACTS_REMOVE = "/lists/{name}/contacts/remove"
    SECURITY_APIKEYS = "/security/apikeys"
    SECURITY_APIKEYS_NAME = "/security/apikeys/{name}"
    SECURITY_SMTP = "/security/smtp"
    SECURITY_SMTP_NAME = "/security/smtp/{name}"
    SEGMENTS = "/segments"
    SEGMENTS_NAME = "/segments/{name}"
    STATISTICS = "/statistics"
    STATISTICS_CAMPAIGNS = "/statistics/campaigns"
    STATISTICS_CAMPAIGNS_NAME = "/statistics/campaigns/{name}"
    STATISTICS_CHANNELS = "/statistics/channels"
    STATISTICS_CHANNELS_NAME = "/statistics/channels/{name}"
    SUBACCOUNTS = "/subaccounts"
    SUBACCOUNTS_EMAIL = "/subaccounts/{email}"
    SUBACCOUNTS_EMAIL_CREDITS = "/subaccounts/{email}/credits"
    SUBACCOUNTS_EMAIL_SETTINGS_EMAIL = "/subaccounts/{email}/settings/email"
    SUPPRESSIONS = "/suppressions"
    SUPPRESSIONS_EMAIL = "/suppressions/{email}"
    SUPPRESSIONS_BOUNCES = "/suppressions/bounces"
    SUPPRESSIONS_BOUNCES_IMPORT = "/suppressions/bounces/import"
    SUPPRESSIONS_COMPLAINTS = "/suppressions/complaints"
    SUPPRESSIONS_COMPLAINTS_IMPORT = "/suppressions/complaints/import"
    SUPPRESSIONS_UNSUBSCRIBES = "/suppressions/unsubscribes"
    SUPPRESSIONS_UNSUBSCRIBES_IMPORT = "/suppressions/unsubscribes/import"
    TEMPLATES = "/templates"
    TEMPLATES_NAME = "/templates/{name}"
    VERIFICATIONS = "/verifications"
    VERIFICATIONS_EMAIL = "/verifications/{email}"
    VERIFICATIONS_FILES = "/verifications/files"
    VERIFICATIONS_FILES_ID = "/verifications/files/{id}"
    VERIFICATIONS_FILES_ID_RESULT = "/verifications/files/{id}/result"
    VERIFICATIONS_FILES_ID_RESULT_DOWNLOAD = "/verifications/files/{id}/result/download"
    VERIFICATIONS_FILES_ID_VERIFICATION = "/verifications/files/{id}/verification"
    VERIFICATIONS_FILES_RESULT = "/verifications/files/result"
