from abc import ABC, abstractmethod
from pymongo import MongoClient

client = MongoClient()


class Model(ABC):

    @staticmethod
    def get_client():
        return client
    
    @staticmethod
    def get_db():
        return client['shoppe']

    @abstractmethod
    def store(self):
        pass

    @staticmethod
    @abstractmethod
    def get_collection():
        pass

    @staticmethod
    @abstractmethod
    def dict_to_object(dictionary):
        pass

    @abstractmethod
    def to_dict(self):
        pass