from app.merchant.accessor.merchant_center_accessor import MerchantCenterAccessor


class MerchantCenter:
    def __init__(self, merchant_center):
        self.merchant_center = merchant_center

    @classmethod
    def get_center(cls, merchant_id, center_id):
        return MerchantCenterAccessor.get_center(merchant_id=merchant_id, center_id=center_id)

    @classmethod
    def get_merchant_centers(cls, merchant_id):
        return MerchantCenterAccessor.get_merchant_centers(merchant_id)

    @classmethod
    def get_merchant_center_by_slug(cls, center_slug, merchant_id):
        return MerchantCenterAccessor.get_merchant_center_by_slug(center_slug, merchant_id)

    @classmethod
    def get_merchant_center_by_search_text(cls, search_text, merchant_id):
        return MerchantCenterAccessor.get_merchant_center_by_search_text(search_text, merchant_id)

    @classmethod
    def get_all_serialized(cls, merchant_centers):
        serialized = []
        for merchant_center in merchant_centers:
            serialized.append(MerchantCenter(merchant_center).get_serialized())

        return serialized

    def get_serialized(self):
        return {
            'id': self.merchant_center.id,
            'name': self.merchant_center.name
        }
