mirror of
https://github.com/zc-zhangchen/any-auto-register.git
synced 2026-05-15 10:56:45 +08:00
35 lines
984 B
Python
35 lines
984 B
Python
from abc import ABC, abstractmethod
|
|
|
|
from .schemas import (
|
|
MailImportBatchDeleteRequest,
|
|
MailImportDeleteRequest,
|
|
MailImportExecuteRequest,
|
|
MailImportProviderDescriptor,
|
|
MailImportResponse,
|
|
MailImportSnapshot,
|
|
MailImportSnapshotRequest,
|
|
)
|
|
|
|
|
|
class BaseMailImportStrategy(ABC):
|
|
@property
|
|
@abstractmethod
|
|
def descriptor(self) -> MailImportProviderDescriptor:
|
|
raise NotImplementedError
|
|
|
|
@abstractmethod
|
|
def execute(self, request: MailImportExecuteRequest) -> MailImportResponse:
|
|
raise NotImplementedError
|
|
|
|
@abstractmethod
|
|
def get_snapshot(self, request: MailImportSnapshotRequest) -> MailImportSnapshot:
|
|
raise NotImplementedError
|
|
|
|
@abstractmethod
|
|
def delete(self, request: MailImportDeleteRequest) -> MailImportResponse:
|
|
raise NotImplementedError
|
|
|
|
@abstractmethod
|
|
def batch_delete(self, request: MailImportBatchDeleteRequest) -> MailImportResponse:
|
|
raise NotImplementedError
|